%define debug_package %{nil} Name: mingw32-filesystem Version: 68 Release: 2%{?dist} Summary: MinGW base filesystem and environment Group: Development/Libraries License: GPLv2+ URL: http://hg.et.redhat.com/misc/fedora-mingw--devel/ BuildArch: noarch Source0: COPYING Source1: macros.mingw32 Source2: mingw32.sh #Source3: mingw32.csh Source4: mingw32-find-requires.sh Source5: mingw32-find-provides.sh Source6: mingw32-scripts.sh Source7: mingw32-rpmlint.config Source8: Toolchain-mingw32.cmake Source9: mingw32-find-debuginfo.sh Source10: mingw32.attr Requires: pkgconfig # Note about 'Provides: mingw32(foo.dll)' # ------------------------------------------------------------ # # We want to be able to build & install mingw32 libraries without # necessarily needing to install wine. (And certainly not needing to # install Windows!) There is no requirement to have wine installed in # order to use the mingw toolchain to develop software (ie. to # compile more stuff on top of it), so why require that? # # So for expediency, this base package provides the "missing" DLLs # from Windows. Another way to do it would be to exclude these # proprietary DLLs in our find-requires checking script - essentially # it comes out the same either way. # Provides: mingw32(gdi32.dll) Provides: mingw32(kernel32.dll) Provides: mingw32(ole32.dll) Provides: mingw32(mscoree.dll) Provides: mingw32(msvcrt.dll) Provides: mingw32(user32.dll) Provides: mingw32(wldap32.dll) Provides: mingw32(glut32.dll) Provides: mingw32(secur32.dll) Provides: mingw32(version.dll) Provides: mingw32(cfgmgr32.dll) Provides: mingw32(setupapi.dll) Provides: mingw32(rpcrt4.dll) Provides: mingw32(ws2_32.dll) Provides: mingw32(gdiplus.dll) Provides: mingw32(odbc32.dll) %description This package contains the base filesystem layout, RPM macros and environment for all Fedora MinGW packages. This environment is maintained by the Fedora MinGW SIG at: http://fedoraproject.org/wiki/SIGs/MinGW %prep %setup -q -c -T cp %{SOURCE0} COPYING %build # nothing %install mkdir -p $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_libexecdir} install -m 755 %{SOURCE6} $RPM_BUILD_ROOT%{_libexecdir}/mingw32-scripts mkdir -p $RPM_BUILD_ROOT%{_bindir} pushd $RPM_BUILD_ROOT%{_bindir} for i in mingw32-configure mingw32-make mingw32-pkg-config i686-pc-mingw32-pkg-config mingw32-cmake mingw32-qmake-qt4; do ln -s %{_libexecdir}/mingw32-scripts $i done popd mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/profile.d install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/ #install -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpm install -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.mingw32 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpmlint install -m 644 %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/rpmlint/ mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32 # GCC requires these directories, even though they contain links # to binaries which are also installed in /usr/bin etc. These # contain Fedora native binaries. mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/bin mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/lib # The MinGW system root which will contain Windows native binaries # and Windows-specific header files, pkgconfig, etc. mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/bin mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/include mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/include/sys mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/lib mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/lib/pkgconfig mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share/aclocal mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share/cmake # We don't normally package manual pages and info files, except # where those are not supplied by a Fedora native package. So we # need to create the directories. # # Note that some packages try to install stuff in # /usr/i686-pc-mingw32/sys-root/mingw/man and # /usr/i686-pc-mingw32/sys-root/mingw/doc # but those are both packaging bugs. mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share/doc mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share/info mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share/man mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share/man/man{1,2,3,4,5,6,7,8,l,n} mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share/themes # NB. NOT _libdir mkdir -p $RPM_BUILD_ROOT/usr/lib/rpm install -m 0755 %{SOURCE4} $RPM_BUILD_ROOT/usr/lib/rpm install -m 0755 %{SOURCE5} $RPM_BUILD_ROOT/usr/lib/rpm install -m 0755 %{SOURCE9} $RPM_BUILD_ROOT/usr/lib/rpm mkdir -p $RPM_BUILD_ROOT/usr/lib/rpm/fileattrs install -m 0644 %{SOURCE10} $RPM_BUILD_ROOT/usr/lib/rpm/fileattrs/ mkdir -p $RPM_BUILD_ROOT%{_datadir}/mingw32 install -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{_datadir}/mingw32 %files %doc COPYING %config(noreplace) %{_sysconfdir}/rpm/macros.mingw32 %config(noreplace) %{_sysconfdir}/profile.d/mingw32.sh #%config(noreplace) %{_sysconfdir}/profile.d/mingw32.csh %dir %{_sysconfdir}/rpmlint %config(noreplace) %{_sysconfdir}/rpmlint/mingw32-rpmlint.config %{_bindir}/mingw32-configure %{_bindir}/mingw32-make %{_bindir}/mingw32-pkg-config %{_bindir}/i686-pc-mingw32-pkg-config %{_bindir}/mingw32-cmake %{_bindir}/mingw32-qmake-qt4 %{_libexecdir}/mingw32-scripts %{_prefix}/i686-pc-mingw32/ %{_datadir}/mingw32 /usr/lib/rpm/mingw32-* /usr/lib/rpm/fileattrs/mingw32.attr %changelog * Sat May 21 2011 Kalev Lember - 68-2 - Own the _mingw32_datadir/cmake/ directory * Fri May 20 2011 Kalev Lember - 68-1 - Support RPM 4.9 new "fileattr" dep extraction system - Cleaned up the spec file from cruft not needed with latest rpm - Generate versionless mingw32-filesystem Requires * Sat May 14 2011 Erik van Pienbroek - 67-1 - Don't unset PKG_CONFIG_PATH in the wrapper scripts mingw32-pkg-config and i686-pc-mingw32-pkg-config (BZ #688171) * Sun May 01 2011 Kalev Lember - 66-1 - Override boost library suffix in cmake toolchain file * Thu Mar 17 2011 Kalev Lember - 65-1 - Don't error out trying to set illegal LD.BFD variable name * Tue Feb 08 2011 Fedora Release Engineering - 64-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Wed Jan 12 2011 Erik van Pienbroek - 64-2 - Own the directory %%{_mingw32_datadir}/themes * Sun Nov 14 2010 Ivan Romanov - 64-1 - Removed -win32 option for mingw32-qmake-qt4 (is obsoletes since qt version 4.7.0) - Using win32-g++-fedora-cross instead fedora-win32-cross spec file * Thu Nov 11 2010 Erik van Pienbroek - 63-1 - Set the CMAKE_RC_COMPILER variable in the CMake toolchain file (RHBZ #652435) * Tue Oct 19 2010 Ivan Romanov - 62-2 - Added mingw32-qmake-qt4 * Mon Oct 11 2010 Erik van Pienbroek - 62-1 - Provide mingw32(odbc32.dll) for Qt * Sun Sep 12 2010 Erik van Pienbroek - 61-1 - Provide mingw32(gdiplus.dll) for gdk-pixbuf * Thu Sep 9 2010 Richard W.M. Jones - 60-1 - Provide virtual mingw32(ws2_32.dll) for libvirt. * Mon Sep 06 2010 Kalev Lember - 59-1 - Own /etc/rpmlint/ dir instead of depending on rpmlint package (RHBZ#629791) * Fri Sep 3 2010 Richard W.M. Jones - 58-1 - Remove requires setup and rpm (RHBZ#629791). * Tue Jun 8 2010 Richard W.M. Jones - 57-1 - Add provides mingw32(rpcrt4.dll) (RHBZ#594581). * Mon May 24 2010 Kalev Lember - 56-2 - Work around cmake's Qt detection in the toolchain file * Fri Sep 18 2009 Erik van Pienbroek - 55-1 - The wrapper scripts i686-pc-mingw32-pkg-config, mingw32-pkg-config, mingw32-configure, mingw32-make and mingw32-cmake had a bug where quoted arguments could get interpreted incorrect. Thanks to Michael Ploujnikov for helping out with this issue * Sat Aug 29 2009 Erik van Pienbroek - 54-1 - Added the file /usr/bin/i686-pc-mingw32-pkg-config which is a wrapper script which calls pkg-config with the right environment variables set (BZ #513825) * Sun Aug 23 2009 Erik van Pienbroek - 53-1 - Fixed a small rpmlint warning caused by the debuginfo generation macro Thanks to Kalev Lember for spotting this * Sat Jul 25 2009 Fedora Release Engineering - 52-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Wed Jun 24 2009 Erik van Pienbroek - 52-2 - Updated ChangeLog comment from previous version as the RPM variable __debug_install_post needs to be overridden instead of __os_install_post for -debuginfo subpackage generation * Mon Jun 22 2009 Erik van Pienbroek - 52-1 - Add script to create -debuginfo subpackages This script was created by Fridrich Strba - All mingw32 packages now need to add these lines to their .spec files: %%define __debug_install_post %%{_mingw32_debug_install_post} %%{_mingw32_debug_package} * Thu Jun 4 2009 Adam Goode - 51-1 - Add CMake rules * Tue Apr 21 2009 Richard W.M. Jones - 50-4 - Fix dependency problem with + in DLL name (Thomas Sailer). * Fri Mar 27 2009 Richard W.M. Jones - 50-3 - Fix up and test mingw32-pkg-config changes. * Thu Mar 26 2009 Levente Farkas - 50-1 - Add mingw32-pkg-config. * Wed Feb 25 2009 Fedora Release Engineering - 49-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Fri Feb 20 2009 Richard W.M. Jones - 49-2 - Rebuild for mingw32-gcc 4.4 * Thu Feb 19 2009 Richard W.M. Jones - 49-1 - Added virtual provides for mingw32(cfgmgr32.dll) and mingw32(setupapi.dll). * Wed Feb 18 2009 Richard W.M. Jones - 48-1 - Fix _mingw32_configure. * Tue Feb 17 2009 Richard W.M. Jones - 47-1 - Rename mingw32-COPYING to COPYING. - Rename mingw32-macros.mingw32 to macros.mingw32. - _mingw32_configure looks for configure in "." and ".." dirs. - Added _mingw32_description. - Added mingw32(version.dll) virtual provides (rhbz#485842). * Sun Feb 1 2009 Richard W.M. Jones - 46-1 - Unset PKG_CONFIG_PATH because /usr/lib/rpm/macros sets it (Erik van Pienbroek). * Wed Jan 28 2009 Richard W.M. Jones - 45-1 - Use PKG_CONFIG_LIBDIR instead of PKG_CONFIG_PATH so that native pkgconfig is never searched. * Mon Jan 26 2009 Richard W.M. Jones - 44-1 - Install rpmlint overrides file to suppress some rpmlint warnings. * Sat Jan 24 2009 Richard W.M. Jones - 43-6 - Don't claim C++ compiler exists if it's not installed, as this breaks autoconf and (in particular) libtool. * Wed Jan 14 2009 Richard W.M. Jones - 42-1 - Add pseudo-provides secur32.dll * Wed Dec 17 2008 Levente Farkas - 41-1 - Re-add mingw32-make * Sat Dec 6 2008 Levente Farkas - 40-2 - Rewrite mingw32-scripts to run in the current shell - (Re-add mingw32-make) - Removed by RWMJ. - Add mingw32-env to mingw32.sh * Mon Nov 24 2008 Richard W.M. Jones - 39-3 - Unify mingw32-filesystem packages from all three branches again, and test. - Fix mingw32-scripts so it can handle extra parameters correctly. - Remove mingw32-env & mingw32-make since neither of them actually work. * Sun Nov 23 2008 Richard Jones - 38-1 - Added mingw32(glut32.dll). * Wed Nov 19 2008 Richard Jones - 37-1 - Revert part of the 36-1 patch. --build option to configure was wrong. * Wed Nov 19 2008 Richard Jones - 36-1 - Greatly improved macros (Levente Farkas). - Added -mms-bitfields. * Thu Nov 13 2008 Richard Jones - 35-1 - Added mingw32(wldap32.dll) pseudo-provides. * Wed Oct 29 2008 Richard Jones - 34-1 - Set --prefix correctly. * Wed Oct 29 2008 Richard Jones - 33-1 - Remove mingw32.{sh,csh} which are unused. * Mon Oct 27 2008 Richard Jones - 32-1 - Add mingw32-configure script. * Mon Oct 27 2008 Richard Jones - 31-1 - Update the spec file with explanation of the 'Provides: mingw32(...)' lines for Windows system DLLs. * Mon Oct 6 2008 Richard Jones - 30-1 - Added _mingw32_cxx. * Thu Sep 25 2008 Richard Jones - 29-1 - Added _mingw32_as, _mingw32_dlltool, _mingw32_windres. * Wed Sep 24 2008 Richard W.M. Jones - 27-1 - Begin the grand renaming of mingw -> mingw32. - Added mingw32(mscoree.dll). * Sun Sep 21 2008 Richard W.M. Jones - 25-1 - Add shared aclocal directory. * Sun Sep 21 2008 Richard W.M. Jones - 24-1 - Remove mingw-defs, since no longer used. - Add _mingw_infodir. * Thu Sep 11 2008 Daniel P. Berrange - 23-1 - Add macros for find-provides/requires scripts * Wed Sep 10 2008 Richard W.M. Jones - 22-1 - Windows provides OLE32.DLL. * Wed Sep 10 2008 Richard W.M. Jones - 21-1 - Allow '.' in dll names for find-requires - Windows provides GDI32.DLL. * Fri Sep 5 2008 Richard W.M. Jones - 20-1 - On 64 bit install in /usr/lib/rpm always. * Thu Sep 4 2008 Richard W.M. Jones - 19-1 - 'user32.dll' is provided by Windows. - Allow '-' in DLL names. - More accurate detection of DLLs in requires/provides scripts. * Mon Sep 4 2008 Richard W.M. Jones - 17-1 - Automatically add mingw-filesystem and mingw-runtime requires. - Add --prefix to _mingw_configure macro. - Three backslashes required on each continuation line in RPM macros. * Mon Sep 4 2008 Richard W.M. Jones - 14-1 - Fix path to mingw-find-requires/provides scripts. * Mon Sep 4 2008 Richard W.M. Jones - 12-1 - Put CFLAGS on a single line to avoid problems in some configure scripts. * Mon Sep 4 2008 Richard W.M. Jones - 10-1 - Provides certain base Windows DLLs (not literally). * Mon Sep 4 2008 Richard W.M. Jones - 9-1 - Include RPM dependency generators and definitions. * Mon Sep 4 2008 Richard W.M. Jones - 4-1 - Add _mingw_cc/cflags/etc. and _mingw_configure macros. * Mon Sep 4 2008 Richard W.M. Jones - 3-1 - Add _mingw_host macro. * Mon Sep 4 2008 Richard W.M. Jones - 2-1 - Add _mingw_sysroot macro. - Add _mingw_target macro. * Mon Sep 4 2008 Richard W.M. Jones - 1-1 - Basic filesystem layout.