]> git.pld-linux.org Git - packages/sqlite3.git/blobdiff - sqlite3.spec
- release 2, wal replication patch updated to 3.27.1
[packages/sqlite3.git] / sqlite3.spec
index 10d979b5e9c835ec91b4736e9df98b2634a43de5..44376d556d972e6e89123747b1ff17a1bb069037 100644 (file)
@@ -1,7 +1,7 @@
 # TODO:
 # - some tests fail with tcl8.5, it's tcl fault,
 #      if someone REALLY cares (s)he can look into it
-# - configure.ac present, but doesn't support all -DEFINES, also it uses bash syntax (var+=value)
+# - sqlite binary is linked statically with sqlite library
 #
 # Conditional build:
 %bcond_with    tests           # run tests
@@ -11,8 +11,9 @@
 %bcond_without unlock_notify   # disable unlock notify API
 %bcond_without load_extension  # enable load extension API
 %bcond_with    icu             # ICU tokenizer support
+%bcond_without wal_replication         # WAL replication support
 
-%ifarch alpha sparc %{x8664}
+%ifarch %{x8664}
 %undefine      with_tests
 %endif
 
 
 # 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    3200000
+%define                vnum    3270100
 %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)}
 
+# wal replication version
+%define                walver  3.27.1
+
 %define                tclver          8.6
 Summary:       SQLite3 library
 Summary(pl.UTF-8):     Biblioteka SQLite3
 Name:          sqlite3
 Version:       %{ver}
-Release:       1
+Release:       2
 License:       Public Domain
 Group:         Libraries
 # Source0Download: http://www.sqlite.org/download.html
-Source0:       http://www.sqlite.org/2017/sqlite-src-%{vnum}.zip
-# Source0-md5: 8336ec9194bff2ee1f8215778e8017b9
+Source0:       https://www.sqlite.org/2019/sqlite-src-%{vnum}.zip
+# Source0-md5: ef90404683efdcc8d82ec750bc254546
 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)}
+# https://github.com/CanonicalLtd/dqlite/issues/91
+Patch1:                https://github.com/CanonicalLtd/sqlite/releases/download/version-%{walver}+replication3/sqlite-%{walver}.diff
+# Patch1-md5:  280abeb0aa494fb1165ca66bec7c3d95
+URL:           https://www.sqlite.org/
 BuildRequires: autoconf >= 2.50
 BuildRequires: automake
 %{!?with_readline:BuildRequires:       libedit-devel}
@@ -52,6 +56,11 @@ BuildRequires:       libtool
 BuildRequires: tcl
 %{?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}}
+%{?with_wal_replication:Provides:      %{name}(wal_replication) = %{version}}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _ulibdir        /usr/lib
@@ -81,20 +90,37 @@ 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}}
+%{?with_wal_replication:Provides:      %{name}-libs(wal_replication) = %{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
+%{?with_wal_replication:Provides:      %{name}-devel(wal_replication) = %{version}}
 
 %description devel
 SQLite is a C library that implements an SQL database engine. A large
@@ -138,6 +164,7 @@ Provides:   %{name}-static(unlock_notify)
 %if %{with load_extension}
 Provides:      %{name}-static(load_extension)
 %endif
+%{?with_wal_replication:Provides:      %{name}-static(wal_replication)}
 
 %description static
 SQLite is a C library that implements an SQL database engine. A large
@@ -182,6 +209,7 @@ Rozszerzenie sqlite3 dla Tcl.
 %prep
 %setup -q -n sqlite-src-%{vnum}
 %patch0 -p1
+%{?with_wal_replication:%patch1 -p1}
 
 %{__sed} -i 's/mkdir doc/#mkdir doc/' Makefile.in
 
@@ -209,6 +237,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
@@ -224,6 +255,10 @@ append-cppflags -DSQLITE_ENABLE_FTS3_TOKENIZER
 # 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
@@ -232,6 +267,10 @@ append-cppflags -DSQLITE_ENABLE_RTREE
 # 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
@@ -247,11 +286,17 @@ append-libs "-licui18n -licuuc"
 append-libs "-ldl"
 %endif
 
+%if %{with wal_replication}
+# A patched version of SQLite with support for WAL-based replication
+append-cppflags -DSQLITE_ENABLE_WAL_REPLICATION
+%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}
 
@@ -278,15 +323,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 libs
+%defattr(644,root,root,755)
+%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
-%attr(755,root,root) /%{_lib}/libsqlite3.so.*.*.*
-%attr(755,root,root) %ghost /%{_lib}/libsqlite3.so.0
 %{_mandir}/man1/sqlite3.1*
 
 %files devel
This page took 0.087055 seconds and 4 git commands to generate.