X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=sqlite3.spec;h=5557e4439f56ed58ba3a63a10699f79b34012691;hb=f966d792ede30c5db89aae2d3ed5a04a1a6fddc7;hp=0c65994fc38883be2d74b34af6ca76764d0ae610;hpb=b8633bdca26495771e27aa4de36b07ab97060643;p=packages%2Fsqlite3.git diff --git a/sqlite3.spec b/sqlite3.spec index 0c65994..5557e44 100644 --- a/sqlite3.spec +++ b/sqlite3.spec @@ -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 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} +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 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} +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 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.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