%global __strip %{_mingw32_strip} %global __objdump %{_mingw32_objdump} %global _use_internal_dependency_generator 0 %global __find_requires %{_mingw32_findrequires} %global __find_provides %{_mingw32_findprovides} %define __debug_install_post %{_mingw32_debug_install_post} # bcond default logic is nicely backwards... %bcond_with tcl %global tclversion 8.5 Name: mingw32-sqlite Version: 3.7.3 Release: 1%{?dist} Summary: MinGW Windows port of sqlite embeddable SQL database engine License: Public Domain Group: Applications/Databases URL: http://www.sqlite.org/ Source0: http://www.sqlite.org/sqlite-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch # Patches from Fedora native package. Patch1: sqlite-3.6.12-libdl.patch # Avoid insecure sprintf(), use a system path for lempar.c, patch from Debian Patch2: sqlite-3.6.6.2-lemon-snprintf.patch # Patches for MinGW port. Patch1000: mingw32-sqlite-3.6.12-no-undefined.patch BuildRequires: mingw32-filesystem >= 52 BuildRequires: mingw32-gcc BuildRequires: mingw32-binutils BuildRequires: mingw32-pdcurses BuildRequires: mingw32-readline BuildRequires: mingw32-termcap >= 1.3.1-3 BuildRequires: autoconf BuildRequires: libtool BuildRequires: /usr/bin/tclsh Requires: pkgconfig %if %{with tcl} BuildRequires: /usr/bin/tclsh BuildRequires: mingw32-tcl %endif %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 single disk file. The API is designed for convenience and ease of use. Applications that link against SQLite can enjoy the power and flexibility of an SQL database without the administrative hassles of supporting a separate database server. Version 2 and version 3 binaries are named to permit each to be installed on a single host This package contains cross-compiled libraries and development tools for Windows. %{_mingw32_debug_package} %prep %setup -q -n sqlite-%{version} %patch1 -p1 -b .libdl %patch2 -p1 -b .lemon-sprintf %patch1000 -p1 # Ships with an old/broken version of libtool which cannot create # Windows libraries properly. So pull in the current version. autoreconf libtoolize --force %build # I think there's a bug in the configure script where, if # cross-compiling, it cannot correctly determine the target executable # extension (ie. .exe). As a result it doesn't correctly detect that # the target is Windows and so tries to use Unix-specific functions # which don't exist. In any case we can work around this by forcing # the extension via this export. # - RWMJ 2008-09-30 export config_TARGET_EXEEXT=.exe # add compile flags to enable rtree, fts3 export MINGW32_CFLAGS="%{_mingw32_cflags} -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_DISABLE_DIRSYNC=1 -DSQLITE_ENABLE_FTS3=3 -DSQLITE_ENABLE_RTREE=1 -fno-strict-aliasing" %{_mingw32_configure} %{!?with_tcl:--disable-tcl} \ --enable-threadsafe \ --enable-threads-override-locks \ --enable-load-extension # -lc hack sed -e s,build_libtool_need_lc=yes,build_libtool_need_lc=no, < libtool > libtool.x mv libtool.x libtool chmod a+x libtool make %install rm -rf $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT install # Remove static libraries but DON'T remove *.dll.a files. rm $RPM_BUILD_ROOT%{_mingw32_libdir}/libsqlite3.a chmod 0644 $RPM_BUILD_ROOT%{_mingw32_libdir}/libsqlite3.dll.a mv $RPM_BUILD_ROOT%{_mingw32_libdir}/libsqlite3-0.dll $RPM_BUILD_ROOT%{_mingw32_bindir}/ %if %{with tcl} install -d -m755 $RPM_BUILD_ROOT%{_mingw32_datadir}/tcl%{tclversion}/sqlite3/ mv $RPM_BUILD_ROOT%{_datadir}/tcl%{tclversion}/sqlite3/pkgIndex.tcl $RPM_BUILD_ROOT%{_mingw32_datadir}/tcl%{tclversion}/sqlite3/ %endif %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %doc README VERSION %{_mingw32_bindir}/sqlite3.exe %{_mingw32_bindir}/libsqlite3-0.dll #%{_mingw32_bindir}/libsqlite3-0.dll.debug %{_mingw32_libdir}/libsqlite3.dll.a %{_mingw32_libdir}/libsqlite3.la %{_mingw32_includedir}/sqlite3.h %{_mingw32_includedir}/sqlite3ext.h %{_mingw32_libdir}/pkgconfig/sqlite3.pc %if %{with tcl} %{_mingw32_datadir}/tcl%{tclversion}/sqlite3/ %{_mingw32_datadir}/tcl%{tclversion}/sqlite3/pkgIndex.tcl %endif %changelog * Mon Dec 6 2010 Thomas Sailer - 3.7.3-1 - update to 3.7.3 * Sun Jan 31 2010 Thomas Sailer - 3.6.22-1 - update to 3.6.22 * Sun Dec 5 2009 Thomas Sailer - 3.6.20-1 - update to 3.6.20 * Sun Sep 20 2009 Thomas Sailer - 3.6.17-1 - update to 3.6.17 * Sat Jul 25 2009 Fedora Release Engineering - 3.6.14.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Tue Jun 23 2009 Thomas Sailer - 3.6.14.2-1 - update to 3.6.14.2 - add debuginfo packages * Thu Apr 23 2009 Thomas Sailer - 3.6.12-4 - fix CFLAGS setting * Thu Apr 23 2009 Thomas Sailer - 3.6.12-3 - use Erik van Pienbroek way to add to CFLAGS * Thu Apr 23 2009 Thomas Sailer - 3.6.12-2 - BR tclsh; the build process without tclsh and with extensions enabled is broken * Thu Apr 23 2009 Thomas Sailer - 3.6.12-1 - update to 3.6.12 to match native - enable rtree, fts3 * Wed Feb 25 2009 Fedora Release Engineering - 3.6.6.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Fri Feb 20 2009 Richard W.M. Jones - 3.6.6.2-2 - Rebuild for mingw32-gcc 4.4 * Tue Dec 16 2008 Richard Jones - 3.6.6.2-1 - New upstream release (to match Fedora native), 3.6.6.2. - Replace patches with ones from native. - Rebase -no-undefined patch. - Remove spurious +x permissions on libsqlite3.dll.a. - Requires pkgconfig. * Sat Nov 22 2008 Richard Jones - 3.5.9-3 - Rebuild against new readline. * Fri Oct 31 2008 Richard Jones - 3.5.9-2 - Rebuild against latest termcap. * Thu Sep 25 2008 Richard Jones - 3.5.9-1 - Initial RPM release.