%define subrel 1 # bcond default logic is nicely backwards... %bcond_without tcl %bcond_with check %define realname sqlite %define realver 3081002 %define docver 3081002 %define rpmver 3.8.10.2 %define major 0 %define libname %mklibname %{name}_ %{major} %define develname %mklibname %{name} -d %define staticdevelname %mklibname %{name} -d -s Summary: C library that implements an embeddable SQL database engine Name: sqlite3 Version: %{rpmver} Release: %mkrel 1 License: Public Domain Group: System/Libraries URL: http://www.sqlite.org/ Source0: http://www.sqlite.org/2015/sqlite-src-%{realver}.zip Source1: http://www.sqlite.org/2015/sqlite-doc-%{docver}.zip # Support a system-wide lemon template Patch2: sqlite-3.6.23-lemon-system-template.patch BuildRequires: ncurses-devel BuildRequires: readline-devel BuildRequires: glibc-devel # libdl patch needs BuildRequires: autoconf BuildRequires: chrpath BuildRequires: ncurses-devel BuildRequires: readline-devel BuildRequires: icu-devel %if %{with tcl} BuildRequires: tcl BuildRequires: tcl-devel %{!?tcl_version: %global tcl_version 8.5.10} %{!?tcl_sitearch: %global tcl_sitearch %{_libdir}/tcl%{tcl_version}} %endif %description SQLite is a C library that implements an embeddable SQL database engine. Programs that link with the SQLite library can have SQL database access without running a separate RDBMS process. The distribution comes with a standalone command-line access program (sqlite) that can be used to administer an SQLite database and which serves as an example of how to use the SQLite library. %package -n %{libname} Summary: C library that implements an embeddable SQL database engine Group: System/Libraries %description -n %{libname} SQLite is a C library that implements an embeddable SQL database engine. Programs that link with the SQLite library can have SQL database access without running a separate RDBMS process. The distribution comes with a standalone command-line access program (sqlite) that can be used to administer an SQLite database and which serves as an example of how to use the SQLite library. This package contains the shared libraries for %{name} %package -n %{develname} Summary: Development library and header files for the %{name} library Group: Development/C Requires: %{libname} = %{version}-%{release} Provides: lib%{name}-devel = %{version}-%{release} Provides: %{name}-devel = %{version}-%{release} Obsoletes: %mklibname %{name}_ %{major} -d %description -n %{develname} SQLite is a C library that implements an embeddable SQL database engine. Programs that link with the SQLite library can have SQL database access without running a separate RDBMS process. The distribution comes with a standalone command-line access program (sqlite) that can be used to administer an SQLite database and which serves as an example of how to use the SQLite library. This package contains the static %{libname} library and its header files. %package -n %{staticdevelname} Summary: Static development library for the %{name} library Group: Development/C Requires: %{develname} = %{version}-%{release} Provides: lib%{name}-static-devel = %{version}-%{release} Provides: %{name}-static-devel = %{version}-%{release} Obsoletes: %mklibname %{name}_ %{major} -d -s %description -n %{staticdevelname} SQLite is a C library that implements an embeddable SQL database engine. Programs that link with the SQLite library can have SQL database access without running a separate RDBMS process. The distribution comes with a standalone command-line access program (sqlite) that can be used to administer an SQLite database and which serves as an example of how to use the SQLite library. This package contains the static %{libname} library. %package tools Summary: Command line tools for managing the %{libname} library Group: Databases Requires: %{libname} = %{version}-%{release} %description tools SQLite is a C library that implements an embeddable SQL database engine. Programs that link with the SQLite library can have SQL database access without running a separate RDBMS process. The distribution comes with a standalone command-line access program (sqlite) that can be used to administer an SQLite database and which serves as an example of how to use the SQLite library. This package contains command line tools for managing the %{libname} library. %package -n lemon Summary: A parser generator Group: Databases %description -n lemon Lemon is an LALR(1) parser generator for C or C++. It does the same job as bison and yacc. But lemon is not another bison or yacc clone. It uses a different grammar syntax which is designed to reduce the number of coding errors. Lemon also uses a more sophisticated parsing engine that is faster than yacc and bison and which is both reentrant and thread-safe. Furthermore, Lemon implements features that can be used to eliminate resource leaks, making is suitable for use in long-running programs such as graphical user interfaces or embedded controllers. %if %{with tcl} %package tcl Summary: Tcl module for the sqlite3 embeddable SQL database engine Group: Development/Other Requires: %{name}-tools = %{version}-%{release} Requires: tcl >= 1:%{tcl_version} Obsoletes: tcl-sqlite3 < %{version} Provides: tcl-sqlite3 = %{version}-%{release} %description tcl This package contains the tcl modules for %{name}. %endif %prep %setup -q -a1 -n %{realname}-src-%{realver} %patch2 -p1 -b .lemon-system-template # Remove cgi-script erroneously included in sqlite-doc-3070500 rm -f %{name}-doc-%{realver}/search %build autoreconf -fi export CFLAGS="%optflags -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_DISABLE_DIRSYNC=1 -DSQLITE_ENABLE_FTS3=3 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 -DSQLITE_ENABLE_DBSTAT_VTAB=1 -DSQLITE_ENABLE_ICU=1 -Wall -fno-strict-aliasing" export LIBS="$(icu-config --ldflags)" %configure2_5x %{!?with_tcl:--disable-tcl} \ --enable-threadsafe \ --enable-load-extension \ %{?with_tcl:TCLLIBDIR=%{tcl_sitearch}/sqlite3} # Quoting from an E-mail from Richard Hipp: # <<< # As best I can tell, this appears to be a bug in MALLOC_CHECK_ in that it # does not play well with malloc_usable_size(). There does not appear to be # anything wrong with SQLite in this respect, at least as not as far as I can # see. # If you edit the "config.h" file generated by the ./configure script and # remove the HAVE_MALLOC_USABLE_SIZE define, then the resulting SQLite will # not attempt to use malloc_usable_size() and it then appears to work fine # with MALLOC_CHECK_. # >>> # So we are removing this. sed -i '/HAVE_MALLOC_USABLE_SIZE/d' config.h # rpath removal sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool %make %install install -d %{buildroot}%{_bindir} install -d %{buildroot}%{_includedir} install -d %{buildroot}%{_libdir} install -d %{buildroot}%{_mandir}/man1 make DESTDIR=%{buildroot} install install -D -m0644 sqlite3.1 %{buildroot}/%{_mandir}/man1/sqlite3.1 install -D -m0755 lemon %{buildroot}/%{_bindir}/lemon install -D -m0644 tool/lempar.c %{buildroot}/%{_datadir}/lemon/lempar.c %if %{with tcl} # fix up permissions to enable dep extraction chmod 0755 %{buildroot}/%{tcl_sitearch}/sqlite3/*.so %endif %makeinstall_std rm -f %{buildroot}%{_libdir}/*.la chrpath -d %{buildroot}%{_bindir}/* %if %{with check} %check make test %endif %files -n %{libname} %{_libdir}/lib*.so.%{major}* %files -n %{develname} %attr(0644,root,root) %{_includedir}/*.h %{_libdir}/lib*.so %attr(0644,root,root) %{_libdir}/pkgconfig/*.pc %files -n %{staticdevelname} %{_libdir}/lib*.a %files tools %{_bindir}/sqlite3 %{_mandir}/man1/* %files -n lemon %{_bindir}/lemon %{_datadir}/lemon %if %{with tcl} %files tcl %{tcl_sitearch}/sqlite3 %endif %changelog * Sun Oct 04 2015 cjw <cjw> 3.8.10.2-1.1.mga5 + Revision: 886153 - enable ICU support (mga#16814) - enable the SQLITE_ENABLE_DBSTAT_VTAB build option for iceape 2.38 and firefox 45esr * Sat May 23 2015 luigiwalser <luigiwalser> 3.8.10.2-1.mga5 + Revision: 822667 - 3.8.10.2 * Sun May 10 2015 luigiwalser <luigiwalser> 3.8.10.1-1.mga5 + Revision: 821636 - 3.8.10.1 - 3.8.10 * Thu Apr 23 2015 luigiwalser <luigiwalser> 3.8.9-1.mga5 + Revision: 820588 - 3.8.9 * Fri Jan 16 2015 tv <tv> 3.8.7.4-2.mga5 + Revision: 810991 - submit to core/release * Thu Jan 15 2015 tv <tv> 3.8.7.4-1.mga5 + Revision: 810855 - 3.8.7.4 * Wed Oct 15 2014 umeabot <umeabot> 3.8.6-3.mga5 + Revision: 747965 - Second Mageia 5 Mass Rebuild * Tue Sep 16 2014 umeabot <umeabot> 3.8.6-2.mga5 + Revision: 689302 - Mageia 5 Mass Rebuild * Sun Aug 17 2014 fwang <fwang> 3.8.6-1.mga5 + Revision: 664879 - 3.8.6 * Thu Jun 05 2014 fwang <fwang> 3.8.5-1.mga5 + Revision: 633333 - 3.8.5 * Fri Apr 04 2014 fwang <fwang> 3.8.4.3-1.mga5 + Revision: 611615 - 3.8.4.3 * Mon Mar 31 2014 fwang <fwang> 3.8.4.2-1.mga5 + Revision: 610759 - 3.8.4.2 * Wed Mar 12 2014 fwang <fwang> 3.8.4.1-1.mga5 + Revision: 602576 - 3.8.4.1 * Tue Mar 11 2014 fwang <fwang> 3.8.4-1.mga5 + Revision: 601996 - 3.8.4 * Wed Feb 12 2014 fwang <fwang> 3.8.3.1-1.mga5 + Revision: 589588 - 3.8.3.1 * Tue Feb 04 2014 fwang <fwang> 3.8.3-2.mga5 + Revision: 581614 - new version 3.8.3 * Sat Oct 19 2013 umeabot <umeabot> 3.8.0.2-2.mga4 + Revision: 533740 - Mageia 4 Mass Rebuild * Wed Sep 04 2013 fwang <fwang> 3.8.0.2-1.mga4 + Revision: 475011 - new version 3.8.0.2 * Fri Aug 30 2013 fwang <fwang> 3.8.0.1-1.mga4 + Revision: 473194 - new version 3.8.0.1 * Tue Aug 27 2013 fwang <fwang> 3.8.0-1.mga4 + Revision: 472195 - new version 3.8.0 * Thu May 23 2013 fwang <fwang> 3.7.17-1.mga4 + Revision: 424794 - new version 3.7.17 * Mon Apr 01 2013 fwang <fwang> 3.7.16.1-1.mga3 + Revision: 406916 - new version 3.7.16.1 * Tue Mar 19 2013 fwang <fwang> 3.7.16-1.mga3 + Revision: 404048 - new version 3.7.16 * Mon Jan 14 2013 umeabot <umeabot> 3.7.15.2-2.mga3 + Revision: 382558 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Fri Jan 11 2013 kamil <kamil> 3.7.15.2-1.mga3 + Revision: 344933 - new Patch version 3.7.15.2 * Fri Dec 21 2012 fwang <fwang> 3.7.15.1-1.mga3 + Revision: 333563 - new version 3.7.15.1 * Sun Dec 16 2012 fwang <fwang> 3.7.15-1.mga3 + Revision: 331624 - new version 3.7.15 * Fri Dec 14 2012 spuhler <spuhler> 3.7.14.1-2.mga3 + Revision: 330659 - bumped rel so it will upgrade from mga2 rel 1.1 * Sun Oct 07 2012 fwang <fwang> 3.7.14.1-1.mga3 + Revision: 303121 - new version 3.7.14.1 - use configure2_5x * Tue Sep 04 2012 fwang <fwang> 3.7.14-1.mga3 + Revision: 287807 - new version 3.7.14 * Mon Jul 23 2012 shlomif <shlomif> 3.7.13-2.mga3 + Revision: 273747 - Fix crashes with libsqlite and MALLOC_CHECK_=1 * Tue Jun 12 2012 fwang <fwang> 3.7.13-1.mga3 + Revision: 259925 - new version 3.7.13 * Mon May 28 2012 fwang <fwang> 3.7.12.1-1.mga3 + Revision: 247648 - new version 3.7.12.1 * Wed May 09 2012 kamil <kamil> 3.7.11-1.mga2 + Revision: 234984 - new version 3.7.11 * Tue Jan 17 2012 fwang <fwang> 3.7.10-1.mga2 + Revision: 197146 - drop unapplied patches - new version 3.7.10 * Mon Nov 21 2011 fwang <fwang> 3.7.9-2.mga2 + Revision: 170361 - drop .la files * Wed Nov 02 2011 fwang <fwang> 3.7.9-1.mga2 + Revision: 161234 - new version 3.7.9 * Tue Sep 20 2011 fwang <fwang> 3.7.8-1.mga2 + Revision: 145906 - fix group - new version 3.7.8 * Sun Jul 17 2011 fwang <fwang> 3.7.7.1-5.mga2 + Revision: 125275 - rebuild for new tcl * Mon Jul 04 2011 dmorgan <dmorgan> 3.7.7.1-4.mga2 + Revision: 118377 - Fix requires - Fix tcl version * Mon Jul 04 2011 misc <misc> 3.7.7.1-2.mga2 + Revision: 117903 - rebuild for tcl - clean old architecture conditional * Wed Jun 29 2011 fwang <fwang> 3.7.7.1-1.mga2 + Revision: 115607 - new version 3.7.7.1 * Sat Jun 25 2011 dmorgan <dmorgan> 3.7.7-3.mga2 + Revision: 113776 - Update doc source * Fri Apr 29 2011 dmorgan <dmorgan> 3.7.6.2-3.mga1 + Revision: 93459 - Fix requires * Fri Apr 29 2011 dmorgan <dmorgan> 3.7.6.2-2.mga1 + Revision: 93441 - Add lemon subpackage ( fedora ) Add tcl subpackage ( fedora ) Add check ( fedora ) * Mon Apr 18 2011 tv <tv> 3.7.6.2-1.mga1 + Revision: 87588 - new release * Wed Apr 13 2011 tv <tv> 3.7.6.1-1.mga1 + Revision: 84630 - new release * Wed Apr 13 2011 tv <tv> 3.7.6-1.mga1 + Revision: 84500 - new release * Tue Feb 01 2011 dmorgan <dmorgan> 3.7.5-1.mga1 + Revision: 46088 - New version * Sat Jan 29 2011 dmorgan <dmorgan> 3.7.4-1.mga1 + Revision: 43429 - Sync with mdv package * Sat Jan 08 2011 blino <blino> 3.7.3-2.mga1 + Revision: 971 - remove old ldconfig scriptlets and tcl path - imported package sqlite3