3 %bcond_with libjit # libjit instead of CVM engine
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
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
23 URL: http://www.gnu.org/software/dotgnu/pnet.html
24 BuildRequires: autoconf
25 BuildRequires: automake
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)
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
47 This is metapackage including pnet-compiler, pnet-interpreter and
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
57 Jest to metapakiet zawierający pnet-compiler, pnet-interpreter i
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.
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
71 %description interpreter
72 The Converted Virtual Machine supports executing multiple kinds of
73 portable executables, including IL (".NET") and JavaTM classes.
75 Install it if you want to execute IL executables. You should also
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
83 Zainstaluj jeżeli chcesz uruchamiać programy IL. Powinieneś także
86 %description interpreter -l pt_BR.UTF-8
87 A enfine runtime executa os binários .NET. É uma máquina virtual para
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}
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).
109 Other common compiling tools are included, such as csant, a
110 replacement for make.
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>'.
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)).
122 Są także załączone inne narzędzia do kompilacji takie jak csant -
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>
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
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}
139 Obsoletes: pnet-libgc
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).
148 Other common compiling tools are included, such as csant, a
149 replacement for make.
151 You should install at least one of the specific language packages;
152 otherwise, this package is pretty useless.
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)).
160 Są także załączone inne narzędzia do kompilacji takie jak csant -
163 Powinieneś zainstalować co najmniej jeden z pakietów językowych pnet,
164 inaczej ten pakiet będzie bezużyteczny.
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
171 Obsoletes: mono-ilasm
173 %description compiler-ilasm
174 IL Assembler from Portable.NET package.
176 %description compiler-ilasm -l pl.UTF-8
177 Assembler IL z pakietu Portable.NET.
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}
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,
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.
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}
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.
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.
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}
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,
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.
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}
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.
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...
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}
247 %description compiler-c
248 C language backend for cscc. Install this if you want to compile C
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.
255 %description compiler-c -l pl.UTF-8
256 Nakładka języka C dla cscc. Zainstaluj ją jeżeli chcesz kompilować
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}
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.
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.
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
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
288 The Portable .NET devel headers.
290 %description devel -l pl.UTF-8
291 Pliki nagłówkowe Portable.NET.
293 %description devel -l pt_BR.UTF-8
294 Header de desenvolviemnto da Portable .NET.
299 # pnet uses gc incompatible with system lib and links statically to it
310 %{__rm} ilasm/ilasm_grammar.c
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`"
325 --enable-threads=pthreads \
326 %{?with_libjit:--with-jit}
331 rm -rf $RPM_BUILD_ROOT
333 DESTDIR=$RPM_BUILD_ROOT
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
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.*
347 rm -rf $RPM_BUILD_ROOT
349 %post tools -p /sbin/postshell
350 -/usr/sbin/fix-info-dir -c %{_infodir}
352 %postun tools -p /sbin/postshell
353 -/usr/sbin/fix-info-dir -c %{_infodir}
356 %defattr(644,root,root,755)
359 %defattr(644,root,root,755)
360 %attr(755,root,root) %{_bindir}/ilrun
361 %attr(755,root,root) %{_bindir}/clrwrap
363 %{_mandir}/man1/ilrun.1*
364 %{_mandir}/man1/clrwrap.1*
367 %defattr(644,root,root,755)
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*
386 %files compiler-ilasm
387 %defattr(644,root,root,755)
388 %attr(755,root,root) %{_bindir}/ilasm
389 %{_mandir}/man1/ilasm.1*
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
397 %defattr(644,root,root,755)
398 %attr(755,root,root) %{_libdir}/cscc/plugins/cscc-java
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
405 %files compiler-visualbasic
406 %defattr(644,root,root,755)
407 %attr(755,root,root) %{_libdir}/cscc/plugins/cscc-vb
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*
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*
443 %defattr(644,root,root,755)
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