]> git.pld-linux.org Git - packages/sqlite3.git/blobdiff - sqlite3.spec
- up to 3.7.6.3
[packages/sqlite3.git] / sqlite3.spec
index 0c65994fc38883be2d74b34af6ca76764d0ae610..5557e4439f56ed58ba3a63a10699f79b34012691 100644 (file)
@@ -1,23 +1,53 @@
+# TODO:
+# - some tests fail with tcl8.5, it's tcl fault,
+#      if someone REALLY cares (s)he can look into it
+# - enable --enable-load-extension?
 #
 # Conditional build:
-%bcond_without tests # don't run tests
-#
+%bcond_with    tests           # run tests
+%bcond_with    tcl             # enable tcl extension
+%bcond_without doc             # disable documentation building
+%bcond_without unlock_notify   # disable unlock notify API
+%bcond_with    load_extension  # enable load extension API
+
+%ifarch alpha sparc %{x8664}
+%undefine      with_tests
+%endif
+
+# disabling tcl currently breaks making test target,
+# some hack in Makefile needs to be done
+%if %{without tcl}
+%undefine      with_tests
+%endif
+
+%define                realver         3070603
+%define                srcver          src
+%define                rpmver          %(echo %{realver}|sed -e "s/00//g" -e "s/0/./g")
+%define                _ulibdir        /usr/lib
+%define                tclver          8.5
+
 Summary:       SQLite library
-Summary(pl):   Biblioteka SQLite
+Summary(pl.UTF-8):     Biblioteka SQLite
 Name:          sqlite3
-Version:       3.1.2
+Version:       3.7.6.3
 Release:       1
 License:       LGPL
 Group:         Libraries
-# Source0Download: http://sqlite.org/download.html
-Source0:       http://sqlite.org/sqlite-%{version}.tar.gz
-# Source0-md5: d9c52489aa95d618842bf97778c17f04
-URL:           http://sqlite.org/
+# Source0Download: http://www.sqlite.org/download.html
+Source0:       http://www.sqlite.org/sqlite-%{srcver}-%{realver}.zip
+# Source0-md5: f8e22ec0931c91f029d539fe3f5ef0f9
+Patch0:                %{name}-sign-function.patch
+URL:           http://www.sqlite.org/
+%{?with_load_extension:Provides:       %{name}(load_extension)}
+%{?with_unlock_notify:Provides:        %{name}(unlock_notify)}
 BuildRequires: autoconf
 BuildRequires: automake
 BuildRequires: libtool
 BuildRequires: readline-devel
-BuildRequires: tcl-devel
+%{?with_load_extension:BuildRequires:  sed >= 4.0}
+BuildRequires: tcl
+%{?with_tcl:BuildRequires:     tcl-devel}
+BuildRequires: unzip
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -33,23 +63,31 @@ addition to the C library, the SQLite distribution includes a
 command-line tool for interacting with SQLite databases and SQLite
 bindings for Tcl/Tk.
 
-%description -l pl
-SQLite jest bibliotek± jêzyka C, która implementuje silnik baz danych
-SQL (obs³ugiwana jest wiêkszo¶æ standardu SQL92). Ca³a baza danych
-przechowywana jest w jednym pliku. Aplikacje wykorzystuj±ce tê
-bibliotekê charakteryzuj± siê si³± i elastyczno¶ci± SQLowych baz
-danych bez koniecznoci utrzymywania osobnego serwera baz danych.
-Poniewa¿ pomijana jest komunikacja klient-serwer i dane s± zapisywane
-bezpo¶rednio na dysku, SQLite jest szybsza od du¿ych serwerów
-bazodanowych przy wiêkszo¶ci operacji na bazie danych. Dodatkowo
-oprócz biblioteki jêzyka C, dostarczany jest program do zarz±dzania
+%description -l pl.UTF-8
+SQLite jest biblioteką języka C, która implementuje silnik baz danych
+SQL (obsługiwana jest większość standardu SQL92). Cała baza danych
+przechowywana jest w jednym pliku. Aplikacje wykorzystujące tę
+bibliotekę charakteryzują się siłą i elastycznością SQLowych baz
+danych bez konieczności utrzymywania osobnego serwera baz danych.
+Ponieważ pomijana jest komunikacja klient-serwer i dane są zapisywane
+bezpośrednio na dysku, SQLite jest szybsza od dużych serwerów
+bazodanowych przy większości operacji na bazie danych. Dodatkowo
+oprócz biblioteki języka C, dostarczany jest program do zarządzania
 bazami danych.
 
 %package devel
 Summary:       Header files for SQLite development
