1 %define debug_package %{nil}
3 Name: mingw64-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)
15 Source1: macros.mingw64
18 Source4: mingw64-find-requires.sh
19 Source5: mingw64-find-provides.sh
20 Source6: mingw64-scripts.sh
21 Source7: mingw64-rpmlint.config
25 Requires: rpmlint >= 0.85-2
27 BuildRequires: rpmlint >= 0.85-2
29 # Note about 'Provides: mingw64(foo.dll)'
30 # ------------------------------------------------------------
32 # We want to be able to build & install mingw64 libraries without
33 # necessarily needing to install wine. (And certainly not needing to
34 # install Windows!) There is no requirement to have wine installed in
35 # order to use the mingw toolchain to develop software (ie. to
36 # compile more stuff on top of it), so why require that?
38 # So for expediency, this base package provides the "missing" DLLs
39 # from Windows. Another way to do it would be to exclude these
40 # proprietary DLLs in our find-requires checking script - essentially
41 # it comes out the same either way.
43 #Provides: mingw64(gdi32.dll)
47 This package contains the base filesystem layout, RPM macros and
48 environment for all Fedora MinGW packages.
50 This environment is maintained by the Fedora MinGW SIG at:
52 http://fedoraproject.org/wiki/SIGs/MinGW
58 sed 's/@VERSION@/%{version}/' < %{SOURCE4} > mingw64-find-requires.sh
66 rm -rf $RPM_BUILD_ROOT
68 mkdir -p $RPM_BUILD_ROOT
70 mkdir -p $RPM_BUILD_ROOT%{_libexecdir}
71 install -m 755 %{SOURCE6} $RPM_BUILD_ROOT%{_libexecdir}/mingw64-scripts
73 mkdir -p $RPM_BUILD_ROOT%{_bindir}
74 pushd $RPM_BUILD_ROOT%{_bindir}
75 for i in mingw64-configure mingw64-make; do
76 ln -s %{_libexecdir}/mingw64-scripts $i
80 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/profile.d
81 install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/
82 #install -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/
84 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpm
85 install -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.mingw64
87 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpmlint
88 install -m 644 %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/rpmlint/
90 mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32
92 # GCC requires these directories, even though they contain links
93 # to binaries which are also installed in /usr/bin etc. These
94 # contain Fedora native binaries.
95 mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/bin
96 mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/lib
98 # The system root which will contain Windows native binaries
99 # and Windows-specific header files, pkgconfig, etc.
100 # NOTE different from mingw32.
101 mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/x86_64-pc-mingw32
102 mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/x86_64-pc-mingw32/bin
103 mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/x86_64-pc-mingw32/include
104 mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/x86_64-pc-mingw32/include/sys
105 mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/x86_64-pc-mingw32/lib
106 mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/x86_64-pc-mingw32/lib/pkgconfig
108 # We don't normally package manual pages and info files, except
109 # where those are not supplied by a Fedora native package. So we
110 # need to create the directories.
112 # Note that some packages try to install stuff in
113 # /usr/x86_64-pc-mingw32/sys-root/man and
114 # /usr/x86_64-pc-mingw32/sys-root/doc
115 # but those are both packaging bugs.
116 mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/share
117 mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/share/doc
118 mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/share/info
119 mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/share/man
120 mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/share/man/man{1,2,3,4,5,6,7,8,l,n}
121 mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/share/aclocal
124 # This is needed because of some problems with upstream gcc and
125 # bad mingw32 patches.
126 pushd $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root
127 ln -s x86_64-pc-mingw32 mingw
131 mkdir -p $RPM_BUILD_ROOT/usr/lib/rpm
132 install -m 0755 mingw64-find-requires.sh $RPM_BUILD_ROOT/usr/lib/rpm
133 install -m 0755 %{SOURCE5} $RPM_BUILD_ROOT/usr/lib/rpm
137 rm -rf $RPM_BUILD_ROOT
141 %defattr(-,root,root,-)
143 %config(noreplace) %{_sysconfdir}/rpm/macros.mingw64
144 %config(noreplace) %{_sysconfdir}/profile.d/mingw64.sh
145 #%config(noreplace) %{_sysconfdir}/profile.d/mingw64.csh
146 %config(noreplace) %{_sysconfdir}/rpmlint/mingw64-rpmlint.config
147 %{_bindir}/mingw64-configure
148 %{_bindir}/mingw64-make
149 %{_libexecdir}/mingw64-scripts
150 %{_prefix}/x86_64-pc-mingw32/
151 /usr/lib/rpm/mingw64-*
155 * Wed Feb 11 2009 Richard W.M. Jones <rjones@redhat.com> - 6-1
156 - Start mingw64 development.
158 * Sun Feb 1 2009 Richard W.M. Jones <rjones@redhat.com> - 46-1
159 - Unset PKG_CONFIG_PATH because /usr/lib/rpm/macros sets it (Erik van
162 * Wed Jan 28 2009 Richard W.M. Jones <rjones@redhat.com> - 45-1
163 - Use PKG_CONFIG_LIBDIR instead of PKG_CONFIG_PATH so that native pkgconfig
166 * Mon Jan 26 2009 Richard W.M. Jones <rjones@redhat.com> - 44-1
167 - Install rpmlint overrides file to suppress some rpmlint warnings.
169 * Sat Jan 24 2009 Richard W.M. Jones <rjones@redhat.com> - 43-6
170 - Don't claim C++ compiler exists if it's not installed, as this
171 breaks autoconf and (in particular) libtool.
173 * Wed Jan 14 2009 Richard W.M. Jones <rjones@redhat.com> - 42-1
174 - Add pseudo-provides secur32.dll
176 * Wed Dec 17 2008 Levente Farkas <lfarkas@lfarkas.org> - 41-1
177 - Re-add mingw32-make
179 * Sat Dec 6 2008 Levente Farkas <lfarkas@lfarkas.org> - 40-2
180 - Rewrite mingw32-scripts to run in the current shell
181 - (Re-add mingw32-make) - Removed by RWMJ.
182 - Add mingw32-env to mingw32.sh
184 * Mon Nov 24 2008 Richard W.M. Jones <rjones@redhat.com> - 39-3
185 - Unify mingw32-filesystem packages from all three branches again, and test.
186 - Fix mingw32-scripts so it can handle extra parameters correctly.
187 - Remove mingw32-env & mingw32-make since neither of them actually work.
189 * Sun Nov 23 2008 Richard Jones <rjones@redhat.com> - 38-1
190 - Added mingw32(glut32.dll).
192 * Wed Nov 19 2008 Richard Jones <rjones@redhat.com> - 37-1
193 - Revert part of the 36-1 patch. --build option to configure was wrong.
195 * Wed Nov 19 2008 Richard Jones <rjones@redhat.com> - 36-1
196 - Greatly improved macros (Levente Farkas).
197 - Added -mms-bitfields.
199 * Thu Nov 13 2008 Richard Jones <rjones@redhat.com> - 35-1
200 - Added mingw32(wldap32.dll) pseudo-provides.
202 * Wed Oct 29 2008 Richard Jones <rjones@redhat.com> - 34-1
203 - Set --prefix correctly.
205 * Wed Oct 29 2008 Richard Jones <rjones@redhat.com> - 33-1
206 - Remove mingw32.{sh,csh} which are unused.
208 * Mon Oct 27 2008 Richard Jones <rjones@redhat.com> - 32-1
209 - Add mingw32-configure script.
211 * Mon Oct 27 2008 Richard Jones <rjones@redhat.com> - 31-1
212 - Update the spec file with explanation of the 'Provides: mingw32(...)'
213 lines for Windows system DLLs.
215 * Mon Oct 6 2008 Richard Jones <rjones@redhat.com> - 30-1
216 - Added _mingw32_cxx.
218 * Thu Sep 25 2008 Richard Jones <rjones@redhat.com> - 29-1
219 - Added _mingw32_as, _mingw32_dlltool, _mingw32_windres.
221 * Wed Sep 24 2008 Richard W.M. Jones <rjones@redhat.com> - 27-1
222 - Begin the grand renaming of mingw -> mingw32.
223 - Added mingw32(mscoree.dll).
225 * Sun Sep 21 2008 Richard W.M. Jones <rjones@redhat.com> - 25-1
226 - Add shared aclocal directory.
228 * Sun Sep 21 2008 Richard W.M. Jones <rjones@redhat.com> - 24-1
229 - Remove mingw-defs, since no longer used.
230 - Add _mingw_infodir.
232 * Thu Sep 11 2008 Daniel P. Berrange <berrange@redhat.com> - 23-1
233 - Add macros for find-provides/requires scripts
235 * Wed Sep 10 2008 Richard W.M. Jones <rjones@redhat.com> - 22-1
236 - Windows provides OLE32.DLL.
238 * Wed Sep 10 2008 Richard W.M. Jones <rjones@redhat.com> - 21-1
239 - Allow '.' in dll names for find-requires
240 - Windows provides GDI32.DLL.
242 * Fri Sep 5 2008 Richard W.M. Jones <rjones@redhat.com> - 20-1
243 - On 64 bit install in /usr/lib/rpm always.
245 * Thu Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 19-1
246 - 'user32.dll' is provided by Windows.
247 - Allow '-' in DLL names.
248 - More accurate detection of DLLs in requires/provides scripts.
250 * Mon Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 17-1
251 - Automatically add mingw-filesystem and mingw-runtime requires.
252 - Add --prefix to _mingw_configure macro.
253 - Three backslashes required on each continuation line in RPM macros.
255 * Mon Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 14-1
256 - Fix path to mingw-find-requires/provides scripts.
258 * Mon Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 12-1
259 - Put CFLAGS on a single line to avoid problems in some configure scripts.
261 * Mon Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 10-1
262 - Provides certain base Windows DLLs (not literally).
264 * Mon Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 9-1
265 - Include RPM dependency generators and definitions.
267 * Mon Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 4-1
268 - Add _mingw_cc/cflags/etc. and _mingw_configure macros.
270 * Mon Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 3-1
271 - Add _mingw_host macro.
273 * Mon Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 2-1
274 - Add _mingw_sysroot macro.
275 - Add _mingw_target macro.
277 * Mon Sep 4 2008 Richard W.M. Jones <rjones@redhat.com> - 1-1
278 - Basic filesystem layout.