diff options
-rw-r--r-- | app-text/ghostscript-gnu/ChangeLog | 9 | ||||
-rw-r--r-- | app-text/ghostscript-gnu/Manifest | 37 | ||||
-rw-r--r-- | app-text/ghostscript-gnu/files/digest-ghostscript-gnu-8.16-r1 | 4 | ||||
-rw-r--r-- | app-text/ghostscript-gnu/files/digest-ghostscript-gnu-8.16-r3 | 12 | ||||
-rw-r--r-- | app-text/ghostscript-gnu/files/ghostscript-fontconfig.patch | 269 | ||||
-rw-r--r-- | app-text/ghostscript-gnu/ghostscript-gnu-8.16-r3.ebuild | 148 |
6 files changed, 469 insertions, 10 deletions
diff --git a/app-text/ghostscript-gnu/ChangeLog b/app-text/ghostscript-gnu/ChangeLog index 946a34ced1ae..d5ea7dceb7aa 100644 --- a/app-text/ghostscript-gnu/ChangeLog +++ b/app-text/ghostscript-gnu/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for app-text/ghostscript-gnu # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-text/ghostscript-gnu/ChangeLog,v 1.19 2006/04/23 23:35:59 weeve Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-text/ghostscript-gnu/ChangeLog,v 1.20 2006/04/27 22:59:37 flameeyes Exp $ + +*ghostscript-gnu-8.16-r3 (27 Apr 2006) + + 27 Apr 2006; Diego Pettenò <flameeyes@gentoo.org> + +files/ghostscript-fontconfig.patch, +ghostscript-gnu-8.16-r3.ebuild: + Add patch for using fontconfig for fonts loading, based on the one in bug + #104512. 23 Apr 2006; Jason Wever <weeve@gentoo.org> ghostscript-gnu-8.16-r2.ebuild: diff --git a/app-text/ghostscript-gnu/Manifest b/app-text/ghostscript-gnu/Manifest index 5b25d7769b5f..693d77673491 100644 --- a/app-text/ghostscript-gnu/Manifest +++ b/app-text/ghostscript-gnu/Manifest @@ -1,6 +1,13 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +AUX ghostscript-fontconfig.patch 8038 RMD160 6283cc2cbc18927486afce71d4e8f1d77fb069ee SHA1 471bf4f46e48257d67c5580e6e44c483c2450654 SHA256 f9040bf7372682814c5c96ca3312cc57c2b9a278a5331013526d93dabecc7d58 size 8038 +MD5 ab4b73dfa08b2dc4b421e3d8f0a36f74 files/ghostscript-fontconfig.patch 8038 +RMD160 6283cc2cbc18927486afce71d4e8f1d77fb069ee files/ghostscript-fontconfig.patch 8038 +SHA256 f9040bf7372682814c5c96ca3312cc57c2b9a278a5331013526d93dabecc7d58 files/ghostscript-fontconfig.patch 8038 DIST acro5-cmaps-2001.tar.gz 631653 RMD160 c723afc2207157a434988b46bcf0a458281c29a4 SHA256 80abec481fd4b5e59ac3d3f5790542dbfabe3c9269a6ac17064160d6dab38ee4 size 631653 DIST adobe-cmaps-200204.tar.gz 4360486 RMD160 14f436cb2869788f249c0eaf5dd6a31295c5ada7 SHA256 510f29086630db1a581ab77e46c3a6b9b4ee4bf8c7717c209e5125794a59480a size 4360486 -DIST cups-1.1.20-source.tar.bz2 3741510 size 3741510 +DIST cups-1.1.20-source.tar.bz2 363163 RMD160 036bf9725a6a0ec06008c83545c17d132d7f070f SHA256 48e576ab2319fd6ad2d21f2240a720ff2f9ee4825e2a6c30f6903f3c00555590 size 363163 DIST cups-1.1.23-source.tar.bz2 8705521 RMD160 255ec4c22422b14f2367d69f3ec7e590dc46bea5 SHA256 87da0f7b1e03236e183045f1e787957132658ead56c4b0f80ac7f86c1574a85e size 8705521 DIST gnu-ghostscript-8.16.tar.gz 6633085 RMD160 05b1b15c21640b709658a2e0c07d6424705fd9ff SHA256 417922d35e66ee90cf93cf3e93fdf281ec6b92de4f7436c9c1a97c0cc35b94a8 size 6633085 EBUILD ghostscript-gnu-8.16-r1.ebuild 3446 RMD160 6819292a1e4b5e57725236210ae2b3b9c7eb90ad SHA1 47611905c3b186cb456ff7d0e4c2aa8af5e42799 SHA256 2678cd5319d67cf62dc78372ee1c80a0cba1c90340535980fa263169248d8a83 size 3446 @@ -11,17 +18,31 @@ EBUILD ghostscript-gnu-8.16-r2.ebuild 4365 RMD160 91356d804322f7e782f4a03630b149 MD5 ec2849a00d1d5c8c7f607db9c32f46f1 ghostscript-gnu-8.16-r2.ebuild 4365 RMD160 91356d804322f7e782f4a03630b14942e17696f8 ghostscript-gnu-8.16-r2.ebuild 4365 SHA256 7a64f04e65034adfef5754aeb312dd36573810999a6fecef73f9f054efb8c611 ghostscript-gnu-8.16-r2.ebuild 4365 -MISC ChangeLog 3048 RMD160 d17a38e71945822ff9a01c47a1ea9941024587aa SHA1 a7c95bbdf07ca8b235b5e63f1b7ea8956a8e6a41 SHA256 6f88f0d3e1e8a52d2e5c74709a95fac5849865ca62404225d2cf1a3c35d2a7a2 size 3048 -MD5 88de4864fd3dd71a160a58a80ca3e78b ChangeLog 3048 -RMD160 d17a38e71945822ff9a01c47a1ea9941024587aa ChangeLog 3048 -SHA256 6f88f0d3e1e8a52d2e5c74709a95fac5849865ca62404225d2cf1a3c35d2a7a2 ChangeLog 3048 +EBUILD ghostscript-gnu-8.16-r3.ebuild 4551 RMD160 5d44d894430871fce8bbd62ce83feafe902a8618 SHA1 2775be8a1c9ed75cee2f7968582d935c84c598f6 SHA256 d72797a9e2e4c4065137ab1e08b1c9cc4bb9205b2b5b7d0bd43a07a5719bc248 size 4551 +MD5 bcfe567d98aece579188afa3b7bad589 ghostscript-gnu-8.16-r3.ebuild 4551 +RMD160 5d44d894430871fce8bbd62ce83feafe902a8618 ghostscript-gnu-8.16-r3.ebuild 4551 +SHA256 d72797a9e2e4c4065137ab1e08b1c9cc4bb9205b2b5b7d0bd43a07a5719bc248 ghostscript-gnu-8.16-r3.ebuild 4551 +MISC ChangeLog 3305 RMD160 17e06c289a59000839758c7c9a920105a8250051 SHA1 27d45649d5066b6eeb3458f61bb94a9d6b39343f SHA256 6e647df04881f92afc0a9a5f3f38ec604c86044c9ee4296675b336776a270dc8 size 3305 +MD5 7d1f6fa7c06fe12fd3cf2dcc14571187 ChangeLog 3305 +RMD160 17e06c289a59000839758c7c9a920105a8250051 ChangeLog 3305 +SHA256 6e647df04881f92afc0a9a5f3f38ec604c86044c9ee4296675b336776a270dc8 ChangeLog 3305 MISC metadata.xml 161 RMD160 1e5b1e42553c8869b93c4a5448e9a2a2ed9fe525 SHA1 209c6a46e4cdd891980115e42ba419e3799f8088 SHA256 7c85e6739a71f5bb23e8de36c88677d772946e61f7285892f7554e37bd2bca76 size 161 MD5 26b4b081d538c195dc39bcb2ec8e6f3a metadata.xml 161 RMD160 1e5b1e42553c8869b93c4a5448e9a2a2ed9fe525 metadata.xml 161 SHA256 7c85e6739a71f5bb23e8de36c88677d772946e61f7285892f7554e37bd2bca76 metadata.xml 161 -MD5 b733337efe832c68def89279e4356a5c files/digest-ghostscript-gnu-8.16-r1 846 -RMD160 ad07d2fb17973ff53b5314d99ce7cb2ab479b480 files/digest-ghostscript-gnu-8.16-r1 846 -SHA256 90ed6d5bd43ade8e8a353ed66eb55e348136b2de230dc4f103f19f60e3c4b883 files/digest-ghostscript-gnu-8.16-r1 846 +MD5 7aa926c69e413ab9e454030a97dda3e4 files/digest-ghostscript-gnu-8.16-r1 1033 +RMD160 a34e8d37fac446be6b0fdf5575811a0ad24284e5 files/digest-ghostscript-gnu-8.16-r1 1033 +SHA256 19157f53096c4509075e04f5793aeecc9c5e486ea0c9a16eb700eea5e9950435 files/digest-ghostscript-gnu-8.16-r1 1033 MD5 2786598cab8f512dba3e0dee0ad3b9d9 files/digest-ghostscript-gnu-8.16-r2 1036 RMD160 c931dd938c0a0f29496d3e07b2a1ac4bb4442a9b files/digest-ghostscript-gnu-8.16-r2 1036 SHA256 bbb57fe48e4249ab2bb7fdec84715265264af8b56b65f3afd208ca473a009532 files/digest-ghostscript-gnu-8.16-r2 1036 +MD5 2786598cab8f512dba3e0dee0ad3b9d9 files/digest-ghostscript-gnu-8.16-r3 1036 +RMD160 c931dd938c0a0f29496d3e07b2a1ac4bb4442a9b files/digest-ghostscript-gnu-8.16-r3 1036 +SHA256 bbb57fe48e4249ab2bb7fdec84715265264af8b56b65f3afd208ca473a009532 files/digest-ghostscript-gnu-8.16-r3 1036 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.3 (GNU/Linux) + +iD8DBQFEUUzqAiZjviIA2XgRAsjEAJ9Z3HBWM6NXHZ7nWp0JmrhHUxFivwCgm/Jx +WL5WeU4HYlC2eicazmc4GZ0= +=zBfT +-----END PGP SIGNATURE----- diff --git a/app-text/ghostscript-gnu/files/digest-ghostscript-gnu-8.16-r1 b/app-text/ghostscript-gnu/files/digest-ghostscript-gnu-8.16-r1 index 07822dcc2e64..f60a70d86079 100644 --- a/app-text/ghostscript-gnu/files/digest-ghostscript-gnu-8.16-r1 +++ b/app-text/ghostscript-gnu/files/digest-ghostscript-gnu-8.16-r1 @@ -4,7 +4,9 @@ SHA256 80abec481fd4b5e59ac3d3f5790542dbfabe3c9269a6ac17064160d6dab38ee4 acro5-cm MD5 a3bf430a7e21cd82401258a2ec3b8afb adobe-cmaps-200204.tar.gz 4360486 RMD160 14f436cb2869788f249c0eaf5dd6a31295c5ada7 adobe-cmaps-200204.tar.gz 4360486 SHA256 510f29086630db1a581ab77e46c3a6b9b4ee4bf8c7717c209e5125794a59480a adobe-cmaps-200204.tar.gz 4360486 -MD5 09d0be2bad1b0617bc0eba6eef81f6e9 cups-1.1.20-source.tar.bz2 3741510 +MD5 2a6b3aa522323751b1b65ab8ca13a01a cups-1.1.20-source.tar.bz2 363163 +RMD160 036bf9725a6a0ec06008c83545c17d132d7f070f cups-1.1.20-source.tar.bz2 363163 +SHA256 48e576ab2319fd6ad2d21f2240a720ff2f9ee4825e2a6c30f6903f3c00555590 cups-1.1.20-source.tar.bz2 363163 MD5 c42dfaebc37fe81eab0b5676b124ab63 gnu-ghostscript-8.16.tar.gz 6633085 RMD160 05b1b15c21640b709658a2e0c07d6424705fd9ff gnu-ghostscript-8.16.tar.gz 6633085 SHA256 417922d35e66ee90cf93cf3e93fdf281ec6b92de4f7436c9c1a97c0cc35b94a8 gnu-ghostscript-8.16.tar.gz 6633085 diff --git a/app-text/ghostscript-gnu/files/digest-ghostscript-gnu-8.16-r3 b/app-text/ghostscript-gnu/files/digest-ghostscript-gnu-8.16-r3 new file mode 100644 index 000000000000..844c0dae75ad --- /dev/null +++ b/app-text/ghostscript-gnu/files/digest-ghostscript-gnu-8.16-r3 @@ -0,0 +1,12 @@ +MD5 2fbae60417d42779f6488ab897dcaaf6 acro5-cmaps-2001.tar.gz 631653 +RMD160 c723afc2207157a434988b46bcf0a458281c29a4 acro5-cmaps-2001.tar.gz 631653 +SHA256 80abec481fd4b5e59ac3d3f5790542dbfabe3c9269a6ac17064160d6dab38ee4 acro5-cmaps-2001.tar.gz 631653 +MD5 a3bf430a7e21cd82401258a2ec3b8afb adobe-cmaps-200204.tar.gz 4360486 +RMD160 14f436cb2869788f249c0eaf5dd6a31295c5ada7 adobe-cmaps-200204.tar.gz 4360486 +SHA256 510f29086630db1a581ab77e46c3a6b9b4ee4bf8c7717c209e5125794a59480a adobe-cmaps-200204.tar.gz 4360486 +MD5 4ce09b1dce09b6b9398af0daae9adf63 cups-1.1.23-source.tar.bz2 8705521 +RMD160 255ec4c22422b14f2367d69f3ec7e590dc46bea5 cups-1.1.23-source.tar.bz2 8705521 +SHA256 87da0f7b1e03236e183045f1e787957132658ead56c4b0f80ac7f86c1574a85e cups-1.1.23-source.tar.bz2 8705521 +MD5 c42dfaebc37fe81eab0b5676b124ab63 gnu-ghostscript-8.16.tar.gz 6633085 +RMD160 05b1b15c21640b709658a2e0c07d6424705fd9ff gnu-ghostscript-8.16.tar.gz 6633085 +SHA256 417922d35e66ee90cf93cf3e93fdf281ec6b92de4f7436c9c1a97c0cc35b94a8 gnu-ghostscript-8.16.tar.gz 6633085 diff --git a/app-text/ghostscript-gnu/files/ghostscript-fontconfig.patch b/app-text/ghostscript-gnu/files/ghostscript-fontconfig.patch new file mode 100644 index 000000000000..cb2c62888373 --- /dev/null +++ b/app-text/ghostscript-gnu/files/ghostscript-fontconfig.patch @@ -0,0 +1,269 @@ +? autom4te.cache +? fontconfig-patch-0.diff +? fontconfig-patch-1.diff +? fontconfig-patch-2.diff +? fontconfig-patch-3.diff +? fontconfig-patch-4.diff +? loadall.log +? loadall.ps +? native.ps +? test.ps +? src/gp_unix_fc.c +? src/gp_unix_nofc.c +Index: src/configure.ac +=================================================================== +--- src/configure.ac.orig ++++ src/configure.ac +@@ -27,11 +27,9 @@ dnl ------------------------------------ + dnl Initialization and Versioning + dnl ------------------------------------------------ + +-AC_INIT + AC_PREREQ(2.52) + AC_INIT(gnu-ghostscript, 8.16, didier.link@wanadoo.fr) + AC_CONFIG_SRCDIR(src/gs.c) +-AM_INIT_AUTOMAKE + + dnl TOPDIR=`pwd` + +@@ -345,6 +343,13 @@ AC_ARG_ENABLE(compile-inits, AC_HELP_STR + fi]) + AC_SUBST(COMPILE_INITS) + ++PKG_CHECK_MODULES([FONTCONFIG], [fontconfig], [have_fontconfig=yes], [have_fontconfig=no]) ++if test "x$have_fontconfig" = "xyes"; then ++ AC_DEFINE_UNQUOTED(HAVE_FONTCONFIG, 1, [Defines if your system has the libfontconfig library]) ++fi ++CFLAGS="$CFLAGS $FONTCONFIG_CFLAGS" ++AC_SUBST(FONTCONFIG_LIBS) ++ + dnl -------------------------------------------------- + dnl Check for library functions + dnl -------------------------------------------------- +Index: src/gp_unix.c +=================================================================== +--- src/gp_unix.c.orig ++++ src/gp_unix.c +@@ -30,6 +30,12 @@ + #include "gsexit.h" + #include "gp.h" + ++#define HAVE_FONTCONFIG ++ ++#ifdef HAVE_FONTCONFIG ++#include <fontconfig/fontconfig.h> ++#endif ++ + /* + * This is the only place in Ghostscript that calls 'exit'. Including + * <stdlib.h> is overkill, but that's where it's declared on ANSI systems. +@@ -182,16 +188,193 @@ gp_close_printer(FILE * pfile, const cha + * building a custom fontmap file. + */ + ++ ++/* Mangle the FontConfig family and style information into a ++ * PostScript font name */ ++#ifdef HAVE_FONTCONFIG ++static void makePSFontName(char* family, int weight, int slant, char *buf, int bufsize) ++{ ++ int bytesCopied, length, i; ++ const char *slantname, *weightname; ++ ++ switch (slant) { ++ case FC_SLANT_ROMAN: slantname=""; break;; ++ case FC_SLANT_OBLIQUE: slantname="Oblique"; break;; ++ case FC_SLANT_ITALIC: slantname="Italic"; break;; ++ default: slantname="Unknown"; break;; ++ } ++ ++ switch (weight) { ++ case FC_WEIGHT_MEDIUM: weightname=""; break;; ++ case FC_WEIGHT_LIGHT: weightname="Light"; break;; ++ case FC_WEIGHT_DEMIBOLD: weightname="Demi"; break;; ++ case FC_WEIGHT_BOLD: weightname="Bold"; break;; ++ case FC_WEIGHT_BLACK: weightname="Black"; break;; ++ default: weightname="Unknown"; break;; ++ } ++ ++ length = strlen(family); ++ if (length >= bufsize) ++ length = bufsize; ++ /* Copy the family name, stripping spaces */ ++ bytesCopied=0; ++ for (i = 0; i < length; i++) ++ if (family[i] != ' ') ++ buf[bytesCopied++] = family[i]; ++ ++ if ( ((slant != FC_SLANT_ROMAN) || (weight != FC_WEIGHT_MEDIUM)) \ ++ && bytesCopied < bufsize ) ++ { ++ buf[bytesCopied] = '-'; ++ bytesCopied++; ++ if (weight != FC_WEIGHT_MEDIUM) ++ { ++ length = strlen(family); ++ if ((length + bytesCopied) >= bufsize) ++ length = bufsize - bytesCopied - 1; ++ strncpy(buf+bytesCopied, weightname, length); ++ bytesCopied += length; ++ } ++ if (slant != FC_SLANT_ROMAN) ++ { ++ length = strlen(family); ++ if ((length + bytesCopied) >= bufsize) ++ length = bufsize - bytesCopied - 1; ++ strncpy(buf+bytesCopied, slantname, length); ++ bytesCopied += length; ++ } ++ } ++ buf[bytesCopied] = '\0'; ++} ++#endif ++ ++/* State struct for font iteration - passed as an opaque 'void*' through the rest of gs */ ++#ifdef HAVE_FONTCONFIG ++typedef struct { ++ int index; /* current index of iteration over font_list */ ++ FcConfig* fc; /* FontConfig library handle */ ++ FcFontSet* font_list; /* FontConfig font list */ ++ char name[255]; /* name of last font */ ++} unix_fontenum_t; ++#endif ++ + void *gp_enumerate_fonts_init(gs_memory_t *mem) + { ++#ifdef HAVE_FONTCONFIG ++ unix_fontenum_t *state = (unix_fontenum_t *)malloc(sizeof(unix_fontenum_t)); ++ if (state == NULL) ++ return NULL; /* Failed to allocate state */ ++ ++ state->index = 0; ++ state->fc = NULL; ++ state->font_list = NULL; ++ ++ /* Load the fontconfig library */ ++ state->fc = FcInitLoadConfigAndFonts(); ++ if (state->fc == NULL) { ++ free(state); ++ state = NULL; ++ dlprintf("destroyed state - fontconfig init failed"); ++ return NULL; /* Failed to open fontconfig library */ ++ } ++ ++ /* load the font set that we'll iterate over */ ++ FcPattern *pat = FcPatternBuild(NULL, ++ FC_OUTLINE, FcTypeBool, 1, ++ FC_SCALABLE, FcTypeBool, 1, ++ NULL); ++ FcObjectSet* os = FcObjectSetBuild(FC_FILE, FC_OUTLINE, FC_FAMILY, FC_WEIGHT, FC_SLANT, 0); ++ state->font_list = FcFontList(0, pat, os); ++ FcPatternDestroy(pat); ++ FcObjectSetDestroy(os); ++ if (state->font_list == NULL) { ++ free(state); ++ state = NULL; ++ return NULL; /* Failed to generate font list */ ++ } ++ return (void *)state; ++#else + return NULL; ++#endif + } +- ++ + int gp_enumerate_fonts_next(void *enum_state, char **fontname, char **path) + { ++#ifdef HAVE_FONTCONFIG ++ char* psname = NULL; ++ ++ unix_fontenum_t* state = (unix_fontenum_t *)enum_state; ++ if (state == NULL) { ++ return 0; /* gp_enumerate_fonts_init failed for some reason */ ++ } ++ ++ /* Bits of the following were borrowed from Red Hat's GS 7 FontConfig patch */ ++ FcChar8* file_fc = NULL; ++ FcChar8* family_fc = NULL; ++ int outline_fc, slant_fc, weight_fc; ++ FcResult result; ++ ++ if (state->index == state->font_list->nfont) { ++ return 0; /* we've run out of fonts */ ++ } ++ ++ FcPattern* font = state->font_list->fonts[state->index]; ++ ++ result = FcPatternGetString (font, FC_FAMILY, 0, &family_fc); ++ if (result != FcResultMatch || family_fc == NULL) { ++ dlprintf ("DEBUG: FC_FAMILY mismatch\n"); ++ return 0; ++ } ++ ++ result = FcPatternGetString (font, FC_FILE, 0, &file_fc); ++ if (result != FcResultMatch || file_fc == NULL) { ++ dlprintf ("DEBUG: FC_FILE mismatch\n"); ++ return 0; ++ } ++ ++ result = FcPatternGetBool (font, FC_OUTLINE, 0, &outline_fc); ++ if (result != FcResultMatch) { ++ dlprintf1 ("DEBUG: FC_OUTLINE failed to match on %s\n", (char*)family_fc); ++ return 0; ++ } ++ ++ result = FcPatternGetInteger (font, FC_SLANT, 0, &slant_fc); ++ if (result != FcResultMatch) { ++ dlprintf ("DEBUG: FC_SLANT didn't match\n"); ++ return 0; ++ } ++ ++ result = FcPatternGetInteger (font, FC_WEIGHT, 0, &weight_fc); ++ if (result != FcResultMatch) { ++ dlprintf ("DEBUG: FC_WEIGHT didn't match\n"); ++ return 0; ++ } ++ ++ /* Gross hack to work around Fontconfig's inability to tell ++ * us the font's PostScript name - generate it ourselves. ++ * We must free the memory allocated here next time around. */ ++ makePSFontName((char *)family_fc, weight_fc, slant_fc, &state->name, sizeof(state->name)); ++ *fontname = &state->name; ++ ++ /* return the font path straight out of fontconfig */ ++ *path = (char*)file_fc; ++ ++ state->index ++; ++ return 1; ++#else + return 0; ++#endif + } +- ++ + void gp_enumerate_fonts_free(void *enum_state) + { +-} ++#ifdef HAVE_FONTCONFIG ++ unix_fontenum_t* state = (unix_fontenum_t *)enum_state; ++ if (state != NULL) { ++ if (state->font_list != NULL) ++ FcFontSetDestroy(state->font_list); ++ free(state); ++ } ++#endif ++} ++ +Index: src/Makefile.in +=================================================================== +--- src/Makefile.in.orig ++++ src/Makefile.in +@@ -253,7 +253,7 @@ LDFLAGS=@LDFLAGS@ $(XLDFLAGS) + # Solaris may need -lnsl -lsocket -lposix4. + # (Libraries required by individual drivers are handled automatically.) + +-EXTRALIBS= ++EXTRALIBS=@FONTCONFIG_LIBS@ + + # Define the standard libraries to search at the end of linking. + # Most platforms require -lpthread for the POSIX threads library; diff --git a/app-text/ghostscript-gnu/ghostscript-gnu-8.16-r3.ebuild b/app-text/ghostscript-gnu/ghostscript-gnu-8.16-r3.ebuild new file mode 100644 index 000000000000..249765303559 --- /dev/null +++ b/app-text/ghostscript-gnu/ghostscript-gnu-8.16-r3.ebuild @@ -0,0 +1,148 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-text/ghostscript-gnu/ghostscript-gnu-8.16-r3.ebuild,v 1.1 2006/04/27 22:59:37 flameeyes Exp $ + +inherit eutils libtool autotools + +DESCRIPTION="GNU Ghostscript" +HOMEPAGE="http://www.gnu.org/software/ghostscript/" + +CUPS_PV=1.1.23 +MY_P=gnu-ghostscript-${PV} +PVM=${PV%.[0-9]} +SRC_URI="ftp://ftp.gnu.org/gnu/ghostscript/${MY_P}.tar.gz + cups? ( mirror://gentoo/cups-${CUPS_PV}-source.tar.bz2 ) + cjk? ( http://www.matsusaka-u.ac.jp/mirror/gs-cjk/adobe-cmaps-200204.tar.gz + http://www.matsusaka-u.ac.jp/mirror/gs-cjk/acro5-cmaps-2001.tar.gz )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +IUSE="X cups cjk emacs gtk" + + +DEP=">=media-libs/jpeg-6b + >=media-libs/libpng-1.2.5 + >=sys-libs/zlib-1.1.4 + >=media-libs/tiff-3.7 + X? ( || ( x11-libs/libXt virtual/x11 ) ) + gtk? ( >=x11-libs/gtk+-2.0 ) + cups? ( >=net-print/cups-1.1.20 ) + !app-text/ghostscript-afpl + !app-text/ghostscript-esp" + +RDEPEND="${DEP} + cjk? ( media-fonts/arphicfonts + media-fonts/kochi-substitute + media-fonts/baekmuk-fonts ) + media-fonts/gnu-gs-fonts-std" + +DEPEND="${DEP} + gtk? ( dev-util/pkgconfig )" + +S=${WORKDIR}/${MY_P} + +src_unpack() { + unpack ${MY_P}.tar.gz + + # cups support + if use cups; then + unpack cups-${CUPS_PV}-source.tar.bz2 + cp -r cups-${CUPS_PV}/pstoraster ${S} + cd ${S}/pstoraster + sed -e 's:@prefix@:/usr:' -e 's:@exec_prefix@:${prefix}:' \ + -e 's:@bindir@:${exec_prefix}/bin:' -e 's:@GS@:gs:' \ + pstopxl.in > pstopxl || die "pstopxlsed failed" + sed -i -e 's:OUTPUTFILE="%stdout" $profile $6$:\0 -:' \ + -e 's:/usr/local:/usr:' pstoraster || die "pstorastersed failed" + sed -i -e "s:pstopcl6:pstopxl:" cups.mak || die "cupssed failed" + cd .. + epatch pstoraster/gs811-lib.patch + fi + + # enable cfax device (bug #56704) + sed -i -e 's:DEVICE_DEVS7=$(DD)faxg3.dev $(DD)faxg32d.dev $(DD)faxg4.dev:DEVICE_DEVS7=$(DD)faxg3.dev $(DD)faxg32d.dev $(DD)faxg4.dev $(DD)cfax.dev:' \ + ${S}/src/Makefile.in || die "sed failed" + cd ${S} + + #epatch ${FILESDIR}/gs-${PV}destdir.patch + #epatch ${FILESDIR}/ghostscript-build.patch + #epatch ${FILESDIR}/ghostscript-scripts.patch + #epatch ${FILESDIR}/ghostscript-ps2epsi.patch + epatch ${FILESDIR}/../../ghostscript-esp/files/ghostscript-badc.patch + epatch ${FILESDIR}/../../ghostscript-esp/files/ghostscript-pagesize.patch + epatch ${FILESDIR}/../../ghostscript-esp/files/ghostscript-noopt.patch + epatch ${FILESDIR}/../../ghostscript-esp/files/ghostscript-use-external-freetype.patch + #epatch ${FILESDIR}/ghostscript-split-font-configuration.patch + + # not submitted + epatch ${FILESDIR}/../../ghostscript-esp/files/ijs-dirinstall.diff + epatch ${FILESDIR}/../../ghostscript-esp/files/ghostscript-gtk2.patch + if ! use gtk; then + sed -i "s:\$(GSSOX)::" src/*.mak || die "gsx sed failed" + sed -i "s:.*\$(GSSOX_XENAME)$::" src/*.mak || die "gsxso sed failed" + fi + + # search path fix + sed -i -e "s:\$\(gsdatadir\)/lib:/usr/share/ghostscript/${PVM}/$(get_libdir):" \ + src/Makefile.in || die "sed failed" + sed -i -e 's:$(gsdir)/fonts:/usr/share/fonts/default/ghostscript/:' \ + src/Makefile.in || die "sed failed" + + epatch "${FILESDIR}/ghostscript-fontconfig.patch" + + sed -i -e '/^AC_INIT$/d; /AM_/d' "${S}/src/configure.ac" + + cp /usr/share/automake-1.9/install-sh "${S}" + eautoreconf + + elibtoolize +} + +src_compile() { + local myconf + myconf="--with-ijs --with-jbig2dec" + + econf $(use_with X x) \ + ${myconf} || die "econf failed" + + if use cups; then + echo 'include pstoraster/cups.mak' >> Makefile + sed -i -e 's:DEVICE_DEVS17=:DEVICE_DEVS17=$(DD)cups.dev:' Makefile || die "sed failed" + sed -i -e 's:EXTRALIBS=\(.*\):EXTRALIBS=\1 -lcups -lcupsimage:' Makefile || die "sed failed" + fi + emake -j1 || die "make failed" + emake so -j1 || die "make failed" + + cd ijs + libtoolize --copy --force + econf || die "econf failed" + emake -j1 || die "make failed" + cd .. +} + +src_install() { + einstall D=/ install_prefix=${D} soinstall + + rm -fr ${D}/usr/share/ghostscript/${PVM}/doc || die + dodoc doc/README + dohtml doc/*.html doc/*.htm + + if use emacs; then + insinto /usr/share/emacs/site-lisp + doins doc/gsdoc.el + fi + + if use cjk; then + dodir /usr/share/ghostscript/Resource + dodir /usr/share/ghostscript/Resource/Font + dodir /usr/share/ghostscript/Resource/CIDFont + cd ${D}/usr/share/ghostscript/Resource + unpack adobe-cmaps-200204.tar.gz + unpack acro5-cmaps-2001.tar.gz + fi + + # install ijs + cd ${S}/ijs + make DESTDIR="${D}" install || die "ijs install failed" +} |