-Summary(pl):   Pliki nag³ówkowe SQLite
+Summary(pl.UTF-8):     Pliki nagłówkowe SQLite
 Group:         Development/Libraries
 Requires:      %{name} = %{version}-%{release}
+%if %{with unlock_notify}
+Requires:      %{name}(unlock_notify)
+Provides:      %{name}-devel(unlock_notify)
+%endif
+%if %{with load_extension}
+Requires:      %{name}(load_extension)
+Provides:      %{name}-devel(load_extension)
+%endif
 
 %description devel
 SQLite is a C library that implements an SQL database engine. A large
@@ -67,26 +105,34 @@ bindings for Tcl/Tk.
 This package contains the header files needed to develop programs that
 use these SQLite.
 
-%description devel -l pl
-SQLite jest bibliotek± jêzyka C, która implementuje silnik baz danych
-SQL (obs³ugiwana jest wiêkszo¶æ standardu SQL92). Ca³a baza danych
-przechowywana jest w jednym pliku. Aplikacje wykorzystuj±ce tê
-bibliotekê charakteryzuj± siê si³± i elastyczno¶ci± SQLowych baz
-danych bez koniecznoci utrzymywania osobnego serwera baz danych.
-Poniewa¿ pomijana jest komunikacja klient-serwer i dane s± zapisywane
-bezpo¶rednio na dysku, SQLite jest szybsza od du¿ych serwerów
-bazodanowych przy wiêkszo¶ci operacji na bazie danych. Dodatkowo
-oprócz biblioteki jêzyka C, dostarczany jest program do zarz±dzania
+%description devel -l pl.UTF-8
+SQLite jest biblioteką języka C, która implementuje silnik baz danych
+SQL (obsługiwana jest większość standardu SQL92). Cała baza danych
+przechowywana jest w jednym pliku. Aplikacje wykorzystujące tę
+bibliotekę charakteryzują się siłą i elastycznością SQLowych baz
+danych bez konieczności utrzymywania osobnego serwera baz danych.
+Ponieważ pomijana jest komunikacja klient-serwer i dane są zapisywane
+bezpośrednio na dysku, SQLite jest szybsza od dużych serwerów
+bazodanowych przy większości operacji na bazie danych. Dodatkowo
+oprócz biblioteki języka C, dostarczany jest program do zarządzania
 bazami danych.
 
-Pakiet zawiera pliki nagówkowe niezbedne do kompilowania programów
-u¿ywaj±cych biblioteki SQLite.
+Pakiet zawiera pliki nagówkowe niezbedne do kompilowania programów
+używających biblioteki SQLite.
 
 %package static
 Summary:       Static libraries for SQLite development
-Summary(pl):   Statyczne biblioteki SQLite
+Summary(pl.UTF-8):     Statyczne biblioteki SQLite
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{version}-%{release}
+%if %{with unclock_notify}
+Requires:      %{name}-devel(unlock_notify)
+Provides:      %{name}-static(unlock_notify)
+%endif
+%if %{with load_extension}
+Requires:      %{name}-devel(load_extension)
+Provides:      %{name}-static(load_extension)
+%endif
 
 %description static
 SQLite is a C library that implements an SQL database engine. A large
@@ -103,44 +149,79 @@ bindings for Tcl/Tk.
 
 This package contains the static SQLite libraries.
 
-%description static -l pl
-SQLite jest bibliotek± jêzyka C, która implementuje silnik baz danych
-SQL (obs³ugiwana jest wiêkszo¶æ standardu SQL92). Ca³a baza danych
-przechowywana jest w jednym pliku. Aplikacje wykorzystuj±ce tê
-bibliotekê charakteryzuj± siê si³± i elastyczno¶ci± SQLowych baz
-danych bez koniecznoci utrzymywania osobnego serwera baz danych.
-Poniewa¿ pomijana jest komunikacja klient-serwer i dane s± zapisywane
-bezpo¶rednio na dysku, SQLite jest szybsza od du¿ych serwerów
-bazodanowych przy wiêkszo¶ci operacji na bazie danych. Dodatkowo
-oprócz biblioteki jêzyka C, dostarczany jest program do zarz±dzania
+%description static -l pl.UTF-8
+SQLite jest biblioteką języka C, która implementuje silnik baz danych
+SQL (obsługiwana jest większość standardu SQL92). Cała baza danych
+przechowywana jest w jednym pliku. Aplikacje wykorzystujące tę
+bibliotekę charakteryzują się siłą i elastycznością SQLowych baz
+danych bez konieczności utrzymywania osobnego serwera baz danych.
+Ponieważ pomijana jest komunikacja klient-serwer i dane są zapisywane
+bezpośrednio na dysku, SQLite jest szybsza od dużych serwerów
+bazodanowych przy większości operacji na bazie danych. Dodatkowo
+oprócz biblioteki języka C, dostarczany jest program do zarządzania
 bazami danych.
 
 Pakiet zawiera statyczne biblioteki SQLite.
 
