]> git.pld-linux.org Git - packages/mono.git/blob - mono.spec
- rel 4
[packages/mono.git] / mono.spec
1 # NOTE: Makefiles are broken, build stops long time after first fatal error
2 #
3 # Conditional build:
4 %bcond_without  nptl            # don't use TLS (which effectively requires NPTL libs)
5 %bcond_without  static_libs     # don't build static libraries
6 %bcond_with     bootstrap       # don't require mono-devel to find req/prov
7 #
8 %define         _glibver        2.4
9 #
10 Summary:        Common Language Infrastructure implementation
11 Summary(pl):    Implementacja Common Language Infrastructure
12 Name:           mono
13 Version:        1.1.8.3
14 Release:        4
15 License:        GPL/LGPL/MIT
16 Group:          Development/Languages
17 #Source0Download: http://www.mono-project.com/Downloads
18 Source0:        http://www.go-mono.com/sources/mono-1.1/%{name}-%{version}.tar.gz
19 # Source0-md5:  5aefdc915cbd6ed84834692f59b92080
20 Patch0:         %{name}-nolibs.patch
21 Patch1:         %{name}-alpha-float.patch
22 Patch2:         %{name}-mint.patch
23 Patch3:         %{name}-sonames.patch
24 Patch4:         %{name}-bash.patch
25 Patch5:         %{name}-alpha-atomic.patch
26 URL:            http://www.mono-project.com/
27 BuildRequires:  autoconf
28 BuildRequires:  automake
29 BuildRequires:  bison
30 BuildRequires:  glib2-devel >= %{_glibver}
31 BuildRequires:  libtool
32 BuildRequires:  pkgconfig
33 BuildRequires:  rpmbuild(macros) >= 1.213
34 BuildRequires:  rpmbuild(monoautodeps)
35 %{!?with_bootstrap:BuildRequires:       mono-devel >= 1.1.8.3-2}
36 ExclusiveArch:  %{ix86} %{x8664} arm hppa ppc s390 s390x sparc sparcv9 sparc64
37 # alpha still broken, mips/ia64/m68k disabled in configure
38 # note: plain i386 is not supported; mono uses cmpxchg/xadd which require i486
39 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
40
41 %define         _rpmlibdir      /usr/lib/rpm
42
43 %if ! %{with bootstrap}
44 %define __mono_provides %{_rpmlibdir}/mono-find-provides
45 %define __mono_requires %{_rpmlibdir}/mono-find-requires
46 %endif
47
48 %description
49 The Common Language Infrastructure platform. Microsoft has created a
50 new development platform. The highlights of this new development
51 platform are:
52 - A runtime environment that provides garbage collection, threading
53   and a virtual machine specification (The Virtual Execution System,
54   VES),
55 - A comprehensive class library,
56 - A new language, C#. Very similar to Java, C# allows programmers to
57   use all the features available on the .NET runtime,
58 - A language specification that compilers can follow if they want to
59   generate classes and code that can interoperate with other programming
60   languages (The Common Language Specification: CLS).
61
62 %{?with_nptl:This version was build with TLS __thread.}
63
64 %description -l pl
65 Platforma CLI (Common Language Infrastructure). Microsoft stworzy³
66 now± platformê developersk±. Zalety tej platformy to:
67 - ¶rodowisko, które dostarcza garbage collector, w±tki oraz
68   specyfikacjê maszyny wirtualnej (The Virtual Execution System, VES),
69 - bibliotekê klas,
70 - nowy jêzyk, C#. Bardzo podobny do Javy, C# pozwala programistom na
71   u¿ywanie wszystkich mo¿liwo¶ci dostarczanych przez platformê .NET,
72 - specyfikacja dla kompilatorów, które chc± generowaæ kod
73   wspó³pracuj±cy z innymi jêzykami programowania (The Common Language
74   Specification: CLS).
75
76 %{?with_nptl:Ta wersja zosta³a zbudowana z TLS __thread.}
77
78 %package devel
79 Summary:        Development resources for mono
80 Summary(pl):    Zasoby programisty do mono
81 Group:          Development/Libraries
82 Requires:       %{name} = %{version}-%{release}
83 Requires:       glib2-devel >= %{_glibver}
84
85 %description devel
86 Development resources for mono.
87
88 %description devel -l pl
89 Zasoby programisty dla mono.
90
91 %package basic
92 Summary:        MonoBASIC compiler for mono
93 Summary(pl):    Kompilator MonoBASIC dla mono
94 Group:          Development/Languages
95 Requires:       %{name}-devel = %{version}-%{release}
96
97 %description basic
98 MonoBASIC compiler for mono.
99
100 %description basic -l pl
101 Kompilator MonoBASIC dla mono.
102
103 %package csharp
104 Summary:        C# compiler for mono
105 Summary(pl):    Kompilator C# dla mono
106 Group:          Development/Languages
107 Requires:       %{name}-devel = %{version}-%{release}
108
109 %description csharp
110 C# compiler for mono.
111
112 %description csharp -l pl
113 Kompilator C# dla mono.
114
115 %package ilasm
116 Summary:        ILasm compiler for mono
117 Summary(pl):    Kompilator ILasm dla mono
118 Group:          Development/Languages
119 Requires:       %{name}-devel = %{version}-%{release}
120 Provides:       ilasm
121 Obsoletes:      pnet-compiler-ilasm
122
123 %description ilasm
124 ILasm compiler for mono.
125
126 %description ilasm -l pl
127 Kompilator ILasm dla mono.
128
129 %package jscript
130 Summary:        jscript compiler for mono
131 Summary(pl):    Kompilator jscript dla mono
132 Group:          Development/Languages
133 Requires:       %{name}-devel = %{version}-%{release}
134
135 %description jscript
136 jscript compiler for mono.
137
138 %description jscript -l pl
139 Kompilator jscript dla mono.
140
141 %package static
142 Summary:        Static mono library
143 Summary(pl):    Statyczna biblioteka mono
144 Group:          Development/Libraries
145 Requires:       %{name}-devel = %{version}-%{release}
146
147 %description static
148 Static mono library.
149
150 %description static -l pl
151 Statyczna biblioteka mono.
152
153 %package jay
154 Summary:        Yacc-like parser generator for Java and C#
155 Summary(pl):    Podobny do Yacca generator parserów dla Javy i C#
156 Group:          Development/Tools
157
158 %description jay
159 Yacc-like parser generator for Java and C#.
160
161 %description jay -l pl
162 Podobny do Yacca generator parserów dla Javy i C#.
163
164 %package compat-links
165 Summary:        Mono compatibility links
166 Summary(pl):    Dowi±zania dla kompatybilno¶ci
167 Group:          Development/Languages
168 Requires:       %{name}-devel = %{version}-%{release}
169
170 %description compat-links
171 This package contains links to binaries with names used in .NET and
172 dotGNU.
173
174 %description compat-links -l pl
175 Pakiet ten zawiera dowi±zania do programów o nazwach u¿ywanych w .NET
176 oraz dotGNU.
177
178 %prep
179 %setup -q
180 %patch0 -p1
181 %patch1 -p1
182 %patch2 -p1
183 %patch3 -p1
184 %patch4 -p1
185 %patch5 -p1
186
187 # workaround for variable name disallowed by new pkgconfig
188 echo 'm4_pattern_allow(PKG_PATH)' > acinclude.m4
189
190 %build
191 cp -f /usr/share/automake/config.sub .
192 cp -f /usr/share/automake/config.sub libgc
193 %{__libtoolize}
194 %{__aclocal}
195 %{__autoheader}
196 %{__autoconf}
197 %{__automake}
198 cd libgc
199 %{__libtoolize}
200 %{__aclocal}
201 %{__autoconf}
202 %{__automake}
203 cd ..
204
205 %configure \
206         --enable-fast-install \
207         %{?with_nptl:--with-tls=__thread} \
208         %{!?with_nptl:--with-tls=pthread} \
209         %{!?with_static_libs:--enable-static=no} \
210         --with-preview=yes \
211         --with-icu=no \
212         --with-jit=yes \
213         --with-gc=included
214
215 # mint uses heap to make trampolines, which need to be executable
216 # there is mprotect(...,PROT_EXEC) for ppc/s390, but not used
217 # (ifdef NEED_MPROTECT, which is never defined)
218 # in fact the flag should be "-Wl,-z,execheap" for libmint, but:
219 # -z execheap doesn't seem to do anything currently
220 # -z execstack for library makes only stack executable, but not heap
221 %{__make} \
222         mint_LDFLAGS="-Wl,-z,execheap -Wl,-z,execstack"
223
224 %install
225 rm -rf $RPM_BUILD_ROOT
226 install -d $RPM_BUILD_ROOT%{_rpmlibdir}
227
228 %{__make} install \
229         DESTDIR=$RPM_BUILD_ROOT
230
231 mv -f $RPM_BUILD_ROOT%{_prefix}/man/man1/* $RPM_BUILD_ROOT%{_mandir}/man1
232 rm -f $RPM_BUILD_ROOT%{_datadir}/jay/[A-Z]*
233
234 # this way we can run rpmbuild -bi several times, and directories
235 # have more meaningful name.
236 rm -rf pld-doc
237 mkdir -p pld-doc/{webpage,notes}
238 cp -a web/* pld-doc/webpage
239 cp -a docs/* pld-doc/notes
240 rm -f pld-doc/*/Makefile*
241
242 rm -rf $RPM_BUILD_ROOT%{_datadir}/libgc-mono
243
244 mv -f $RPM_BUILD_ROOT%{_bindir}/mono-find* $RPM_BUILD_ROOT%{_rpmlibdir}
245
246 %clean
247 rm -rf $RPM_BUILD_ROOT
248
249 %post   -p /sbin/ldconfig
250 %postun -p /sbin/ldconfig
251
252 %files
253 %defattr(644,root,root,755)
254 %ifarch %{ix86} ppc sparc %{x8664}
255 %attr(755,root,root) %{_bindir}/mono
256 %else
257 %attr(755,root,root) %{_bindir}/mint
258 %endif
259 %attr(755,root,root) %{_bindir}/cert*
260 %attr(755,root,root) %{_bindir}/chktrust*
261 %attr(755,root,root) %{_bindir}/gacutil*
262 %attr(755,root,root) %{_bindir}/makecert*
263 %attr(755,root,root) %{_bindir}/mkbundle*
264 %attr(755,root,root) %{_bindir}/secutil*
265 %attr(755,root,root) %{_bindir}/setreg*
266 %attr(755,root,root) %{_bindir}/signcode*
267 %attr(755,root,root) %{_bindir}/sn*
268 %attr(755,root,root) %{_bindir}/mono-service
269 %attr(755,root,root) %{_bindir}/caspol
270 %attr(755,root,root) %{_libdir}/lib*.so.*.*
271 %attr(755,root,root) %{_libdir}/libMonoPosixHelper.so
272 %attr(755,root,root) %{_libdir}/libikvm-native.so
273 %dir /usr/lib/mono
274 %dir /usr/lib/mono/1.0
275 %dir /usr/lib/mono/2.0
276 %attr(755,root,root) /usr/lib/mono/*.*/*.dll
277 %attr(755,root,root) /usr/lib/mono/1.0/cert*
278 %attr(755,root,root) /usr/lib/mono/1.0/chktrust*
279 %attr(755,root,root) /usr/lib/mono/1.0/gacutil*
280 %attr(755,root,root) /usr/lib/mono/1.0/MakeCert*
281 %attr(755,root,root) /usr/lib/mono/1.0/mkbundle*
282 %attr(755,root,root) /usr/lib/mono/1.0/secutil*
283 %attr(755,root,root) /usr/lib/mono/1.0/setreg*
284 %attr(755,root,root) /usr/lib/mono/1.0/signcode*
285 %attr(755,root,root) /usr/lib/mono/1.0/sn*
286 %attr(755,root,root) /usr/lib/mono/1.0/caspol*
287 %attr(755,root,root) /usr/lib/mono/1.0/mono-service*
288 %{_mandir}/man1/cert*.1*
289 %{_mandir}/man1/chktrust.1*
290 %{_mandir}/man1/gacutil.1*
291 %{_mandir}/man1/makecert.1*
292 %{_mandir}/man1/mkbundle.1*
293 %{_mandir}/man1/mint.1*
294 %{_mandir}/man1/mono.1*
295 %{_mandir}/man1/mono-service.1*
296 %{_mandir}/man1/secutil.1*
297 %{_mandir}/man1/setreg.1*
298 %{_mandir}/man1/signcode.1*
299 %{_mandir}/man1/sn.1*
300 %{_mandir}/man1/permview.1*
301 %{_mandir}/man5/mono-config.5*
302 /usr/lib/mono/gac
303 %dir %{_sysconfdir}/mono
304 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mono/config
305 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mono/browscap.ini
306 %dir %{_sysconfdir}/mono/1.0
307 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mono/1.0/machine.config
308 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mono/1.0/DefaultWsdlHelpGenerator.aspx
309 %dir %{_sysconfdir}/mono/2.0
310 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mono/2.0/machine.config
311 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mono/2.0/DefaultWsdlHelpGenerator.aspx
312
313 %files jay
314 %defattr(644,root,root,755)
315 %doc mcs/jay/{ACKNOWLEDGEMENTS,ChangeLog,NEW_FEATURES,NOTES,README,README.jay}
316 %attr(755,root,root) %{_bindir}/jay
317 %dir %{_datadir}/jay
318 %{_datadir}/jay/skeleton*
319 %{_mandir}/man1/jay.1*
320
321 # TODO: probably Microsoft.JScript.dll & Co. should be here
322 %files jscript
323 %defattr(644,root,root,755)
324 %attr(755,root,root) %{_bindir}/mjs
325 %attr(755,root,root) /usr/lib/mono/1.0/mjs*
326
327 %files compat-links
328 %defattr(644,root,root,755)
329 %attr(755,root,root) %{_bindir}/resgen
330
331 %files devel
332 %defattr(644,root,root,755)
333 %doc AUTHORS ChangeLog NEWS README pld-doc/*
334 %attr(755,root,root) %{_bindir}/al*
335 %attr(755,root,root) %{_bindir}/cilc*
336 %attr(755,root,root) %{_bindir}/disco*
337 %attr(755,root,root) %{_bindir}/dtd2xsd
338 %attr(755,root,root) %{_bindir}/genxs*
339 %attr(755,root,root) %{_bindir}/macpack
340 %attr(755,root,root) %{_bindir}/monodiet
341 %attr(755,root,root) %{_bindir}/monodis
342 %attr(755,root,root) %{_bindir}/monograph
343 %attr(755,root,root) %{_bindir}/monop*
344 %attr(755,root,root) %{_bindir}/mono-shlib-cop*
345 %attr(755,root,root) %{_bindir}/pedump
346 %attr(755,root,root) %{_bindir}/permview
347 %attr(755,root,root) %{_bindir}/prj2make
348 %attr(755,root,root) %{_bindir}/soapsuds*
349 %attr(755,root,root) %{_bindir}/sqlsharp*
350 %attr(755,root,root) %{_bindir}/wsdl*
351 %attr(755,root,root) %{_bindir}/xsd*
352 %attr(755,root,root) %{_libdir}/libmono.so
353 %attr(755,root,root) %{_libdir}/libmono-profiler-cov.so
354 %attr(755,root,root) /usr/lib/mono/1.0/al*
355 %attr(755,root,root) /usr/lib/mono/1.0/browsercaps-updater*
356 %attr(755,root,root) /usr/lib/mono/1.0/cilc*
357 %attr(755,root,root) /usr/lib/mono/1.0/CorCompare*
358 %attr(755,root,root) /usr/lib/mono/1.0/disco*
359 %attr(755,root,root) /usr/lib/mono/1.0/dtd2xsd*
360 %attr(755,root,root) /usr/lib/mono/1.0/genxs*
361 %attr(755,root,root) /usr/lib/mono/1.0/ictool*
362 %attr(755,root,root) /usr/lib/mono/1.0/macpack*
363 %attr(755,root,root) /usr/lib/mono/1.0/mono-api-*
364 %attr(755,root,root) /usr/lib/mono/1.0/monop*
365 %attr(755,root,root) /usr/lib/mono/1.0/mono-shlib-cop*
366 %attr(755,root,root) /usr/lib/mono/1.0/permview*
367 %attr(755,root,root) /usr/lib/mono/1.0/prj2make*
368 %attr(755,root,root) /usr/lib/mono/1.0/resgen*
369 %attr(755,root,root) /usr/lib/mono/1.0/soapsuds*
370 %attr(755,root,root) /usr/lib/mono/1.0/sqlsharp*
371 %attr(755,root,root) /usr/lib/mono/1.0/wsdl*
372 %attr(755,root,root) /usr/lib/mono/1.0/xsd*
373 %attr(755,root,root) /usr/lib/mono/2.0/mono-api-info*
374 %attr(755,root,root) /usr/lib/mono/2.0/wsdl*
375 /usr/lib/mono/*.*/*.dll.mdb
376 %attr(755,root,root) %{_rpmlibdir}/mono-find*
377 %{_libdir}/lib*.la
378 %{_datadir}/%{name}
379 %{_pkgconfigdir}/*.pc
380 %{_includedir}/%{name}
381 %{_mandir}/man1/cilc.1*
382 %{_mandir}/man1/disco.1*
383 %{_mandir}/man1/dtd2xsd.1*
384 %{_mandir}/man1/genxs.1*
385 %{_mandir}/man1/macpack.1*
386 %{_mandir}/man1/monoburg.1*
387 %{_mandir}/man1/monodis.1*
388 %{_mandir}/man1/monop.1*
389 %{_mandir}/man1/mono-shlib-cop.1*
390 %{_mandir}/man1/monostyle.1*
391 %{_mandir}/man1/oldmono.1*
392 %{_mandir}/man1/prj2make.1*
393 %{_mandir}/man1/soapsuds.1*
394 %{_mandir}/man1/sqlsharp.1*
395 %{_mandir}/man1/wsdl.1*
396 %{_mandir}/man1/xsd.1*
397
398 %files csharp
399 %defattr(644,root,root,755)
400 %attr(755,root,root) %{_bindir}/mcs
401 %attr(755,root,root) %{_bindir}/gmcs
402 %attr(755,root,root) /usr/lib/mono/1.0/mcs.exe*
403 %attr(755,root,root) /usr/lib/mono/2.0/gmcs.exe*
404 %{_mandir}/man1/mcs.1*
405
406 %files basic
407 %defattr(644,root,root,755)
408 %attr(755,root,root) %{_bindir}/mbas
409 %attr(755,root,root) /usr/lib/mono/1.0/mbas.exe*
410
411 %files ilasm
412 %defattr(644,root,root,755)
413 %attr(755,root,root) %{_bindir}/ilasm*
414 %attr(755,root,root) /usr/lib/mono/1.0/ilasm*
415 %{_mandir}/man1/ilasm.1*
416
417 %if %{with static_libs}
418 %files static
419 %defattr(644,root,root,755)
420 %{_libdir}/lib*.a
421 %endif
This page took 0.05436 seconds and 4 git commands to generate.