/[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.22 Revision 1.29
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.22 2009/06/21 10:34:44 aballier Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/texlive-module.eclass,v 1.29 2010/01/07 19:13:01 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#
49 49
50HOMEPAGE="http://www.tug.org/texlive/" 50HOMEPAGE="http://www.tug.org/texlive/"
51 51
52COMMON_DEPEND=">=app-text/texlive-core-${PV}" 52COMMON_DEPEND=">=app-text/texlive-core-${PV}"
53 53
54IUSE="" 54IUSE="source"
55 55
56# TeX Live 2007 was providing .zip files of CTAN packages. For 2008 they are now 56# TeX Live 2008 was providing .tar.lzma files of CTAN packages. For 2009 they are now
57# .tar.lzma 57# .tar.xz
58if [ "${PV#2008}" != "${PV}" ]; then
59 PKGEXT=tar.lzma
60 DEPEND="${COMMON_DEPEND}
61 || ( app-arch/xz-utils app-arch/lzma-utils )"
62else
63 PKGEXT=tar.xz
64 DEPEND="${COMMON_DEPEND}
65 app-arch/xz-utils"
66fi
67
58for i in ${TEXLIVE_MODULE_CONTENTS}; do 68for i in ${TEXLIVE_MODULE_CONTENTS}; do
59 SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${PV}.tar.lzma" 69 SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${PV}.${PKGEXT}"
60done 70done
61DEPEND="${COMMON_DEPEND}
62 app-arch/lzma-utils"
63IUSE="${IUSE} source"
64 71
65# Forge doc SRC_URI 72# Forge doc SRC_URI
66[ -n "${PN##*documentation*}" ] && [ -n "${TEXLIVE_MODULE_DOC_CONTENTS}" ] && SRC_URI="${SRC_URI} doc? (" 73[ -n "${PN##*documentation*}" ] && [ -n "${TEXLIVE_MODULE_DOC_CONTENTS}" ] && SRC_URI="${SRC_URI} doc? ("
67for i in ${TEXLIVE_MODULE_DOC_CONTENTS}; do 74for i in ${TEXLIVE_MODULE_DOC_CONTENTS}; do
68 SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${PV}.tar.lzma" 75 SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${PV}.${PKGEXT}"
69done 76done
70[ -n "${PN##*documentation*}" ] && [ -n "${TEXLIVE_MODULE_DOC_CONTENTS}" ] && SRC_URI="${SRC_URI} )" 77[ -n "${PN##*documentation*}" ] && [ -n "${TEXLIVE_MODULE_DOC_CONTENTS}" ] && SRC_URI="${SRC_URI} )"
71 78
72# Forge source SRC_URI 79# Forge source SRC_URI
73if [ -n "${TEXLIVE_MODULE_SRC_CONTENTS}" ] ; then 80if [ -n "${TEXLIVE_MODULE_SRC_CONTENTS}" ] ; then
74 SRC_URI="${SRC_URI} source? (" 81 SRC_URI="${SRC_URI} source? ("
75 for i in ${TEXLIVE_MODULE_SRC_CONTENTS}; do 82 for i in ${TEXLIVE_MODULE_SRC_CONTENTS}; do
76 SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${PV}.tar.lzma" 83 SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${PV}.${PKGEXT}"
77 done 84 done
78 SRC_URI="${SRC_URI} )" 85 SRC_URI="${SRC_URI} )"
79fi 86fi
80 87
81RDEPEND="${COMMON_DEPEND}" 88RDEPEND="${COMMON_DEPEND}"
82 89
83[ -z "${PN##*documentation*}" ] || IUSE="${IUSE} doc" 90[ -z "${PN##*documentation*}" ] || IUSE="${IUSE} doc"
84 91
85S="${WORKDIR}" 92S="${WORKDIR}"
86 93
94if [ "${PV#2008}" == "${PV}" ]; then
95
96# @FUNCTION: texlive-module_src_unpack
97# @DESCRIPTION:
98# Only for TeX Live 2009.
99# Gives tar.xz unpack support until we can use an EAPI with that support.
100
101RELOC_TARGET=texmf-dist
102
103texlive-module_src_unpack() {
104 local i s
105 for i in ${A}
106 do
107 s="${DISTDIR%/}/${i}"
108 einfo "Unpacking ${s} to ${PWD}"
109 test -s "${s}" || die "${s} does not exist"
110 xz -dc -- "${s}" | tar xof - || die "Unpacking ${s} failed"
111 done
112 grep RELOC tlpkg/tlpobj/* | awk '{print $2}' | sed 's#^RELOC/##' > "${T}/reloclist"
113 { for i in $(<"${T}/reloclist"); do dirname $i; done; } | uniq | sort -r > "${T}/dirlist"
114 for i in $(<"${T}/dirlist"); do
115 [ -d "${RELOC_TARGET}/${i}" ] || mkdir -p "${RELOC_TARGET}/${i}"
116 done
117 for i in $(<"${T}/reloclist"); do
118 mv "${i}" "${RELOC_TARGET}"/$(dirname "${i}") || die "failed to relocate ${i} to ${RELOC_TARGET}/$(dirname ${i})"
119 done
120}
121
122fi
87 123
88# @FUNCTION: texlive-module_make_language_def_lines 124# @FUNCTION: texlive-module_make_language_def_lines
89# @DESCRIPTION: 125# @DESCRIPTION:
90# Only valid for TeXLive 2008.
91# Creates a language.${PN}.def entry to put in /etc/texmf/language.def.d 126# Creates a language.${PN}.def entry to put in /etc/texmf/language.def.d
92# It parses the AddHyphen directive of tlpobj files to create it. 127# It parses the AddHyphen directive of tlpobj files to create it.
93 128
94texlive-module_make_language_def_lines() { 129texlive-module_make_language_def_lines() {
95 local lefthyphenmin righthyphenmin synonyms name file 130 local lefthyphenmin righthyphenmin synonyms name file
139texlive-module_src_compile() { 174texlive-module_src_compile() {
140 # Build format files 175 # Build format files
141 for i in texmf/fmtutil/format*.cnf; do 176 for i in texmf/fmtutil/format*.cnf; do
142 if [ -f "${i}" ]; then 177 if [ -f "${i}" ]; then
143 einfo "Building format ${i}" 178 einfo "Building format ${i}"
144 TEXMFHOME="${S}/texmf:${S}/texmf-dist:${S}/texmf-var"\ 179 VARTEXFONTS="${T}/fonts" TEXMFHOME="${S}/texmf:${S}/texmf-dist:${S}/texmf-var"\
145 fmtutil --cnffile "${i}" --fmtdir "${S}/texmf-var/web2c" --all\ 180 env -u TEXINPUTS fmtutil --cnffile "${i}" --fmtdir "${S}/texmf-var/web2c" --all\
146 || die "failed to build format ${i}" 181 || die "failed to build format ${i}"
147 fi 182 fi
148 done 183 done
149 184
150 # Generate config files 185 # Generate config files
177 einfo "Language file $parameter already generated.";; 212 einfo "Language file $parameter already generated.";;
178 *) 213 *)
179 die "No rule to proccess ${command}. Please file a bug." 214 die "No rule to proccess ${command}. Please file a bug."
180 esac 215 esac
181 done 216 done
217
218 # Delete ls-R files, these should not be created but better be certain they
219 # do not end up being installed.
220 find . -name 'ls-R' -delete
182} 221}
183 222
184# @FUNCTION: texlive-module_src_install 223# @FUNCTION: texlive-module_src_install
185# @DESCRIPTION: 224# @DESCRIPTION:
186# exported function: 225# exported function:
257 ewarn "Your texmf tree might be inconsistent with your configuration" 296 ewarn "Your texmf tree might be inconsistent with your configuration"
258 ewarn "Please try to figure what has happened" 297 ewarn "Please try to figure what has happened"
259 fi 298 fi
260} 299}
261 300
301if [ "${PV#2008}" != "${PV}" ]; then
262EXPORT_FUNCTIONS src_compile src_install pkg_postinst pkg_postrm 302EXPORT_FUNCTIONS src_compile src_install pkg_postinst pkg_postrm
303else
304EXPORT_FUNCTIONS src_unpack src_compile src_install pkg_postinst pkg_postrm
305fi

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

  ViewVC Help
Powered by ViewVC 1.1.20