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