]> git.pld-linux.org Git - packages/parigp.git/blob - parigp.spec
629e252e4a4055939155b687a2e0d1f705fd8f50
[packages/parigp.git] / parigp.spec
1 #
2 # Conditional build:
3 %bcond_without  tex     # don't build tex documentation
4 #
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
10 Name:           parigp
11 Version:        %{pari_version}
12 Release:        18
13 License:        GPL
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
24 Source5:        %{name}.png
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
37 BuildRequires:  ctags
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
43 %if %{with tex}
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
54 %endif
55 BuildRequires:  xorg-lib-libX11-devel
56 BuildRequires:  xorg-util-imake
57 Requires:       pari = %{pari_version}-%{release}
58 Requires:       xdvi
59 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
60
61 %description
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.
70
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.
80
81 %package -n pari
82 Summary:        Shared PARI library (required by the parigp package)
83 Summary(pl.UTF-8):      Biblioteka współdzielona PARI (wymagana przez pakiet parigp)
84 Group:          Libraries
85
86 %description -n pari
87 Shared PARI library. You need it to run PARI/GP.
88
89 %description -n pari -l pl.UTF-8
90 Biblioteka współdzielona PARI. Potrzebujesz jej do uruchomienia
91 PARI/GP.
92
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}
98
99 %description -n pari-devel
100 Include files for shared PARI library. You need them to use PARI
101 routines in you own programs.
102
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
106 swoich programach.
107
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}
113
114 %description -n pari-static
115 Static PARI library. You need it to statically link your programs with
116 PARI.
117
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.
121
122 %package demos
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}
127
128 %description demos
129 Example PARI/GP scripts. You can write such programs on your own.
130
131 %description demos -l pl.UTF-8
132 Przykładowe skrypty pisane w języku PARI/GP. Sam możesz takie napisać.
133
134 %package galdata
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}
139
140 %description galdata
141 Galois data resolvents for PARI/GP.
142
143 %description galdata -l pl.UTF-8
144 Reprezentacje danych Galois do PARI/GP.
145
146 %package gp2c
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}
150 Epoch:          1
151 Group:          Development/Tools
152 Requires:       pari-devel = %{pari_version}-%{release}
153 Requires:       %{name} = %{pari_version}-%{release}
154
155 %description gp2c
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.
159
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.
165
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
171
172 %description -n perl-Math-Pari
173 The Perl interface to the PARI part of GP/PARI.
174
175 %description -n perl-Math-Pari -l pl.UTF-8
176 Interfejs Perla do biblioteki PARI.
177
178 %prep
179 %setup -q -n pari-%{pari_version} -a 2 -a 3
180 %patch0 -p1
181 %patch1 -p1
182 %patch2 -p1
183 %patch3 -p1
184 %patch4 -p1
185 %patch5 -p1
186 %patch6 -p1
187 %patch8 -p1
188 %patch9 -p1
189 cd Math-Pari-%{math_pari_version}
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
206 %{__make} -C Olinux-%{_target_cpu} all \
207         CC="%{__cc}" \
208         CFLAGS="%{rpmcflags} -fno-strict-aliasing -fomit-frame-pointer -fPIC"
209
210 %{__make} ctags
211
212 %{?with_tex:%{__make} -j1 -C doc docpdf}
213 %ifarch x32
214 ln -s Olinux-%{_target_cpu} Olinux-x86_64
215 %endif
216 %ifarch %{ix86}
217 ln -s Olinux-%{_target_cpu} Olinux-ix86
218 %endif
219 %ifarch sparc sparc64
220 # allow building sparc package on sparc64
221 ln -s Olinux-sparc Olinux-sparc64
222 %endif
223
224 # gp2c
225 cd gp2c-%{gp2c_version}
226
227 ln -sf .. pari
228 %{__autoconf}
229 %configure \
230         --datadir=%{_datadir}/parigp
231
232 %{__make}
233 %{?with_tex:%{__make} -j1 -C doc docall}
234
235 cd ..
236
237 # math-pari
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
241
242 %{__perl} Makefile.PL \
243         INSTALLDIRS=vendor
244
245 %{__make} \
246         OPTIMIZE="%{rpmcflags} -I$(pwd)/../Olinux-%{_target_cpu}"
247
248 # %{__make} test
249
250 %install
251 rm -rf $RPM_BUILD_ROOT
252 install -d $RPM_BUILD_ROOT{%{_datadir}/parigp/galdata,%{_examplesdir}/parigp} \
253         $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}}
254
255 # parigp, pari & pari-devel
256 %{__make} install \
257         DESTDIR=$RPM_BUILD_ROOT
258
259 install src/tags $RPM_BUILD_ROOT%{_datadir}/parigp/misc
260 install %{SOURCE4} $RPM_BUILD_ROOT%{_desktopdir}
261 install %{SOURCE5} $RPM_BUILD_ROOT%{_pixmapsdir}
262
263 # pari-static
264 install Olinux-%{_target_cpu}/libpari.a $RPM_BUILD_ROOT%{_libdir}/libpari.a
265
266 # parigp-demos
267 install examples/* $RPM_BUILD_ROOT%{_examplesdir}/parigp
268
269 # galdata
270 tar zxvf %{SOURCE1} -C $RPM_BUILD_ROOT%{_datadir}/parigp/galdata
271
272 # gp2c
273 %{__make} install -C gp2c-%{gp2c_version} \
274         DESTDIR=$RPM_BUILD_ROOT
275
276 # math-pari
277 %{__make} install -C Math-Pari-%{math_pari_version} \
278         DESTDIR=$RPM_BUILD_ROOT
279
280 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/pari.1
281 echo ".so gp.1" > $RPM_BUILD_ROOT%{_mandir}/man1/pari.1
282
283 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/parigp/{examples,doc}
284 %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/Math/libPARI*.pod
285
286 %clean
287 rm -rf $RPM_BUILD_ROOT
288
289 %post   -n pari -p /sbin/ldconfig
290 %postun -n pari -p /sbin/ldconfig
291
292 %files
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
310
311 %files -n pari
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
315 %{_libdir}/parigp
316
317 %files -n pari-devel
318 %defattr(644,root,root,755)
319 %attr(755,root,root) %{_libdir}/libpari.so
320 %{_includedir}/pari
321
322 %files -n pari-static
323 %defattr(644,root,root,755)
324 %{_libdir}/libpari.a
325
326 %files demos
327 %defattr(644,root,root,755)
328 %doc examples/EXPLAIN
329 %{_examplesdir}/parigp
330
331 %files galdata
332 %defattr(644,root,root,755)
333 %{_datadir}/parigp/galdata
334
335 %files gp2c
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*
342
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*
This page took 0.038347 seconds and 2 git commands to generate.