blob: df768d368c7ebf6d6e1d65990927c6ffce297c9b [file] [log] [blame]
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-text/ptex/ptex-3.1.10_p20071203.ebuild,v 1.11 2008/10/31 21:08:57 ulm Exp $
TETEX_PV=3.0_p1
inherit eutils tetex-3 flag-o-matic autotools multilib
SMALL_PV="${TETEX_PV/_p*}"
TETEX_TEXMF_PV="${SMALL_PV}"
TETEX_S="${WORKDIR}/tetex-src-${SMALL_PV}"
DESCRIPTION="TeX distribution teTeX with Japanese patch collection 'ptetex3'"
HOMEPAGE="http://www.nn.iij4u.or.jp/~tutimura/tex/ptetex.html"
#TETEX_SRC="tetex-src-${TETEX_PV}.tar.gz"
TETEX_SRC="tetex-src-${SMALL_PV}.tar.gz"
TETEX_TEXMF="tetex-texmf-${TETEX_TEXMF_PV:-${TETEX_PV}}"
TETEX_TEXMF_SRC="tetex-texmf-${TETEX_TEXMF_PV:-${TETEX_PV}}po.tar.gz"
PTETEX="ptetex3-${PV/*_p}"
PTETEX_CMAP="ptetex-cmap-20051117"
SRC_PATH_TETEX="ftp://cam.ctan.org/tex-archive/systems/unix/teTeX/3.0/distrib"
SRC_URI="${SRC_PATH_TETEX}/${TETEX_SRC}
${SRC_PATH_TETEX}/${TETEX_TEXMF_SRC}
http://tutimura.ath.cx/~nob/tex/ptetex/ptetex3/${PTETEX}.tar.gz
http://tutimura.ath.cx/~nob/tex/ptetex/ptetex-cmap/${PTETEX_CMAP}.tar.gz
mirror://gentoo/${PN}-3.1.10_p20071122-dviljk-security-fixes.patch.bz2"
# mirror://gentoo/tetex-${TETEX_PV}-gentoo.tar.gz
KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sh sparc x86"
BUILD_DIR="${WORKDIR}/build/usr"
LICENSE="GPL-2 BSD"
IUSE="X motif Xaw3d neXt iconv unicode"
DEPEND="!app-text/tetex
!<app-text/ptetex-3.1.9
!app-text/dvipdfmx
!app-text/xdvik
media-libs/t1lib
media-libs/gd
X? (
>=media-libs/freetype-2.3.4
|| (
media-fonts/ja-ipafonts
media-fonts/ipamonafont
media-fonts/vlgothic
media-fonts/sazanami
media-fonts/kochi-substitute
)
)"
S="${WORKDIR}/${PTETEX}"
src_unpack() {
#tetex-3_src_unpack
mkdir -p "${WORKDIR}/${TETEX_TEXMF}"
cd "${WORKDIR}/${TETEX_TEXMF}"
unpack ${TETEX_TEXMF_SRC}
cd "${WORKDIR}"
unpack ${TETEX_SRC}
cd "${WORKDIR}"
unpack ${PN}-3.1.10_p20071122-dviljk-security-fixes.patch.bz2
unpack ${PTETEX}.tar.gz
unpack ${PTETEX_CMAP}.tar.gz
echo ">>> Unpacking jis and morisawa fonts ..."
tar xzf "${WORKDIR}"/${PTETEX}/archive/jis.tar.gz -C "${WORKDIR}" || die
tar xzf "${WORKDIR}"/${PTETEX}/archive/morisawa.tar.gz -C "${WORKDIR}" || die
# Gentoo box reserves variable ${P}!!
cd "${S}"
epatch "${FILESDIR}"/${P}-gentoo.patch
cat <<EOF > "${S}"/my_option
SRC_DIR="${WORKDIR}"
TMP_PREFIX="${BUILD_DIR}"
PREFIX=/usr
DATADIR=/usr/share
TEXMFDIST="${WORKDIR}/${TETEX_TEXMF}"
TEXSRC_EXTRACTED="${WORKDIR}"
#make_option vartexfonts=/var/lib/texmf
make_option vartexfonts="${T}/texfonts"
make_option CC="$(tc-getCC)"
make_option CXX="$(tc-getCXX)"
JAPANESE=international
XDVI=echo
PXDVI=echo
PLATEX209=no
conf_option --without-dviljk
conf_option --without-dvipng
conf_option --without-info
conf_option --without-texi2html
conf_option --without-texinfo
conf_option --with-system-zlib
conf_option --with-system-pnglib
conf_option --with-system-gd
conf_option --with-system-ncurses
conf_option --with-system-t1lib
conf_option --enable-shared
EOF
if use iconv ; then
echo "conf_option --enable-kanji-iconv" >> "${S}"/my_option
fi
if use unicode ; then
echo "KANJI_CODE=UTF8" >> "${S}"/my_option
else
echo "KANJI_CODE=EUC" >> "${S}"/my_option
fi
# copied from tetex-3.eclass and modified
if use X ; then
if use motif ; then
toolkit="motif"
elif use neXt ; then
toolkit="neXtaw"
elif use Xaw3d ; then
toolkit="xaw3d"
else
toolkit="xaw"
fi
append-ldflags $(freetype-config --libs)
echo "export CPPFLAGS=\"${CPPFLAGS} $(freetype-config --cflags)\"" >> "${S}"/my_option
echo "conf_option --with-xdvi-x-toolkit=${toolkit}" >> "${S}"/my_option
else
echo "conf_option --without-x" >> "${S}"/my_option
echo "conf_option --without-xdvik" >> "${S}"/my_option
echo "conf_option --without-pxdvik" >> "${S}"/my_option
fi
cd "${S}"
unset TEXMFMAIN TEXMF HOME
emake -j1 x || die "emake x failed"
cd "${TETEX_S}"
epatch "${FILESDIR}/tetex-${SMALL_PV}-kpathsea-pic.patch"
# bug 85404
epatch "${FILESDIR}/${PN}-3.1.10_p20071122-epstopdf-wrong-rotation.patch"
# ptetex included
#epatch "${FILESDIR}/tetex-${TETEX_PV}-amd64-xdvik-wp.patch"
epatch "${FILESDIR}/tetex-${TETEX_PV}-mptest.patch"
#bug 98029
# no need
#epatch "${FILESDIR}/${PN}-3.1.10_p20071122-fmtutil-etex.patch"
#bug 115775
# ptex included
#epatch "${FILESDIR}/tetex-${TETEX_PV}-xpdf-vulnerabilities.patch"
# bug 94860
epatch "${FILESDIR}/${PN}-3.1.10_p20071122-pdftosrc-install.patch"
# bug 126918
epatch "${FILESDIR}/tetex-${TETEX_PV}-create-empty-files.patch"
# bug 94901
epatch "${FILESDIR}/tetex-${TETEX_PV}-dvipdfm-timezone.patch"
# security bug #170861
# ptetex included
# epatch "${FILESDIR}/tetex-${TETEX_PV}-CVE-2007-0650.patch"
# security bug #188172
# ptetex included
#epatch "${FILESDIR}/tetex-${TETEX_PV}-xpdf-CVE-2007-3387.patch"
# security bug #198238
epatch "${FILESDIR}/tetex-${TETEX_PV}-dvips_bufferoverflow.patch"
# securty bug #196735
epatch "${FILESDIR}/xpdf-3.02pl2.patch"
# Construct a Gentoo site texmf directory
# that overlays the upstream supplied
# target not found
#epatch "${FILESDIR}/tetex-${TETEX_PV}-texmf-site.patch"
# security bug #198238
epatch "${WORKDIR}/${PN}-3.1.10_p20071122-dviljk-security-fixes.patch"
# security bug #198238 and bug #193437
epatch "${FILESDIR}/tetex-${TETEX_PV}-t1lib-SA26241_buffer_overflow.patch"
cd "${TETEX_S}/texk/dviljk"
eautoreconf
}
src_compile() {
unset TEXMFMAIN TEXMF HOME
emake -j1 c || die "emake c failed"
emake -j1 macro || die "emake macro failed"
emake -j1 otf || die "emake otf failed"
emake -j1 fonty || die "emake fonty failed"
emake -j1 babel || die "emake babel failed"
einfo "Setting ptetex-cmap ..."
cd "${WORKDIR}/${PTETEX_CMAP}"
PATH="${BUILD_DIR}/bin:$PATH" ./setup.sh "${BUILD_DIR}"/share/texmf/fonts/cmap
}
src_test() {
emake -j1 test || die "emake test failed"
}
src_install() {
#tetex-3_src_install
einfo "Installing ptetex3 binaries ..."
dobin "${BUILD_DIR}"/bin/*
dolib "${BUILD_DIR}"/lib/*
einfo "Installing /usr/include/* files ..."
insinto /usr/include
doins -r "${BUILD_DIR}"/include/*
einfo "Installing /usr/share/* files ..."
insinto /usr/share
#doins -r "${BUILD_DIR}"/share/*
cp -dr "${BUILD_DIR}"/share/* "${D}"/usr/share
einfo "Installing document files ..."
doman "${BUILD_DIR}"/man/*/*
doinfo "${BUILD_DIR}"/info/*
einfo "Installing jis and morisawa fonts ..."
insinto /usr/share/texmf/fonts/tfm
doins -r "${WORKDIR}"/jis/tfm/* || die "installing jis/tfm failed"
doins -r "${WORKDIR}"/morisawa/tfm/* || die "installing morisawa/tfm failed"
einfo "Installing texmf files ..."
find "${WORKDIR}"/${TETEX_TEXMF} -maxdepth 1 -mindepth 1 -type f | xargs rm -f
insinto /usr/share/texmf
doins -r "${WORKDIR}"/${TETEX_TEXMF}/*
einfo "Installing other files ..."
insinto /usr/share/texmf/fonts/map/dvips/tetex
doins "${WORKDIR}"/${TETEX_S}/texk/pdvipsk/psfonts_jp.map
#insinto /var/lib/texmf/web2c
insinto /usr/share/texmf/web2c
doins -r "${BUILD_DIR}"/share/texmf-config/web2c/*
doins -r "${BUILD_DIR}"/share/texmf-var/web2c/*.fmt
einfo "Removing unnecessary files ..."
rm -r "${D}"/usr/share/texmf/doc
#rm -r "${D}"/usr/share/texmf-config
#rm -r "${D}"/usr/share/texmf-var
rm -r "${D}"/usr/share/texmf/web2c/texmf.cnf.*
rm -r "${D}"/usr/share/texmf/web2c/fmtutil.cnf.*
rm -r "${D}"/usr/info/dir
find "${D}"/usr/share/texmf | grep "ls-R" | xargs rm -f
einfo "Installing texmf-update scripte ..."
dosbin "${FILESDIR}"/texmf-update
#einfo "Making ls-R files ..."
#TEXMF="${D}"/usr/share/texmf "${D}"/usr/bin/mktexlsr || die
}
pkg_postinst() {
tetex-3_pkg_postinst
elog
elog "Japanese dvips and xdvi have been renamed to pdvipsk and pxdvik."
#elog "You also need to emerge app-text/dvipdfmx to convert dvi into PDF."
elog
}