%?mingw_package_header %global mingw_build_win32 1 %global mingw_build_win64 1 Name: mingw-readline Version: 5.2 Release: 13%{?dist} Summary: MinGW port of readline for editing typed command lines License: GPLv2+ Group: System Environment/Libraries URL: http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html Source0: ftp://ftp.gnu.org/gnu/readline/readline-%{version}.tar.gz Patch1: readline-5.2-shlib.patch Patch2: readline-5.2-001.patch Patch3: readline-5.2-002.patch Patch4: readline-5.2-003.patch Patch5: readline-5.2-004.patch Patch6: readline-5.2-005.patch Patch7: readline-5.2-006.patch Patch8: readline-5.2-007.patch Patch9: readline-5.2-008.patch Patch10: readline-5.2-009.patch Patch11: readline-5.2-010.patch Patch12: readline-5.2-011.patch Patch13: readline-5.2-redisplay-sigint.patch BuildArch: noarch BuildRequires: mingw32-filesystem >= 95 BuildRequires: mingw32-gcc BuildRequires: mingw32-binutils BuildRequires: mingw32-termcap BuildRequires: mingw64-filesystem >= 95 BuildRequires: mingw64-gcc BuildRequires: mingw64-binutils BuildRequires: mingw64-termcap %description The Readline library provides a set of functions that allow users to edit command lines. Both Emacs and vi editing modes are available. The Readline library includes additional functions for maintaining a list of previously-entered command lines for recalling or editing those lines, and for performing csh-like history expansion on previous commands. This is a port of the library and development tools to Windows. # Win32 %package -n mingw32-readline Summary: MinGW port of readline for editing typed command lines %description -n mingw32-readline The Readline library provides a set of functions that allow users to edit command lines. Both Emacs and vi editing modes are available. The Readline library includes additional functions for maintaining a list of previously-entered command lines for recalling or editing those lines, and for performing csh-like history expansion on previous commands. This is a port of the library and development tools to Windows. %package -n mingw32-readline-static Summary: Static version of the cross compiled readline library Requires: mingw32-readline = %{version}-%{release} %description -n mingw32-readline-static Static version of the cross compiled readline library. # Win64 %package -n mingw64-readline Summary: MinGW port of readline for editing typed command lines %description -n mingw64-readline The Readline library provides a set of functions that allow users to edit command lines. Both Emacs and vi editing modes are available. The Readline library includes additional functions for maintaining a list of previously-entered command lines for recalling or editing those lines, and for performing csh-like history expansion on previous commands. This is a port of the library and development tools to Windows. %package -n mingw64-readline-static Summary: Static version of the cross compiled readline library Requires: mingw64-readline = %{version}-%{release} %description -n mingw64-readline-static Static version of the cross compiled readline library. %?mingw_debug_package %prep %setup -q -n readline-%{version} %patch1 -p1 -b .shlib %patch2 -p0 -b .001 %patch3 -p0 -b .002 %patch4 -p0 -b .003 %patch5 -p0 -b .004 %patch6 -p0 -b .005 %patch7 -p0 -b .006 %patch8 -p0 -b .007 %patch9 -p0 -b .008 %patch10 -p0 -b .009 %patch11 -p0 -b .010 %patch12 -p0 -b .011 %patch13 -p1 -b .redisplay-sigint pushd examples rm -f rlfe/configure iconv -f iso8859-1 -t utf8 -o rl-fgets.c{_,} touch -r rl-fgets.c{,_} mv -f rl-fgets.c{_,} popd %build %mingw_configure "--enable-shared" %mingw_make SHLIB_LIBS=-ltermcap # Rebuild the DLLs correctly and create implibs. pushd build_win32/shlib %{mingw32_cc} -shared -o readline.dll -Wl,--out-implib,libreadline.dll.a readline.so vi_mode.so funmap.so keymaps.so parens.so search.so rltty.so complete.so bind.so isearch.so display.so signals.so util.so kill.so undo.so macro.so input.so callback.so terminal.so text.so nls.so misc.so xmalloc.so history.so histexpand.so histfile.so histsearch.so shell.so mbutil.so tilde.so compat.so -ltermcap %{mingw32_cc} -shared -o history.dll -Wl,--out-implib,libhistory.dll.a history.so histexpand.so histfile.so histsearch.so shell.so mbutil.so xmalloc.so popd pushd build_win64/shlib %{mingw64_cc} -shared -o readline.dll -Wl,--out-implib,libreadline.dll.a readline.so vi_mode.so funmap.so keymaps.so parens.so search.so rltty.so complete.so bind.so isearch.so display.so signals.so util.so kill.so undo.so macro.so input.so callback.so terminal.so text.so nls.so misc.so xmalloc.so history.so histexpand.so histfile.so histsearch.so shell.so mbutil.so tilde.so compat.so -ltermcap %{mingw64_cc} -shared -o history.dll -Wl,--out-implib,libhistory.dll.a history.so histexpand.so histfile.so histsearch.so shell.so mbutil.so xmalloc.so popd %install %mingw_make_install DESTDIR=$RPM_BUILD_ROOT # Remove the fake .so files and install our DLLs and implibs. pushd build_win32/shlib rm $RPM_BUILD_ROOT%{mingw32_libdir}/lib*.so.* mkdir -p $RPM_BUILD_ROOT%{mingw32_bindir} install readline.dll $RPM_BUILD_ROOT%{mingw32_bindir} install libreadline.dll.a $RPM_BUILD_ROOT%{mingw32_libdir} install history.dll $RPM_BUILD_ROOT%{mingw32_bindir} install libhistory.dll.a $RPM_BUILD_ROOT%{mingw32_libdir} popd pushd build_win64/shlib rm $RPM_BUILD_ROOT%{mingw64_libdir}/lib*.so.* mkdir -p $RPM_BUILD_ROOT%{mingw64_bindir} install readline.dll $RPM_BUILD_ROOT%{mingw64_bindir} install libreadline.dll.a $RPM_BUILD_ROOT%{mingw64_libdir} install history.dll $RPM_BUILD_ROOT%{mingw64_bindir} install libhistory.dll.a $RPM_BUILD_ROOT%{mingw64_libdir} popd # Don't want the info files or manpages which duplicate the native package. rm -rf $RPM_BUILD_ROOT%{mingw32_mandir} rm -rf $RPM_BUILD_ROOT%{mingw32_infodir} rm -rf $RPM_BUILD_ROOT%{mingw64_mandir} rm -rf $RPM_BUILD_ROOT%{mingw64_infodir} # Win32 %files -n mingw32-readline %{mingw32_bindir}/readline.dll %{mingw32_bindir}/history.dll %{mingw32_libdir}/libreadline.dll.a %{mingw32_libdir}/libhistory.dll.a %{mingw32_includedir}/readline/ %files -n mingw32-readline-static %{mingw32_libdir}/libhistory.a %{mingw32_libdir}/libreadline.a # Win64 %files -n mingw64-readline %{mingw64_bindir}/readline.dll %{mingw64_bindir}/history.dll %{mingw64_libdir}/libreadline.dll.a %{mingw64_libdir}/libhistory.dll.a %{mingw64_includedir}/readline/ %files -n mingw64-readline-static %{mingw64_libdir}/libhistory.a %{mingw64_libdir}/libreadline.a %changelog * Fri Jul 20 2012 Fedora Release Engineering - 5.2-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Sat Mar 10 2012 Erik van Pienbroek - 5.2-12 - Added win64 support - Automatically generate debuginfo subpackage - Added -static subpackage * Wed Mar 07 2012 Kalev Lember - 5.2-11 - Renamed the source package to mingw-readline (#801022) - Modernize the spec file - Use mingw macros without leading underscore * Mon Feb 27 2012 Erik van Pienbroek - 5.2-10 - Rebuild against the mingw-w64 toolchain * Fri Jan 13 2012 Fedora Release Engineering - 5.2-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Tue Feb 08 2011 Fedora Release Engineering - 5.2-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Sat Jul 25 2009 Fedora Release Engineering - 5.2-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Wed Feb 25 2009 Fedora Release Engineering - 5.2-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Fri Feb 20 2009 Richard W.M. Jones - 5.2-5 - Rebuild for mingw32-gcc 4.4 * Sat Nov 22 2008 Richard W.M. Jones - 5.2-4 - Rename *.dll.a to lib*.dll.a so that libtool can use these libraries. * Wed Nov 19 2008 Richard W.M. Jones - 5.2-3 - Fix paths to mandir, infodir. * Fri Oct 31 2008 Richard W.M. Jones - 5.2-2 - Rebuild against latest termcap. * Thu Sep 25 2008 Richard W.M. Jones - 5.2-1 - Initial RPM release.