/[gentoo-x86]/eclass/texlive-module.eclass
Gentoo

Diff of /eclass/texlive-module.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.15 Revision 1.22
1# Copyright 1999-2008 Gentoo Foundation 1# Copyright 1999-2008 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.15 2008/08/22 11:31:40 aballier Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/texlive-module.eclass,v 1.22 2009/06/21 10:34:44 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# 8#
37# @DESCRIPTION: 37# @DESCRIPTION:
38# The list of packages that will be installed if the source useflag is enabled. 38# The list of packages that will be installed if the source useflag is enabled.
39# Expansion to SRC_URI is the same as for TEXLIVE_MODULE_CONTENTS. This is only 39# Expansion to SRC_URI is the same as for TEXLIVE_MODULE_CONTENTS. This is only
40# valid for TeX Live 2008 40# valid for TeX Live 2008
41 41
42# @ECLASS-VARIABLE: TEXLIVE_MODULE_BINSCRIPTS
43# @DESCRIPTION:
44# A space separated list of files that are in fact scripts installed in the
45# texmf tree and that we want to be available directly. They will be installed in
46# /usr/bin.
47
42inherit texlive-common 48inherit texlive-common
43 49
44HOMEPAGE="http://www.tug.org/texlive/" 50HOMEPAGE="http://www.tug.org/texlive/"
45 51
46COMMON_DEPEND=">=app-text/texlive-core-${PV} 52COMMON_DEPEND=">=app-text/texlive-core-${PV}"
47 ${TEXLIVE_MODULES_DEPS}"
48 53
49IUSE="" 54IUSE=""
50 55
51# TeX Live 2007 was providing .zip files of CTAN packages. For 2008 they are now 56# TeX Live 2007 was providing .zip files of CTAN packages. For 2008 they are now
52# .tar.lzma 57# .tar.lzma
53if [ -z "${PV##2007*}" ] ; then
54for i in ${TEXLIVE_MODULE_CONTENTS}; do
55 SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${PV}.zip"
56done
57DEPEND="${COMMON_DEPEND}
58 app-arch/unzip"
59else
60for i in ${TEXLIVE_MODULE_CONTENTS}; do 58for i in ${TEXLIVE_MODULE_CONTENTS}; do
61 SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${PV}.tar.lzma" 59 SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${PV}.tar.lzma"
62done 60done
63DEPEND="${COMMON_DEPEND} 61DEPEND="${COMMON_DEPEND}
64 app-arch/lzma-utils" 62 app-arch/lzma-utils"
77 for i in ${TEXLIVE_MODULE_SRC_CONTENTS}; do 75 for i in ${TEXLIVE_MODULE_SRC_CONTENTS}; do
78 SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${PV}.tar.lzma" 76 SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${PV}.tar.lzma"
79 done 77 done
80 SRC_URI="${SRC_URI} )" 78 SRC_URI="${SRC_URI} )"
81fi 79fi
82fi
83 80
84RDEPEND="${COMMON_DEPEND}" 81RDEPEND="${COMMON_DEPEND}"
85 82
86[ -z "${PN##*documentation*}" ] || IUSE="${IUSE} doc" 83[ -z "${PN##*documentation*}" ] || IUSE="${IUSE} doc"
87 84
89 86
90 87
91# @FUNCTION: texlive-module_make_language_def_lines 88# @FUNCTION: texlive-module_make_language_def_lines
92# @DESCRIPTION: 89# @DESCRIPTION:
93# Only valid for TeXLive 2008. 90# Only valid for TeXLive 2008.
94# Creates a language.${PN}.def entry to put in /etc/texmf/langauge.def.d 91# Creates a language.${PN}.def entry to put in /etc/texmf/language.def.d
95# It parses the AddHyphen directive of tlpobj files to create it. 92# It parses the AddHyphen directive of tlpobj files to create it.
96 93
97texlive-module_make_language_def_lines() { 94texlive-module_make_language_def_lines() {
98 local lefthyphenmin righthyphenmin synonyms name file 95 local lefthyphenmin righthyphenmin synonyms name file
99 eval $@ 96 eval $@
110} 107}
111 108
112# @FUNCTION: texlive-module_make_language_dat_lines 109# @FUNCTION: texlive-module_make_language_dat_lines
113# @DESCRIPTION: 110# @DESCRIPTION:
114# Only valid for TeXLive 2008. 111# Only valid for TeXLive 2008.
115# Creates a language.${PN}.dat entry to put in /etc/texmf/langauge.dat.d 112# Creates a language.${PN}.dat entry to put in /etc/texmf/language.dat.d
116# It parses the AddHyphen directive of tlpobj files to create it. 113# It parses the AddHyphen directive of tlpobj files to create it.
117 114
118texlive-module_make_language_dat_lines() { 115texlive-module_make_language_dat_lines() {
119 local lefthyphenmin righthyphenmin synonyms name file 116 local lefthyphenmin righthyphenmin synonyms name file
120 eval $@ 117 eval $@
142texlive-module_src_compile() { 139texlive-module_src_compile() {
143 # Build format files 140 # Build format files
144 for i in texmf/fmtutil/format*.cnf; do 141 for i in texmf/fmtutil/format*.cnf; do
145 if [ -f "${i}" ]; then 142 if [ -f "${i}" ]; then
146 einfo "Building format ${i}" 143 einfo "Building format ${i}"
147 TEXMFHOME="${S}/texmf:${S}/texmf-dist"\ 144 TEXMFHOME="${S}/texmf:${S}/texmf-dist:${S}/texmf-var"\
148 fmtutil --cnffile "${i}" --fmtdir "${S}/texmf-var/web2c" --all\ 145 fmtutil --cnffile "${i}" --fmtdir "${S}/texmf-var/web2c" --all\
149 || die "failed to build format ${i}" 146 || die "failed to build format ${i}"
150 fi 147 fi
151 done 148 done
152 149
153 # Generate config files 150 # Generate config files
154 # TeX Live 2007 was providing lists. For 2008 they are now tlpobj. 151 # TeX Live 2007 was providing lists. For 2008 they are now tlpobj.
155 if [ -z "${PV##2007*}" ] ; then
156 for i in "${S}"/texmf/lists/*;
157 do
158 grep '^!' "${i}" | sed -e 's/^!//' | tr ' ' '@' |sort|uniq >> "${T}/jobs"
159 done
160 else
161 for i in "${S}"/tlpkg/tlpobj/*; 152 for i in "${S}"/tlpkg/tlpobj/*;
162 do 153 do
163 grep '^execute ' "${i}" | sed -e 's/^execute //' | tr ' ' '@' |sort|uniq >> "${T}/jobs" 154 grep '^execute ' "${i}" | sed -e 's/^execute //' | tr ' ' '@' |sort|uniq >> "${T}/jobs"
164 done 155 done
165 fi
166 156
167 for i in $(<"${T}/jobs"); 157 for i in $(<"${T}/jobs");
168 do 158 do
169 j="$(echo $i | tr '@' ' ')" 159 j="$(echo $i | tr '@' ' ')"
170 command=${j%% *} 160 command=${j%% *}
199texlive-module_src_install() { 189texlive-module_src_install() {
200 for i in texmf/fmtutil/format*.cnf; do 190 for i in texmf/fmtutil/format*.cnf; do
201 [ -f "${i}" ] && etexlinks "${i}" 191 [ -f "${i}" ] && etexlinks "${i}"
202 done 192 done
203 193
204 insinto /usr/share 194 dodir /usr/share
205 if [ -z "${PN##*documentation*}" ] || use doc; then 195 if [ -z "${PN##*documentation*}" ] || use doc; then
206 [ -d texmf-doc ] && doins -r texmf-doc 196 [ -d texmf-doc ] && cp -pR texmf-doc "${D}/usr/share/"
207 else 197 else
208 [ -d texmf/doc ] && rm -rf texmf/doc 198 [ -d texmf/doc ] && rm -rf texmf/doc
209 [ -d texmf-dist/doc ] && rm -rf texmf-dist/doc 199 [ -d texmf-dist/doc ] && rm -rf texmf-dist/doc
210 fi 200 fi
211 201
212 [ -d texmf ] && doins -r texmf 202 [ -d texmf ] && cp -pR texmf "${D}/usr/share/"
213 [ -d texmf-dist ] && doins -r texmf-dist 203 [ -d texmf-dist ] && cp -pR texmf-dist "${D}/usr/share/"
214 [ -n "${PV##2007*}" ] && [ -d tlpkg ] && use source && doins -r tlpkg 204 [ -d tlpkg ] && use source && cp -pR tlpkg "${D}/usr/share/"
215 205
216 insinto /var/lib/texmf 206 insinto /var/lib/texmf
217 [ -d texmf-var ] && doins -r texmf-var/* 207 [ -d texmf-var ] && doins -r texmf-var/*
218 208
219 insinto /etc/texmf/updmap.d 209 insinto /etc/texmf/updmap.d
230 220
231 if [ -f "${S}/language.${PN}.dat" ] ; then 221 if [ -f "${S}/language.${PN}.dat" ] ; then
232 insinto /etc/texmf/language.dat.d 222 insinto /etc/texmf/language.dat.d
233 doins "${S}/language.${PN}.dat" 223 doins "${S}/language.${PN}.dat"
234 fi 224 fi
225 [ -n "${TEXLIVE_MODULE_BINSCRIPTS}" ] && dobin_texmf_scripts ${TEXLIVE_MODULE_BINSCRIPTS}
235 226
236 texlive-common_handle_config_files 227 texlive-common_handle_config_files
237} 228}
238 229
239# @FUNCTION: texlive-module_pkg_postinst 230# @FUNCTION: texlive-module_pkg_postinst

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.22

  ViewVC Help
Powered by ViewVC 1.1.20