]> git.pld-linux.org Git - packages/pnet.git/blob - pnet.spec
5f6504638ef887dbb67441dba8cc625ee144e94c
[packages/pnet.git] / pnet.spec
1 #
2 # Conditional build:
3 %bcond_with     libjit  # libjit instead of CVM engine
4
5 Summary:        The DotGNU Portable .NET tools
6 Summary(pl.UTF-8):      Narzędzia Portable .NET z projektu DotGNU
7 Summary(pt_BR.UTF-8):   Ferramentas Portable .NET DotGNU
8 Name:           pnet
9 Version:        0.8.0
10 Release:        3
11 License:        GPL v2+
12 Group:          Development/Languages
13 Source0:        http://download.savannah.gnu.org/releases/dotgnu-pnet/%{name}-%{version}.tar.gz
14 # Source0-md5:  84cb3612d7175bd9e476c88e66fe19f9
15 Patch0:         %{name}-systemffi.patch
16 Patch1:         %{name}-systemgc.patch
17 Patch2:         format-security.patch
18 Patch3:         no-regex_syntax.patch
19 Patch4:         %{name}-info.patch
20 Patch5:         %{name}-link.patch
21 Patch6:         %{name}-opt.patch
22 Patch7:         x32.patch
23 URL:            http://www.gnu.org/software/dotgnu/pnet.html
24 BuildRequires:  autoconf
25 BuildRequires:  automake
26 BuildRequires:  bison
27 BuildRequires:  flex
28 BuildRequires:  gc-devel
29 BuildRequires:  libffi-devel
30 %{?with_libjit:BuildRequires:   libjit-devel}
31 BuildRequires:  libtool
32 BuildRequires:  ncurses-devel
33 BuildRequires:  texinfo
34 BuildRequires:  treecc >= 0.3.6
35 BuildRequires:  zlib-devel
36 Requires:       %{name}-compiler = %{version}
37 Requires:       %{name}-tools = %{version}
38 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
39
40 %description
41 The goal of this project is to build a suite of Free Software tools to
42 build and execute portable executable (.NET, JavaTM, Parrot)
43 applications, including compilers, an assembler, a disassembler, and
44 runtime engine capable of executing multiple stack-based bytecode
45 formats.
46
47 This is metapackage including pnet-compiler, pnet-interpreter and
48 pnet-tools packages.
49
50 %description -l pl.UTF-8
51 Celem tego projektu jest stworzenie zestawu Wolnych narzędzi to
52 budowania i uruchamiania przenośnych plików wykonywalnych (.NET,
53 JavaTM, Parrot); aplikacji (włączając kompilatory, asembler,
54 disasembler; oraz silnika zdolnego wykonywać różne formaty dla maszyn
55 stosowych.
56
57 Jest to metapakiet zawierający pnet-compiler, pnet-interpreter i
58 pnet-tools.
59
60 %description -l pt_BR.UTF-8
61 A meta do projeto é construir um conjunto de ferramentas de software
62 livre para construit e executar aplicações .NET, incluindo um
63 compilador C#, assembler, disassembler, e runtime engine.
64
65 %package interpreter
66 Summary:        The DotGNU Portable .NET runtime engine
67 Summary(pl.UTF-8):      Silnik wykonawczy Portable .NET z projektu DotGNU
68 Summary(pt_BR.UTF-8):   A engine runtime da Portable .NET
69 Group:          Applications/Emulators
70
71 %description interpreter
72 The Converted Virtual Machine supports executing multiple kinds of
73 portable executables, including IL (".NET") and JavaTM classes.
74
75 Install it if you want to execute IL executables. You should also
76 install pnetlib.
77
78 %description interpreter -l pl.UTF-8
79 Konwertowana Maszyna Wirtualna wspiera uruchamiania wielu rodzaji
80 przenośnych plików wykonywalnych włączając IL (".NET") oraz klasy
81 JavaTM.
82
83 Zainstaluj jeżeli chcesz uruchamiać programy IL. Powinieneś także
84 zainstalować pnetlib
85
86 %description interpreter -l pt_BR.UTF-8
87 A enfine runtime executa os binários .NET. É uma máquina virtual para
88 o bytecode .NET
89
90 %package compiler
91 Summary:        The Portable .NET compiler collection
92 Summary(pl.UTF-8):      Zestaw kompilatorów Portable .NET
93 Summary(pt_BR.UTF-8):   A coleção de compiladores do Portable .NET
94 Group:          Development/Languages
95 Requires:       %{name}-compiler-bf = %{version}
96 Requires:       %{name}-compiler-c = %{version}
97 Requires:       %{name}-compiler-common = %{version}
98 Requires:       %{name}-compiler-csharp = %{version}
99 Requires:       %{name}-compiler-java = %{version}
100 Requires:       %{name}-compiler-visualbasic = %{version}
101
102 %description compiler
103 The cscc compiler collection allows multiple input languages and
104 multiple output bytecodes, much like GCC. Current languages include
105 C#, JavaTM, Brainf**k, VB, and C; current output formats include IL
106 assembly (".NET"), JavaTM assembly, and imcc (Parrot (Perl6)
107 high-level assembly).
108
109 Other common compiling tools are included, such as csant, a
110 replacement for make.
111
112 This is a virtual package that installs all compilers included with
113 the pnet distribution. If you only want some of them, get
114 `pnet-compiler-common' and `pnet-compiler-<insert language here>'.
115
116 %description compiler -l pl.UTF-8
117 Zestaw kompilatorów cscc tłumaczy wiele języków źródłowych na wiele
118 języków wynikowych, podobnie jak GCC. W chwili obecnej obsługuje C#,
119 JavaTM, Brainf**k, VB i C jako wejście oraz asembler IL (".NET"),
120 asembler JavaTM, oraz imcc (wysokopoziomowy asembler Parrot (Perl6)).
121
122 Są także załączone inne narzędzia do kompilacji takie jak csant -
123 zastępca make.
124
125 Jest to wirtualny pakiet który instaluje wszystkie kompilatory
126 załączone z dystrybucją pnet. Jeżeli chcesz tylko niektóre z nich weź
127 pnet-compiler-common i pnet-compiler-<język>
128
129 %description compiler -l pt_BR.UTF-8
130 Os compiladores para C# e C são incluídos neste pacote. O wrapper cscc
131 provê uma interface padrão de compilação
132
133 %package compiler-common
134 Summary:        Common files for Portable .NET compilers
135 Summary(pl.UTF-8):      Pliki wspólne dla kompilatorów Portable .NET
136 Group:          Development/Languages
137 Requires:       %{name}-interpreter = %{version}
138 Requires:       ilasm
139 Obsoletes:      pnet-libgc
140
141 %description compiler-common
142 The cscc compiler collection allows multiple input languages and
143 multiple output bytecodes, much like GCC. Current languages include
144 C#, JavaTM, Brainf**k, VB, and C; current output formats include IL
145 assembly (".NET"), JavaTM assembly, and imcc (Parrot (Perl6)
146 high-level assembly).
147
148 Other common compiling tools are included, such as csant, a
149 replacement for make.
150
151 You should install at least one of the specific language packages;
152 otherwise, this package is pretty useless.
153
154 %description compiler-common -l pl.UTF-8
155 Zestaw kompilatorów cscc tłumaczy wiele języków źródłowych na wiele
156 języków wynikowych, podobnie jak GCC. W chwili obecnej obsługuje C#,
157 JavaTM, Brainf**k, VB i C jako wejście oraz asembler IL (".NET"),
158 asembler JavaTM, oraz imcc (wysokopoziomowy asembler Parrot (Perl6)).
159
160 Są także załączone inne narzędzia do kompilacji takie jak csant -
161 zastępca make.
162
163 Powinieneś zainstalować co najmniej jeden z pakietów językowych pnet,
164 inaczej ten pakiet będzie bezużyteczny.
165
166 %package compiler-ilasm
167 Summary:        IL Assembler for Portable.NET
168 Summary(pl.UTF-8):      Assembler IL dla Portable.NET
169 Group:          Development/Languages
170 Provides:       ilasm
171 Obsoletes:      mono-ilasm
172
173 %description compiler-ilasm
174 IL Assembler from Portable.NET package.
175
176 %description compiler-ilasm -l pl.UTF-8
177 Assembler IL z pakietu Portable.NET.
178
179 %package compiler-csharp
180 Summary:        C# backend for cscc
181 Summary(pl.UTF-8):      Nakładka do C# na cscc
182 Group:          Development/Languages
183 Requires:       %{name}-compiler-common = %{version}
184
185 %description compiler-csharp
186 C# language backend for cscc. Install this if you want to compile C#
187 programs with cscc. It's pretty useless without package pnetlib,
188 however.
189
190 %description compiler-csharp -l pl.UTF-8
191 Nakładka języka C# dla cscc. Zainstaluj ją jeżeli chcesz kompilować
192 programy w cscc. Zazwyczaj jest bezużyteczna bez pnetlib.
193
194 %package compiler-java
195 Summary:        Java backend for cscc
196 Summary(pl.UTF-8):      Nakładka do Javy na cscc
197 Group:          Development/Languages
198 Requires:       %{name}-compiler-common = %{version}
199
200 %description compiler-java
201 Java language backend for cscc. Install this if you want to compile
202 Java programs with cscc. It's pretty useless until you manually
203 install something like classpath, however.
204
205 %description compiler-java -l pl.UTF-8
206 Nakładka języka Java dla cscc. Zainstaluj ją jeżeli chcesz kompilować
207 programy Java w cscc. Zazwyczaj jest bezużyteczna dopóki nie
208 zainstalujesz czegoś jak classpath.
209
210 %package compiler-bf
211 Summary:        Brainf**k backend for cscc
212 Summary(pl.UTF-8):      Nakładka do Brainf**k na cscc
213 Group:          Development/Languages
214 Requires:       %{name}-compiler-common = %{version}
215
216 %description compiler-bf
217 Brainf**k language backend for cscc. Install this if you want to
218 compile Brainf**k programs with cscc. Brainf**k is pretty useless,
219 however.
220
221 %description compiler-bf -l pl.UTF-8
222 Nakładka języka Brainf**k dla cscc. Zainstaluj ją jeżeli chcesz
223 kompilować programy Brainf**k w cscc. Zazwyczaj jest bezużyteczna.
224
225 %package compiler-visualbasic
226 Summary:        Visual Basic backend for cscc
227 Summary(pl.UTF-8):      Nakładka do Visual Basica na cscc
228 Group:          Development/Languages
229 Requires:       %{name}-compiler-common = %{version}
230
231 %description compiler-visualbasic
232 Visual Basic language backend for cscc. Install this if you want to
233 compile Visual Basic programs with cscc. Not as useless as
234 Brainf**k...probably.
235
236 %description compiler-visualbasic -l pl.UTF-8
237 Nakładka języka Brainf**k dla cscc. Zainstaluj ją jeżeli chcesz
238 kompilować programy Visual Basica w cscc. Nie aż tak bardzo
239 bezużyteczna jak Brainf**k, ale...
240
241 %package compiler-c
242 Summary:        C backend for cscc
243 Summary(pl.UTF-8):      Nakładka do C na cscc
244 Group:          Development/Languages
245 Requires:       %{name}-compiler-common = %{version}
246
247 %description compiler-c
248 C language backend for cscc. Install this if you want to compile C
249 programs with cscc.
250
251 C programs require a support library packaged in pnetlib called
252 `OpenSystem.C.dll'. It's like libgcc. Also, a minimal libc that
253 compiles with cscc-c-s is in pnetC.
254
255 %description compiler-c -l pl.UTF-8
256 Nakładka języka C dla cscc. Zainstaluj ją jeżeli chcesz kompilować
257 programy C w cscc.
258
259 %package tools
260 Summary:        Miscellaneous tools for DotGNU Portable .NET
261 Summary(pl.UTF-8):      Różne narzędzia Portable .NET z projektu DotGNU
262 Summary(pt_BR.UTF-8):   As ferramentas da Portable .NET
263 Group:          Development/Tools
264 Requires:       %{name}-interpreter = %{version}
265
266 %description tools
267 The general toolkit provided along with the pnet compiler and runtime
268 engines. This includes csant, a replacement for make, and various
269 tools to deal with IL binaries.
270
271 %description tools -l pl.UTF-8
272 Zestaw ogólnych narzędzi dostarczanych razem z kompilatorem i
273 środowiskiem wykonawczym. M. in. csant (zamiennik make) oraz różne
274 narzędzia do obsługi binarii IL.
275
276 %description tools -l pt_BR.UTF-8
277 O kit de ferramentas provido junto com o compilador e o runtime. Ele
278 include o csant, um substituto para make, e várias ferramentas para
279 lidar com binários IL
280
281 %package devel
282 Summary:        The Portable.Net devel headers
283 Summary(pl.UTF-8):      Pliki nagłówkowe Portable.Net
284 Summary(pt_BR.UTF-8):   Header de desenvolviemnto da Portable.Net
285 Group:          Development/Libraries
286
287 %description devel
288 The Portable .NET devel headers.
289
290 %description devel -l pl.UTF-8
291 Pliki nagłówkowe Portable.NET.
292
293 %description devel -l pt_BR.UTF-8
294 Header de desenvolviemnto da Portable .NET.
295
296 %prep
297 %setup -q
298 %patch0 -p1
299 # pnet uses gc incompatible with system lib and links statically to it
300 #%patch1 -p1
301 %patch2 -p1
302 %patch3 -p1
303 %patch4 -p1
304 %patch5 -p1
305 %ifarch %{ix86}
306 %patch6 -p1
307 %endif
308 %patch7 -p1
309
310 %{__rm} ilasm/ilasm_grammar.c
311
312 %build
313 %{__libtoolize}
314 %{__aclocal}
315 %{__autoconf}
316 %{__autoheader}
317 %{__automake}
318 # "-O2 -march={i686|athlon} -fno-gcse" with gcc 3.x causes "no register to spill"
319 # (GNATS#10017 - qualified as "invalid user input", not a bug)
320 # -fomit-frame-pointer is needed on i686/athlon to recover one more register
321 # (which x86 have too less...)
322 CFLAGS="%{rpmcflags} %{!?debug:-fomit-frame-pointer} -I/usr/include/ncurses `pkg-config --cflags libffi`"
323 CPPFLAGS="%{rpmcflags} %{!?debug:-fomit-frame-pointer} -I/usr/include/ncurses `pkg-config --cflags libffi`"
324 %configure \
325         --enable-threads=pthreads \
326         %{?with_libjit:--with-jit}
327
328 %{__make} -j1
329
330 %install
331 rm -rf $RPM_BUILD_ROOT
332 %{__make} install \
333         DESTDIR=$RPM_BUILD_ROOT
334
335 # junk removal
336 %{__rm} $RPM_BUILD_ROOT%{_bindir}/{al,cli-unknown-*}
337 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/{al.1*,cli-unknown-*}
338 %{__mv} $RPM_BUILD_ROOT%{_bindir}/{,pnet-}resgen
339 %{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/{,pnet-}resgen.1
340
341 # don't distribute libgc
342 %{__rm} -r $RPM_BUILD_ROOT%{_includedir}/{gc*,leak_detector.h}
343 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/gc
344 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libgc.*
345
346 %clean
347 rm -rf $RPM_BUILD_ROOT
348
349 %post   tools -p /sbin/postshell
350 -/usr/sbin/fix-info-dir -c %{_infodir}
351
352 %postun tools -p /sbin/postshell
353 -/usr/sbin/fix-info-dir -c %{_infodir}
354
355 %files
356 %defattr(644,root,root,755)
357
358 %files interpreter
359 %defattr(644,root,root,755)
360 %attr(755,root,root) %{_bindir}/ilrun
361 %attr(755,root,root) %{_bindir}/clrwrap
362 %dir %{_libdir}/cscc
363 %{_mandir}/man1/ilrun.1*
364 %{_mandir}/man1/clrwrap.1*
365
366 %files compiler
367 %defattr(644,root,root,755)
368
369 %files compiler-common
370 %defattr(644,root,root,755)
371 %doc AUTHORS ChangeLog NEWS README doc/cvmdoc
372 %attr(755,root,root) %{_bindir}/cscc
373 %attr(755,root,root) %{_bindir}/csant
374 %attr(755,root,root) %{_bindir}/ilalink
375 %attr(755,root,root) %{_bindir}/ilheader
376 %attr(755,root,root) %{_bindir}/ilgac
377 %attr(755,root,root) %{_bindir}/pnet-resgen
378 %dir %{_libdir}/cscc/plugins
379 %{_mandir}/man1/csant.1*
380 %{_mandir}/man1/cscc.1*
381 %{_mandir}/man1/ilalink.1*
382 %{_mandir}/man1/ilheader.1*
383 %{_mandir}/man1/ilgac.1*
384 %{_mandir}/man1/pnet-resgen.1*
385
386 %files compiler-ilasm
387 %defattr(644,root,root,755)
388 %attr(755,root,root) %{_bindir}/ilasm
389 %{_mandir}/man1/ilasm.1*
390
391 %files compiler-csharp
392 %defattr(644,root,root,755)
393 %attr(755,root,root) %{_libdir}/cscc/plugins/cscc-cs
394 %attr(755,root,root) %{_libdir}/cscc/plugins/cscc-csharp
395
396 %files compiler-java
397 %defattr(644,root,root,755)
398 %attr(755,root,root) %{_libdir}/cscc/plugins/cscc-java
399
400 %files compiler-bf
401 %defattr(644,root,root,755)
402 %attr(755,root,root) %{_libdir}/cscc/plugins/cscc-b
403 %attr(755,root,root) %{_libdir}/cscc/plugins/cscc-bf
404
405 %files compiler-visualbasic
406 %defattr(644,root,root,755)
407 %attr(755,root,root) %{_libdir}/cscc/plugins/cscc-vb
408
409 %files compiler-c
410 %defattr(644,root,root,755)
411 %attr(755,root,root) %{_libdir}/cscc/plugins/cscc-c-s
412 %attr(755,root,root) %{_bindir}/cscc-cpp
413 %{_mandir}/man1/cscc-cpp.1*
414
415 %files tools
416 %defattr(644,root,root,755)
417 %attr(755,root,root) %{_bindir}/ildasm
418 %attr(755,root,root) %{_bindir}/ildd
419 %attr(755,root,root) %{_bindir}/ilfind
420 %attr(755,root,root) %{_bindir}/ilsize
421 %attr(755,root,root) %{_bindir}/ilnative
422 %attr(755,root,root) %{_bindir}/ilverify
423 %attr(755,root,root) %{_bindir}/ilranlib
424 %attr(755,root,root) %{_bindir}/ilstrip
425 %attr(755,root,root) %{_bindir}/csdoc
426 %attr(755,root,root) %{_bindir}/csdoc2html
427 %attr(755,root,root) %{_bindir}/csdoc2hier
428 %attr(755,root,root) %{_bindir}/csdoc2texi
429 %attr(755,root,root) %{_bindir}/cssrc2html
430 %{_mandir}/man1/csdoc*
431 %{_mandir}/man1/cssrc2*
432 %{_mandir}/man1/ildd.1*
433 %{_mandir}/man1/ildasm.1*
434 %{_mandir}/man1/ilfind.1*
435 %{_mandir}/man1/ilnative.1*
436 %{_mandir}/man1/ilsize.1*
437 %{_mandir}/man1/ilranlib.1*
438 %{_mandir}/man1/ilstrip.1*
439 %{_mandir}/man1/ilverify.1*
440 %{_infodir}/pnettools.info*
441
442 %files devel
443 %defattr(644,root,root,755)
444 %{_includedir}/pnet
445 %{_libdir}/libILAsm.a
446 %{_libdir}/libILCodeGen.a
447 %{_libdir}/libILDumpAsm.a
448 %{_libdir}/libILEngine.a
449 %{_libdir}/libILImage.a
450 %{_libdir}/libILLink.a
451 %{_libdir}/libILSupport.a
This page took 0.101675 seconds and 2 git commands to generate.