diff --git a/mingw-termcap.spec b/mingw-termcap.spec index d2e5d30..175ed1b 100644 --- a/mingw-termcap.spec +++ b/mingw-termcap.spec @@ -5,12 +5,14 @@ # ncurses. So here we are using the GNU termcap library which is # regretably GPL'd. -%define __strip %{mingw32_strip} -%define __objdump %{mingw32_objdump} +%?mingw_package_header + +%global mingw_build_win32 1 +%global mingw_build_win64 1 Name: mingw-termcap Version: 1.3.1 -Release: 12%{?dist} +Release: 13%{?dist} Summary: MinGW terminal feature database License: GPLv2+ @@ -20,10 +22,14 @@ Source0: ftp://ftp.gnu.org/gnu/termcap/termcap-%{version}.tar.gz BuildArch: noarch -BuildRequires: mingw32-filesystem +BuildRequires: mingw32-filesystem >= 95 BuildRequires: mingw32-gcc BuildRequires: mingw32-binutils +BuildRequires: mingw64-filesystem >= 95 +BuildRequires: mingw64-gcc +BuildRequires: mingw64-binutils + BuildRequires: autoconf @@ -38,6 +44,7 @@ This package contains libraries and development tools for the MinGW cross-compiled version. +# Win32 %package -n mingw32-termcap Summary: MinGW terminal feature database @@ -51,6 +58,37 @@ other termcap libraries. This package contains libraries and development tools for the MinGW cross-compiled version. +%package -n mingw32-termcap-static +Summary: Static version of the cross compiled termcap library +Requires: mingw32-termcap = %{version}-%{release} + +%description -n mingw32-termcap-static +Static version of the cross compiled termcap library. + +# Win64 +%package -n mingw64-termcap +Summary: MinGW terminal feature database + +%description -n mingw64-termcap +This is the GNU termcap library -- a library of C functions that +enable programs to send control strings to terminals in a way +independent of the terminal type. The GNU termcap library does not +place an arbitrary limit on the size of termcap entries, unlike most +other termcap libraries. + +This package contains libraries and development tools for the MinGW +cross-compiled version. + +%package -n mingw64-termcap-static +Summary: Static version of the cross compiled termcap library +Requires: mingw64-termcap = %{version}-%{release} + +%description -n mingw64-termcap-static +Static version of the cross compiled termcap library. + + +%?mingw_debug_package + %prep %setup -q -n termcap-%{version} @@ -60,34 +98,53 @@ autoconf %build -%{mingw32_configure} -make +%mingw_configure +%mingw_make %{?_smp_mflags} # Build a shared library. No need for -fPIC on Windows. +pushd build_win32 %{mingw32_cc} -shared \ -Wl,--out-implib,libtermcap.dll.a \ -o libtermcap-0.dll \ termcap.o tparam.o version.o +popd +pushd build_win64 +%{mingw64_cc} -shared \ + -Wl,--out-implib,libtermcap.dll.a \ + -o libtermcap-0.dll \ + termcap.o tparam.o version.o +popd %install -make install \ +# We can't use the %%mingw_make_install macro here as +# the Makefile doesn't support the DESTDIR=... flag +make install -C build_win32 \ prefix=$RPM_BUILD_ROOT%{mingw32_prefix} \ exec_prefix=$RPM_BUILD_ROOT%{mingw32_prefix} \ oldincludedir= +make install -C build_win64 \ + prefix=$RPM_BUILD_ROOT%{mingw64_prefix} \ + exec_prefix=$RPM_BUILD_ROOT%{mingw64_prefix} \ + oldincludedir= # Move the shared library to the correct locations. mkdir -p $RPM_BUILD_ROOT%{mingw32_bindir} -install -m 0755 libtermcap-0.dll $RPM_BUILD_ROOT%{mingw32_bindir} -install -m 0755 libtermcap.dll.a $RPM_BUILD_ROOT%{mingw32_libdir} +install -m 0755 build_win32/libtermcap-0.dll $RPM_BUILD_ROOT%{mingw32_bindir} +install -m 0755 build_win32/libtermcap.dll.a $RPM_BUILD_ROOT%{mingw32_libdir} -# Don't want the static library, thank you. -rm $RPM_BUILD_ROOT%{mingw32_libdir}/libtermcap.a +mkdir -p $RPM_BUILD_ROOT%{mingw64_bindir} +install -m 0755 build_win64/libtermcap-0.dll $RPM_BUILD_ROOT%{mingw64_bindir} +install -m 0755 build_win64/libtermcap.dll.a $RPM_BUILD_ROOT%{mingw64_libdir} # Move the info files to the correct location. mkdir -p $RPM_BUILD_ROOT%{mingw32_infodir} mv $RPM_BUILD_ROOT%{mingw32_prefix}/info/* $RPM_BUILD_ROOT%{mingw32_infodir} +mkdir -p $RPM_BUILD_ROOT%{mingw64_infodir} +mv $RPM_BUILD_ROOT%{mingw64_prefix}/info/* $RPM_BUILD_ROOT%{mingw64_infodir} + + %files -n mingw32-termcap %doc COPYING @@ -98,8 +155,26 @@ mv $RPM_BUILD_ROOT%{mingw32_prefix}/info/* $RPM_BUILD_ROOT%{mingw32_infodir} # there is no equivalent native Fedora package. %{mingw32_infodir}/* +%files -n mingw32-termcap-static +%{mingw32_libdir}/libtermcap.a + +%files -n mingw64-termcap +%doc COPYING +%{mingw64_bindir}/libtermcap-0.dll +%{mingw64_libdir}/libtermcap.dll.a +%{mingw64_includedir}/termcap.h +%{mingw64_infodir}/* + +%files -n mingw64-termcap-static +%{mingw64_libdir}/libtermcap.a + %changelog +* Sat Mar 10 2012 Erik van Pienbroek - 1.3.1-13 +- Added win64 support +- Automatically generate debuginfo subpackage +- Added static subpackage + * Wed Mar 07 2012 Kalev Lember - 1.3.1-12 - Renamed the source package to mingw-termcap (#801034) - Modernize the spec file