%{?mingw_package_header} %global sum MinGW build of The Berkeley DB database library Name: mingw-libdb Version: 5.3.28 Release: 3%{?dist} Summary: %{sum} License: BSD and LGPLv2 and Sleepycat URL: http://www.oracle.com/database/berkeley-db/ Source0: http://download.oracle.com/berkeley-db/db-%{version}.tar.gz # For mt19937db.c Source1: http://www.gnu.org/licenses/lgpl-2.1.txt # Cross-compilation specific patches Patch1: db-5.3.21-case-sensitive-winioctl.patch Patch2: db-5.3.21-install-utilities.patch # Other patches Patch24: db-4.5.20-jni-include-dir.patch # License clarification patch # http://devel.trisquel.info/gitweb/?p=package-helpers.git;a=blob;f=helpers/DATA/db4.8/007-mt19937db.c_license.patch;h=1036db4d337ce4c60984380b89afcaa63b2ef88f;hb=df48d40d3544088338759e8bea2e7f832a564d48 Patch25: 007-mt19937db.c_license.patch #Adds missing constant to Optcodes.java and changes ClassReader.java to use it. This makes package to build with Java 8. Patch26: java8-fix.patch # memp_stat fix provided by upstream (rhbz#1211871) Patch27: db-5.3.21-memp_stat-upstream-fix.patch BuildRequires: mingw32-filesystem >= 95 BuildRequires: mingw64-filesystem >= 95 BuildRequires: mingw32-gcc mingw64-gcc BuildRequires: mingw32-gcc-c++ mingw64-gcc-c++ BuildRequires: mingw32-binutils mingw64-binutils BuildRequires: mingw32-winpthreads mingw64-winpthreads BuildRequires: shtool coreutils BuildArch: noarch %description The Berkeley DB Database is a programmatic toolkit that provides database support for applications. %package -n mingw32-libdb Summary: %{sum} for Win32 %description -n mingw32-libdb The Berkeley DB Database is a programmatic toolkit that provides database support for applications. %package -n mingw32-libdb-static Requires: mingw32-libdb = %{version}-%{release} Summary: %{sum} for Win32 %description -n mingw32-libdb-static The Berkeley DB Database is a programmatic toolkit that provides database support for applications. %package -n mingw64-libdb Summary: %{sum} for Win64 %description -n mingw64-libdb The Berkeley DB Database is a programmatic toolkit that provides database support for applications. %package -n mingw64-libdb-static Requires: mingw64-libdb = %{version}-%{release} Summary: %{sum} for Win64 %description -n mingw64-libdb-static The Berkeley DB Database is a programmatic toolkit that provides database support for applications. %package -n mingw32-libdb-utils Requires: mingw32-libdb = %{version}-%{release} Summary: %{sum} utilities for Win32 %description -n mingw32-libdb-utils The Berkley DB Database Win32 executable tools and utilities %package -n mingw64-libdb-utils Requires: mingw64-libdb = %{version}-%{release} Summary: %{sum} utilities for Win64 %description -n mingw64-libdb-utils The Berkley DB Database Win64 executable tools and utilities %{?mingw_debug_package} %prep %setup -q -n db-%{version} cp %{SOURCE1} . %patch1 -p1 -b winioctl %patch2 -p1 -b utilities %patch24 -p1 -b .4.5.20.jni %patch25 -p1 -b .licensefix %patch26 -p1 -b .java8-fix %patch27 -p1 -b .memp_stat-fix %build pushd build_unix mkdir -p build_win32 pushd build_win32 %{mingw32_env} ../../dist/configure \ --host=%{mingw32_host} \ --build=%_build \ --target=%{mingw32_target} \ --prefix=%{mingw32_prefix} \ --exec-prefix=%{mingw32_exec_prefix} \ --bindir=%{mingw32_bindir} \ --sbindir=%{mingw32_sbindir} \ --sysconfdir=%{mingw32_sysconfdir} \ --datadir=%{mingw32_datadir} \ --includedir=%{mingw32_includedir} \ --libdir=%{mingw32_libdir} \ --libexecdir=%{mingw32_libexecdir} \ --localstatedir=%{mingw32_localstatedir} \ --sharedstatedir=%{mingw32_sharedstatedir} \ --mandir=%{mingw32_mandir} \ --infodir=%{mingw32_infodir} \ --enable-mingw \ --enable-cxx \ --enable-compat185 \ --enable-shared \ --enable-static \ CC=%{mingw32_cc} \ CXX=%{mingw32_cxx} popd mkdir -p build_win64 pushd build_win64 %{mingw64_env} ../../dist/configure \ --host=%{mingw64_host} \ --build=%_build \ --target=%{mingw64_target} \ --prefix=%{mingw64_prefix} \ --exec-prefix=%{mingw64_exec_prefix} \ --bindir=%{mingw64_bindir} \ --sbindir=%{mingw64_sbindir} \ --sysconfdir=%{mingw64_sysconfdir} \ --datadir=%{mingw64_datadir} \ --includedir=%{mingw64_includedir} \ --libdir=%{mingw64_libdir} \ --libexecdir=%{mingw64_libexecdir} \ --localstatedir=%{mingw64_localstatedir} \ --sharedstatedir=%{mingw64_sharedstatedir} \ --mandir=%{mingw64_mandir} \ --infodir=%{mingw64_infodir} \ --enable-mingw \ --enable-cxx \ --enable-compat185 \ --enable-shared \ --enable-static\ CC=%{mingw64_cc} \ CXX=%{mingw64_cxx} popd %mingw_make %{?_smp_mflags} popd %install pushd build_unix %mingw_make install DESTDIR=%{buildroot} popd find %{buildroot} -name '*.la' -delete find %{buildroot} -name '*.exe' -exec chmod 755 '{}' \; #find %{buildroot} -name '*.dll' -exec chmod 755 '{}' \; (cd ${RPM_BUILD_ROOT}%{mingw64_libdir} && \ ln -s libdb-5.?.dll.a libdb.dll.a && \ ln -s libdb-5.?.dll.a libdb-5.dll.a && \ ln -s libdb_cxx-5.?.dll.a libdb_cxx.dll.a && \ ln -s libdb_cxx-5.?.dll.a libdb_cxx-5.dll.a) (cd ${RPM_BUILD_ROOT}%{mingw32_libdir} && \ ln -s libdb-5.?.dll.a libdb.dll.a && \ ln -s libdb-5.?.dll.a libdb-5.dll.a && \ ln -s libdb_cxx-5.?.dll.a libdb_cxx.dll.a && \ ln -s libdb_cxx-5.?.dll.a libdb_cxx-5.dll.a) rm -rf ${RPM_BUILD_ROOT}%{mingw64_prefix}/docs rm -rf ${RPM_BUILD_ROOT}%{mingw32_prefix}/docs %files -n mingw32-libdb %license LICENSE lgpl-2.1.txt %doc README %{mingw32_bindir}/libdb-5.3.dll %{mingw32_bindir}/libdb_cxx-5.3.dll %{mingw32_libdir}/libdb-5.3.dll.a %{mingw32_libdir}/libdb-5.dll.a %{mingw32_libdir}/libdb.dll.a %{mingw32_libdir}/libdb_cxx-5.3.dll.a %{mingw32_libdir}/libdb_cxx-5.dll.a %{mingw32_libdir}/libdb_cxx.dll.a %{mingw32_includedir}/db*.h %files -n mingw32-libdb-static %{mingw32_libdir}/libdb-5.3.a %{mingw32_libdir}/libdb_cxx-5.3.a %{mingw32_libdir}/libdb.a %{mingw32_libdir}/libdb_cxx.a %files -n mingw64-libdb %license LICENSE lgpl-2.1.txt %doc README %{mingw64_bindir}/libdb-5.3.dll %{mingw64_bindir}/libdb_cxx-5.3.dll %{mingw64_libdir}/libdb-5.3.dll.a %{mingw64_libdir}/libdb-5.dll.a %{mingw64_libdir}/libdb.dll.a %{mingw64_libdir}/libdb_cxx-5.3.dll.a %{mingw64_libdir}/libdb_cxx-5.dll.a %{mingw64_libdir}/libdb_cxx.dll.a %{mingw64_includedir}/db*.h %files -n mingw64-libdb-static %{mingw64_libdir}/libdb-5.3.a %{mingw64_libdir}/libdb_cxx-5.3.a %{mingw64_libdir}/libdb.a %{mingw64_libdir}/libdb_cxx.a %files -n mingw32-libdb-utils %{mingw32_bindir}/db_archive.exe %{mingw32_bindir}/db_checkpoint.exe %{mingw32_bindir}/db_deadlock.exe %{mingw32_bindir}/db_dump.exe %{mingw32_bindir}/db_hotbackup.exe %{mingw32_bindir}/db_load.exe %{mingw32_bindir}/db_log_verify.exe %{mingw32_bindir}/db_printlog.exe %{mingw32_bindir}/db_recover.exe %{mingw32_bindir}/db_replicate.exe %{mingw32_bindir}/db_stat.exe %{mingw32_bindir}/db_tuner.exe %{mingw32_bindir}/db_upgrade.exe %{mingw32_bindir}/db_verify.exe %files -n mingw64-libdb-utils %{mingw64_bindir}/db_archive.exe %{mingw64_bindir}/db_checkpoint.exe %{mingw64_bindir}/db_deadlock.exe %{mingw64_bindir}/db_dump.exe %{mingw64_bindir}/db_hotbackup.exe %{mingw64_bindir}/db_load.exe %{mingw64_bindir}/db_log_verify.exe %{mingw64_bindir}/db_printlog.exe %{mingw64_bindir}/db_recover.exe %{mingw64_bindir}/db_replicate.exe %{mingw64_bindir}/db_stat.exe %{mingw64_bindir}/db_tuner.exe %{mingw64_bindir}/db_upgrade.exe %{mingw64_bindir}/db_verify.exe %changelog * Thu Apr 13 2017 Greg Hellings - 5.3.28-3 - Separate out exe files to separate package - Move summary to a separate variable * Wed Sep 28 2016 Neal Gompa - 5.3.28-2 - Use license macro for license files * Fri Aug 26 2016 Neal Gompa - 5.3.28-1 - Bump up to BDB 5.3.28 - Sync patches with native libdb package * Mon Dec 10 2012 Greg Hellings - 5.3.21-2 - Cleaned up rpmlint messages * Mon Dec 10 2012 Greg Hellings - 5.3.21-1 - Initial build