# $Id: Portfile 50428 2009-04-30 22:12:28Z takanori@macports.org $ PortSystem 1.0 name pTeX version 20090501 epoch ${version} set ver_ptetex3 20080616 set ver_dvipdfmx 20090115 set ver_dvipsk 5.97-p1.7b set ver_jsclasses 090222 set ver_txfonts 3.2.1 set ver_pxfonts 1.1.1 categories tex print textproc japanese maintainers takanori openmaintainer description Japanese TeX (pTeX) processing environment long_description \ ${description} platforms darwin homepage http://www.nn.iij4u.or.jp/~tutimura/tex/ptetex.html master_sites http://ftp.lab.kdd.co.jp/CTAN/systems/unix/teTeX/3.0/distrib/:tetex \ http://ftp.nara.wide.ad.jp/pub/TeX/CTAN/systems/unix/teTeX/3.0/distrib/:tetex \ http://ftp.riken.go.jp/pub/tex-archive/systems/unix/teTeX/3.0/distrib/:tetex \ http://ftp.yz.yamagata-u.ac.jp/pub/CTAN/systems/unix/teTeX/3.0/distrib/:tetex \ http://dante.ctan.org/tex-archive/systems/unix/teTeX/3.0/distrib/:tetex \ http://tug.ctan.org/tex-archive/systems/unix/teTeX/3.0/distrib/:tetex \ http://tutimura.ath.cx/~nob/tex/ptetex/ptetex3/:ptetex3 \ macports::ptetex3 \ http://ring.riken.jp/archives/text/TeX/ptex-win32/utils/:dvipsk \ macports::dvipsk \ http://project.ktug.or.kr/dvipdfmx/snapshot/latest/:dvipdfmx \ http://project.ktug.or.kr/dvipdfmx/snapshot/archive/:dvipdfmx \ macports::dvipdfmx \ http://oku.edu.mie-u.ac.jp/~okumura/jsclasses/:jsclasses \ macports::jsclasses \ macports::misc distname ptetex3-${ver_ptetex3} distfiles tetex-src-3.0.tar.gz:tetex \ tetex-texmf-3.0po.tar.gz:tetex \ ${distname}${extract.suffix}:ptetex3 \ dvipdfmx-${ver_dvipdfmx}.tar.gz:dvipdfmx \ dvipsk-${ver_dvipsk}.tar.gz:dvipsk \ jsclasses-${ver_jsclasses}.zip:jsclasses \ txfonts-${ver_txfonts}.zip:misc \ pxfonts-${ver_pxfonts}.zip:misc \ cmap-gs863.tar.gz:misc patchfiles patch-1check-archive.sh.diff \ patch-2extract-src.sh.diff \ patch-3extract-texmf.sh.diff \ patch-4make-install.sh.diff \ patch-7font-search.sh.diff \ patch-8test.sh.diff \ patch-common.sh.diff \ patch-md5sum_texsrc.international.diff \ patch-md5sum_texsrc.traditional.diff \ patch-md5sum_texsrc.without.diff checksums tetex-src-3.0.tar.gz rmd160 15a139f5f36993e4ed3583260e175cfb13ce7bcc \ tetex-texmf-3.0po.tar.gz rmd160 a1e87733fa3cbef04e39a690ed8549aeaaddb241 \ ${distname}${extract.suffix} rmd160 50bcf8986d1cb5f23e578ba97d7ade20bb05f3a2 \ dvipdfmx-${ver_dvipdfmx}.tar.gz rmd160 d05905fc3821c314148143cf3f9a114f204e6e6c \ dvipsk-${ver_dvipsk}.tar.gz rmd160 03b57ccd7c8a29af0359414e9f6bc84855fa0337 \ jsclasses-${ver_jsclasses}.zip rmd160 070ee272072166dccde9c957eb03f0395aa96cfe \ txfonts-${ver_txfonts}.zip rmd160 e0881b33012ae10a7557ee773439df62e600e56d \ pxfonts-${ver_pxfonts}.zip rmd160 9a2e8df4b779dab2c93704f0716f3d69dcbac6fe \ cmap-gs863.tar.gz rmd160 2aa8ccc8e1d83a56026b476b4129238264c2e22c depends_lib bin:perl:perl5 \ lib:libXm:openmotif \ port:gd2 \ port:ghostscript-fonts-hiragino \ port:jpeg \ port:libiconv \ port:libpng \ port:ncurses \ port:t1lib \ port:zlib depends_build port:nkf # bin:bash:bash # bin:bison:bison # bin:flex:flex # port:gmake # port:gpatch depends_run port:texi2html \ port:texinfo if {![variant_isset euc] && ![variant_isset sjis] && ![variant_isset utf8]} { default_variants +euc } if {![variant_isset nox11] && ![variant_isset motif] && ![variant_isset xaw] && ![variant_isset xaw3d] && ![variant_isset nextaw]} { default_variants +motif } extract.only ${distname}${extract.suffix} post-extract { system "cd ${worksrcpath} && gzip -dc ${distpath}/cmap-gs863.tar.gz | tar --no-same-owner -xf -" } post-patch { eval copy [glob ${filespath}/archive/*] ${worksrcpath}/archive/ foreach f {dvipdfmx-${ver_dvipdfmx}.tar.gz dvipsk-${ver_dvipsk}.tar.gz txfonts-${ver_txfonts}.zip pxfonts-${ver_pxfonts}.zip} { eval copy ${distpath}/${f} ${worksrcpath}/archive/ } copy ${distpath}/jsclasses-${ver_jsclasses}.zip ${worksrcpath}/macro/ delete ${worksrcpath}/macro/jsclasses-071024.zip } configure.args --without-texi2html \ --without-texinfo \ --with-system-gd \ --with-system-ncurses \ --with-system-pnglib \ --with-system-t1lib \ --with-system-zlib \ --with-xdvi-x-toolkit=motif # --enable-shared configure { set fd [open [file join ${worksrcpath} my_option] w 0644] puts ${fd} "TMP_PREFIX=${workpath}/temp" puts ${fd} "SRC_DIR=${distpath}" puts ${fd} "PREFIX=${prefix}" puts ${fd} "DATADIR=${prefix}/share" puts ${fd} "CONF_OPTION=\"\$CONF_OPTION ${configure.args}\"" if {[variant_isset sjis]} { puts ${fd} "KANJI_CODE=SJIS" } elseif {[variant_isset utf8]} { puts ${fd} "KANJI_CODE=UTF8" } else { puts ${fd} "KANJI_CODE=EUC" } if {[variant_isset nox11]} { puts ${fd} "XDVI=echo" puts ${fd} "PXDVI=echo" } puts ${fd} "CFLAGS=\"${configure.cflags}\"" puts ${fd} "CPPFLAGS=\"${configure.cppflags}\"" puts ${fd} "LDFLAGS=\"${configure.ldflags}\"" puts ${fd} "LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH:${prefix}/lib\"" puts ${fd} "export CFLAGS CPPFLAGS LDFLAGS LD_LIBRARY_PATH" close ${fd} } build.target all0 pre-build { if {![variant_isset no_otf]} {build.target-append otf} if {![variant_isset no_babel]} {build.target-append babel} build.target-append fonty } test.run yes destroot { system "(cd ${workpath}/temp; tar cf - bin include lib share) | (cd ${destroot}${prefix}; tar xf -)" system "(cd ${workpath}/temp; tar cf - info man) | (cd ${destroot}${prefix}/share; tar xf -)" delete ${destroot}${prefix}/share/info/dir copy ${destroot}${prefix}/share/texmf/fonts/map/dvipdfm/morisawa.map ${destroot}${prefix}/share/texmf/fonts/map/dvipdfm/morisawa-hiraginoEmbed.map foreach {mori hira} {Ryumin-Light HiraMinPro-W3.otf GothicBBB-Medium HiraKakuPro-W3.otf FutoMinA101-Bold HiraMinPro-W6.otf FutoGoB101-Bold HiraKakuPro-W6.otf Jun101-Light HiraMaruPro-W4.otf} { reinplace "s|${mori}|${hira}|g" ${destroot}${prefix}/share/texmf/fonts/map/dvipdfm/morisawa-hiraginoEmbed.map } foreach d {texmf texmf-config} { if {[file exists ${destroot}${prefix}/share/${d}/web2c/updmap.cfg]} { reinplace "s|^\\(KanjiMap morisawa.map\\)$|\\1\\\n#! KanjiMap morisawa-hiraginoEmbed.map|" ${destroot}${prefix}/share/${d}/web2c/updmap.cfg } } # I would like to keep this backward compatibility for a while. system "cd ${destroot}${prefix} && patch -p0 < ${filespath}/oldfmtfiles.diff" foreach f {ptex platex} { foreach e {euc jis sjis utf8} { ln -s ptex ${destroot}${prefix}/bin/${f}-${e} } } # Update ls-R, map and fmt files (before packaging) set destroot_var "PATH=\"${destroot}${prefix}/bin:$env(PATH)\" TEXMFMAIN=${destroot}${prefix}/share/texmf LD_LIBRARY_PATH=${destroot}${prefix}/lib" system "${destroot_var} mktexlsr" if {![variant_isset no_hiragino]} { system "${destroot_var} updmap-sys --setoption kanjiEmbed hiragino --nomkmap || true" system "${destroot_var} updmap-sys --disable morisawa.map --nomkmap || true" system "${destroot_var} updmap-sys --enable KanjiMap morisawa-hiraginoEmbed.map --nomkmap || true" system "${destroot_var} updmap-sys" } system "${destroot_var} fmtutil-sys --all" # Modify mktex.opt to force use of varfonts reinplace "s|MT_FEATURES=appendonlydir|MT_FEATURES=appendonlydir:varfonts|g" ${destroot}${prefix}/share/texmf/web2c/mktex.opt # Add a directory for local enhancements xinstall -m 755 -d ${destroot}${prefix}/share/texmf-local system "touch ${destroot}${prefix}/share/texmf-local/.ptetex3-${ver_ptetex3}" } post-destroot { xinstall -m 755 -d ${destroot}${prefix}/share/doc ln -s ../texmf/doc/ptetex ${destroot}${prefix}/share/doc/ptetex3 } post-activate { system "ranlib ${prefix}/lib/libkpathsea.a" system "ranlib ${prefix}/lib/libptexenc.a" system "${prefix}/bin/mktexlsr" # Not elegant. But this will be helpful if you are using these packages foreach f {tipa.map} { system "(${prefix}/bin/kpsewhich ${f} > /dev/null) && ${prefix}/bin/updmap-sys --enable MixedMap ${f} --nomkmap || true" } foreach f {cm-super-t1.map cm-super-ts1.map cm-super-t2a.map cm-super-t2b.map cm-super-t2c.map cm-super-x2.map fourier.map} { system "(${prefix}/bin/kpsewhich ${f} > /dev/null) && ${prefix}/bin/updmap-sys --enable Map ${f} --nomkmap || true" } system "${prefix}/bin/updmap-sys" system "${prefix}/bin/fmtutil-sys --all" } universal_variant no variant no_hiragino description {Do not depend on Hiragino fonts} { depends_lib-delete port:ghostscript-fonts-hiragino depends_lib-append bin:gs:ghostscript } variant no_otf description {Do not install otf.sty} {} variant no_babel description {Do not install babel} {} variant euc conflicts sjis utf8 description {Set the default character encoding to EUC-JP (default)} {} variant sjis conflicts euc utf8 description {Set the default character encoding to Shift_JIS} {} variant utf8 conflicts euc sjis description {Set the default character encoding to UTF-8} {} variant nox11 conflicts motif xaw xaw3d nextaw description {Do not use X11} { depends_lib-delete lib:libXm:openmotif port:fontconfig port:freetype port:gd2 port:jpeg port:libiconv # gd2 requires X11 configure.args-delete --with-system-gd --with-xdvi-x-toolkit=motif configure.args-append --without-system-gd --without-x --without-xdvik } variant motif conflicts nox11 xaw xaw3d nextaw description {Use Motif to build xdvi (default)} {} variant xaw conflicts nox11 motif xaw3d nextaw description {Use Xaw to build xdvi} { depends_lib-delete lib:libXm:openmotif depends_lib-append port:xorg-libXaw configure.args-delete --with-xdvi-x-toolkit=motif configure.args-append --with-xdvi-x-toolkit=xaw } variant xaw3d conflicts nox11 motif xaw nextaw description {Use Xaw3d to build xdvi} { depends_lib-delete lib:libXm:openmotif depends_lib-append port:Xaw3d configure.args-delete --with-xdvi-x-toolkit=motif configure.args-append --with-xdvi-x-toolkit=xaw3d } variant nextaw conflicts nox11 motif xaw xaw3d description {Use neXtaw to build xdvi} { depends_lib-delete lib:libXm:openmotif depends_lib-append port:neXtaw configure.args-delete --with-xdvi-x-toolkit=motif configure.args-append --with-xdvi-x-toolkit=neXtaw } platform darwin 9 {} livecheck.check regex livecheck.url "http://tutimura.ath.cx/~nob/tex/ptetex/ptetex3/?C=M;O=D" livecheck.version ${ver_ptetex3} livecheck.regex ptetex3-(\[0-9\]+)\\.tar