1 %define debug_package %{nil}
3 Name: mingw32-filesystem
6 Summary: MinGW base filesystem and environment
8 Group: Development/Libraries
10 URL: http://hg.et.redhat.com/misc/fedora-mingw--devel/
11 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
14 Source0: mingw32-COPYING
15 Source1: mingw32-macros.mingw32
18 Source4: mingw32-find-requires.sh
19 Source5: mingw32-find-provides.sh
20 Source6: mingw32-configure.sh
25 # Note about 'Provides: mingw32(foo.dll)'
26 # ------------------------------------------------------------
28 # We want to be able to build & install mingw32 libraries without
29 # necessarily needing to install wine. (And certainly not needing to
30 # install Windows!) There is no requirement to have wine installed in
31 # order to use the mingw toolchain to develop software (ie. to
32 # compile more stuff on top of it), so why require that?
34 # So for expediency, this base package provides the "missing" DLLs
35 # from Windows. Another way to do it would be to exclude these
36 # proprietary DLLs in our find-requires checking script - essentially
37 # it comes out the same either way.
39 Provides: mingw32(gdi32.dll)
40 Provides: mingw32(kernel32.dll)
41 Provides: mingw32(ole32.dll)
42 Provides: mingw32(mscoree.dll)
43 Provides: mingw32(msvcrt.dll)
44 Provides: mingw32(user32.dll)
46 Obsoletes: mingw-filesystem = %{version}-%{release}
47 Provides: mingw-filesystem < 26
51 This package contains the base filesystem layout, RPM macros and
52 environment for all Fedora MinGW packages.
54 This environment is maintained by the Fedora MinGW SIG at:
56 http://fedoraproject.org/wiki/SIGs/MinGW
62 sed 's/@VERSION@/%{version}/' < %{SOURCE4} > mingw32-find-requires.sh
70 rm -rf $RPM_BUILD_ROOT
72 mkdir -p $RPM_BUILD_ROOT
74 mkdir -p $RPM_BUILD_ROOT%{_bindir}
75 install -m 755 %{SOURCE6} $RPM_BUILD_ROOT%{_bindir}/mingw32-configure
77 #mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/profile.d
78 #install -m 644 %{SOURCE2} %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/
80 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpm
81 install -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.mingw32
83 mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32
85 # GCC requires these directories, even though they contain links
86 # to binaries which are also installed in /usr/bin etc. These
87 # contain Fedora native binaries.
88 mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/bin
89 mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/lib
91 # The MinGW system root which will contain Windows native binaries
92 # and Windows-specific header files, pkgconfig, etc.
93 mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw
94 mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/bin
95 mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/include
96 mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/include/sys
97 mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/lib
98 mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/lib/pkgconfig
100 mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share/aclocal
102 # We don't normally package manual pages and info files, except
103 # where those are not supplied by a Fedora native package. So we
104 # need to create the directories.
106 # Note that some packages try to install stuff in
107 # /usr/i686-pc-mingw32/sys-root/mingw/man and
108 # /usr/i686-pc-mingw32/sys-root/mingw/doc
109 # but those are both packaging bugs.
110 mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share
111 mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share/doc
112 mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share/info
113 mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share/man
114 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}
117 mkdir -p $RPM_BUILD_ROOT/usr/lib/rpm
118 install -m 0755 mingw32-find-requires.sh $RPM_BUILD_ROOT/usr/lib/rpm
119 install -m 0755 %{SOURCE5} $RPM_BUILD_ROOT/usr/lib/rpm
123 rm -rf $RPM_BUILD_ROOT
127 %defattr(-,root,root,-)
129 %config(noreplace) %{_sysconfdir}/rpm/macros.mingw32
130 #%config(noreplace) %{_sysconfdir}/profile.d/mingw32.sh
131 #%config(noreplace) %{_sysconfdir}/profile.d/mingw32.csh
132 %{_bindir}/mingw32-configure
133 %{_prefix}/i686-pc-mingw32/
134 /usr/lib/rpm/mingw32-*
138 * Wed Oct 29 2008 Richard Jones <rjones@redhat.com> - 33-1
139 - Remove mingw32.{sh,csh} which are unused.
141 * Mon Oct 27 2008 Richard Jones <rjones@redhat.com> - 32-1
142 - Add mingw32-configure script.
144 * Mon Oct 27 2008 Richard Jones <rjones@redhat.com> - 31-1
145 - Update the spec file with explanation of the 'Provides: mingw32(...)'
146 lines for Windows system DLLs.
148 * Mon Oct 6 2008 Richard Jones <rjones@redhat.com> - 30-1
149 - Added _mingw32_cxx.
151 * Thu Sep 25 2008 Richard Jones <rjones@redhat.com> - 29-1
152 - Added _mingw32_as, _mingw32_dlltool, _mingw32_windres.
154 * Wed Sep 24 2008 Richard W.M. Jones <rjones@redhat.com> - 27-1
155 - Begin the grand renaming of mingw -> mingw32.
156 - Added mingw32(mscoree.dll).
158 * Sun Sep 21 2008 Richard W.M. Jones <rjones@redhat.com> - 25-1
159 - Add shared aclocal directory.
161 * Sun Sep 21 2008 Richard W.M. Jones <rjones@redhat.com> - 24-1
162 - Remove mingw-defs, since no longer used.
163 - Add _mingw_infodir.
165 * Thu Sep 11 2008 Daniel P. Berrange <berrange@redhat.com> - 23-1
166 - Add macros for find-provides/requires scripts
168 * Wed Sep 10 2008 Richard W.M. Jones <rjones@redhat.com> - 22-1
169 - Windows provides OLE32.DLL.
171 * Wed Sep 10 2008 Richard W.M. Jones <rjones@redhat.com> - 21-1
172 - Allow '.' in dll names for find-requires
173 - Windows provides GDI32.DLL.
175 * Fri Sep 5 2008 Richard W.M. Jones <rjones@redhat.com> - 20-1
176 - On 64 bit install in /usr/lib/rpm always.
178 * Thu Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 19-1
179 - 'user32.dll' is provided by Windows.
180 - Allow '-' in DLL names.
181 - More accurate detection of DLLs in requires/provides scripts.
183 * Mon Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 17-1
184 - Automatically add mingw-filesystem and mingw-runtime requires.
185 - Add --prefix to _mingw_configure macro.
186 - Three backslashes required on each continuation line in RPM macros.
188 * Mon Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 14-1
189 - Fix path to mingw-find-requires/provides scripts.
191 * Mon Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 12-1
192 - Put CFLAGS on a single line to avoid problems in some configure scripts.
194 * Mon Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 10-1
195 - Provides certain base Windows DLLs (not literally).
197 * Mon Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 9-1
198 - Include RPM dependency generators and definitions.
200 * Mon Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 4-1
201 - Add _mingw_cc/cflags/etc. and _mingw_configure macros.
203 * Mon Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 3-1
204 - Add _mingw_host macro.
206 * Mon Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 2-1
207 - Add _mingw_sysroot macro.
208 - Add _mingw_target macro.
210 * Mon Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 1-1
211 - Basic filesystem layout.