66c68a3
%define debug_package %{nil}
66c68a3
66c68a3
Name:           mingw32-filesystem
1ea30e6
Version:        40
1ea30e6
Release:        2%{?dist}
66c68a3
Summary:        MinGW base filesystem and environment
66c68a3
66c68a3
Group:          Development/Libraries
66c68a3
License:        GPLv2+
66c68a3
URL:            http://hg.et.redhat.com/misc/fedora-mingw--devel/
66c68a3
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
66c68a3
BuildArch:      noarch
66c68a3
66c68a3
Source0:        mingw32-COPYING
66c68a3
Source1:        mingw32-macros.mingw32
1ea30e6
Source2:        mingw32.sh
66c68a3
#Source3:        mingw32.csh
66c68a3
Source4:        mingw32-find-requires.sh
66c68a3
Source5:        mingw32-find-provides.sh
b8c5804
Source6:        mingw32-scripts.sh
66c68a3
66c68a3
Requires:       setup
66c68a3
Requires:       rpm
66c68a3
66c68a3
# Note about 'Provides: mingw32(foo.dll)'
66c68a3
# ------------------------------------------------------------
66c68a3
#
66c68a3
# We want to be able to build & install mingw32 libraries without
66c68a3
# necessarily needing to install wine.  (And certainly not needing to
66c68a3
# install Windows!)  There is no requirement to have wine installed in
66c68a3
# order to use the mingw toolchain to develop software (ie. to
66c68a3
# compile more stuff on top of it), so why require that?
66c68a3
#
66c68a3
# So for expediency, this base package provides the "missing" DLLs
66c68a3
# from Windows.  Another way to do it would be to exclude these
66c68a3
# proprietary DLLs in our find-requires checking script - essentially
66c68a3
# it comes out the same either way.
66c68a3
#
66c68a3
Provides:       mingw32(gdi32.dll)
66c68a3
Provides:       mingw32(kernel32.dll)
66c68a3
Provides:       mingw32(ole32.dll)
66c68a3
Provides:       mingw32(mscoree.dll)
66c68a3
Provides:       mingw32(msvcrt.dll)
66c68a3
Provides:       mingw32(user32.dll)
61787a4
Provides:       mingw32(wldap32.dll)
4b7d674
Provides:       mingw32(glut32.dll)
66c68a3
66c68a3
66c68a3
%description
66c68a3
This package contains the base filesystem layout, RPM macros and
66c68a3
environment for all Fedora MinGW packages.
66c68a3
66c68a3
This environment is maintained by the Fedora MinGW SIG at:
66c68a3
66c68a3
  http://fedoraproject.org/wiki/SIGs/MinGW
66c68a3
66c68a3
66c68a3
%prep
66c68a3
%setup -q -c -T
66c68a3
cp %{SOURCE0} COPYING
66c68a3
sed 's/@VERSION@/%{version}/' < %{SOURCE4} > mingw32-find-requires.sh
66c68a3
66c68a3
66c68a3
%build
66c68a3
# nothing
66c68a3
66c68a3
66c68a3
%install
66c68a3
rm -rf $RPM_BUILD_ROOT
66c68a3
66c68a3
mkdir -p $RPM_BUILD_ROOT
66c68a3
b8c5804
mkdir -p $RPM_BUILD_ROOT%{_libexecdir}
b8c5804
install -m 755 %{SOURCE6} $RPM_BUILD_ROOT%{_libexecdir}/mingw32-scripts
b8c5804
66c68a3
mkdir -p $RPM_BUILD_ROOT%{_bindir}
b8c5804
pushd $RPM_BUILD_ROOT%{_bindir}
1ea30e6
for i in mingw32-configure ; do
b8c5804
  ln -s %{_libexecdir}/mingw32-scripts $i
