# TODO:
# - some tests fail with tcl8.5, it's tcl fault,
# if someone REALLY cares (s)he can look into it
-# - alpha build fail:
-# tclsh ./tool/mksqlite3c.tcl
-# tclsh: allocatestack.c:404: allocate_stack: Assertion `size != 0' failed.
-# make: *** [sqlite3.c] Aborted
# - enable --enable-load-extension?
#
# Conditional build:
-%bcond_with tests # run tests
-%bcond_with tcl # enable tcl extension
-%bcond_without doc # disable documentation building
-#
+%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 !%{with tcl}
+%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.UTF-8): Biblioteka SQLite
Name: sqlite3
-Version: 3.6.15
+Version: 3.7.6.3
Release: 1
License: LGPL
Group: Libraries
# Source0Download: http://www.sqlite.org/download.html
-Source0: http://www.sqlite.org/sqlite-%{version}.tar.gz
-# Source0-md5: ccde887ffc8a26251f3514d54594ff92
+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
+%{?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
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
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
Rozszerzenie sqlite3 dla Tcl.
%prep
-%setup -q -n sqlite-%{version}
+%setup -q -n sqlite-%{srcver}-%{realver}
%patch0 -p1
%{__sed} -i 's/mkdir doc/#mkdir doc/' Makefile*
-%ifarch alpha
-# See also LP#276821
-# wrapper script to reset stack to 8192 as if ran from make it's insanely huge!:
-# stack(kbytes) 18014398509481983
-cat <<'EOF' > tclsh.sh
-#!/bin/sh
-ulimit -s 8192
-exec tclsh "$@"
-EOF
-chmod +x tclsh.sh
-%endif
-
%build
%{__libtoolize}
cp -f /usr/share/automake/config.sub .
%{__aclocal}
%{__autoconf}
-CFLAGS="%{rpmcflags} -DSQLITE_ENABLE_COLUMN_METADATA=1"
+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
-%{__make} \
-%ifarch alpha
- TCLSH_CMD=./tclsh.sh
-%endif
+%{?with_load_extension:sed -i~ s/-DSQLITE_OMIT_LOAD_EXTENSION=1// Makefile}
+%{__make}
%if %{with doc}
%{__make} doc
%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 \
-%ifarch alpha
- TCLSH_CMD=./tclsh.sh \
-%endif
DESTDIR=$RPM_BUILD_ROOT \
TCLLIBDIR=%{_libdir}/tcl%{tclver}
sed -i -e "s#$RPM_BUILD_ROOT##g" $RPM_BUILD_ROOT%{_libdir}/tcl%{tclver}/sqlite3/pkgIndex.tcl
%endif
-install sqlite3.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
%defattr(644,root,root,755)
%doc README
%attr(755,root,root) %{_bindir}/sqlite3
-%attr(755,root,root) %{_libdir}/libsqlite3.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsqlite3.so.0
+%attr(755,root,root) /%{_lib}/libsqlite3.so.*.*.*
+%attr(755,root,root) %ghost /%{_lib}/libsqlite3.so.0
%{_mandir}/man1/sqlite3.1*
%files devel