Update of /cvsroot/fink/dists/10.3/unstable/main/finkinfo/text In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv8122/10.3/unstable/main/finkinfo/text
Added Files: xetex.info xetex.patch Log Message: Add to 10.3 with build fixes (Submissions #1651993) --- NEW FILE: xetex.info --- Info2: << Package: xetex Version: 0.995 Revision: 3 Source: http://scripts.sil.org/svn-view/xetex/TAGS/%n-%v.tar.gz Source-MD5: 9ce454a4b1a33710b66b4e18f650e34e DocFiles: TODO debian/changelog debian/copyright texk/xdv2pdf/LICENSE.txt License: OSI-Approved Description: TeX typesetter using native Mac OS X fonts Homepage: http://scripts.sil.org/xetex Maintainer: Likai Liu <[EMAIL PROTECTED]> DescDetail: << XeTeX is a typesetting system based on a merger of Donald Knuth's TeX system with Unicode and Mac OS X font technologies. XeTeX is designed as a tool that works within the framework of a standard Unix TeX installation. This package contains the following software: * TECkit is written by Jonathan Kew, SIL International. * ICU is copyright (c) 1999-2005, International Business Machines Corporation and others. * XeTeX is written by Jonathan Kew, SIL International. << DescPort: << The utility, xdv2pdf, uses some CoreGraphics functions that are not declared in earlier versions of Mac OS X. However, it contains code that auto-detects the presence of these functions in runtime; once compiled, xdv2pdf should run on Mac OS X versions as early as 10.2. The ability to use these CoreGraphics functions depends on the version of Mac OS X compiling xdv2pdf. See the patch that inserts MACOSX_DEPLOYMENT_TARGET conditionals throughout for how this works. << DescPackaging: << The patch inserts conditionals based on MACOSX_DEPLOYMENT_TARGET, which is required so xdv2pdf may be compiled without error on earlier Mac OS X versions than 10.4. << BuildDepends: tetex-base Depends: tetex-base, tetex-texmf, macosx (>= 10.2.0) Patch: %n.patch PatchScript: << #!/bin/sh -ve # adapted from build-xetex and runConfigure.sh # do some cleanup if needed test ! -f Makefile || make clean rm -rf Work find . -name config.cache -print -exec rm -f {} \; find . -name configure -exec chmod +x {} \; test -d Work || mkdir Work # re-establish symbolic link (cd libs; rm -f icu-xetex; ln -s icu-release-3-4-source ./icu-xetex) || xit 1 << GCC: 3.3 NoSetCPPFLAGS: true NoSetLDFLAGS: true CompileScript: << #!/bin/sh -ve # adapted from build-xetex and runConfigure.sh pushd Work # run the TeX Live configure script echo "### running TeX Live configure script" ../configure --prefix=%p --datadir=%p/share --with-system-zlib || exit if [ "`uname`" == "Darwin" ]; then # hack the resulting ICU platform.h file to claim that nl_langinfo() is not available # ....hoping for 10.2 compatibility :) perl -pi.bak -e 's/(define\s+U_HAVE_NL_LANGINFO(?:_CODESET)?\s+)1/$10/;' libs/icu-xetex/common/unicode/platform.h fi popd # this should make ICU and TECkit along the way, if xetex.mk works # make libraries first (not handled by the xetex makefile) if [ "`uname`" = "Darwin" ]; then # LIBS="zlib teckit icu-xetex" # omit freetype2 LIBS="teckit icu-xetex" # omit freetype2, use system zlib else # LIBS="zlib teckit icu-xetex libpng xpdf" # omit freetype2 LIBS="teckit icu-xetex libpng xpdf" # omit freetype2, use system zlib fi for f in ${LIBS}; do (cd Work/libs/${f} && make) || exit 1 done (cd Work/libs/freetype2 && make) || exit 1 # liulk # make the xetex binary (cd Work/texk/web2c && make web2cdir=`dirname \`kpsewhich texmf.cnf\`` xetex) || exit 1 # xdv2pdf is for Mac OS X only, don't try to build on Linux if [ "`uname`" == "Darwin" ]; then case $MACOSX_DEPLOYMENT_TARGET in 10.0) V=1000;; 10.1) V=1010;; 10.2) V=1020;; 10.3) V=1030;; 10.4) V=1040;; *) exit 1;; esac (cd Work/texk/xdv2pdf && make XXCFLAGS="-DMACOSX_DEPLOYMENT_TARGET=$V" all) || exit 1 fi << InstallScript: << #!/bin/sh -ve # adapted from debian/rules#install # install the binary... mkdir -p %i/bin for x in web2c/xetex xdv2pdf/xdv2pdf xdv2pdf/T1Wrap; do cp %b/Work/texk/$x %i/bin/`basename $x` strip %i/bin/`basename $x` # mn done # install mergemarks script cp -pf %b/texk/xdv2pdf/xdv2pdf_mergemarks %i/bin/xdv2pdf_mergemarks chmod +x %i/bin/xdv2pdf_mergemarks # install xetex texmf tree mkdir -p %i/etc cp -pRf %b/texmf %i/etc/texmf.local # add the pool file from xetex compilation mkdir -p %i/etc/texmf.local/web2c cp %b/Work/texk/web2c/xetex.pool %i/etc/texmf.local/web2c << PostInstScript: << # script borrowed from debian/postinst, added instructions from: # http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=xetex_fink set -v if [ ! -f %p/etc/texmf.local/web2c/xetex.pool ]; then # package is corrupted, likely a result from a tetex reinstall. # do not continue here. exit 1 fi # ensure our entries are present in fmtutil.cnf fmtutil_cnf=`kpsewhich --format="web2c files" fmtutil.cnf` if [ "`fgrep -c xetex ${fmtutil_cnf}`" == "0" ]; then cat >> ${fmtutil_cnf} <<'__EOT__' # XeTeX formats xetex xetex - *xetex.ini xelatex xetex language.dat *xelatex.ini __EOT__ fi # use system-wide setup if available fmtutil=`type -p fmtutil-sys` || fmtutil=`type -p fmtutil` cat > /dev/null <<'__COMMENT__' # COMMENT: not needed for fink teTeX. # it's OK for this patch to fail (only needed on older TeX systems) patch -N -r /tmp/fmtutilpatch.rej -p0 `which fmtutil` <<'__EOT__' >/dev/null 2>&1 || true *** /usr/bin/fmtutil 2006-04-12 10:57:49.000000000 +0100 --- fmtutil 2006-04-21 16:41:22.000000000 +0100 *************** *** 493,498 **** --- 493,499 ---- inifile=`echo $lastarg | sed 's,^\*,,'` case "$engine" in + xetex) fmtfile="$format.fmt"; kpsefmt=tex;; *etex) fmtfile="$format.efmt"; kpsefmt=tex;; omega) fmtfile="$format.oft"; kpsefmt=tex;; eomega) fmtfile="$format.eoft"; kpsefmt=tex;; __EOT__ __COMMENT__ # adjust default xelatex search path in texmf.cnf cat <<'__EOT__' | uudecode -p | patch -N -r /tmp/texmfcnfpatch.rej -p0 `kpsewhich texmf.cnf` || true begin-base64 600 xetex-texmfcnf.patch LS0tIC9zdy9zaGFyZS90ZXhtZi93ZWIyYy90ZXhtZi5jbmYgICAgIFN1biBNYXkgMTQgMDk6MjA6 MjEgMjAwNgorKysgdGV4bWYuY25mICAgU3VuIE1heSAxNCAwOToyMDowNCAyMDA2CkBAIC0yMjIs NyArMjIyLDcgQEAKIFRFWElOUFVUUy5wZGZ4dGV4ICAgPSAuOyRURVhNRi90ZXgve3BsYWluLGdl bmVyaWMsfS8vCiAKICUgWGVUZVgKLVRFWElOUFVUUy54ZWxhdGV4ID0gLjskVEVYTUYvdGV4L3ts YXRleCxnZW5lcmljLH0vLworVEVYSU5QVVRTLnhlbGF0ZXggPSAuOyRURVhNRi90ZXgve3hlbGF0 ZXgsZ2VuZXJpYyx9Ly8KIFRFWElOUFVUUy54ZXRleCAgID0gLjskVEVYTUYvdGV4L3twbGFpbixn ZW5lcmljLH0vLwogCiAlIE9tZWdhIC8gQWxlcGgK ==== __EOT__ # create a new language.dat for xelatex by patching existing one. # liulk, mn -- do not use `kpsewhich language.dat` langdat=%p/share/texmf-dist/tex/generic/config/language.dat xelangdat=%p/etc/texmf.local/tex/xelatex/config/language.dat cat <<'__EOT__' | uudecode -p | patch -N -r /tmp/langdatpatch.rej -p0 $langdat -o $xelangdat || true begin-base64 600 xetex-langdat.patch LS0tIC9zdy9zaGFyZS90ZXhtZi1kaXN0L3RleC9nZW5lcmljL2NvbmZpZy9sYW5ndWFnZS5kYXQJ VGh1IEphbiAxMyAwOTo0MDowMiAyMDA1CisrKyBsYW5ndWFnZS5kYXQJU3VuIE1heSAxNCAxNzoy Mzo0MCAyMDA2CkBAIC02NiwxMyArNjYsMTMgQEAKIGlyaXNoCWdhaHlwaC50ZXgKIGl0YWxpYW4J aXRoeXBoLnRleAogbGF0aW4JbGFoeXBoLnRleAotbWFneWFyCWh1aHlwaG4udGV4CittYWd5YXIJ aHVoeXBoLnRleAklJSBYZVRlWCBjaGFuZ2UKIG5vcnNrCW5vaHlwaGJ4LnRleCAlIHNlZSBodHRw Oi8vaG9tZS5jMmkubmV0L29tc2VsYmVyZy9wdWIvbm9oeXBoYnhfaW50cm8uaHRtIChpbiBOb3J3 ZWdpYW4pCiBwb2xpc2gJcGxoeXBoLnRleAogcG9ydHVnZXMJcHQ4aHlwaC50ZXgKIHJvbWFuaWFu CXJvaHlwaGVuLnRleAogcnVzc2lhbglydWh5cGhlbi50ZXgJJSBub3RlOiBlZGl0IHJ1aHlwaGVu LnRleCBmb3IgeW91ciBlbmNvZGluZyEKLXNlcmJpYW4Jc3JoeXBoYy50ZXggICAgICUgU2VyYmlh biBDeXJpbGxpYyBIeXBoZW5hdGlvbiBQYXR0ZXJucworJSEgc2VyYmlhbglzcmh5cGhjLnRleCAg ICAgJSBTZXJiaWFuIEN5cmlsbGljIEh5cGhlbmF0aW9uIFBhdHRlcm5zCSUlIFhlVGVYIGNoYW5n ZQogc2xvdmFrCXNraHlwaC50ZXggICAgICAlIGRlcGVuZHMgb24gY3NwbGFpbiBiZWluZyBpbnN0 YWxsZWQKIHNsb3ZlbmUJc2loeXBoMjMudGV4CiBzcGFuaXNoCWVzaHlwaC50ZXgKQEAgLTgxLDcg KzgxLDcgQEAKIAogJSBGb3IgVWtyYWluaWFuLCBlaXRoZXIgdXNlIHVrcmh5cGgudGV4IChhbmQg ZWRpdCB0aGF0IGZpbGUgZm9yIHRoZSBlbmNvZGluZwogJSB0aGF0IHlvdSBuZWVkKSBvciB1c2Ug b25lIG9mIHRoZSB1a3JoeXBoLkVOQyBmaWxlcy4KLXVrcmFpbmlhbgl1a3JoeXBoLnRleAorJSEg dWtyYWluaWFuCXVrcmh5cGgudGV4CSUlIFhlVGVYIGNoYW5nZQogJSEgdWtyYWluaWFuCXVrcmh5 cGgudDJhCiAlISB1a3JhaW5pYW4JdWtyaHlwaC5sY3kKICUhIHVrcmFpbmlhbgl1a3JoeXBoLm90 Mgo= ==== __EOT__ chmod a+r $xelangdat # put freshly generated xelatex language.dat in ls-R texhash formats="xetex xelatex" for f in ${formats}; do # enable our entries if necessary (in case of pre-existing disabled ones) ${fmtutil} --enablefmt ${f} ${fmtutil} --byfmt ${f} done # create symlinks for the newly-built formats texlinks --silent << PreRmScript: << # script borrowed from debian/postrm (but here used as prerm) set -v if [ ! -f %p/etc/texmf.local/web2c/xetex.pool ]; then # allow recovery from new tetex installation, which breaks us. # luckily, simply doing nothing works great here. exit 0 fi formats="xetex xelatex" fmtutil=`type -p fmtutil-sys` || fmtutil=`type -p fmtutil` || fmtutil="" kpsewhich=`type -p kpsewhich` || kpsewhich="" for f in ${formats}; do if [ "x${kpsewhich}" != "x" ]; then fmt=`${kpsewhich} --progname=xetex ${f}.fmt` if [ "x${fmt}" != "x" ]; then rm ${fmt}; fi fi if [ "x${fmtutil}" != "x" ]; then ${fmtutil} --disablefmt ${f} || true fi done xelangdat=`dirname $(kpsewhich xelatex.ini)`/language.dat if [ -f ${xelangdat} ]; then rm -f ${xelangdat}; fi << PostRmScript: texhash << --- NEW FILE: xetex.patch --- diff -Nur --exclude=*.orig xetex-0.995/texk/web2c/xetexdir/XeTeX_mac.c xetex-0.995-liulk/texk/web2c/xetexdir/XeTeX_mac.c --- xetex-0.995/texk/web2c/xetexdir/XeTeX_mac.c Tue Aug 22 15:41:00 2006 +++ xetex-0.995-liulk/texk/web2c/xetexdir/XeTeX_mac.c Sun Jan 14 23:48:37 2007 @@ -43,7 +43,7 @@ #undef input /* this is defined in texmfmp.h, but we don't need it and it confuses the carbon headers */ #include <Carbon/Carbon.h> -#include <Quicktime/Quicktime.h> +#include <QuickTime/QuickTime.h> #include "TECkit_Engine.h" #include "XeTeX_ext.h" diff -Nur --exclude=*.orig xetex-0.995/texk/xdv2pdf/xdv2pdf.cpp xetex-0.995-liulk/texk/xdv2pdf/xdv2pdf.cpp --- xetex-0.995/texk/xdv2pdf/xdv2pdf.cpp Tue Aug 22 15:41:00 2006 +++ xetex-0.995-liulk/texk/xdv2pdf/xdv2pdf.cpp Sun Jan 14 23:48:37 2007 @@ -46,7 +46,7 @@ #include "config.h" #include <ApplicationServices/ApplicationServices.h> -#include <Quicktime/Quicktime.h> +#include <QuickTime/QuickTime.h> #include <string> #include <vector> diff -Nur xetex-0.995/texk/xdv2pdf/xdv2pdf.cpp xetex-0.995.liulk/texk/xdv2pdf/xdv2pdf.cpp --- xetex-0.995/texk/xdv2pdf/xdv2pdf.cpp Tue Aug 22 15:41:00 2006 +++ xetex-0.995.liulk/texk/xdv2pdf/xdv2pdf.cpp Sun Nov 26 15:46:56 2006 @@ -395,9 +395,12 @@ setColor(sNativeFonts[cur_cgFont].color); else setColor(gTextColor); + +#if MAC_OS_X_VERSION_10_3 <= MACOSX_DEPLOYMENT_TARGET if (&CGContextShowGlyphsWithAdvances != NULL) CGContextShowGlyphsWithAdvances(gCtx, gGlyphs, gAdvances, gGlyphCount); else +#endif myShowGlyphsWithAdvances(gCtx, gGlyphs, gAdvances, gGlyphCount); gGlyphCount = 0; @@ -555,9 +558,11 @@ advances[glyphCount-1].width = 0.0; advances[glyphCount-1].height = 0.0; +#if MAC_OS_X_VERSION_10_3 <= MACOSX_DEPLOYMENT_TARGET if (&CGContextShowGlyphsWithAdvances != NULL) CGContextShowGlyphsWithAdvances(gCtx, glyphs, advances, glyphCount); else +#endif myShowGlyphsWithAdvances(gCtx, glyphs, advances, glyphCount); if (gTrackingBoxes) { @@ -1724,6 +1729,7 @@ values[i] = CFNumberCreate(kCFAllocatorDefault, kCFNumberFloat32Type, &f); } +#if MAC_OS_X_VERSION_10_4 <= MACOSX_DEPLOYMENT_TARGET if (&CGFontCreateCopyWithVariations != NULL) { CFDictionaryRef variations = CFDictionaryCreate(kCFAllocatorDefault, (const void**)axes, (const void**)values, n, @@ -1733,6 +1739,7 @@ CFRelease(variations); } else +#endif variationWarning(); for (int i = 0; i < n; ++i) { @@ -2115,19 +2122,21 @@ processAllPages(FILE* xdv) { // initialize some global variables that we use as CG "constants" -#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_4 +#if MAC_OS_X_VERSION_10_4 <= MACOSX_DEPLOYMENT_TARGET if (&kCGColorSpaceGenericRGB == NULL) { +#endif gRGBColorSpace = CreateColorSpaceFromSystemICCProfileName(CFSTR("Generic RGB Profile.icc")); gCMYKColorSpace = CreateColorSpaceFromSystemICCProfileName(CFSTR("Generic CMYK Profile.icc")); gGrayColorSpace = CreateColorSpaceFromSystemICCProfileName(CFSTR("Generic Gray Profile.icc")); +#if MAC_OS_X_VERSION_10_4 <= MACOSX_DEPLOYMENT_TARGET } else -#endif { gRGBColorSpace = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB); gCMYKColorSpace = CGColorSpaceCreateWithName(kCGColorSpaceGenericCMYK); gGrayColorSpace = CGColorSpaceCreateWithName(kCGColorSpaceGenericGray); } +#endif if (gRGBColorSpace == NULL || gCMYKColorSpace == NULL || gGrayColorSpace == NULL) { fprintf(stderr, "\n*** unable to initialize color spaces.... something's badly broken\n"); diff -Nur xetex-0.995/texk/xdv2pdf/xdv2pdf_specials.cpp xetex-0.995.liulk/texk/xdv2pdf/xdv2pdf_specials.cpp --- xetex-0.995/texk/xdv2pdf/xdv2pdf_specials.cpp Tue Aug 22 15:41:00 2006 +++ xetex-0.995.liulk/texk/xdv2pdf/xdv2pdf_specials.cpp Sun Nov 26 15:34:32 2006 @@ -703,9 +703,11 @@ blur = readFloat(specialArg); // NB: API only available on 10.3 and later +#if MAC_OS_X_VERSION_10_3 <= MACOSX_DEPLOYMENT_TARGET if (&CGContextSetShadow != NULL) CGContextSetShadow(gCtx, offset, blur); else +#endif shadowWarning(); } while (false); } @@ -734,10 +736,12 @@ color = readColorValueWithAlpha(specialArg); // NB: APIs only available on 10.3 and later +#if MAC_OS_X_VERSION_10_3 <= MACOSX_DEPLOYMENT_TARGET if (&CGContextSetShadowWithColor != NULL) { CGContextSetShadowWithColor(gCtx, offset, blur, color); } else +#endif shadowWarning(); CGColorRelease(color); } while (false); @@ -767,4 +771,4 @@ } } } -} \ No newline at end of file +} diff -Nurd -x'*~' xetex-0.995.orig/texk/web2c/xetexdir/xetex.mk xetex-0.995/texk/web2c/xetexdir/xetex.mk --- xetex-0.995.orig/texk/web2c/xetexdir/xetex.mk 2006-08-22 15:41:00.000000000 -0400 +++ xetex-0.995/texk/web2c/xetexdir/xetex.mk 2007-02-07 03:22:28.000000000 -0500 @@ -75,11 +75,13 @@ ZLIBCPPFLAGS = @ZLIBCPPFLAGS@ LDZLIB = @LDZLIB@ +ZLIBDEP = @ZLIBDEP@ ZLIBDIR = ../../libs/zlib ZLIBSRCDIR = $(srcdir)/$(ZLIBDIR) xetexlibs = $(LDICU) $(LDTECKIT) $(LDFREETYPE2) $(LDZLIB) +xetexdeps = $(ICUDEP) $(TECKITDEP) $(FREETYPE2DEP) $(ZLIBDEP) # Font-related headers XeTeXFontHdrs = \ @@ -189,7 +191,7 @@ $(compile) $(ALL_CFLAGS) $(XETEX_DEFINES) -c $< -o $@ # Making xetex. -xetex: $(xetex_o) $(xetex_add_o) $(xetex_images_o) $(xetex_ot_layout_o) $(xetexlibs) $(EXTRADEPS) +xetex: $(xetex_o) $(xetex_add_o) $(xetex_images_o) $(xetex_ot_layout_o) $(xetexdeps) $(EXTRADEPS) $(kpathsea_cxx_link) $(xetex_o) $(xetex_add_o) $(xetex_images_o) $(xetex_ot_layout_o) \ $(socketlibs) $(LOADLIBES) \ $(xetexlibs) $(EXTRALIBS) ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Fink-commits mailing list Fink-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fink-commits