+%package -n tcl-%{name}
+Summary:       sqlite3 tcl extension
+Summary(pl.UTF-8):     Rozszerzenie sqlite3 dla Tcl
+Group:         Development/Languages/Tcl
+
+%description -n tcl-%{name}
+sqlite3 tcl extension.
+
+%description -n tcl-%{name} -l pl.UTF-8
+Rozszerzenie sqlite3 dla Tcl.
+
 %prep
-%setup -q -n sqlite
-sed -i 's/mkdir doc/#mkdir doc/' Makefile*
+%setup -q -n sqlite-%{srcver}-%{realver}
+%patch0 -p1
+
+%{__sed} -i 's/mkdir doc/#mkdir doc/' Makefile*
 
 %build
 %{__libtoolize}
 cp -f /usr/share/automake/config.sub .
 %{__aclocal}
 %{__autoconf}
+CFLAGS="%{rpmcflags} -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_DISABLE_DIRSYNC=1 -DSQLITE_ENABLE_FTS3=3 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_SECURE_DELETE %{?with_unlock_notify:-DSQLITE_ENABLE_UNLOCK_NOTIFY}"
+export CFLAGS
+%if %{with load_extension}
+LIBS=-ldl
+export LIBS
+%endif
 %configure \
+       %{?with_tcl:--with-tcl=%{_ulibdir}} \
+       %{!?with_tcl:--disable-tcl} \
        --enable-threadsafe
+%{?with_load_extension:sed -i~ s/-DSQLITE_OMIT_LOAD_EXTENSION=1// Makefile}
 %{__make}
+
+%if %{with doc}
 %{__make} doc
+%endif
 
-%{?with_tests:%{__make} test}
+%{?with_tests:LC_ALL=C %{__make} test}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_includedir},%{_libdir},%{_mandir}/man1}
+install -d $RPM_BUILD_ROOT{/%{_lib},%{_bindir},%{_includedir},%{_libdir},%{_mandir}/man1}
 
 %{__make} install \
-       DESTDIR=$RPM_BUILD_ROOT
+       DESTDIR=$RPM_BUILD_ROOT \
+       TCLLIBDIR=%{_libdir}/tcl%{tclver}
+
+%if %{with tcl}
+sed -i -e "s#$RPM_BUILD_ROOT##g" $RPM_BUILD_ROOT%{_libdir}/tcl%{tclver}/sqlite3/pkgIndex.tcl
+%endif
 
-install sqlite.1 $RPM_BUILD_ROOT%{_mandir}/man1
+mv -f $RPM_BUILD_ROOT%{_libdir}/lib*.so.* $RPM_BUILD_ROOT/%{_lib}
+rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.so
+ln -sf /%{_lib}/$(cd $RPM_BUILD_ROOT/%{_lib}; echo lib*.so.*.*) \
+       $RPM_BUILD_ROOT%{_libdir}/libsqlite3.so
+
+cp -a sqlite3.1 $RPM_BUILD_ROOT%{_mandir}/man1
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -152,17 +233,26 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %doc README
 %attr(755,root,root) %{_bindir}/sqlite3
-%attr(755,root,root) %{_libdir}/lib*.so.*.*
-%{_mandir}/man1/sqlite.1*
+%attr(755,root,root) /%{_lib}/libsqlite3.so.*.*.*
+%attr(755,root,root) %ghost /%{_lib}/libsqlite3.so.0
+%{_mandir}/man1/sqlite3.1*
 
 %files devel
 %defattr(644,root,root,755)
-%doc doc/*
-%attr(755,root,root) %{_libdir}/lib*.so
-%{_libdir}/lib*.la
+%attr(755,root,root) %{_libdir}/libsqlite3.so
+%{_libdir}/libsqlite3.la
 %{_includedir}/sqlite3.h
-%{_pkgconfigdir}/*.pc
+%{_includedir}/sqlite3ext.h
+%{_pkgconfigdir}/sqlite3.pc
 
 %files static
 %defattr(644,root,root,755)
-%{_libdir}/lib*.a
+%{_libdir}/libsqlite3.a
+
+%if %{with tcl}
+%files -n tcl-%{name}
+%defattr(644,root,root,755)
+%dir %{_libdir}/tcl*/sqlite3
+%attr(755,root,root) %{_libdir}/tcl%{tclver}/sqlite3/libtclsqlite3.so
+%{_libdir}/tcl%{tclver}/sqlite3/pkgIndex.tcl
+%endif
This page took 0.087001 seconds and 4 git commands to generate.