%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}
%undefine with_tests
# 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 3250200
+%define vnum 3270000
%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.26.0
+
%define tclver 8.6
Summary: SQLite3 library
Summary(pl.UTF-8): Biblioteka SQLite3
License: Public Domain
Group: Libraries
# Source0Download: http://www.sqlite.org/download.html
-Source0: http://www.sqlite.org/2018/sqlite-src-%{vnum}.zip
-# Source0-md5: 89ae82d8d288a0d3594ff11de282f0a7
+Source0: http://www.sqlite.org/2019/sqlite-src-%{vnum}.zip
+# Source0-md5: e0fb6e677048c95637fd10408a811011
Patch0: %{name}-sign-function.patch
+# https://github.com/CanonicalLtd/dqlite/issues/91
+Patch1: https://github.com/CanonicalLtd/sqlite/releases/download/version-%{walver}%%2Breplication3/sqlite-%{walver}.diff
+# Patch1-md5: 4a279faaf27e95760b73423875c6d002
URL: http://www.sqlite.org/
BuildRequires: autoconf >= 2.50
BuildRequires: automake
%{?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
%{?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
%if %{with 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
%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
%prep
%setup -q -n sqlite-src-%{vnum}
%patch0 -p1
+%{?with_wal_replication:%patch1 -p1}
%{__sed} -i 's/mkdir doc/#mkdir doc/' Makefile.in
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}} \