3 %bcond_without tex # TeX documentation
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
15 Version: %{pari_version}
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
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
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
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
57 BuildRequires: xorg-lib-libX11-devel
58 BuildRequires: xorg-util-imake
59 Requires: pari = %{pari_version}-%{release}
61 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
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.
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.
84 Summary: Shared PARI library (required by the parigp package)
85 Summary(pl.UTF-8): Biblioteka współdzielona PARI (wymagana przez pakiet parigp)
89 Shared PARI library. You need it to run PARI/GP.
91 %description -n pari -l pl.UTF-8
92 Biblioteka współdzielona PARI. Potrzebujesz jej do uruchomienia
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}
101 %description -n pari-devel
102 Include files for shared PARI library. You need them to use PARI
103 routines in you own programs.
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
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}
116 %description -n pari-static
117 Static PARI library. You need it to statically link your programs with
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.
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}
131 Example PARI/GP scripts. You can write such programs on your own.
133 %description demos -l pl.UTF-8
134 Przykładowe skrypty pisane w języku PARI/GP. Sam możesz takie napisać.
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}
143 Galois data resolvents for PARI/GP.
145 %description galdata -l pl.UTF-8
146 Reprezentacje danych Galois do PARI/GP.
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}
153 Group: Development/Tools
154 Requires: pari-devel = %{pari_version}-%{release}
155 Requires: %{name} = %{pari_version}-%{release}
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.
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.
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
174 %description -n perl-Math-Pari
175 The Perl interface to the PARI part of GP/PARI.
177 %description -n perl-Math-Pari -l pl.UTF-8
178 Interfejs Perla do biblioteki PARI.
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
187 cd Math-Pari-%{math_pari_fversion}
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}
205 %{__make} -C Olinux-%{_target_cpu} all \
207 CFLAGS="%{rpmcflags} -fno-strict-aliasing -fomit-frame-pointer -fPIC"
211 %{?with_tex:%{__make} -j1 -C doc docpdf}
213 ln -s Olinux-%{_target_cpu} Olinux-x86_64
216 ln -s Olinux-%{_target_cpu} Olinux-ix86
218 %ifarch sparc sparc64
219 # allow building sparc package on sparc64
220 ln -s Olinux-sparc Olinux-sparc64
224 cd gp2c-%{gp2c_version}
229 --datadir=%{_datadir}/parigp
232 %{?with_tex:%{__make} -j1 -C doc docall}
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
241 %{__perl} Makefile.PL \
248 OPTIMIZE="%{rpmcflags} -I$(pwd)/../Olinux-%{_target_cpu}"
253 rm -rf $RPM_BUILD_ROOT
254 install -d $RPM_BUILD_ROOT{%{_datadir}/parigp/galdata,%{_examplesdir}/parigp} \
255 $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}}
257 # parigp, pari & pari-devel
259 DESTDIR=$RPM_BUILD_ROOT
261 install src/tags $RPM_BUILD_ROOT%{_datadir}/parigp/misc
262 install %{SOURCE4} $RPM_BUILD_ROOT%{_desktopdir}
263 install %{SOURCE5} $RPM_BUILD_ROOT%{_pixmapsdir}
266 install Olinux-%{_target_cpu}/libpari.a $RPM_BUILD_ROOT%{_libdir}/libpari.a
269 install examples/* $RPM_BUILD_ROOT%{_examplesdir}/parigp
272 tar zxvf %{SOURCE1} -C $RPM_BUILD_ROOT%{_datadir}/parigp/galdata
275 %{__make} install -C gp2c-%{gp2c_version} \
276 DESTDIR=$RPM_BUILD_ROOT
279 %{__make} install -C Math-Pari-%{math_pari_fversion} \
280 DESTDIR=$RPM_BUILD_ROOT
282 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/pari.1
283 echo ".so gp.1" > $RPM_BUILD_ROOT%{_mandir}/man1/pari.1
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
290 rm -rf $RPM_BUILD_ROOT
292 %post -n pari -p /sbin/ldconfig
293 %postun -n pari -p /sbin/ldconfig
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
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
321 %defattr(644,root,root,755)
322 %attr(755,root,root) %{_libdir}/libpari.so
325 %files -n pari-static
326 %defattr(644,root,root,755)
330 %defattr(644,root,root,755)
331 %doc examples/EXPLAIN
332 %{_examplesdir}/parigp
335 %defattr(644,root,root,755)
336 %{_datadir}/parigp/galdata
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*
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*