]> git.pld-linux.org Git - packages/parigp.git/blob - parigp.spec
- disable asm on x32
[packages/parigp.git] / parigp.spec
1 #
2 # Conditional build:
3 %bcond_without  tex     # TeX documentation
4 #
5 # latest perl Math::Pari (2.030518) doesn't know of pari >= 2.12
6 # see DEVEL-2.13 branch for 2.13.x packaging try
7 %define         pari_version            2.11.4
8 %define         gp2c_version            0.0.12
9 # because of previous 2.x versions with 8 minor digits, keep trailing zeros in package Version
10 %define         math_pari_version       2.03051800
11 %define         math_pari_fversion      2.030518
12 Summary:        Number Theory-oriented Computer Algebra System
13 Summary(pl.UTF-8):      Komputerowy system obliczeń algebraicznych zorientowany na metody teorii liczb
14 Name:           parigp
15 Version:        %{pari_version}
16 Release:        19
17 License:        GPL v2+
18 Group:          Applications/Math
19 #Source0:       http://pari.math.u-bordeaux.fr/pub/pari/unix/pari-%{pari_version}.tar.gz
20 Source0:        http://pari.math.u-bordeaux.fr/pub/pari/OLD/2.11/pari-%{pari_version}.tar.gz
21 # Source0-md5:  fb2968d7805424518fe44a59a2024afd
22 Source1:        http://pari.math.u-bordeaux.fr/pub/pari/packages/galdata.tgz
23 # Source1-md5:  f9f61b2930757a785b568e5d307a7d75
24 Source2:        http://pari.math.u-bordeaux.fr/pub/pari/GP2C/gp2c-%{gp2c_version}.tar.gz
25 # Source2-md5:  ab29c383985d1b7d339189ecff31d40a
26 Source3:        http://www.cpan.org/modules/by-module/Math/Math-Pari-%{math_pari_fversion}.zip
27 # Source3-md5:  f0d1d9f803c92abff0d6349869a82699
28 Source4:        %{name}.desktop
29 Source5:        %{name}.png
30 Patch0:         %{name}-target_arch.patch
31 Patch2:         %{name}-arch.patch
32 Patch3:         perl-Math-Pari-crash-workaround.patch
33 Patch4:         perl-Math-Pari-noproccpuinfo.patch
34 Patch5:         %{name}-noproccpuinfo.patch
35 Patch6:         gmp-version.patch
36 Patch7:         Math-Pari-escape-left-braces-in-regex.patch
37 URL:            http://pari.math.u-bordeaux.fr/
38 BuildRequires:  autoconf
39 BuildRequires:  ctags
40 BuildRequires:  gmp-devel
41 BuildRequires:  perl-devel >= 1:5.8.0
42 BuildRequires:  readline-devel >= 4.2
43 BuildRequires:  rpm-perlprov >= 3.0.3-16
44 BuildRequires:  rpmbuild(macros) >= 1.745
45 %if %{with tex}
46 BuildRequires:  texlive
47 BuildRequires:  texlive-amstex
48 BuildRequires:  texlive-csplain
49 BuildRequires:  texlive-dvips
50 BuildRequires:  texlive-fonts-cm
51 BuildRequires:  texlive-format-pdflatex
52 BuildRequires:  texlive-plain
53 BuildRequires:  texlive-pdftex
54 BuildRequires:  texlive-tex-babel
55 BuildRequires:  texlive-tex-ruhyphen
56 %endif
57 BuildRequires:  xorg-lib-libX11-devel
58 BuildRequires:  xorg-util-imake
59 Requires:       pari = %{pari_version}-%{release}
60 Requires:       xdvi
61 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
62
63 %description
64 PARI/GP is a package which is aimed at efficient computations in
65 number theory, but also contains a large number of other useful
66 functions. It is somewhat related to a Computer Algebra System, but is
67 not really one since it treats symbolic expressions as mathematical
68 entities such as matrices, polynomials, series, etc..., and not as
69 expressions per se. However it is often much faster than other CAS,
70 and contains a large number of specific functions not found elsewhere,
71 essentially for use in number theory.
72
73 %description -l pl.UTF-8
74 System PARI/GP jest przeznaczony do wydajnych obliczeń z zakresu
75 teorii liczb, ale zawiera również inne przydatne funkcje. Jest nieco
76 spokrewniony z Komputerowymi Systemami Algebraicznymi, ale nie
77 identyczny, ponieważ traktuje wyrażenia symboliczne jako obiekty
78 matematyczne (macierze, wielomiany, szeregi itp.) a nie jako wyrażenia
79 same w sobie. Jest jednak często znacznie szybszy od innych KSA-ów a
80 ponadto zawiera wiele innych funkcji nie spotykanych gdzie indziej, a
81 przydatnych zwłaszcza w teorii liczb.
82
83 %package -n pari
84 Summary:        Shared PARI library (required by the parigp package)
85 Summary(pl.UTF-8):      Biblioteka współdzielona PARI (wymagana przez pakiet parigp)
86 Group:          Libraries
87
88 %description -n pari
89 Shared PARI library. You need it to run PARI/GP.
90
91 %description -n pari -l pl.UTF-8
92 Biblioteka współdzielona PARI. Potrzebujesz jej do uruchomienia
93 PARI/GP.
94
95 %package -n pari-devel
96 Summary:        Include files for PARI shared library
97 Summary(pl.UTF-8):      Pliki nagłówkowe do biblioteki współdzielonej PARI
98 Group:          Development/Libraries
99 Requires:       pari = %{pari_version}-%{release}
100
101 %description -n pari-devel
102 Include files for shared PARI library. You need them to use PARI
103 routines in you own programs.
104
105 %description -n pari-devel -l pl.UTF-8
106 Pliki nagłówkowe biblioteki współdzielonej PARI. Będziesz ich
107 potrzebował, jeżeli będziesz chciał wykorzystywać procedury PARI w
108 swoich programach.
109
110 %package -n pari-static
111 Summary:        Static PARI library
112 Summary(pl.UTF-8):      Statyczna biblioteka PARI
113 Group:          Development/Libraries
114 Requires:       pari-devel = %{pari_version}-%{release}
115
116 %description -n pari-static
117 Static PARI library. You need it to statically link your programs with
118 PARI.
119
120 %description -n pari-static -l pl.UTF-8
121 Biblioteka statyczna PARI. Potrzebujesz jej do konsolidowania
122 statycznego swoich programów korzystających z biblioteki PARI.
123
124 %package demos
125 Summary:        Example PARI/GP scripts
126 Summary(pl.UTF-8):      Przykładowe skrypty pisane w języku PARI/GP
127 Group:          Applications/Math
128 Requires:       %{name} = %{pari_version}-%{release}
129
130 %description demos
131 Example PARI/GP scripts. You can write such programs on your own.
132
133 %description demos -l pl.UTF-8
134 Przykładowe skrypty pisane w języku PARI/GP. Sam możesz takie napisać.
135
136 %package galdata
137 Summary:        Galois data resolvents for PARI/GP
138 Summary(pl.UTF-8):      Reprezentacje danych Galois fla PARI/GP
139 Group:          Applications/Math
140 Requires:       %{name} = %{pari_version}-%{release}
141
142 %description galdata
143 Galois data resolvents for PARI/GP.
144
145 %description galdata -l pl.UTF-8
146 Reprezentacje danych Galois do PARI/GP.
147
148 %package gp2c
149 Summary:        PARI/GP to C translator
150 Summary(pl.UTF-8):      Konwerter skryptów PARI/GP do języka C
151 Version:        %{gp2c_version}
152 Epoch:          1
153 Group:          Development/Tools
154 Requires:       pari-devel = %{pari_version}-%{release}
155 Requires:       %{name} = %{pari_version}-%{release}
156
157 %description gp2c
158 PARI/GP to C translator. Use it to compile your own C programs which
159 use pari library, without necessarily being a C programmer. Note: use
160 gp2c-run to run your programs inside the PARI/GP environment.
161
162 %description gp2c -l pl.UTF-8
163 Konwerter skryptów PARI/GP do języka C. Można nim tworzyć własne
164 programy w C korzystające z biblioteki pari. Znajomość języka C nie
165 jest wymagana. Uwaga: do uruchamiania programów w środowisku PARI/GP
166 należy używać gp2c-run.
167
168 %package -n perl-Math-Pari
169 Summary:        Math-Pari perl module
170 Summary(pl.UTF-8):      Moduł perla Math-Pari
171 Version:        %{math_pari_version}
172 Group:          Development/Languages/Perl
173
174 %description -n perl-Math-Pari
175 The Perl interface to the PARI part of GP/PARI.
176
177 %description -n perl-Math-Pari -l pl.UTF-8
178 Interfejs Perla do biblioteki PARI.
179
180 %prep
181 %setup -q -n pari-%{pari_version} -a 2 -a 3
182 patch -p1 < Math-Pari-%{math_pari_fversion}/patches/diff-2.11.0-all
183 %patch0 -p1
184 %patch2 -p1
185 %patch5 -p1
186 %patch6 -p1
187 cd Math-Pari-%{math_pari_fversion}
188 %patch3 -p1
189 %patch4 -p1
190 %patch7 -p0
191
192 %build
193 # pari & parigp
194 ./Configure \
195         --target=%{_target_cpu} \
196         --prefix=%{_prefix} \
197         --libdir=%{_libdir} \
198         --sysdatadir=%{_libdir}/parigp \
199         --datadir=%{_datadir}/parigp \
200         --share-prefix=%{_datadir} \
201         --with-readline-lib=%{_libdir} \
202         --with-ncurses-lib=%{_libdir} \
203         --with-gmp-lib=%{_libdir}
204
205 %{__make} -C Olinux-%{_target_cpu} all \
206         CC="%{__cc}" \
207         CFLAGS="%{rpmcflags} -fno-strict-aliasing -fomit-frame-pointer -fPIC"
208
209 %{__make} ctags
210
211 %{?with_tex:%{__make} -j1 -C doc docpdf}
212 %ifarch x32
213 ln -s Olinux-%{_target_cpu} Olinux-x86_64
214 %endif
215 %ifarch %{ix86}
216 ln -s Olinux-%{_target_cpu} Olinux-ix86
217 %endif
218 %ifarch sparc sparc64
219 # allow building sparc package on sparc64
220 ln -s Olinux-sparc Olinux-sparc64
221 %endif
222
223 # gp2c
224 cd gp2c-%{gp2c_version}
225
226 ln -sf .. pari
227 %{__autoconf}
228 %configure \
229         --datadir=%{_datadir}/parigp
230
231 %{__make}
232 %{?with_tex:%{__make} -j1 -C doc docall}
233
234 cd ..
235
236 # math-pari
237 cd Math-Pari-%{math_pari_fversion}
238 cp -f ../Olinux-%{_target_cpu}/paricfg.h libPARI/paricfg.h
239 echo '#define DL_DFLT_NAME NULL' >>libPARI/paricfg.h
240
241 %{__perl} Makefile.PL \
242         INSTALLDIRS=vendor \
243 %ifarch x32
244         machine=none
245 %endif
246
247 %{__make} \
248         OPTIMIZE="%{rpmcflags} -I$(pwd)/../Olinux-%{_target_cpu}"
249
250 # %{__make} test
251
252 %install
253 rm -rf $RPM_BUILD_ROOT
254 install -d $RPM_BUILD_ROOT{%{_datadir}/parigp/galdata,%{_examplesdir}/parigp} \
255         $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}}
256
257 # parigp, pari & pari-devel
258 %{__make} install \
259         DESTDIR=$RPM_BUILD_ROOT
260
261 install src/tags $RPM_BUILD_ROOT%{_datadir}/parigp/misc
262 install %{SOURCE4} $RPM_BUILD_ROOT%{_desktopdir}
263 install %{SOURCE5} $RPM_BUILD_ROOT%{_pixmapsdir}
264
265 # pari-static
266 install Olinux-%{_target_cpu}/libpari.a $RPM_BUILD_ROOT%{_libdir}/libpari.a
267
268 # parigp-demos
269 install examples/* $RPM_BUILD_ROOT%{_examplesdir}/parigp
270
271 # galdata
272 tar zxvf %{SOURCE1} -C $RPM_BUILD_ROOT%{_datadir}/parigp/galdata
273
274 # gp2c
275 %{__make} install -C gp2c-%{gp2c_version} \
276         DESTDIR=$RPM_BUILD_ROOT
277
278 # math-pari
279 %{__make} install -C Math-Pari-%{math_pari_fversion} \
280         DESTDIR=$RPM_BUILD_ROOT
281
282 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/pari.1
283 echo ".so gp.1" > $RPM_BUILD_ROOT%{_mandir}/man1/pari.1
284
285 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/parigp/{examples,doc}
286 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/gp2c
287 %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/Math/libPARI*.pod
288
289 %clean
290 rm -rf $RPM_BUILD_ROOT
291
292 %post   -n pari -p /sbin/ldconfig
293 %postun -n pari -p /sbin/ldconfig
294
295 %files
296 %defattr(644,root,root,755)
297 %doc AUTHORS CHANGES* COMPAT NEW README examples/Inputrc %{?with_tex:doc/*.pdf}
298 %attr(755,root,root) %{_bindir}/gp-2.11
299 %attr(755,root,root) %{_bindir}/gp
300 %attr(755,root,root) %{_bindir}/gphelp
301 %attr(755,root,root) %{_bindir}/tex2mail
302 %dir %{_datadir}/parigp
303 %{_datadir}/parigp/PARI
304 %{_datadir}/parigp/misc
305 %{_datadir}/parigp/pari.desc
306 %{_mandir}/man1/gp.1*
307 %{_mandir}/man1/gp-*.1*
308 %{_mandir}/man1/gphelp.1*
309 %{_mandir}/man1/pari.1*
310 %{_mandir}/man1/tex2mail.1*
311 %{_desktopdir}/parigp.desktop
312 %{_pixmapsdir}/parigp.png
313
314 %files -n pari
315 %defattr(644,root,root,755)
316 %attr(755,root,root) %{_libdir}/libpari-gmp.so.*.*.*
317 %attr(755,root,root) %ghost %{_libdir}/libpari-gmp.so.6
318 %{_libdir}/parigp
319
320 %files -n pari-devel
321 %defattr(644,root,root,755)
322 %attr(755,root,root) %{_libdir}/libpari.so
323 %{_includedir}/pari
324
325 %files -n pari-static
326 %defattr(644,root,root,755)
327 %{_libdir}/libpari.a
328
329 %files demos
330 %defattr(644,root,root,755)
331 %doc examples/EXPLAIN
332 %{_examplesdir}/parigp
333
334 %files galdata
335 %defattr(644,root,root,755)
336 %{_datadir}/parigp/galdata
337
338 %files gp2c
339 %defattr(644,root,root,755)
340 %attr(755,root,root) %{_bindir}/gp2c*
341 %doc gp2c-%{gp2c_version}/{AUTHORS,ChangeLog,NEWS,README,BUGS,doc/*.{html,png}}
342 %{?with_tex:%doc gp2c-%{gp2c_version}/doc/gp2c.pdf}
343 %{_datadir}/parigp/gp2c
344 %{_mandir}/man1/gp2c*.1*
345
346 %files -n perl-Math-Pari
347 %defattr(644,root,root,755)
348 %doc Math-Pari-%{math_pari_fversion}/{Changes,README,TODO}
349 %{perl_vendorarch}/Math/Pari.pm
350 %{perl_vendorarch}/Math/PariInit.pm
351 %dir %{perl_vendorarch}/auto/Math/Pari
352 %attr(755,root,root) %{perl_vendorarch}/auto/Math/Pari/Pari.so
353 %{_mandir}/man3/Math::Pari.3pm*
354 %{_mandir}/man3/Math::PariInit.3pm*
355 %{_mandir}/man3/Math::libPARI.3pm*
356 %{_mandir}/man3/Math::libPARI.dumb.3pm*
This page took 0.121925 seconds and 3 git commands to generate.