X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=sqlite3.spec;h=5f2e33627f24ccf0ff9ce7f7071e4588cc2d3196;hb=2553786fbb7c10b5b68f57e92b557f3deb8f1db3;hp=236a60b8233244b70da176f97336a362b7e1947c;hpb=dcf3d7d04cdb47406eeebe2d6e2c83933fc11fda;p=packages%2Fsqlite3.git diff --git a/sqlite3.spec b/sqlite3.spec index 236a60b..5f2e336 100644 --- a/sqlite3.spec +++ b/sqlite3.spec @@ -1,44 +1,52 @@ # TODO: -# - fix lib64 in tcl module -# - date test fail on tcl8.5 because of missing tcl library initialization -# (and thus unavailable clock command) +# - some tests fail with tcl8.5, it's tcl fault, +# if someone REALLY cares (s)he can look into it # # Conditional build: -%bcond_without tests # don't run tests -%bcond_without tcl # disable tcl extension -%bcond_without docs # disable documentation building -# -Summary: SQLite library -Summary(pl): Biblioteka SQLite -Name: sqlite3 -Version: 3.3.8 -Release: 3 -License: LGPL -Group: Libraries -# Source0Download: http://sqlite.org/download.html -Source0: http://sqlite.org/sqlite-%{version}.tar.gz -# Source0-md5: 2b2b0f967b6c5df1a5d495067c092d11 -Patch0: %{name}-sign-function.patch -Patch1: %{name}-pkgconfig.patch -URL: http://sqlite.org/ -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: libtool -BuildRequires: readline-devel -%{?with_tcl:BuildRequires: tcl-devel} -BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +%bcond_with tests # run tests +%bcond_without tcl # Tcl extension +%bcond_without doc # disable documentation building +%bcond_without unlock_notify # disable unlock notify API +%bcond_without load_extension # enable load extension API -%ifarch alpha %{x8664} +%ifarch alpha sparc %{x8664} %undefine with_tests %endif # disabling tcl currently breaks making test target, # some hack in Makefile needs to be done -%if !%{with tcl} +%if %{without tcl} %undefine with_tests %endif -%define _ulibdir /usr/lib +#define version_num %(echo %{version} | awk -F. '{printf("%d%02d%02d%02d", $1, $2, $3, $4)}') +%define version_num 3071602 +%define _ulibdir /usr/lib +%define tclver 8.5 + +Summary: SQLite library +Summary(pl.UTF-8): Biblioteka SQLite +Name: sqlite3 +Version: 3.7.16.2 +Release: 1 +License: Public Domain +Group: Libraries +# Source0Download: http://www.sqlite.org/download.html +Source0: http://www.sqlite.org/2013/sqlite-src-%{version_num}.zip +# Source0-md5: 0d821779acdb56eee1fd71343b41a1cc +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 >= 2.50 +BuildRequires: automake +BuildRequires: libtool +BuildRequires: readline-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 SQLite is a C library that implements an SQL database engine. A large @@ -53,23 +61,29 @@ 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 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 +%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} +Provides: %{name}-devel(unlock_notify) +%endif +%if %{with load_extension} +Provides: %{name}-devel(load_extension) +%endif %description devel SQLite is a C library that implements an SQL database engine. A large @@ -87,26 +101,32 @@ 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 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 +%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} +Provides: %{name}-static(unlock_notify) +%endif +%if %{with load_extension} +Provides: %{name}-static(load_extension) +%endif %description static SQLite is a C library that implements an SQL database engine. A large @@ -123,50 +143,60 @@ 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 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 +%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): Rozszerzenie sqlite3 dla Tcl +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 +%description -n tcl-%{name} -l pl.UTF-8 Rozszerzenie sqlite3 dla Tcl. %prep -%setup -q -n sqlite-%{version} +%setup -q -n sqlite-src-%{version_num} %patch0 -p1 -%patch1 -p1 -sed -i 's/mkdir doc/#mkdir doc/' Makefile* +%{__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 +%if %{with tcl} +export TCLLIBDIR="%{tcl_sitearch}/sqlite3" +%endif %configure \ %{?with_tcl:--with-tcl=%{_ulibdir}} \ %{!?with_tcl:--disable-tcl} \ + %{__enable_disable load_extension load-extension} \ --enable-threadsafe + %{__make} -%if %{with docs} +%if %{with doc} %{__make} doc %endif @@ -174,14 +204,17 @@ cp -f /usr/share/automake/config.sub . %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 -sed -i -e "s#$RPM_BUILD_ROOT##g" $RPM_BUILD_ROOT%{_ulibdir}/tcl*/sqlite3/*.tcl +mv -f $RPM_BUILD_ROOT%{_libdir}/lib*.so.* $RPM_BUILD_ROOT/%{_lib} +%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.so +ln -sf /%{_lib}/$(cd $RPM_BUILD_ROOT/%{_lib}; echo lib*.so.*.*) \ + $RPM_BUILD_ROOT%{_libdir}/libsqlite3.so -install sqlite3.1 $RPM_BUILD_ROOT%{_mandir}/man1 +cp -a sqlite3.1 $RPM_BUILD_ROOT%{_mandir}/man1 %clean rm -rf $RPM_BUILD_ROOT @@ -193,25 +226,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.*.* +%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 %{_ulibdir}/tcl*/sqlite3 -%attr(755,root,root) %{_ulibdir}/tcl*/sqlite3/*.so -%{_ulibdir}/tcl*/sqlite3/*.tcl +%dir %{_libdir}/tcl*/sqlite3 +%attr(755,root,root) %{_libdir}/tcl%{tclver}/sqlite3/libtclsqlite3.so +%{_libdir}/tcl%{tclver}/sqlite3/pkgIndex.tcl %endif