3 %bcond_without tex # don't build tex documentation
5 %define pari_version 2.5.5
6 %define gp2c_version 0.0.12
7 %define math_pari_version 2.01080605
8 Summary: Number Theory-oriented Computer Algebra System
9 Summary(pl.UTF-8): Komputerowy system obliczeń algebraicznych zorientowany na metody teorii liczb
11 Version: %{pari_version}
14 Group: Applications/Math
15 Source0: http://pari.math.u-bordeaux.fr/pub/pari/unix/pari-%{pari_version}.tar.gz
16 # Source0-md5: fbd6402f8d3d3213b0633ab9ef4a63d0
17 Source1: http://pari.math.u-bordeaux.fr/pub/pari/packages/galdata.tgz
18 # Source1-md5: f9f61b2930757a785b568e5d307a7d75
19 Source2: http://pari.math.u-bordeaux.fr/pub/pari/GP2C/gp2c-%{gp2c_version}.tar.gz
20 # Source2-md5: ab29c383985d1b7d339189ecff31d40a
21 Source3: http://www.cpan.org/modules/by-module/Math/Math-Pari-%{math_pari_version}.tar.gz
22 # Source3-md5: ccb3da2bdce184a5df3f52cfa8b43a85
23 Source4: %{name}.desktop
25 Patch0: %{name}-target_arch.patch
26 Patch1: %{name}-termcap.patch
27 Patch2: %{name}-arch.patch
28 Patch3: perl-Math-Pari-crash-workaround.patch
29 Patch4: perl-Math-Pari-update.patch
30 Patch5: %{name}-noproccpuinfo.patch
31 Patch6: gmp-version.patch
32 Patch7: Math-Pari-escape-left-braces-in-regex.patch
33 Patch8: escape-left-braces-in-regex.patch
34 Patch9: perl-no-dot-in-inc.patch
35 URL: http://pari.math.u-bordeaux.fr/
36 BuildRequires: autoconf
38 BuildRequires: gmp-devel
39 BuildRequires: perl-devel >= 1:5.8.0
40 BuildRequires: readline-devel >= 4.2
41 BuildRequires: rpm-perlprov >= 3.0.3-16
42 BuildRequires: rpmbuild(macros) >= 1.745
44 BuildRequires: texlive
45 BuildRequires: texlive-amstex
46 BuildRequires: texlive-csplain
47 BuildRequires: texlive-dvips
48 BuildRequires: texlive-fonts-cm
49 BuildRequires: texlive-format-pdflatex
50 BuildRequires: texlive-plain
51 BuildRequires: texlive-pdftex
52 BuildRequires: texlive-tex-babel
53 BuildRequires: texlive-tex-ruhyphen
55 BuildRequires: xorg-lib-libX11-devel
56 BuildRequires: xorg-util-imake
57 Requires: pari = %{pari_version}-%{release}
59 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
62 PARI/GP is a package which is aimed at efficient computations in
63 number theory, but also contains a large number of other useful
64 functions. It is somewhat related to a Computer Algebra System, but is
65 not really one since it treats symbolic expressions as mathematical
66 entities such as matrices, polynomials, series, etc..., and not as
67 expressions per se. However it is often much faster than other CAS,
68 and contains a large number of specific functions not found elsewhere,
69 essentially for use in number theory.
71 %description -l pl.UTF-8
72 System PARI/GP jest przeznaczony do wydajnych obliczeń z zakresu
73 teorii liczb, ale zawiera również inne przydatne funkcje. Jest nieco
74 spokrewniony z Komputerowymi Systemami Algebraicznymi, ale nie
75 identyczny, ponieważ traktuje wyrażenia symboliczne jako obiekty
76 matematyczne (macierze, wielomiany, szeregi itp.) a nie jako wyrażenia
77 same w sobie. Jest jednak często znacznie szybszy od innych KSA-ów a
78 ponadto zawiera wiele innych funkcji nie spotykanych gdzie indziej, a
79 przydatnych zwłaszcza w teorii liczb.
82 Summary: Shared PARI library (required by the parigp package)
83 Summary(pl.UTF-8): Biblioteka współdzielona PARI (wymagana przez pakiet parigp)
87 Shared PARI library. You need it to run PARI/GP.
89 %description -n pari -l pl.UTF-8
90 Biblioteka współdzielona PARI. Potrzebujesz jej do uruchomienia
93 %package -n pari-devel
94 Summary: Include files for PARI shared library
95 Summary(pl.UTF-8): Pliki nagłówkowe do biblioteki współdzielonej PARI
96 Group: Development/Libraries
97 Requires: pari = %{pari_version}-%{release}
99 %description -n pari-devel
100 Include files for shared PARI library. You need them to use PARI
101 routines in you own programs.
103 %description -n pari-devel -l pl.UTF-8
104 Pliki nagłówkowe biblioteki współdzielonej PARI. Będziesz ich
105 potrzebował, jeżeli będziesz chciał wykorzystywać procedury PARI w
108 %package -n pari-static
109 Summary: Static PARI library
110 Summary(pl.UTF-8): Statyczna biblioteka PARI
111 Group: Development/Libraries
112 Requires: pari-devel = %{pari_version}-%{release}
114 %description -n pari-static
115 Static PARI library. You need it to statically link your programs with
118 %description -n pari-static -l pl.UTF-8
119 Biblioteka statyczna PARI. Potrzebujesz jej do konsolidowania
120 statycznego swoich programów korzystających z biblioteki PARI.
123 Summary: Example PARI/GP scripts
124 Summary(pl.UTF-8): Przykładowe skrypty pisane w języku PARI/GP
125 Group: Applications/Math
126 Requires: %{name} = %{pari_version}-%{release}
129 Example PARI/GP scripts. You can write such programs on your own.
131 %description demos -l pl.UTF-8
132 Przykładowe skrypty pisane w języku PARI/GP. Sam możesz takie napisać.
135 Summary: Galois data resolvents for PARI/GP
136 Summary(pl.UTF-8): Reprezentacje danych Galois fla PARI/GP
137 Group: Applications/Math
138 Requires: %{name} = %{pari_version}-%{release}
141 Galois data resolvents for PARI/GP.
143 %description galdata -l pl.UTF-8
144 Reprezentacje danych Galois do PARI/GP.
147 Summary: PARI/GP to C translator
148 Summary(pl.UTF-8): Konwerter skryptów PARI/GP do języka C
149 Version: %{gp2c_version}
151 Group: Development/Tools
152 Requires: pari-devel = %{pari_version}-%{release}
153 Requires: %{name} = %{pari_version}-%{release}
156 PARI/GP to C translator. Use it to compile your own C programs which
157 use pari library, without necessarily being a C programmer. Note: use
158 gp2c-run to run your programs inside the PARI/GP environment.
160 %description gp2c -l pl.UTF-8
161 Konwerter skryptów PARI/GP do języka C. Można nim tworzyć własne
162 programy w C korzystające z biblioteki pari. Znajomość języka C nie
163 jest wymagana. Uwaga: do uruchamiania programów w środowisku PARI/GP
164 należy używać gp2c-run.
166 %package -n perl-Math-Pari
167 Summary: Math-Pari perl module
168 Summary(pl.UTF-8): Moduł perla Math-Pari
169 Version: %{math_pari_version}
170 Group: Development/Languages/Perl
172 %description -n perl-Math-Pari
173 The Perl interface to the PARI part of GP/PARI.
175 %description -n perl-Math-Pari -l pl.UTF-8
176 Interfejs Perla do biblioteki PARI.
179 %setup -q -n pari-%{pari_version} -a 2 -a 3
189 cd Math-Pari-%{math_pari_version}
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}
206 %{__make} -C Olinux-%{_target_cpu} all \
208 CFLAGS="%{rpmcflags} -fno-strict-aliasing -fomit-frame-pointer -fPIC"
212 %{?with_tex:%{__make} -j1 -C doc docpdf}
214 ln -s Olinux-%{_target_cpu} Olinux-x86_64
217 ln -s Olinux-%{_target_cpu} Olinux-ix86
219 %ifarch sparc sparc64
220 # allow building sparc package on sparc64
221 ln -s Olinux-sparc Olinux-sparc64
225 cd gp2c-%{gp2c_version}
230 --datadir=%{_datadir}/parigp
233 %{?with_tex:%{__make} -j1 -C doc docall}
238 cd Math-Pari-%{math_pari_version}
239 cp -f ../Olinux-%{_target_cpu}/paricfg.h libPARI/paricfg.h
240 echo '#define DL_DFLT_NAME NULL' >>libPARI/paricfg.h
242 %{__perl} Makefile.PL \
246 OPTIMIZE="%{rpmcflags} -I$(pwd)/../Olinux-%{_target_cpu}"
251 rm -rf $RPM_BUILD_ROOT
252 install -d $RPM_BUILD_ROOT{%{_datadir}/parigp/galdata,%{_examplesdir}/parigp} \
253 $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}}
255 # parigp, pari & pari-devel
257 DESTDIR=$RPM_BUILD_ROOT
259 install src/tags $RPM_BUILD_ROOT%{_datadir}/parigp/misc
260 install %{SOURCE4} $RPM_BUILD_ROOT%{_desktopdir}
261 install %{SOURCE5} $RPM_BUILD_ROOT%{_pixmapsdir}
264 install Olinux-%{_target_cpu}/libpari.a $RPM_BUILD_ROOT%{_libdir}/libpari.a
267 install examples/* $RPM_BUILD_ROOT%{_examplesdir}/parigp
270 tar zxvf %{SOURCE1} -C $RPM_BUILD_ROOT%{_datadir}/parigp/galdata
273 %{__make} install -C gp2c-%{gp2c_version} \
274 DESTDIR=$RPM_BUILD_ROOT
277 %{__make} install -C Math-Pari-%{math_pari_version} \
278 DESTDIR=$RPM_BUILD_ROOT
280 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/pari.1
281 echo ".so gp.1" > $RPM_BUILD_ROOT%{_mandir}/man1/pari.1
283 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/parigp/{examples,doc}
284 %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/Math/libPARI*.pod
287 rm -rf $RPM_BUILD_ROOT
289 %post -n pari -p /sbin/ldconfig
290 %postun -n pari -p /sbin/ldconfig
293 %defattr(644,root,root,755)
294 %doc AUTHORS CHANGES* COMPAT MACHINES NEW README examples/Inputrc %{?with_tex:doc/*.pdf}
295 %attr(755,root,root) %{_bindir}/gp-2.5
296 %attr(755,root,root) %{_bindir}/gp
297 %attr(755,root,root) %{_bindir}/gphelp
298 %attr(755,root,root) %{_bindir}/tex2mail
299 %dir %{_datadir}/parigp
300 %{_datadir}/parigp/PARI
301 %{_datadir}/parigp/misc
302 %{_datadir}/parigp/pari.desc
303 %{_mandir}/man1/gp.1*
304 %{_mandir}/man1/gp-*.1*
305 %{_mandir}/man1/gphelp.1*
306 %{_mandir}/man1/pari.1*
307 %{_mandir}/man1/tex2mail.1*
308 %{_desktopdir}/parigp.desktop
309 %{_pixmapsdir}/parigp.png
312 %defattr(644,root,root,755)
313 %attr(755,root,root) %{_libdir}/libpari-gmp.so.*.*.*
314 %ghost %attr(755,root,root) %{_libdir}/libpari-gmp.so.3
318 %defattr(644,root,root,755)
319 %attr(755,root,root) %{_libdir}/libpari.so
322 %files -n pari-static
323 %defattr(644,root,root,755)
327 %defattr(644,root,root,755)
328 %doc examples/EXPLAIN
329 %{_examplesdir}/parigp
332 %defattr(644,root,root,755)
333 %{_datadir}/parigp/galdata
336 %defattr(644,root,root,755)
337 %attr(755,root,root) %{_bindir}/gp2c*
338 %doc gp2c-%{gp2c_version}/{AUTHORS,ChangeLog,NEWS,README,BUGS,doc/*.{html,png}}
339 %{?with_tex:%doc gp2c-%{gp2c_version}/doc/gp2c.pdf}
340 %{_datadir}/parigp/gp2c
341 %{_mandir}/man1/gp2c*.1*
343 %files -n perl-Math-Pari
344 %defattr(644,root,root,755)
345 %doc Math-Pari-%{math_pari_version}/{Changes,README,TODO}
346 %{perl_vendorarch}/Math/Pari.pm
347 %{perl_vendorarch}/Math/PariInit.pm
348 %dir %{perl_vendorarch}/auto/Math/Pari
349 %attr(755,root,root) %{perl_vendorarch}/auto/Math/Pari/Pari.so
350 %{_mandir}/man3/Math::Pari.3pm*
351 %{_mandir}/man3/Math::PariInit.3pm*
352 %{_mandir}/man3/Math::libPARI.3pm*
353 %{_mandir}/man3/Math::libPARI.dumb.3pm*