/[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.33 Revision 1.37
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.33 2010/01/13 09:42:10 aballier Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/texlive-module.eclass,v 1.37 2010/10/23 16:38:26 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#
43# @DESCRIPTION: 43# @DESCRIPTION:
44# 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
45# 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
46# /usr/bin. 46# /usr/bin.
47 47
48# @ECLASS-VARIABLE: TL_PV
49# @DESCRIPTION:
50# Normally the module's PV reflects the TeXLive release it belongs to.
51# If this is not the case, TL_PV takes the version number for the
52# needed app-text/texlive-core.
53
48inherit texlive-common 54inherit texlive-common
49 55
50HOMEPAGE="http://www.tug.org/texlive/" 56HOMEPAGE="http://www.tug.org/texlive/"
51 57
52COMMON_DEPEND=">=app-text/texlive-core-${PV}" 58COMMON_DEPEND=">=app-text/texlive-core-${TL_PV:-${PV}}"
53 59
54IUSE="source" 60IUSE="source"
55 61
56# TeX Live 2008 was providing .tar.lzma files of CTAN packages. For 2009 they are now 62# TeX Live 2008 was providing .tar.lzma files of CTAN packages. For 2009 they are now
57# .tar.xz 63# .tar.xz
99# Gives tar.xz unpack support until we can use an EAPI with that support. 105# Gives tar.xz unpack support until we can use an EAPI with that support.
100 106
101RELOC_TARGET=texmf-dist 107RELOC_TARGET=texmf-dist
102 108
103texlive-module_src_unpack() { 109texlive-module_src_unpack() {
110 if has "${EAPI:-0}" 0 1 2 ; then
104 local i s 111 local i s
105 for i in ${A} 112 for i in ${A}
106 do 113 do
107 s="${DISTDIR%/}/${i}" 114 s="${DISTDIR%/}/${i}"
108 einfo "Unpacking ${s} to ${PWD}" 115 einfo "Unpacking ${s} to ${PWD}"
109 test -s "${s}" || die "${s} does not exist" 116 test -s "${s}" || die "${s} does not exist"
110 xz -dc -- "${s}" | tar xof - || die "Unpacking ${s} failed" 117 xz -dc -- "${s}" | tar xof - || die "Unpacking ${s} failed"
111 done 118 done
119 else
120 unpack ${A}
121 fi
112 grep RELOC tlpkg/tlpobj/* | awk '{print $2}' | sed 's#^RELOC/##' > "${T}/reloclist" 122 grep RELOC tlpkg/tlpobj/* | awk '{print $2}' | sed 's#^RELOC/##' > "${T}/reloclist"
113 { for i in $(<"${T}/reloclist"); do dirname $i; done; } | uniq > "${T}/dirlist" 123 { for i in $(<"${T}/reloclist"); do dirname $i; done; } | uniq > "${T}/dirlist"
114 for i in $(<"${T}/dirlist"); do 124 for i in $(<"${T}/dirlist"); do
115 [ -d "${RELOC_TARGET}/${i}" ] || mkdir -p "${RELOC_TARGET}/${i}" 125 [ -d "${RELOC_TARGET}/${i}" ] || mkdir -p "${RELOC_TARGET}/${i}"
116 done 126 done
144# @DESCRIPTION: 154# @DESCRIPTION:
145# Creates a language.${PN}.def entry to put in /etc/texmf/language.def.d 155# Creates a language.${PN}.def entry to put in /etc/texmf/language.def.d
146# It parses the AddHyphen directive of tlpobj files to create it. 156# It parses the AddHyphen directive of tlpobj files to create it.
147 157
148texlive-module_make_language_def_lines() { 158texlive-module_make_language_def_lines() {
149 local lefthyphenmin righthyphenmin synonyms name file 159 local lefthyphenmin righthyphenmin synonyms name file file_patterns file_exceptions
150 eval $@ 160 eval $@
151 einfo "Generating language.def entry for $@" 161 einfo "Generating language.def entry for $@"
152 [ -z "$lefthyphenmin" ] && lefthyphenmin="2" 162 [ -z "$lefthyphenmin" ] && lefthyphenmin="2"
153 [ -z "$righthyphenmin" ] && righthyphenmin="3" 163 [ -z "$righthyphenmin" ] && righthyphenmin="3"
154 echo "\\addlanguage{$name}{$file}{}{$lefthyphenmin}{$righthyphenmin}" >> "${S}/language.${PN}.def" 164 echo "\\addlanguage{$name}{$file}{}{$lefthyphenmin}{$righthyphenmin}" >> "${S}/language.${PN}.def"
165# Only valid for TeXLive 2008. 175# Only valid for TeXLive 2008.
166# Creates a language.${PN}.dat entry to put in /etc/texmf/language.dat.d 176# Creates a language.${PN}.dat entry to put in /etc/texmf/language.dat.d
167# It parses the AddHyphen directive of tlpobj files to create it. 177# It parses the AddHyphen directive of tlpobj files to create it.
168 178
169texlive-module_make_language_dat_lines() { 179texlive-module_make_language_dat_lines() {
170 local lefthyphenmin righthyphenmin synonyms name file 180 local lefthyphenmin righthyphenmin synonyms name file file_patterns file_exceptions
171 eval $@ 181 eval $@
172 einfo "Generating language.dat entry for $@" 182 einfo "Generating language.dat entry for $@"
173 echo "$name $file" >> "${S}/language.${PN}.dat" 183 echo "$name $file" >> "${S}/language.${PN}.dat"
174 if [ -n "$synonyms" ] ; then 184 if [ -n "$synonyms" ] ; then
175 for i in $(echo $synonyms | tr ',' ' ') ; do 185 for i in $(echo $synonyms | tr ',' ' ') ; do
193texlive-module_src_compile() { 203texlive-module_src_compile() {
194 # Generate config files 204 # Generate config files
195 # TeX Live 2007 was providing lists. For 2008 they are now tlpobj. 205 # TeX Live 2007 was providing lists. For 2008 they are now tlpobj.
196 for i in "${S}"/tlpkg/tlpobj/*; 206 for i in "${S}"/tlpkg/tlpobj/*;
197 do 207 do
198 grep '^execute ' "${i}" | sed -e 's/^execute //' | tr ' ' '@' |sort|uniq >> "${T}/jobs" 208 grep '^execute ' "${i}" | sed -e 's/^execute //' | tr ' \t' '@@' |sort|uniq >> "${T}/jobs"
199 done 209 done
200 210
201 for i in $(<"${T}/jobs"); 211 for i in $(<"${T}/jobs");
202 do 212 do
203 j="$(echo $i | tr '@' ' ')" 213 j="$(echo $i | tr '@' ' ')"

Legend:
Removed from v.1.33  
changed lines
  Added in v.1.37

  ViewVC Help
Powered by ViewVC 1.1.20