X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=sqlite3.spec;h=6e3e2822b14f169c64da5209839dbbd432950d7c;hb=4b427ff;hp=9c9b58f3ad2b53f5031820c533775bd598c084a6;hpb=16981625f90af4d5daa9f342fc161e6c4de9439c;p=packages%2Fsqlite3.git diff --git a/sqlite3.spec b/sqlite3.spec index 9c9b58f..6e3e282 100644 --- a/sqlite3.spec +++ b/sqlite3.spec @@ -1,14 +1,16 @@ # TODO: # - some tests fail with tcl8.5, it's tcl fault, # if someone REALLY cares (s)he can look into it +# - sqlite binary is linked statically with sqlite library # # Conditional build: %bcond_with tests # run tests +%bcond_with readline # readline (GPL) instead of libedit %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 -%bcond_with icu # ICU tokenizer support +%bcond_with icu # ICU tokenizer support %ifarch alpha sparc %{x8664} %undefine with_tests @@ -20,36 +22,41 @@ %undefine with_tests %endif -#define version_num %(echo %{version} | awk -F. '{printf("%d%02d%02d%02d", $1, $2, $3, $4)}') -%define version_num 3080001 -%define _ulibdir /usr/lib -%define tclver 8.5 +# sqlite3 version with zero padded without any dots (3 08 10 01 is 3.8.10.1) +# but trailing 00 means no 4rd part (3 11 01 00 is 3.11.1) +%define vnum 3250100 +%define ver %{lua:vn=rpm.expand("%vnum");v="";for i in string.gmatch(string.format("%08d", vn), "..") do v=v.."."..i:gsub("^0", "");end;v=v:gsub("^.",""):gsub("\.0$","");print(v)} -Summary: SQLite library -Summary(pl.UTF-8): Biblioteka SQLite +%define tclver 8.6 +Summary: SQLite3 library +Summary(pl.UTF-8): Biblioteka SQLite3 Name: sqlite3 -Version: 3.8.0.1 +Version: %{ver} 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: c4e9a8a98a2ece59c7c385718a59b121 +Source0: http://www.sqlite.org/2018/sqlite-src-%{vnum}.zip +# Source0-md5: 17c9c3de62ed42f3e850cd5c72aa3b43 Patch0: %{name}-sign-function.patch URL: http://www.sqlite.org/ -%{?with_load_extension:Provides: %{name}(load_extension)} -%{?with_unlock_notify:Provides: %{name}(unlock_notify)} -%{?with_icu:Provides: %{name}(icu)} BuildRequires: autoconf >= 2.50 BuildRequires: automake +%{!?with_readline:BuildRequires: libedit-devel} BuildRequires: libtool -BuildRequires: readline-devel +%{?with_readline:BuildRequires: readline-devel} %{?with_load_extension:BuildRequires: sed >= 4.0} BuildRequires: tcl -%{?with_tcl:BuildRequires: tcl-devel} +%{?with_tcl:BuildRequires: tcl-devel >= %{tclver}} BuildRequires: unzip +Requires: %{name}-libs = %{version}-%{release} +%{?with_icu:Provides: %{name}(icu) = %{version}} +%{?with_load_extension:Provides: %{name}(load_extension) = %{version}} +%{?with_unlock_notify:Provides: %{name}(unlock_notify) = %{version}} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +%define _ulibdir /usr/lib + %description SQLite is a C library that implements an SQL database engine. A large subset of SQL92 is supported. A complete database is stored in a @@ -75,19 +82,34 @@ 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 libs +Summary: Shared library for the sqlite3 embeddable SQL database engine +Summary(pl.UTF-8): Biblioteka współdzielona osadzalnego silnika baz danych SQL sqlite3 +Group: Libraries +%{?with_icu:Provides: %{name}-libs(icu) = %{version}} +%{?with_load_extension:Provides: %{name}-libs(load_extension) = %{version}} +%{?with_unlock_notify:Provides: %{name}-libs(unlock_notify) = %{version}} +Conflicts: sqlite3 < 3.23.1-2 + +%description libs +This package contains the SQLite 3 shared library. + +%description libs -l pl.UTF-8 +Ten pakiet zawiera bibliotekę współdzieloną SQLite 3. + %package devel Summary: Header files for SQLite development Summary(pl.UTF-8): Pliki nagłówkowe SQLite Group: Development/Libraries -Requires: %{name} = %{version}-%{release} +Requires: %{name}-libs = %{version}-%{release} %if %{with unlock_notify} -Provides: %{name}-devel(unlock_notify) +Provides: %{name}-devel(unlock_notify) = %{version} %endif %if %{with load_extension} -Provides: %{name}-devel(load_extension) +Provides: %{name}-devel(load_extension) = %{version} %endif %if %{with icu} -Provides: %{name}-devel(icu) +Provides: %{name}-devel(icu) = %{version} %endif %description devel @@ -174,16 +196,21 @@ sqlite3 tcl extension. Rozszerzenie sqlite3 dla Tcl. %prep -%setup -q -n sqlite-src-%{version_num} +%setup -q -n sqlite-src-%{vnum} %patch0 -p1 %{__sed} -i 's/mkdir doc/#mkdir doc/' Makefile.in +if [ "$(cat VERSION)" != "%{version}" ]; then + echo "Tarball content doesn't match version %{version}." >&2 + exit 1 +fi + %build %{__libtoolize} cp -f /usr/share/automake/config.sub . %{__aclocal} -%{__autoconf} +%{__autoconf} --force append-cppflags() { CPPFLAGS="$CPPFLAGS $*" } @@ -198,6 +225,9 @@ export TCLLIBDIR="%{tcl_sitearch}/sqlite3" append-cppflags -DSQLITE_DISABLE_DIRSYNC=1 -DSQLITE_SECURE_DELETE +# Support for optional ORDER BY and LIMIT clause on UPDATE and DELETE statements +append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT + # Support column metadata functions. # http://sqlite.org/c3ref/column_database_name.html # http://sqlite.org/c3ref/table_column_metadata.html @@ -206,16 +236,29 @@ append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA # Support Full-Text Search versions 3 and 4. # http://sqlite.org/fts3.html #append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS4_UNICODE61 -append-cppflags -DSQLITE_ENABLE_FTS3 +append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS +append-cppflags -DSQLITE_ENABLE_FTS3_TOKENIZER # Support R*Trees. # http://sqlite.org/rtree.html append-cppflags -DSQLITE_ENABLE_RTREE +# Support Geopoly module (new as of 3.25.0) +# https://www.sqlite.org/geopoly.html +append-cppflags -DSQLITE_ENABLE_GEOPOLY + # Support soundex() function. # http://sqlite.org/lang_corefunc.html#soundex #append-cppflags -DSQLITE_SOUNDEX +# Support dbstat virtual table. +# https://www.sqlite.org/dbstat.html +append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB + +# Support for session extension (record changes to a changeset). +# https://www.sqlite.org/sessionintro.html +append-cppflags -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_PREUPDATE_HOOK + %if %{with unlock_notify} # Support unlock notification. # http://sqlite.org/unlock_notify.html @@ -232,9 +275,11 @@ append-libs "-ldl" %endif %configure \ + %{?with_readline:--disable-editline} \ %{!?with_tcl:--disable-tcl}%{?with_tcl:--with-tcl=%{_ulibdir}} \ %{__enable_disable load_extension load-extension} \ - --enable-threadsafe + --enable-threadsafe \ + --enable-fts5 %{__make} @@ -247,10 +292,11 @@ append-libs "-ldl" %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT{/%{_lib},%{_bindir},%{_includedir},%{_libdir},%{_mandir}/man1} + %{__make} install \ DESTDIR=$RPM_BUILD_ROOT -mv -f $RPM_BUILD_ROOT%{_libdir}/lib*.so.* $RPM_BUILD_ROOT/%{_lib} +%{__mv} $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 @@ -260,15 +306,18 @@ cp -p sqlite3.1 $RPM_BUILD_ROOT%{_mandir}/man1 %clean rm -rf $RPM_BUILD_ROOT -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig -%files +%files libs %defattr(644,root,root,755) -%doc README -%attr(755,root,root) %{_bindir}/sqlite3 %attr(755,root,root) /%{_lib}/libsqlite3.so.*.*.* %attr(755,root,root) %ghost /%{_lib}/libsqlite3.so.0 + +%files +%defattr(644,root,root,755) +%doc README.md +%attr(755,root,root) %{_bindir}/sqlite3 %{_mandir}/man1/sqlite3.1* %files devel