windbus now builds under mock.
[fedora-mingw.git] / filesystem / mingw32-filesystem.spec
1 %define debug_package %{nil}
2
3 Name:           mingw32-filesystem
4 Version:        34
5 Release:        1%{?dist}
6 Summary:        MinGW base filesystem and environment
7
8 Group:          Development/Libraries
9 License:        GPLv2+
10 URL:            http://hg.et.redhat.com/misc/fedora-mingw--devel/
11 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
12 BuildArch:      noarch
13
14 Source0:        mingw32-COPYING
15 Source1:        mingw32-macros.mingw32
16 #Source2:        mingw32.sh
17 #Source3:        mingw32.csh
18 Source4:        mingw32-find-requires.sh
19 Source5:        mingw32-find-provides.sh
20 Source6:        mingw32-configure.sh
21
22 Requires:       setup
23 Requires:       rpm
24
25 # Note about 'Provides: mingw32(foo.dll)'
26 # ------------------------------------------------------------
27 #
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?
33 #
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.
38 #
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)
45
46 Obsoletes:      mingw-filesystem = %{version}-%{release}
47 Provides:       mingw-filesystem < 26
48
49
50 %description
51 This package contains the base filesystem layout, RPM macros and
52 environment for all Fedora MinGW packages.
53
54 This environment is maintained by the Fedora MinGW SIG at:
55
56   http://fedoraproject.org/wiki/SIGs/MinGW
57
58
59 %prep
60 %setup -q -c -T
61 cp %{SOURCE0} COPYING
62 sed 's/@VERSION@/%{version}/' < %{SOURCE4} > mingw32-find-requires.sh
63
64
65 %build
66 # nothing
67
68
69 %install
70 rm -rf $RPM_BUILD_ROOT
71
72 mkdir -p $RPM_BUILD_ROOT
73
74 mkdir -p $RPM_BUILD_ROOT%{_bindir}
75 install -m 755 %{SOURCE6} $RPM_BUILD_ROOT%{_bindir}/mingw32-configure
76
77 #mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/profile.d
78 #install -m 644 %{SOURCE2} %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/
79
80 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpm
81 install -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.mingw32
82
83 mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32
84
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
90
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
99
100 mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share/aclocal
101
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.
105 #
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}
115
116 # NB. NOT _libdir
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
120
121
122 %clean
123 rm -rf $RPM_BUILD_ROOT
124
125
126 %files
127 %defattr(-,root,root,-)
128 %doc COPYING
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-*
135
136
137 %changelog
138 * Wed Oct 29 2008 Richard Jones <rjones@redhat.com> - 34-1
139 - Set --prefix correctly.
140
141 * Wed Oct 29 2008 Richard Jones <rjones@redhat.com> - 33-1
142 - Remove mingw32.{sh,csh} which are unused.
143
144 * Mon Oct 27 2008 Richard Jones <rjones@redhat.com> - 32-1
145 - Add mingw32-configure script.
146
147 * Mon Oct 27 2008 Richard Jones <rjones@redhat.com> - 31-1
148 - Update the spec file with explanation of the 'Provides: mingw32(...)'
149   lines for Windows system DLLs.
150
151 * Mon Oct  6 2008 Richard Jones <rjones@redhat.com> - 30-1
152 - Added _mingw32_cxx.
153
154 * Thu Sep 25 2008 Richard Jones <rjones@redhat.com> - 29-1
155 - Added _mingw32_as, _mingw32_dlltool, _mingw32_windres.
156
157 * Wed Sep 24 2008 Richard W.M. Jones <rjones@redhat.com> - 27-1
158 - Begin the grand renaming of mingw -> mingw32.
159 - Added mingw32(mscoree.dll).
160
161 * Sun Sep 21 2008 Richard W.M. Jones <rjones@redhat.com> - 25-1
162 - Add shared aclocal directory.
163
164 * Sun Sep 21 2008 Richard W.M. Jones <rjones@redhat.com> - 24-1
165 - Remove mingw-defs, since no longer used.
166 - Add _mingw_infodir.
167
168 * Thu Sep 11 2008 Daniel P. Berrange <berrange@redhat.com> - 23-1
169 - Add macros for find-provides/requires scripts
170
171 * Wed Sep 10 2008 Richard W.M. Jones <rjones@redhat.com> - 22-1
172 - Windows provides OLE32.DLL.
173
174 * Wed Sep 10 2008 Richard W.M. Jones <rjones@redhat.com> - 21-1
175 - Allow '.' in dll names for find-requires
176 - Windows provides GDI32.DLL.
177
178 * Fri Sep  5 2008 Richard W.M. Jones <rjones@redhat.com> - 20-1
179 - On 64 bit install in /usr/lib/rpm always.
180
181 * Thu Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 19-1
182 - 'user32.dll' is provided by Windows.
183 - Allow '-' in DLL names.
184 - More accurate detection of DLLs in requires/provides scripts.
185
186 * Mon Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 17-1
187 - Automatically add mingw-filesystem and mingw-runtime requires.
188 - Add --prefix to _mingw_configure macro.
189 - Three backslashes required on each continuation line in RPM macros.
190
191 * Mon Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 14-1
192 - Fix path to mingw-find-requires/provides scripts.
193
194 * Mon Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 12-1
195 - Put CFLAGS on a single line to avoid problems in some configure scripts.
196
197 * Mon Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 10-1
198 - Provides certain base Windows DLLs (not literally).
199
200 * Mon Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 9-1
201 - Include RPM dependency generators and definitions.
202
203 * Mon Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 4-1
204 - Add _mingw_cc/cflags/etc. and _mingw_configure macros.
205
206 * Mon Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 3-1
207 - Add _mingw_host macro.
208
209 * Mon Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 2-1
210 - Add _mingw_sysroot macro.
211 - Add _mingw_target macro.
212
213 * Mon Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 1-1
214 - Basic filesystem layout.