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