b8c5804
done
b8c5804
popd
66c68a3
1ea30e6
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/profile.d
1ea30e6
install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/
1ea30e6
#install -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/
66c68a3
66c68a3
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpm
66c68a3
install -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.mingw32
66c68a3
66c68a3
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32
66c68a3
66c68a3
# GCC requires these directories, even though they contain links
66c68a3
# to binaries which are also installed in /usr/bin etc.  These
66c68a3
# contain Fedora native binaries.
66c68a3
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/bin
66c68a3
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/lib
66c68a3
66c68a3
# The MinGW system root which will contain Windows native binaries
66c68a3
# and Windows-specific header files, pkgconfig, etc.
66c68a3
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw
66c68a3
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/bin
66c68a3
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/include
66c68a3
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/include/sys
66c68a3
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/lib
66c68a3
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/lib/pkgconfig
66c68a3
66c68a3
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share/aclocal
66c68a3
66c68a3
# We don't normally package manual pages and info files, except
66c68a3
# where those are not supplied by a Fedora native package.  So we
66c68a3
# need to create the directories.
66c68a3
#
66c68a3
# Note that some packages try to install stuff in
66c68a3
#   /usr/i686-pc-mingw32/sys-root/mingw/man and
66c68a3
#   /usr/i686-pc-mingw32/sys-root/mingw/doc
66c68a3
# but those are both packaging bugs.
66c68a3
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share
66c68a3
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share/doc
66c68a3
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share/info
66c68a3
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share/man
66c68a3
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}
66c68a3
66c68a3
# NB. NOT _libdir
66c68a3
mkdir -p $RPM_BUILD_ROOT/usr/lib/rpm
66c68a3
install -m 0755 mingw32-find-requires.sh $RPM_BUILD_ROOT/usr/lib/rpm
66c68a3
install -m 0755 %{SOURCE5} $RPM_BUILD_ROOT/usr/lib/rpm
66c68a3
66c68a3
66c68a3
%clean
66c68a3
rm -rf $RPM_BUILD_ROOT
66c68a3
66c68a3
66c68a3
%files
66c68a3
%defattr(-,root,root,-)
66c68a3
%doc COPYING
66c68a3
%config(noreplace) %{_sysconfdir}/rpm/macros.mingw32
1ea30e6
%config(noreplace) %{_sysconfdir}/profile.d/mingw32.sh
66c68a3
#%config(noreplace) %{_sysconfdir}/profile.d/mingw32.csh
66c68a3
%{_bindir}/mingw32-configure
b8c5804
%{_libexecdir}/mingw32-scripts
66c68a3
%{_prefix}/i686-pc-mingw32/
66c68a3
/usr/lib/rpm/mingw32-*
66c68a3
66c68a3
66c68a3
%changelog
1ea30e6
* Sat Dec  6 2008 Levente Farkas <lfarkas@lfarkas.org> - 40-2
1ea30e6
- Rewrite mingw32-scripts to run in the current shell
1ea30e6
- (Re-add mingw32-make) - Removed by RWMJ.
1ea30e6
- Add mingw32-env to mingw32.sh
1ea30e6
b8c5804
* Mon Nov 24 2008 Richard W.M. Jones <rjones@redhat.com> - 39-3
b8c5804
- Unify mingw32-filesystem packages from all three branches again, and test.
b8c5804
- Fix mingw32-scripts so it can handle extra parameters correctly.
b8c5804
- Remove mingw32-env & mingw32-make since neither of them actually work.
b8c5804
4b7d674
* Sun Nov 23 2008 Richard Jones <rjones@redhat.com> - 38-1
4b7d674
- Added mingw32(glut32.dll).
4b7d674
03e2b36
* Wed Nov 19 2008 Richard Jones <rjones@redhat.com> - 37-1
03e2b36
- Revert part of the 36-1 patch.  --build option to configure was wrong.
03e2b36
c52d9aa
* Wed Nov 19 2008 Richard Jones <rjones@redhat.com> - 36-1
c52d9aa
- Greatly improved macros (Levente Farkas).
c52d9aa
- Added -mms-bitfields.
c52d9aa
61787a4
* Thu Nov 13 2008 Richard Jones <rjones@redhat.com> - 35-1
61787a4
- Added mingw32(wldap32.dll) pseudo-provides.
61787a4
66c68a3
* Wed Oct 29 2008 Richard Jones <rjones@redhat.com> - 34-1
66c68a3
- Set --prefix correctly.
66c68a3
66c68a3
* Wed Oct 29 2008 Richard Jones <rjones@redhat.com> - 33-1
66c68a3
- Remove mingw32.{sh,csh} which are unused.
66c68a3
66c68a3
* Mon Oct 27 2008 Richard Jones <rjones@redhat.com> - 32-1
66c68a3
- Add mingw32-configure script.
66c68a3
66c68a3
* Mon Oct 27 2008 Richard Jones <rjones@redhat.com> - 31-1
66c68a3
- Update the spec file with explanation of the 'Provides: mingw32(...)'
66c68a3
  lines for Windows system DLLs.
