| 1 | # Copyright 1999-2011 Gentoo Foundation |
1 | # Copyright 1999-2012 Gentoo Foundation |
| 2 | # Distributed under the terms of the GNU General Public License v2 |
2 | # Distributed under the terms of the GNU General Public License v2 |
| 3 | # $Header: /var/cvsroot/gentoo-x86/eclass/texlive-module.eclass,v 1.60 2011/08/29 01:28:10 vapier Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/texlive-module.eclass,v 1.61 2012/03/22 12:03:54 aballier Exp $ |
| 4 | |
4 | |
| 5 | # @ECLASS: texlive-module.eclass |
5 | # @ECLASS: texlive-module.eclass |
| 6 | # @MAINTAINER: |
6 | # @MAINTAINER: |
| 7 | # tex@gentoo.org |
7 | # tex@gentoo.org |
| 8 | # @AUTHOR: |
8 | # @AUTHOR: |
| … | |
… | |
| 25 | |
25 | |
| 26 | # @ECLASS-VARIABLE: TEXLIVE_MODULE_CONTENTS |
26 | # @ECLASS-VARIABLE: TEXLIVE_MODULE_CONTENTS |
| 27 | # @DESCRIPTION: |
27 | # @DESCRIPTION: |
| 28 | # The list of packages that will be installed. This variable will be expanded to |
28 | # The list of packages that will be installed. This variable will be expanded to |
| 29 | # SRC_URI: |
29 | # SRC_URI: |
| 30 | # |
|
|
| 31 | # For TeX Live 2008: foo -> texlive-module-foo-${PV}.tar.lzma |
|
|
| 32 | # For TeX Live 2009: foo -> texlive-module-foo-${PV}.tar.xz |
30 | # foo -> texlive-module-foo-${PV}.tar.xz |
| 33 | |
31 | |
| 34 | # @ECLASS-VARIABLE: TEXLIVE_MODULE_DOC_CONTENTS |
32 | # @ECLASS-VARIABLE: TEXLIVE_MODULE_DOC_CONTENTS |
| 35 | # @DESCRIPTION: |
33 | # @DESCRIPTION: |
| 36 | # The list of packages that will be installed if the doc useflag is enabled. |
34 | # The list of packages that will be installed if the doc useflag is enabled. |
| 37 | # Expansion to SRC_URI is the same as for TEXLIVE_MODULE_CONTENTS. This is only |
35 | # Expansion to SRC_URI is the same as for TEXLIVE_MODULE_CONTENTS. |
| 38 | # valid for TeX Live 2008 and later. |
|
|
| 39 | |
36 | |
| 40 | # @ECLASS-VARIABLE: TEXLIVE_MODULE_SRC_CONTENTS |
37 | # @ECLASS-VARIABLE: TEXLIVE_MODULE_SRC_CONTENTS |
| 41 | # @DESCRIPTION: |
38 | # @DESCRIPTION: |
| 42 | # The list of packages that will be installed if the source useflag is enabled. |
39 | # The list of packages that will be installed if the source useflag is enabled. |
| 43 | # Expansion to SRC_URI is the same as for TEXLIVE_MODULE_CONTENTS. This is only |
40 | # Expansion to SRC_URI is the same as for TEXLIVE_MODULE_CONTENTS. |
| 44 | # valid for TeX Live 2008 and later. |
|
|
| 45 | |
41 | |
| 46 | # @ECLASS-VARIABLE: TEXLIVE_MODULE_BINSCRIPTS |
42 | # @ECLASS-VARIABLE: TEXLIVE_MODULE_BINSCRIPTS |
| 47 | # @DESCRIPTION: |
43 | # @DESCRIPTION: |
| 48 | # A space separated list of files that are in fact scripts installed in the |
44 | # A space separated list of files that are in fact scripts installed in the |
| 49 | # texmf tree and that we want to be available directly. They will be installed in |
45 | # texmf tree and that we want to be available directly. They will be installed in |
| … | |
… | |
| 66 | |
62 | |
| 67 | COMMON_DEPEND=">=app-text/texlive-core-${TL_PV:-${PV}}" |
63 | COMMON_DEPEND=">=app-text/texlive-core-${TL_PV:-${PV}}" |
| 68 | |
64 | |
| 69 | IUSE="source" |
65 | IUSE="source" |
| 70 | |
66 | |
| 71 | # TeX Live 2008 was providing .tar.lzma files of CTAN packages. |
67 | # Starting from TeX Live 2009, upstream provides .tar.xz modules. |
| 72 | # For 2009 and 2010 they are now .tar.xz |
|
|
| 73 | if [ "${PV#2008}" != "${PV}" ]; then |
|
|
| 74 | PKGEXT=tar.lzma |
68 | PKGEXT=tar.xz |
| 75 | DEPEND="${COMMON_DEPEND} |
69 | DEPEND="${COMMON_DEPEND} |
| 76 | || ( app-arch/xz-utils app-arch/lzma-utils )" |
|
|
| 77 | else |
|
|
| 78 | PKGEXT=tar.xz |
|
|
| 79 | DEPEND="${COMMON_DEPEND} |
|
|
| 80 | app-arch/xz-utils" |
70 | app-arch/xz-utils" |
| 81 | fi |
|
|
| 82 | |
71 | |
| 83 | for i in ${TEXLIVE_MODULE_CONTENTS}; do |
72 | for i in ${TEXLIVE_MODULE_CONTENTS}; do |
| 84 | SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${PV}.${PKGEXT}" |
73 | SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${PV}.${PKGEXT}" |
| 85 | done |
74 | done |
| 86 | |
75 | |
| … | |
… | |
| 103 | RDEPEND="${COMMON_DEPEND}" |
92 | RDEPEND="${COMMON_DEPEND}" |
| 104 | |
93 | |
| 105 | [ -z "${PN##*documentation*}" ] || IUSE="${IUSE} doc" |
94 | [ -z "${PN##*documentation*}" ] || IUSE="${IUSE} doc" |
| 106 | |
95 | |
| 107 | S="${WORKDIR}" |
96 | S="${WORKDIR}" |
| 108 | |
|
|
| 109 | if [ "${PV#2008}" = "${PV}" ]; then |
|
|
| 110 | |
97 | |
| 111 | # @FUNCTION: texlive-module_src_unpack |
98 | # @FUNCTION: texlive-module_src_unpack |
| 112 | # @DESCRIPTION: |
99 | # @DESCRIPTION: |
| 113 | # Only for TeX Live 2009 and later. |
100 | # Only for TeX Live 2009 and later. |
| 114 | # Gives tar.xz unpack support until we can use an EAPI with that support. |
101 | # Gives tar.xz unpack support until we can use an EAPI with that support. |
| … | |
… | |
| 141 | done |
128 | done |
| 142 | for i in $(<"${T}/reloclist"); do |
129 | for i in $(<"${T}/reloclist"); do |
| 143 | mv "${i}" "${RELOC_TARGET}"/$(dirname "${i}") || die "failed to relocate ${i} to ${RELOC_TARGET}/$(dirname ${i})" |
130 | mv "${i}" "${RELOC_TARGET}"/$(dirname "${i}") || die "failed to relocate ${i} to ${RELOC_TARGET}/$(dirname ${i})" |
| 144 | done |
131 | done |
| 145 | } |
132 | } |
| 146 | |
|
|
| 147 | fi |
|
|
| 148 | |
133 | |
| 149 | # @FUNCTION: texlive-module_add_format |
134 | # @FUNCTION: texlive-module_add_format |
| 150 | # @DESCRIPTION: |
135 | # @DESCRIPTION: |
| 151 | # Creates/appends to a format.${PN}.cnf file for fmtutil. |
136 | # Creates/appends to a format.${PN}.cnf file for fmtutil. |
| 152 | # It parses the AddFormat directive of tlpobj files to create it. |
137 | # It parses the AddFormat directive of tlpobj files to create it. |
| … | |
… | |
| 276 | addDvipdfmMap) |
261 | addDvipdfmMap) |
| 277 | echo "f ${parameter}" >> "${S}/${PN}-config";; |
262 | echo "f ${parameter}" >> "${S}/${PN}-config";; |
| 278 | AddHyphen) |
263 | AddHyphen) |
| 279 | texlive-module_make_language_def_lines "$parameter" |
264 | texlive-module_make_language_def_lines "$parameter" |
| 280 | texlive-module_make_language_dat_lines "$parameter" |
265 | texlive-module_make_language_dat_lines "$parameter" |
| 281 | [ "${PV#2008}" = "${PV}" -a "${PV#2009}" = "${PV}" ] && texlive-module_make_language_lua_lines "$parameter" |
266 | texlive-module_make_language_lua_lines "$parameter" |
| 282 | ;; |
267 | ;; |
| 283 | AddFormat) |
268 | AddFormat) |
| 284 | texlive-module_add_format "$parameter";; |
269 | texlive-module_add_format "$parameter";; |
| 285 | BuildFormat) |
270 | BuildFormat) |
| 286 | einfo "Format $parameter already built.";; |
271 | einfo "Format $parameter already built.";; |
| … | |
… | |
| 377 | |
362 | |
| 378 | texlive-module_pkg_postrm() { |
363 | texlive-module_pkg_postrm() { |
| 379 | etexmf-update |
364 | etexmf-update |
| 380 | } |
365 | } |
| 381 | |
366 | |
| 382 | if [ "${PV#2008}" != "${PV}" ]; then |
|
|
| 383 | EXPORT_FUNCTIONS src_compile src_install pkg_postinst pkg_postrm |
|
|
| 384 | else |
|
|
| 385 | EXPORT_FUNCTIONS src_unpack src_compile src_install pkg_postinst pkg_postrm |
367 | EXPORT_FUNCTIONS src_unpack src_compile src_install pkg_postinst pkg_postrm |
| 386 | fi |
|
|