1 |
%define _binary_payload w9.gzdio |
2 |
%define _source_payload w9.gzdio |
3 |
|
4 |
# need to bootstrap first |
5 |
# - xindy need clisp in main |
6 |
# - let asymptote be packaged separately, as the generated one is known |
7 |
# to not be fully functional |
8 |
%define enable_asymptote 0 |
9 |
%define enable_xindy 0 |
10 |
|
11 |
# in its own package |
12 |
%define enable_xdvik 0 |
13 |
%define enable_dvi2tty 0 |
14 |
|
15 |
%define with_system_poppler 1 |
16 |
%define with_system_dialog 1 |
17 |
%define with_system_icu 1 |
18 |
%define with_system_lcdf 0 |
19 |
%define with_system_psutils 1 |
20 |
%define with_system_t1lib 1 |
21 |
%define with_system_tex4ht 0 |
22 |
%define with_system_teckit 0 |
23 |
|
24 |
%define enable_shared 1 |
25 |
|
26 |
%define texmfbindir %{_bindir} |
27 |
%define texmfdir %{_datadir}/texmf |
28 |
%define texmfdistdir %{_datadir}/texmf-dist |
29 |
%define texmflocaldir %{_datadir}/texmf-local |
30 |
%define texmfextradir %{_datadir}/texmf-extra |
31 |
%define texmffontsdir %{_datadir}/texmf-fonts |
32 |
%define texmfprojectdir %{_datadir}/texmf-project |
33 |
%define texmfvardir %{_localstatedir}/lib/texmf |
34 |
%define texmfconfdir %{_sysconfdir}/texmf |
35 |
|
36 |
#----------------------------------------------------------------------- |
37 |
Name: texlive |
38 |
Version: 20120701 |
39 |
Release: %mkrel 3 |
40 |
Summary: The TeX formatting system |
41 |
Group: Publishing |
42 |
License: http://www.tug.org/texlive/LICENSE.TL |
43 |
URL: http://tug.org/texlive/ |
44 |
Source0: ftp://tug.org/historic/systems/texlive/2012/%{name}-%{version}-source.tar.xz |
45 |
Source1: ftp://tug.org/historic/systems/texlive/2012/%{name}-%{version}-source.tar.xz.sha256 |
46 |
|
47 |
Provides: tetex = %{version}-%{release} |
48 |
Provides: context = %{version}-%{release} |
49 |
Provides: dvipdfm = %{version}-%{release} |
50 |
Provides: dvips = %{version}-%{release} |
51 |
Provides: mfwin = %{version}-%{release} |
52 |
Provides: usrlocal = %{version}-%{release} |
53 |
%if %{enable_xdvik} |
54 |
Obsoletes: tetex-xdvi <= 3.1 |
55 |
Provides: xdvi = %{version}-%{release} |
56 |
Obsoletes: xdvi <= 22.86 |
57 |
Obsoletes: texlive-xdvi <= 2007 |
58 |
%endif |
59 |
Provides: afm = %{version}-%{release} |
60 |
Provides: dvilj = %{version}-%{release} |
61 |
Provides: dvipdfm = %{version}-%{release} |
62 |
Provides: tetex-dvips = %{version}-%{release} |
63 |
Provides: dviutils = %{version}-%{release} |
64 |
Provides: tetex-latex = %{version}-%{release} |
65 |
Provides: latex = %{version}-%{release} |
66 |
|
67 |
Obsoletes: kpathsea <= 2007 |
68 |
Obsoletes: pdfjam <= 1.21 |
69 |
Obsoletes: tetex <= 3.1 |
70 |
Obsoletes: tetex-context <= 3.1 |
71 |
Obsoletes: tetex-devel <= 3.1 |
72 |
Obsoletes: tetex-dvipdfm <= 3.1 |
73 |
Obsoletes: tetex-dvips <= 3.1 |
74 |
Obsoletes: tetex-dvips <= 3.1 |
75 |
Obsoletes: tetex-dvilj <= 3.0 |
76 |
Obsoletes: tetex-latex <= 3.1 |
77 |
Obsoletes: tetex-mfwin <= 3.1 |
78 |
Obsoletes: tetex-usrlocal <= 3.1 |
79 |
Obsoletes: texlive-afm <= 2007 |
80 |
Obsoletes: texlive-context <= 2007 |
81 |
Obsoletes: texlive-dvilj <= 2007 |
82 |
Obsoletes: texlive-dvipdfm <= 2007 |
83 |
Obsoletes: texlive-dvips <= 2007 |
84 |
Obsoletes: texlive-dviutils <= 2007 |
85 |
Obsoletes: texlive-latex <= 2007 |
86 |
Obsoletes: texlive-mfwin <= 2007 |
87 |
Obsoletes: texlive-fonts <= 2007 |
88 |
|
89 |
#----------------------------------------------------------------------- |
90 |
%if %{with_system_dialog} |
91 |
Requires: cdialog |
92 |
%endif |
93 |
Requires: ghostscript |
94 |
%if %{enable_asymptote} |
95 |
Requires: gv |
96 |
Requires: tkinter |
97 |
%endif |
98 |
%if %{with_system_lcdf} |
99 |
Requires: lcdf-typetoools |
100 |
%else |
101 |
Provides: lcdf-typetools = %{version} |
102 |
Obsoletes: lcdf-typetools <= 2.59-5 |
103 |
%endif |
104 |
%if %{with_system_psutils} |
105 |
Requires: psutils |
106 |
%endif |
107 |
%if %{with_system_teckit} |
108 |
Requires: teckit |
109 |
%endif |
110 |
%if %{with_system_tex4ht} |
111 |
Requires: tex4ht |
112 |
%else |
113 |
Provides: tex4ht = %{version} |
114 |
Obsoletes: tex4ht <= 1:1.0.2008_02_28_2058 |
115 |
%endif |
116 |
Conflicts: texlive-texmf < %{version} |
117 |
Requires(post): texlive-texmf = %{version} |
118 |
Requires: ruby |
119 |
|
120 |
#----------------------------------------------------------------------- |
121 |
BuildRequires: bison |
122 |
%if %{enable_xindy} |
123 |
BuildRequires: clisp |
124 |
BuildRequires: ffcall-devel |
125 |
%endif |
126 |
%if %{enable_asymptote} |
127 |
BuildRequires: fftw-devel |
128 |
BuildRequires: flex |
129 |
%endif |
130 |
BuildRequires: freetype-devel |
131 |
BuildRequires: fontconfig-devel |
132 |
BuildRequires: gd-devel |
133 |
%if %{enable_asymptote} |
134 |
BuildRequires: libgc-devel |
135 |
BuildRequires: libsigsegv-devel |
136 |
BuildRequires: ghostscript-dvipdf |
137 |
BuildRequires: gsl-devel |
138 |
BuildRequires: GL-devel |
139 |
%endif |
140 |
BuildRequires: libgd-devel |
141 |
%if %{with_system_poppler} |
142 |
BuildRequires: pkgconfig(poppler) |
143 |
%endif |
144 |
BuildRequires: libxaw-devel |
145 |
%if !%{with_system_dialog} |
146 |
BuildRequires: ncurses-devel |
147 |
%endif |
148 |
BuildRequires: png-devel |
149 |
%if %{with_system_t1lib} |
150 |
BuildRequires: t1lib-devel |
151 |
%endif |
152 |
%if %{with_system_teckit} |
153 |
BuildRequires: teckit-devel |
154 |
%endif |
155 |
%if %{with_system_icu} |
156 |
BuildRequires: icu-devel |
157 |
%endif |
158 |
%if %{enable_xindy} |
159 |
BuildRequires: texlive |
160 |
%endif |
161 |
%if %{enable_asymptote} |
162 |
BuildRequires: texinfo |
163 |
%endif |
164 |
BuildRequires: zziplib-devel |
165 |
|
166 |
#----------------------------------------------------------------------- |
167 |
Patch1: texlive-20110312-asymptote.patch |
168 |
Patch2: texlive-20110312-xdvi.patch |
169 |
Patch3: texlive-20120701-format-string.patch |
170 |
|
171 |
#----------------------------------------------------------------------- |
172 |
%description |
173 |
TeX Live is an easy way to get up and running with the TeX document |
174 |
production system. It provides a comprehensive TeX system. It includes |
175 |
all the major TeX-related programs, macro packages, and fonts that are |
176 |
free software, including support for many languages around the world. |
177 |
|
178 |
%files |
179 |
%defattr(-,root,root,-) |
180 |
%{texmfbindir}/* |
181 |
%dir %{texmfvardir} |
182 |
%dir %{texmfconfdir} |
183 |
|
184 |
#----------------------------------------------------------------------- |
185 |
%if %{enable_shared} |
186 |
######################################################################## |
187 |
%define kpathsea_major 6 |
188 |
%define kpathsea %{mklibname kpathsea %{kpathsea_major}} |
189 |
|
190 |
%package -n %{kpathsea} |
191 |
Summary: Path searching library for TeX-related files |
192 |
Group: System/Libraries |
193 |
Provides: kpathsea = %{version}-%{release} |
194 |
|
195 |
%description -n %{kpathsea} |
196 |
Kpathsea implements generic path searching, configuration, |
197 |
and TeX-specific file searching. |
198 |
|
199 |
%files -n %{kpathsea} |
200 |
%defattr(-,root,root,-) |
201 |
%{_libdir}/libkpathsea.so.%{kpathsea_major} |
202 |
%{_libdir}/libkpathsea.so.%{kpathsea_major}.* |
203 |
|
204 |
#----------------------------------------------------------------------- |
205 |
%define kpathsea_devel %{mklibname -d kpathsea} |
206 |
|
207 |
%package -n %{kpathsea_devel} |
208 |
Summary: Kpathsea development files |
209 |
Group: Development/C |
210 |
Requires: kpathsea = %{version}-%{release} |
211 |
Provides: kpathsea-devel = %{version}-%{release} |
212 |
|
213 |
%description -n %{kpathsea_devel} |
214 |
Kpathsea implements generic path searching, configuration, |
215 |
and TeX-specific file searching. |
216 |
This package includes the kpathsea development files. |
217 |
|
218 |
%files -n %{kpathsea_devel} |
219 |
%defattr(-,root,root,-) |
220 |
%{_includedir}/kpathsea |
221 |
%{_libdir}/libkpathsea.la |
222 |
%{_libdir}/libkpathsea.so |
223 |
|
224 |
#----------------------------------------------------------------------- |
225 |
%define kpathsea_static_devel %{mklibname -d -s kpathsea} |
226 |
|
227 |
%package -n %{kpathsea_static_devel} |
228 |
Summary: Kpathsea development files |
229 |
Group: Development/C |
230 |
Requires: kpathsea-devel = %{version}-%{release} |
231 |
Provides: kpathsea-devel-static = %{version}-%{release} |
232 |
|
233 |
%description -n %{kpathsea_static_devel} |
234 |
Kpathsea implements generic path searching, configuration, |
235 |
and TeX-specific file searching. |
236 |
This package includes the static kpathsea library. |
237 |
|
238 |
%files -n %{kpathsea_static_devel} |
239 |
%defattr(-,root,root,-) |
240 |
%{_libdir}/libkpathsea.a |
241 |
|
242 |
#----------------------------------------------------------------------- |
243 |
%define ptexenc_major 1 |
244 |
%define ptexenc %{mklibname ptexenc %{ptexenc_major}} |
245 |
|
246 |
%package -n %{ptexenc} |
247 |
Summary: Library for Japanese pTeX |
248 |
Group: System/Libraries |
249 |
Provides: ptexenc = %{version}-%{release} |
250 |
|
251 |
%description -n %{ptexenc} |
252 |
ptexenc is a useful library for Japanese pTeX |
253 |
(which stands for publishing TeX, and is an extension of |
254 |
TeX by ASCII Co.) and its surrounding tools. |
255 |
|
256 |
%files -n %{ptexenc} |
257 |
%defattr(-,root,root,-) |
258 |
%{_libdir}/libptexenc.so.%{ptexenc_major} |
259 |
%{_libdir}/libptexenc.so.%{ptexenc_major}.* |
260 |
|
261 |
#----------------------------------------------------------------------- |
262 |
%define ptexenc_devel %{mklibname -d ptexenc} |
263 |
|
264 |
%package -n %{ptexenc_devel} |
265 |
Summary: Library for Japanese pTeX |
266 |
Group: Development/C |
267 |
Requires: ptexenc = %{version}-%{release} |
268 |
Provides: ptexenc-devel = %{version}-%{release} |
269 |
|
270 |
%description -n %{ptexenc_devel} |
271 |
ptexenc is a useful library for Japanese pTeX |
272 |
(which stands for publishing TeX, and is an extension of |
273 |
TeX by ASCII Co.) and its surrounding tools. |
274 |
This package includes the ptexenc development files. |
275 |
|
276 |
%files -n %{ptexenc_devel} |
277 |
%defattr(-,root,root,-) |
278 |
%{_includedir}/ptexenc |
279 |
%{_libdir}/libptexenc.la |
280 |
%{_libdir}/libptexenc.so |
281 |
|
282 |
#----------------------------------------------------------------------- |
283 |
%define ptexenc_static_devel %{mklibname -d -s ptexenc} |
284 |
|
285 |
%package -n %{ptexenc_static_devel} |
286 |
Summary: Library for Japanese pTeX |
287 |
Group: Development/C |
288 |
Requires: ptexenc-devel = %{version}-%{release} |
289 |
Provides: ptexenc-devel-static = %{version}-%{release} |
290 |
|
291 |
%description -n %{ptexenc_static_devel} |
292 |
ptexenc is a useful library for Japanese pTeX |
293 |
(which stands for publishing TeX, and is an extension of |
294 |
TeX by ASCII Co.) and its surrounding tools. |
295 |
This package includes the static ptexenc library. |
296 |
|
297 |
%files -n %{ptexenc_static_devel} |
298 |
%defattr(-,root,root,-) |
299 |
%{_libdir}/libptexenc.a |
300 |
|
301 |
######################################################################## |
302 |
# enable_shared |
303 |
%endif |
304 |
|
305 |
#----------------------------------------------------------------------- |
306 |
%prep |
307 |
%setup -q -n %{name}-%{version}-source |
308 |
%if %{enable_asymptote} |
309 |
%patch1 -p1 |
310 |
%endif |
311 |
%patch2 -p1 |
312 |
%patch3 -p1 |
313 |
|
314 |
# setup default builtin values, added to paths.h from texmf.cnf |
315 |
perl -pi -e 's%^(TEXMFMAIN\s+= ).*%$1%{texmfdir}%;' \ |
316 |
-e 's%^(TEXMFDIST\s+= ).*%$1%{texmfdistdir}%;' \ |
317 |
-e 's%^(TEXMFLOCAL\s+= ).*%$1%{texmflocaldir}%;' \ |
318 |
-e 's%^(TEXMFSYSVAR\s+= ).*%$1%{texmfvardir}%;' \ |
319 |
-e 's%^(TEXMFSYSCONFIG\s+= ).*%$1%{texmfconfdir}%;' \ |
320 |
-e 's%^(TEXMFHOME\s+= ).*%$1\$HOME/texmf%;' \ |
321 |
-e 's%^(TEXMFVAR\s+= ).*%$1\$HOME/.texlive2011/texmf-var%;' \ |
322 |
-e 's%^(TEXMFCONFIG\s+= ).*%$1\$HOME/.texlive2011/texmf-config%;'\ |
323 |
-e 's%^(OSFONTDIR\s+= ).*%$1%{_datadir}/fonts%;' \ |
324 |
texk/kpathsea/texmf.cnf |
325 |
|
326 |
#----------------------------------------------------------------------- |
327 |
%build |
328 |
|
329 |
[ -d Work ] || mkdir Work |
330 |
pushd Work |
331 |
ln -sf ../configure . |
332 |
|
333 |
%configure2_5x \ |
334 |
--with-banner-add="/Mageia" \ |
335 |
--disable-native-texlive-build \ |
336 |
--enable-missing \ |
337 |
%if %{enable_shared} |
338 |
--enable-shared \ |
339 |
%else |
340 |
--disable-shared \ |
341 |
%endif |
342 |
%if %{enable_xindy} |
343 |
--enable-xindy \ |
344 |
%else |
345 |
--disable-xindy \ |
346 |
%endif |
347 |
%if %{enable_xdvik} |
348 |
--enable-xdvik \ |
349 |
%else |
350 |
--disable-xdvik \ |
351 |
%endif |
352 |
%if %{enable_dvi2tty} |
353 |
--enable-dvi2tty \ |
354 |
%else |
355 |
--disable-dvi2tty \ |
356 |
%endif |
357 |
--with-system-freetype \ |
358 |
--with-freetype-includes=%{_includedir}/freetype \ |
359 |
--with-system-freetype2 \ |
360 |
--with-freetype2-includes=%{_includedir}/freetype2 \ |
361 |
%if %{with_system_dialog} |
362 |
--disable-dialog \ |
363 |
%else |
364 |
--enable-dialog \ |
365 |
%endif |
366 |
%if %{with_system_psutils} |
367 |
--disable-psutils \ |
368 |
%else |
369 |
--enable-psutils \ |
370 |
%endif |
371 |
--with-system-gd \ |
372 |
%if %{with_system_lcdf} |
373 |
--disable-lcdf-typetools \ |
374 |
%endif |
375 |
--with-system-png \ |
376 |
%if %{with_system_t1lib} |
377 |
--with-system-t1lib \ |
378 |
--disable-t1utils \ |
379 |
%endif |
380 |
%if %{with_system_teckit} |
381 |
--disable-teckit \ |
382 |
--with-teckit-includes=%{_includedir}/teckit \ |
383 |
%endif |
384 |
%if %{with_system_tex4ht} |
385 |
--disable-tex4htk \ |
386 |
%endif |
387 |
%if %{with_system_icu} |
388 |
--with-system-icu \ |
389 |
%else |
390 |
--without-system-icu \ |
391 |
%endif |
392 |
%if %{with_system_poppler} |
393 |
--with-system-xpdf \ |
394 |
%else |
395 |
--without-system-xpdf \ |
396 |
%endif |
397 |
--with-system-zziplib |
398 |
%make |
399 |
|
400 |
popd |
401 |
|
402 |
%if %{enable_asymptote} |
403 |
pushd utils/asymptote |
404 |
%configure2_5x \ |
405 |
--enable-gc=system \ |
406 |
--enable-texlive-build \ |
407 |
--datadir=%{texmfdir} |
408 |
%make |
409 |
popd |
410 |
%endif |
411 |
|
412 |
#----------------------------------------------------------------------- |
413 |
%install |
414 |
pushd Work |
415 |
%makeinstall_std |
416 |
popd |
417 |
|
418 |
%if %{enable_asymptote} |
419 |
pushd utils/asymptote |
420 |
%makeinstall_std |
421 |
popd |
422 |
%endif |
423 |
|
424 |
mkdir -p %{buildroot}%{_datadir} |
425 |
for dir in texmf texmf-dist; do |
426 |
if [ -d %{buildroot}%{_prefix}/$dir ]; then |
427 |
rm -fr %{buildroot}%{_datadir}/$dir |
428 |
mv %{buildroot}%{_prefix}/$dir %{buildroot}%{_datadir} |
429 |
fi |
430 |
done |
431 |
|
432 |
mkdir -p %{buildroot}%{texmfvardir} |
433 |
mkdir -p %{buildroot}%{texmfconfdir} |
434 |
|
435 |
%if %{with_system_lcdf} |
436 |
# stray directory left |
437 |
rm -fr %{buildroot}%{_datadir}/lcdf-typetools-for-tex-live |
438 |
%else |
439 |
# openmpi has a program with the same name |
440 |
if [ -f %{buildroot}%{texmfbindir}/otfinfo ]; then |
441 |
mv -f %{buildroot}%{texmfbindir}/otfinfo{,-texlive} |
442 |
fi |
443 |
%endif |
444 |
|
445 |
pushd %{buildroot}%{texmfbindir} |
446 |
# missing symbolic links |
447 |
ln -sf aleph lamed |
448 |
ln -sf luatex dvilualatex |
449 |
ln -sf luatex lualatex |
450 |
ln -sf luatex dviluatex |
451 |
ln -sf pdftex amstex |
452 |
ln -sf pdftex cslatex |
453 |
ln -sf pdftex csplain |
454 |
ln -sf pdftex eplain |
455 |
ln -sf pdftex etex |
456 |
ln -sf pdftex latex |
457 |
ln -sf pdftex mex |
458 |
ln -sf pdftex mltex |
459 |
ln -sf pdftex mllatex |
460 |
ln -sf pdftex pdfcslatex |
461 |
ln -sf pdftex pdfcsplain |
462 |
ln -sf pdftex pdfetex |
463 |
ln -sf pdftex pdflatex |
464 |
ln -sf pdftex pdfmex |
465 |
ln -sf pdftex physe |
466 |
ln -sf pdftex phyzzx |
467 |
ln -sf pdftex utf8mex |
468 |
ln -sf pdftex texsis |
469 |
ln -sf ptex platex |
470 |
ln -sf mpost metafun |
471 |
ln -sf mpost mfplain |
472 |
ln -sf xetex xelatex |
473 |
# correct symlinks |
474 |
for file in *; do |
475 |
link=`readlink $file` || : |
476 |
if [ "x$link" != "x" ]; then |
477 |
ln -sf `echo $link | \ |
478 |
sed -e 's|\.\./.*texmf-dist/|%{texmfdistdir}/|' \ |
479 |
-e 's|\.\./.*texmf/|%{texmfdir}/|'` \ |
480 |
$file |
481 |
fi |
482 |
done |
483 |
%if %{with_system_dialog} |
484 |
ln -sf %{_bindir}/dialog tcdialog |
485 |
%endif |
486 |
%if %{enable_asymptote} |
487 |
ln -sf %{texmfdir}/asymptote/GUI/xasy.py xasy |
488 |
%endif |
489 |
# install scripts from texlive-texmf |
490 |
rm -f a2ping afm2afm arlatex authorindex autoinst bibexport \ |
491 |
bundledoc cachepic cmap2enc de-macro dviasm ebong e2pall \ |
492 |
epspdf epspdftk epstopdf fig4latex findhyph font2afm \ |
493 |
fragmaster ht htcontext htlatex htmex httex httexi htxelatex \ |
494 |
htxetex latex2man latexdiff latexdiff-vc latexmk latexrevise \ |
495 |
listings-ext.sh makeglossaries mathspic mk4ht mkgrkindex \ |
496 |
mkjobtexmf mkluatexfontdb mkt1font mptopdf ot2kpx pdf180 \ |
497 |
pdf270 pdf90 pdfannotextractor pdfatfi pdfbook pdfcrop \ |
498 |
pdfflip pdfjam pdfjam-pocketmod pdfjam-slides3up \ |
499 |
pdfjam-slides6up pdfjoin pdfnup pdfpun pdfthumb perltex \ |
500 |
pfm2kpx pkfix pkfix-helper ppower4 ps4pdf pst2pdf purifyeps \ |
501 |
repstopdf rpdfcrop rungs showglyphs simpdftex splitindex \ |
502 |
svn-multi texcount texdiff texdirflatten texdoc texdoctk \ |
503 |
texloganalyser thumbpdf tlmgr ulqda updmap vpe vpl2ovp \ |
504 |
vpl2vpl |
505 |
popd |
506 |
|
507 |
# use texmf data |
508 |
rm -fr %{buildroot}%{texmfdir} %{buildroot}%{texmfdistdir} |
509 |
|
510 |
# install manual pages and info files from texlive-texmf tarball |
511 |
rm -fr %{buildroot}%{_mandir} %{buildroot}%{_infodir} |
512 |
|
513 |
%if !%{enable_shared} |
514 |
# do not generate dynamic libraries and do not install static ones |
515 |
rm -fr %{buildroot}%{_libdir} |
516 |
rm -fr %{buildroot}%{_includedir} |
517 |
%endif |
518 |
|
519 |
#----------------------------------------------------------------------- |
520 |
%posttrans |
521 |
rm -f %{texmfdir}/ls-R %{texmfdistdir}/ls-R |
522 |
%{texmfbindir}/mktexlsr %{texmfdir} %{texmfdistdir} > /dev/null |
523 |
%{texmfbindir}/updmap-sys --syncwithtrees > /dev/null |
524 |
%{texmfbindir}/texconfig-sys init > /dev/null |
525 |
%{texmfbindir}/mtxrun --generate > /dev/null |