66c68a3
66c68a3
* Mon Oct  6 2008 Richard Jones <rjones@redhat.com> - 30-1
66c68a3
- Added _mingw32_cxx.
66c68a3
66c68a3
* Thu Sep 25 2008 Richard Jones <rjones@redhat.com> - 29-1
66c68a3
- Added _mingw32_as, _mingw32_dlltool, _mingw32_windres.
66c68a3
66c68a3
* Wed Sep 24 2008 Richard W.M. Jones <rjones@redhat.com> - 27-1
66c68a3
- Begin the grand renaming of mingw -> mingw32.
66c68a3
- Added mingw32(mscoree.dll).
66c68a3
66c68a3
* Sun Sep 21 2008 Richard W.M. Jones <rjones@redhat.com> - 25-1
66c68a3
- Add shared aclocal directory.
66c68a3
66c68a3
* Sun Sep 21 2008 Richard W.M. Jones <rjones@redhat.com> - 24-1
66c68a3
- Remove mingw-defs, since no longer used.
66c68a3
- Add _mingw_infodir.
66c68a3
66c68a3
* Thu Sep 11 2008 Daniel P. Berrange <berrange@redhat.com> - 23-1
66c68a3
- Add macros for find-provides/requires scripts
66c68a3
66c68a3
* Wed Sep 10 2008 Richard W.M. Jones <rjones@redhat.com> - 22-1
66c68a3
- Windows provides OLE32.DLL.
66c68a3
66c68a3
* Wed Sep 10 2008 Richard W.M. Jones <rjones@redhat.com> - 21-1
66c68a3
- Allow '.' in dll names for find-requires
66c68a3
- Windows provides GDI32.DLL.
66c68a3
66c68a3
* Fri Sep  5 2008 Richard W.M. Jones <rjones@redhat.com> - 20-1
66c68a3
- On 64 bit install in /usr/lib/rpm always.
66c68a3
66c68a3
* Thu Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 19-1
66c68a3
- 'user32.dll' is provided by Windows.
66c68a3
- Allow '-' in DLL names.
66c68a3
- More accurate detection of DLLs in requires/provides scripts.
66c68a3
66c68a3
* Mon Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 17-1
66c68a3
- Automatically add mingw-filesystem and mingw-runtime requires.
66c68a3
- Add --prefix to _mingw_configure macro.
66c68a3
- Three backslashes required on each continuation line in RPM macros.
66c68a3
66c68a3
* Mon Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 14-1
66c68a3
- Fix path to mingw-find-requires/provides scripts.
66c68a3
66c68a3
* Mon Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 12-1
66c68a3
- Put CFLAGS on a single line to avoid problems in some configure scripts.
66c68a3
66c68a3
* Mon Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 10-1
66c68a3
- Provides certain base Windows DLLs (not literally).
66c68a3
66c68a3
* Mon Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 9-1
66c68a3
- Include RPM dependency generators and definitions.
66c68a3
66c68a3
* Mon Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 4-1
66c68a3
- Add _mingw_cc/cflags/etc. and _mingw_configure macros.
66c68a3
66c68a3
* Mon Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 3-1
66c68a3
- Add _mingw_host macro.
66c68a3
66c68a3
* Mon Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 2-1
66c68a3
- Add _mingw_sysroot macro.
66c68a3
- Add _mingw_target macro.
66c68a3
66c68a3
* Mon Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 1-1
66c68a3
- Basic filesystem layout.