summaryrefslogtreecommitdiff
path: root/print/ghostscript9-agpl-base/files
diff options
context:
space:
mode:
authorHiroki Sato <hrs@FreeBSD.org>2015-08-22 17:48:35 +0000
committerHiroki Sato <hrs@FreeBSD.org>2015-08-22 17:48:35 +0000
commit27470e1676e69455acf06ae25ebd42ebd5bdecdb (patch)
tree445c3e315f03aa972de87391f921c655e4634f60 /print/ghostscript9-agpl-base/files
parentRemove textproc/prosper. The latest version is included in (diff)
- Split ghostscript into X11-independent and -dependent parts:
* print/ghostscript{7,8,9,9-agpl}-base Installs Ghostscript binary, libgs, and related files. These ports do not depend on X11 libraries (i.e. x11* devices are not available). USES=ghostscript will set dependency on one of them depending on GHOSTSCRIPT_DEFAULT. The default device is set to "display" or "bbox". * print/ghostscript{7,8,9,9-agpl}-x11 Installs a shared library which provides X11 support to the installed Ghostscript binaries. x11* devices will be enabled when the library is available. This depends on *-base (RUN_DEPENDS). USES=ghostscript:x11 will set dependency on one of them. - Fix integer overflow reported as CVE-2015-3228. - Update Uses/ghostscript.mk: * Add x11 keyword. nox11 keyword is now obsolete. * Use packagename in *_DEPENDS line to prevent relationship between -base and -x11 packages from being broken. - Fix x11/nox11 keyword and bump PORTREVISION in ports using USES=ghostscript to update dependency of pre-compiled packages.
Notes
Notes: svn path=/head/; revision=395047
Diffstat (limited to 'print/ghostscript9-agpl-base/files')
-rw-r--r--print/ghostscript9-agpl-base/files/Makefile.dmprt8
-rw-r--r--print/ghostscript9-agpl-base/files/Makefile.drivers_post169
-rw-r--r--print/ghostscript9-agpl-base/files/Makefile.epag24
-rw-r--r--print/ghostscript9-agpl-base/files/Makefile.pcl335
-rw-r--r--print/ghostscript9-agpl-base/files/epag.contrib.mak8
-rw-r--r--print/ghostscript9-agpl-base/files/lqx70ch.upp26
-rw-r--r--print/ghostscript9-agpl-base/files/lqx70cl.upp26
-rw-r--r--print/ghostscript9-agpl-base/files/lqx70cm.upp25
-rw-r--r--print/ghostscript9-agpl-base/files/patch-Makefile.in144
-rw-r--r--print/ghostscript9-agpl-base/files/patch-Resource-Init-FAPIcidfmap62
-rw-r--r--print/ghostscript9-agpl-base/files/patch-Resource-Init-FAPIconfig10
-rw-r--r--print/ghostscript9-agpl-base/files/patch-Resource-Init-cidfmap67
-rw-r--r--print/ghostscript9-agpl-base/files/patch-Resource-Init-gs_statd.ps15
-rw-r--r--print/ghostscript9-agpl-base/files/patch-Resource-Init-gs_ttf.ps28
-rw-r--r--print/ghostscript9-agpl-base/files/patch-Resource-Init-pdf_font.ps15
-rw-r--r--print/ghostscript9-agpl-base/files/patch-base-gp_unix.c47
-rw-r--r--print/ghostscript9-agpl-base/files/patch-base-gs.mak11
-rw-r--r--print/ghostscript9-agpl-base/files/patch-base-gsicc_create.c10
-rw-r--r--print/ghostscript9-agpl-base/files/patch-base-gsmalloc.c11
-rw-r--r--print/ghostscript9-agpl-base/files/patch-base-gxobj.h18
-rw-r--r--print/ghostscript9-agpl-base/files/patch-base-openjpeg.mak11
-rw-r--r--print/ghostscript9-agpl-base/files/patch-base-unix-gcc.mak196
-rw-r--r--print/ghostscript9-agpl-base/files/patch-base-unixinst.mak20
-rw-r--r--print/ghostscript9-agpl-base/files/patch-configure.ac38
-rw-r--r--print/ghostscript9-agpl-base/files/patch-contrib-contrib.mak17
-rw-r--r--print/ghostscript9-agpl-base/files/patch-contrib__gomni.c195
-rw-r--r--print/ghostscript9-agpl-base/files/patch-contrib__japanese__dmp_site.ps11
-rw-r--r--print/ghostscript9-agpl-base/files/patch-contrib__japanese__gdevdmpr.c53
-rw-r--r--print/ghostscript9-agpl-base/files/patch-devices-devs.mak11
-rw-r--r--print/ghostscript9-agpl-base/files/patch-devices-gdevl256.c15
-rw-r--r--print/ghostscript9-agpl-base/files/patch-devices-gdevperm.c19
-rw-r--r--print/ghostscript9-agpl-base/files/patch-devices-gdevplib.c14
-rw-r--r--print/ghostscript9-agpl-base/files/patch-devices-gdevvglb.c15
-rw-r--r--print/ghostscript9-agpl-base/files/patch-epag-ert.c11
-rw-r--r--print/ghostscript9-agpl-base/files/patch-epag__gdevepag.c217
-rw-r--r--print/ghostscript9-agpl-base/files/patch-lips:gdevlips.c18
-rw-r--r--print/ghostscript9-agpl-base/files/patch-lips:gdevlips.h17
-rw-r--r--print/ghostscript9-agpl-base/files/patch-openjpeg-src-lib-openjp2-opj_includes.h11
-rw-r--r--print/ghostscript9-agpl-base/files/patch-psi-zicc.c12
-rw-r--r--print/ghostscript9-agpl-base/files/patch-trio-triodef.h26
-rw-r--r--print/ghostscript9-agpl-base/files/patch-trio-triop.h14
-rw-r--r--print/ghostscript9-agpl-base/files/pkg-message.in5
42 files changed, 1705 insertions, 0 deletions
diff --git a/print/ghostscript9-agpl-base/files/Makefile.dmprt b/print/ghostscript9-agpl-base/files/Makefile.dmprt
new file mode 100644
index 000000000000..f396e6cb094f
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/Makefile.dmprt
@@ -0,0 +1,8 @@
+# $FreeBSD$
+
+post-install-dmprt:
+ cd ${FILESDIR} && \
+ ${INSTALL_DATA} lqx70ch.upp lqx70cl.upp lqx70cm.upp \
+ ${STAGEDIR}${DATADIR}/lib
+
+post-install: post-install-dmprt
diff --git a/print/ghostscript9-agpl-base/files/Makefile.drivers_post b/print/ghostscript9-agpl-base/files/Makefile.drivers_post
new file mode 100644
index 000000000000..ee552b7dff31
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/Makefile.drivers_post
@@ -0,0 +1,169 @@
+# $FreeBSD$
+# pre/postprocessing driver variables
+
+# dmprt specific
+.if ${PORT_OPTIONS:MGS_dmprt}
+.include "${MASTERDIR}/files/Makefile.dmprt"
+.endif
+
+# epag specific
+.if ${PORT_OPTIONS:MGS_epag}
+.include "${MASTERDIR}/files/Makefile.epag"
+.endif
+
+EPAG_BASE= epag
+EPAG_SRCS= ${EPAG_BASE}-3.09.tar.gz
+EPAG_NAME= ${EPAG_SRCS:S,.tar.gz$,,}
+
+post-extract-epag:
+ ${TAR} -C ${WRKSRC} -xzf ${DISTDIR}/${DIST_SUBDIR}/${EPAG_SRCS}
+ ${LN} -s -f ${EPAG_NAME} ${WRKSRC}/${EPAG_BASE}
+ ${INSTALL_DATA} ${FILESDIR}/epag.contrib.mak \
+ ${WRKSRC}/contrib/epag.contrib.mak
+
+post-extract: post-extract-epag
+
+# pcl3 specific
+.if ${PORT_OPTIONS:MGS_pcl3}
+.include "${MASTERDIR}/files/Makefile.pcl3"
+.endif
+
+# cups specific
+CUPS_DEVS= cups
+.undef _CUPS_DEVS
+
+.for D in ${CUPS_DEVS}
+.if ${PORT_OPTIONS:MCUPS} && ${PORT_OPTIONS:MGS_${D}}
+_CUPS_DEVS+= ${D}
+.else
+PORT_OPTIONS:= ${PORT_OPTIONS:NGS_${D}}
+.endif
+.endfor
+
+.if defined(_CUPS_DEVS)
+LIB_DEPENDS+= libcupsimage.so:${PORTSDIR}/print/cups-image
+CONFIGURE_ARGS+= --enable-cups
+.else
+CONFIGURE_ARGS+= --disable-cups
+.endif
+
+# vgalib specific
+VGA_DEVS= lvga256 vgalib
+.undef _VGA_DEVS
+
+.for D in ${VGA_DEVS}
+.if ${PORT_OPTIONS:MGS_${D}}
+.if ${ARCH:Mamd64} || ${ARCH:Mi386}
+_VGA_DEVS+= ${D}
+.else
+OPTIONS_UNSET+= ${PORT_OPTIONS:MGS_${D}}
+.endif
+.endif
+.endfor
+
+.if defined(_VGA_DEVS)
+LIB_DEPENDS+= libvga.so:${PORTSDIR}/graphics/svgalib
+.endif
+
+# iconv specific
+ICONV_DEVS= oprp opvp
+.undef _ICONV_DEVS
+
+.for D in ${ICONV_DEVS}
+.if ${PORT_OPTIONS:MICONV} && ${PORT_OPTIONS:MGS_${D}}
+_ICONV_DEVS+= ${D}
+.else
+PORT_OPTIONS:= ${PORT_OPTIONS:NGS_${D}}
+.endif
+.endfor
+
+.if defined(_ICONV_DEVS)
+USES+= iconv
+CONFIGURE_ARGS+=--with-libiconv=maybe
+.else
+CONFIGURE_ARGS+=--with-libiconv=no
+.endif
+
+# pre-defined order
+DEVS_LIST= DISPLAY_DEV \
+ DEVS1 DEVS2 DEVS3 DEVS4 DEVS5 DEVS6 DEVS7 DEVS8 DEVS9 \
+ DEVS10 DEVS11 DEVS12 DEVS13 DEVS14 DEVS15 DEVS16 DEVS17 DEVS18 \
+ DEVS19 DEVS20 DEVS21
+
+DISPLAY_DEV= bbox.dev
+DEVICE_DEVS1= bmpmono.dev bmpgray.dev bmpsep1.dev bmpsep8.dev \
+ bmp16.dev bmp256.dev bmp16m.dev bmp32b.dev stcolor.dev
+DEVICE_DEVS2= epson.dev eps9high.dev eps9mid.dev epsonc.dev ibmpro.dev
+DEVICE_DEVS3= deskjet.dev djet500.dev laserjet.dev ljetplus.dev \
+ ljet2p.dev ljet3.dev ljet3d.dev ljet4.dev ljet4d.dev \
+ lj5mono.dev lj5gray.dev cups.dev
+DEVICE_DEVS4= cdeskjet.dev cdjcolor.dev cdjmono.dev cdj550.dev pj.dev \
+ pjxl.dev pjxl300.dev ijs.dev
+DEVICE_DEVS5= uniprint.dev omni.dev inkcov.dev
+DEVICE_DEVS6= bj10e.dev bj200.dev bjc600.dev bjc800.dev png48.dev \
+ png16m.dev pnggray.dev pngmono.dev png256.dev png16.dev \
+ pngalpha.dev
+DEVICE_DEVS7= faxg3.dev faxg32d.dev faxg4.dev
+DEVICE_DEVS8= pcxmono.dev pcxgray.dev pcx16.dev pcx256.dev pcx24b.dev \
+ pcxcmyk.dev plan.dev planc.dev plang.dev plank.dev \
+ planm.dev plib.dev plibc.dev plibg.dev plibk.dev plibm.dev
+DEVICE_DEVS9= pbm.dev pbmraw.dev pgm.dev pgmraw.dev pgnm.dev \
+ pgnmraw.dev pnm.dev pnmraw.dev ppm.dev ppmraw.dev pkm.dev \
+ pkmraw.dev pksm.dev pksmraw.dev
+DEVICE_DEVS10= tiffcrle.dev tiffg3.dev tiffg32d.dev tiffg4.dev \
+ tifflzw.dev tiffpack.dev
+DEVICE_DEVS11= tiff12nc.dev tiff24nc.dev tiff48nc tiffgray.dev \
+ tiff32nc.dev tiff64nc.dev tiffsep.dev tiffsep1.dev
+DEVICE_DEVS12= bit.dev bitrgb.dev bitcmyk.dev
+DEVICE_DEVS13=
+DEVICE_DEVS14= jpeg.dev jpeggray.dev jpegcmyk.dev
+DEVICE_DEVS15= pdfwrite.dev ps2write.dev eps2write.dev \
+ txtwrite.dev pxlmono.dev pxlcolor.dev
+DEVICE_DEVS16= bbox.dev
+DEVICE_DEVS17=
+DEVICE_DEVS18=
+DEVICE_DEVS20= cljet5.dev cljet5c.dev
+DEVICE_DEVS21= spotcmyk.dev devicen.dev xcf.dev psdcmyk.dev psdrgb.dev \
+ pamcmyk32.dev
+
+# DEVS19 is for this port specific
+DEVICE_DEVS19= alc1900.dev alc2000.dev alc4000.dev alc4100.dev \
+ alc8500.dev alc8600.dev ap3250.dev appledmp.dev atx23.dev \
+ atx24.dev atx38.dev bj10v.dev bj10vh.dev bjc880j.dev \
+ bjccmyk.dev bjccolor.dev bjcgray.dev bjcmono.dev \
+ ccr.dev cdj1600.dev cdj500.dev cdj670.dev cdj850.dev \
+ cdj880.dev cdj890.dev cdj970.dev cdnj500.dev cfax.dev \
+ cgm24.dev cgm8.dev cgmmono.dev chp2200.dev cif.dev \
+ cljet5pr.dev coslw2p.dev coslwxl.dev cp50.dev declj250.dev \
+ dfaxhigh.dev dfaxlow.dev display.dev dj505j.dev djet500c.dev \
+ dl2100.dev dmprt.dev dnj650c.dev epag.dev epl2050.dev \
+ epl2050p.dev epl2120.dev epl2500.dev epl2750.dev epl5800.dev \
+ epl5900.dev epl6100.dev eplcolor.dev eplmono.dev escpage.dev \
+ fmlbp.dev fmpr.dev fs600.dev gdi.dev hl1240.dev hl1250.dev \
+ hl7x0.dev imagen.dev imdi.dev inferno.dev iwhi.dev iwlo.dev \
+ iwlq.dev jetp3852.dev jj100.dev jpegcmyk.dev la50.dev la70.dev \
+ la75.dev la75plus.dev lbp310.dev lbp320.dev lbp8.dev \
+ lex2050.dev lex3200.dev lex5700.dev lex7000.dev lips2p.dev \
+ lips3.dev lips4.dev lips4v.dev lj250.dev lj4dith.dev \
+ lj4dithp.dev ljet4pjl.dev ln03.dev lp1800.dev lp1900.dev \
+ lp2000.dev lp2200.dev lp2400.dev lp2500.dev lp2563.dev \
+ lp3000c.dev lp7500.dev lp7700.dev lp7900.dev lp8000.dev \
+ lp8000c.dev lp8100.dev lp8200c.dev lp8300c.dev lp8300f.dev \
+ lp8400f.dev lp8500c.dev lp8600.dev lp8600f.dev lp8700.dev \
+ lp8800c.dev lp8900.dev lp9000b.dev lp9000c.dev lp9100.dev \
+ lp9300.dev lp9400.dev lp9500c.dev lp9600.dev lp9600s.dev \
+ lp9800c.dev lq850.dev lvga256.dev lx5000.dev lxm3200.dev \
+ lxm5700m.dev m8510.dev mag16.dev mag256.dev md1xMono.dev \
+ md2k.dev md50Eco.dev md50Mono.dev md5k.dev mgr4.dev mgr8.dev \
+ mgrgray2.dev mgrgray4.dev mgrgray8.dev mgrmono.dev miff24.dev \
+ mj500c.dev mj6000c.dev mj700v2c.dev mj8000c.dev ml600.dev \
+ necp6.dev npdl.dev oce9050.dev oki182.dev oki4w.dev okiibm.dev \
+ oprp.dev opvp.dev paintjet.dev pam.dev pamcmyk32.dev pcl3.dev \
+ perm.dev photoex.dev picty180.dev pjetxl.dev plan9bm.dev \
+ pr1000.dev pr1000_4.dev pr150.dev pr201.dev r4081.dev rpdl.dev \
+ sgirgb.dev sj48.dev st800.dev sunhmono.dev t4693d2.dev \
+ t4693d4.dev t4693d8.dev tek4696.dev tiff48nc tiff64nc.dev \
+ tiffsep1.dev txtwrite.dev vgalib.dev wtscmyk.dev wtsimdi.dev \
+ x11.dev x11alpha.dev x11cmyk.dev x11cmyk2.dev x11cmyk4.dev \
+ x11cmyk8.dev x11gray2.dev x11gray4.dev x11mono.dev x11rg16x.dev \
+ x11rg32x.dev xcfcmyk.dev xes.dev
diff --git a/print/ghostscript9-agpl-base/files/Makefile.epag b/print/ghostscript9-agpl-base/files/Makefile.epag
new file mode 100644
index 000000000000..96141325b372
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/Makefile.epag
@@ -0,0 +1,24 @@
+# $FreeBSD$
+
+# EPAG - additional driver for Epson ESC/Page printers
+# http://www.humblesoft.com/gdevepag.html
+
+PORTDOCS+= epag
+PORTDOC_FILES+= epag/ert.txt epag/gdevepag.txt epag/ChangeLog \
+ epag/psprint epag/gsepagif.sh
+
+pre-build-epag:
+ ${LN} -s -f ${WRKSRC}/${EPAG_NAME}/gdevepag.c ${WRKSRC}/base
+ ${MKDIR} ${WRKSRC}/contrib/epag
+ ${INSTALL_DATA} ${WRKSRC}/${EPAG_NAME}/* ${WRKSRC}/contrib/epag
+
+post-build-epag:
+ cd ${WRKSRC}/${EPAG_NAME} && \
+ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} Makefile
+
+post-install-epag:
+ ${INSTALL_PROGRAM} ${WRKSRC}/${EPAG_NAME}/ert ${STAGEDIR}${PREFIX}/bin
+
+pre-build: pre-build-epag
+post-build: post-build-epag
+post-install: post-install-epag
diff --git a/print/ghostscript9-agpl-base/files/Makefile.pcl3 b/print/ghostscript9-agpl-base/files/Makefile.pcl3
new file mode 100644
index 000000000000..6d3fc3bde62f
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/Makefile.pcl3
@@ -0,0 +1,35 @@
+# $FreeBSD$
+
+PORTDOCS+= pcl3
+PORTDOC_FILES+= pcl3/NEWS pcl3/BUGS pcl3/README pcl3/gs-pcl3.html \
+ pcl3/how-to-report.txt pcl3/pcl3opts.html
+
+post-build-pcl3:
+ cd ${WRKSRC} && \
+ ${CC} ${CFLAGS} -I./obj -I./soobj -I./base \
+ -I./contrib/pcl3/eprn -o bin/pcl3opts \
+ contrib/pcl3/src/pcl3opts.c contrib/pcl3/src/pclscan.c \
+ contrib/pcl3/eprn/mediasize.c contrib/pcl3/src/pclsize.c
+
+post-install-pcl3:
+ ${INSTALL_PROGRAM} ${WRKSRC}/bin/pcl3opts ${STAGEDIR}${PREFIX}/bin
+ ${MKDIR} ${STAGEDIR}${DATADIR}/pcl3
+ cd ${WRKSRC}/contrib/pcl3 && \
+ ${INSTALL_DATA} lib/example.mcf lib/if-pcl3 \
+ ps/calign.ps ps/dumppdd.ps ps/levels-test.ps \
+ ps/margins-A4.ps ps/margins-A4Rotated.ps \
+ ps/margins-Env10Rotated.ps \
+ ps/margins-EnvDLRotated.ps \
+ ps/margins-Letter.ps \
+ ps/margins-LetterRotated.ps \
+ ${STAGEDIR}${DATADIR}/pcl3
+ cd ${WRKSRC}/contrib/pcl3/doc && \
+ ${INSTALL_MAN} gs-pcl3.1 pcl3opts.1 ${STAGEDIR}${MANPREFIX}/man/man1
+
+post-install-docs-pcl3:
+ ${MKDIR} ${WRKSRC}/contrib/pcl3
+ ${INSTALL_DATA} ${WRKSRC}/contrib/pcl3/doc/* ${WRKSRC}/contrib/pcl3
+
+post-build: post-build-pcl3
+post-install: post-install-pcl3
+post-install-docs: post-install-docs-pcl3
diff --git a/print/ghostscript9-agpl-base/files/epag.contrib.mak b/print/ghostscript9-agpl-base/files/epag.contrib.mak
new file mode 100644
index 000000000000..2e6117ad4b51
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/epag.contrib.mak
@@ -0,0 +1,8 @@
+### ------- Epson ESC/Page printer device ----------------- ###
+epag_=$(GLOBJ)gdevepag.$(OBJ)
+
+$(DD)epag.dev : $(epag_) $(DD)page.dev
+ $(SETPDEV) $(DD)epag $(epag_)
+
+$(GLOBJ)gdevepag.$(OBJ): $(GLSRC)gdevepag.c $(gdevprn_h) $(PDEVH)
+ $(GLCC) $(GLO_)gdevepag.$(OBJ) $(C_) $(GLSRC)gdevepag.c
diff --git a/print/ghostscript9-agpl-base/files/lqx70ch.upp b/print/ghostscript9-agpl-base/files/lqx70ch.upp
new file mode 100644
index 000000000000..b5d3cd49e912
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/lqx70ch.upp
@@ -0,0 +1,26 @@
+# $ApsCVS: src/apsfilter/uniprint/lqx70ch.upp,v 1.2 2000/04/21 18:48:00 andreas Exp $
+#
+-supModel="Epson LQ-1170 ESC/P2 Dot Matrix, 360x360DpI, Plain Paper"
+-sDEVICE=uniprint
+-dNOPAUSE
+-dSAFER
+-dupColorModel=/DeviceCMYKgenerate
+-dupRendering=/ErrorDiffusion
+-dupOutputFormat=/EscP2
+-r360x360
+-dupMargins="{ 9.0 0.0 9.0 24.0}"
+-dupOutputPins=24
+-dupBeginPageCommand="<
+ 1b40 1b40
+ 1b2847 0100 01
+ 1b2869 0100 01
+ 1b2855 0100 0A
+ 1b5501
+ 1b2865 0200 0002
+ 1b2843 0200 0000
+ 1b2863 0400 0000 0000
+>"
+-dupAdjustPageLengthCommand
+-dupEndPageCommand="(\014)"
+-dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)"
+
diff --git a/print/ghostscript9-agpl-base/files/lqx70cl.upp b/print/ghostscript9-agpl-base/files/lqx70cl.upp
new file mode 100644
index 000000000000..91fb1aa89906
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/lqx70cl.upp
@@ -0,0 +1,26 @@
+# $ApsCVS: src/apsfilter/uniprint/lqx70cl.upp,v 1.2 2000/04/21 18:48:00 andreas Exp $
+#
+-supModel="Epson LQ-1170 ESC/P2 Dot Matrix, 180x180DpI, Plain Paper"
+-sDEVICE=uniprint
+-dNOPAUSE
+-dSAFER
+-dupColorModel=/DeviceCMYKgenerate
+-dupRendering=/ErrorDiffusion
+-dupOutputFormat=/EscP2
+-r180x180
+-dupMargins="{ 9.0 0.0 9.0 24.0}"
+-dupOutputPins=24
+-dupBeginPageCommand="<
+ 1b40 1b40
+ 1b2847 0100 01
+ 1b2869 0100 01
+ 1b2855 0100 14
+ 1b5500
+ 1b2865 0200 0002
+ 1b2843 0200 0000
+ 1b2863 0400 0000 0000
+>"
+-dupAdjustPageLengthCommand
+-dupEndPageCommand="(\014)"
+-dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)"
+
diff --git a/print/ghostscript9-agpl-base/files/lqx70cm.upp b/print/ghostscript9-agpl-base/files/lqx70cm.upp
new file mode 100644
index 000000000000..895af73aa8d8
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/lqx70cm.upp
@@ -0,0 +1,25 @@
+# $ApsCVS: src/apsfilter/uniprint/lqx70cm.upp,v 1.2 2000/04/21 18:48:00 andreas Exp $
+#
+-supModel="Epson LQ-1170 ESC/P2 Dot Matrix, 360x180DpI, Plain Paper"
+-sDEVICE=uniprint
+-dNOPAUSE
+-dSAFER
+-dupColorModel=/DeviceCMYKgenerate
+-dupRendering=/ErrorDiffusion
+-dupOutputFormat=/EscP2
+-r360x180
+-dupMargins="{ 9.0 24.0 9.0 24.0}"
+-dupOutputPins=24
+-dupBeginPageCommand="<
+ 1b40 1b40
+ 1b2847 0100 01
+ 1b2869 0100 01
+ 1b2855 0100 14
+ 1b5501
+ 1b2843 0200 0000
+ 1b2863 0400 0000 0000
+>"
+-dupAdjustPageLengthCommand
+-dupEndPageCommand="(\014)"
+-dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)"
+
diff --git a/print/ghostscript9-agpl-base/files/patch-Makefile.in b/print/ghostscript9-agpl-base/files/patch-Makefile.in
new file mode 100644
index 000000000000..0f905cb84fa6
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-Makefile.in
@@ -0,0 +1,144 @@
+--- Makefile.in.orig 2014-03-26 21:53:48.000000000 +0900
++++ Makefile.in 2014-11-23 17:01:12.000000000 +0900
+@@ -52,9 +52,9 @@
+ # the directories also define the default search path for the
+ # initialization files (gs_*.ps) and the fonts.
+
+-INSTALL = $(GLSRCDIR)/instcopy -c
+-INSTALL_PROGRAM = $(INSTALL) -m 755
+-INSTALL_DATA = $(INSTALL) -m 644
++INSTALL_PROGRAM = ${BSD_INSTALL_PROGRAM}
++INSTALL_SCRIPT = ${BSD_INSTALL_SCRIPT}
++INSTALL_DATA = ${BSD_INSTALL_DATA}
+ INSTALL_SHARED = @INSTALL_SHARED@
+
+ prefix = @prefix@
+@@ -199,7 +199,7 @@
+ # some older JPEG streams that violate the standard. If the JPEG
+ # library built from local sources, the patch will be applied.
+
+-SHARE_JPEG=@SHARE_LIBJPEG@
++SHARE_JPEG=1
+ JPEG_NAME=jpeg
+
+ # Define the directory where the PNG library sources are stored,
+@@ -207,12 +207,12 @@
+ # You may need to change this if the libpng version changes.
+ # See png.mak for more information.
+
+-SHARE_LIBPNG=@SHARE_LIBPNG@
++SHARE_LIBPNG=1
+ PNGSRCDIR=@LIBPNGDIR@
+ LIBPNG_NAME=png
+
+ # libtiff
+-SHARE_LIBTIFF=@SHARE_LIBTIFF@
++SHARE_LIBTIFF=1
+ TIFFSRCDIR=@LIBTIFFDIR@
+ TIFFCONFDIR=@LIBTIFFCONFDIR@
+ TIFFPLATFORM=unix
+@@ -222,7 +222,7 @@
+ # Define the directory where the zlib sources are stored.
+ # See zlib.mak for more information.
+
+-SHARE_ZLIB=@SHARE_ZLIB@
++SHARE_ZLIB=1
+ ZSRCDIR=@ZLIBDIR@
+ #ZLIB_NAME=gz
+ ZLIB_NAME=z
+@@ -249,7 +249,7 @@
+ JPX_LIB=@JPX_DECODER@
+ SHARE_JPX=@SHARE_JPX@
+ JPXSRCDIR=@JPXDIR@
+-JPX_CFLAGS=@JPX_AUTOCONF_CFLAGS@
++JPX_CFLAGS=@JPX_AUTOCONF_CFLAGS@ -ffast-math -DOPJ_STATIC -std=c99
+
+ # uncomment the following three lines and one of the last two to
+ # compile in the Luratech lwf_jp2 codec
+@@ -336,7 +336,7 @@
+ # Define the added flags for standard, debugging, profiling
+ # and shared object builds.
+
+-CFLAGS_STANDARD=@OPT_CFLAGS@
++CFLAGS_STANDARD?=@OPT_CFLAGS@
+ CFLAGS_DEBUG=@DBG_CFLAGS@
+ CFLAGS_PROFILE=-pg @OPT_CFLAGS@
+ CFLAGS_SO=@DYNAMIC_CFLAGS@
+@@ -389,8 +389,8 @@
+ # Solaris may need -lnsl -lsocket -lposix4.
+ # (Libraries required by individual drivers are handled automatically.)
+
+-EXTRALIBS=$(XTRALIBS) @LIBS@ @DYNAMIC_LIBS@ @FONTCONFIG_LIBS@ @FT_LIBS@
+-AUXEXTRALIBS=$(XTRALIBS) @LIBS@ @DYNAMIC_LIBS@ @FONTCONFIG_LIBS@ @FT_LIBS@ @AUX_SHARED_ZLIB@
++EXTRALIBS=$(XTRALIBS) @LIBS@ @DYNAMIC_LIBS@ @FONTCONFIG_LIBS@ @FT_LIBS@ -Wl,-export-dynamic
++AUXEXTRALIBS=$(XTRALIBS) @LIBS@ @DYNAMIC_LIBS@ @FONTCONFIG_LIBS@ @FT_LIBS@ @AUX_SHARED_ZLIB@ -Wl,-export-dynamic
+
+ # Define the standard libraries to search at the end of linking.
+ # Most platforms require -lpthread for the POSIX threads library;
+@@ -434,7 +434,7 @@
+ # the pthread library. Otherwise use SYNC=nosync
+ #SYNC=posync
+ #SYNC=nosync
+-SYNC=@SYNC@
++SYNC=nosync
+
+ # programs we use
+ RM=rm -f
+@@ -528,28 +528,27 @@
+ #DEVICE_DEVS20=$(DD)cljet5.dev $(DD)cljet5c.dev
+ #DEVICE_DEVS21=$(DD)spotcmyk.dev $(DD)devicen.dev $(DD)xcf.dev $(DD)psdcmyk.dev $(DD)psdrgb.dev $(DD)psdcmykog.dev $(DD)fpng.dev
+ DEVICE_DEVS=$(DISPLAY_DEV) @X11_DEVS@
+-DEVICE_DEVS1=@F_DEVS@
+-DEVICE_DEVS2=@P_DEVS@
+-DEVICE_DEVS3=@CUPS_DEVS@
+-DEVICE_DEVS4=@IJS_DEVS@
+-DEVICE_DEVS5=@OMNIDEVS@
+-DEVICE_DEVS6=@PNG_DEVS@
+-DEVICE_DEVS7=@JBIG2_DEVS@
+-DEVICE_DEVS8=
+-DEVICE_DEVS9=@XPS_DEVS@
+-DEVICE_DEVS10=
+-DEVICE_DEVS11=
+-DEVICE_DEVS12=
+-DEVICE_DEVS13=
+-DEVICE_DEVS14=
+-DEVICE_DEVS15=
+-DEVICE_DEVS16=
+-DEVICE_DEVS17=
+-DEVICE_DEVS18=
+-DEVICE_DEVS19=
+-DEVICE_DEVS20=
+-DEVICE_DEVS21=
+-
++#DEVICE_DEVS1=@F_DEVS@
++#DEVICE_DEVS2=@P_DEVS@
++#DEVICE_DEVS3=@CUPS_DEVS@
++#DEVICE_DEVS4=@IJS_DEVS@
++#DEVICE_DEVS5=@OMNIDEVS@
++#DEVICE_DEVS6=@PNG_DEVS@
++#DEVICE_DEVS7=@JBIG2_DEVS@
++#DEVICE_DEVS8=
++#DEVICE_DEVS9=@XPS_DEVS@
++#DEVICE_DEVS10=
++#DEVICE_DEVS11=
++#DEVICE_DEVS12=
++#DEVICE_DEVS13=
++#DEVICE_DEVS14=
++#DEVICE_DEVS15=
++#DEVICE_DEVS16=
++#DEVICE_DEVS17=
++#DEVICE_DEVS18=
++#DEVICE_DEVS19=
++#DEVICE_DEVS20=
++#DEVICE_DEVS21=
+
+ # Shared library target to build.
+ GS_SHARED_OBJS=@DYNAMIC_DEVS@
+@@ -592,6 +591,7 @@
+ # ---------------- End of platform-specific section ---------------- #
+
+ INSTALL_CONTRIB=@INSTALL_CONTRIB@
++include $(GLSRCDIR)/drivers.mak
+ include $(GLSRCDIR)/unixhead.mak
+ include $(GLSRCDIR)/gs.mak
+ include $(GLSRCDIR)/trio.mak
diff --git a/print/ghostscript9-agpl-base/files/patch-Resource-Init-FAPIcidfmap b/print/ghostscript9-agpl-base/files/patch-Resource-Init-FAPIcidfmap
new file mode 100644
index 000000000000..2c6bf45839b2
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-Resource-Init-FAPIcidfmap
@@ -0,0 +1,62 @@
+--- Resource/Init/FAPIcidfmap.orig 2006-06-01 00:29:52.000000000 +0900
++++ Resource/Init/FAPIcidfmap 2009-05-15 03:27:31.000000000 +0900
+@@ -29,4 +29,59 @@
+ %
+ % /Ryumin-Medium << /Path (msgothic.ttc) /CIDFontType 0 /FAPI /UFST /CSI [(Japan1) 2] >> ;
+ % /HeiseiKakuGo-W5 << /Path (F:/WIN2000/Fonts/BATANG.TTC) /CIDFontType 0 /FAPI /UFST /CSI [(Japan1) 2] >> ;
++%/Ryumin-Light << /Path (Ryumin-Light) /CIDFontType 0 /FAPI /UFST /CSI [(Japan1) 2] >> ;
++%/GothicBBB-Medium << /Path (GothicBBB-Medium) /CIDFontType 0 /FAPI /UFST /CSI [(Japan1) 2] >> ;
++
++/Ryumin-Medium /Ryumin-Light ;
++/Ryumin-Regular /Ryumin-Light ;
++/RyuminPro-Light /Ryumin-Light ;
++
++/GothicBBBPro-Medium /GothicBBB-Medium ;
++
++/KozGoPro-Bold /GothicBBB-Medium ;
++/KozGoPro-Heavy /GothicBBB-Medium ;
++/KozGoPro-Medium /GothicBBB-Medium ;
++/KozGoPro-Regular /GothicBBB-Medium ;
++
++/KozMinPro-Bold /Ryumin-Light ;
++/KozMinPro-Light /Ryumin-Light ;
++/KozMinPro-Medium /Ryumin-Light ;
++/KozMinPro-Regular /Ryumin-Light ;
++
++/HiraKakuPro-W3 /GothicBBB-Medium ;
++/HiraKakuPro-W6 /GothicBBB-Medium ;
++/HiraKakuStd-W8 /GothicBBB-Medium ;
++
++/HiraMaruPro-W4 /GothicBBB-Medium ;
+
++/HiraMinPro-W3 /Ryumin-Light ;
++
++/HeiseiMin-W3 /Ryumin-Light ;
++/HeiseiKakuGo-W5 /GothicBBB-Medium ;
++
++/FutoMinA101-Bold /Ryumin-Light ;
++/FutoMinA101Pro-Bold /Ryumin-Light ;
++/FutoGoB101-Bold /GothicBBB-Medium ;
++/FutoGoB101Pro-Bold /GothicBBB-Medium ;
++
++/Jun101-Light /Ryumin-Light ;
++/Jun101Pro-Light /Ryumin-Light ;
++
++/MidashiGo-MB31 /GothicBBB-Medium ;
++/MidashiGoPro-MB31 /GothicBBB-Medium ;
++
++/MidashiMinPro-MA31 /Ryumin-Light ;
++
++%/Munhwa-Regular /Munhwa-Regular ;
++%/MunhwaGothic-Regular /MunhwaGothic-Regular ;
++%/Munhwa-Bold /Munhwa-Bold ;
++%/MunhwaGothic-Bold /MunhwaGothic-Bold ;
++
++/HYGoThic-Medium /MunhwaGothic-Regular ;
++/HYSMyeongJo-Medium /Munhwa-Regular ;
++/HYRGoThic-Medium /MunhwaGothic-Bold ;
++
++%/STHeiti-Regular << /Path (STHeiti-Regular) /CIDFontType 0 /FAPI /UFST /CSI [(CNS1) 5] >> ;
++%/STSong-Light << /Path (STSong-Light) /CIDFontType 0 /FAPI /UFST /CSI [(GB1) 5] >> ;
++%/MSung-Light << /Path (MSung-Light) /CIDFontType 0 /FAPI /UFST /CSI [(CNS1) 5] >> ;
++%/MHei-Medium << /Path (MHei-Medium) /CIDFontType 0 /FAPI /UFST /CSI [(GB1) 5] >> ;
diff --git a/print/ghostscript9-agpl-base/files/patch-Resource-Init-FAPIconfig b/print/ghostscript9-agpl-base/files/patch-Resource-Init-FAPIconfig
new file mode 100644
index 000000000000..e2ff81b58276
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-Resource-Init-FAPIconfig
@@ -0,0 +1,10 @@
+--- Resource/Init/FAPIconfig.orig 2010-04-13 21:50:40.000000000 +0900
++++ Resource/Init/FAPIconfig 2011-05-17 18:25:59.000000000 +0900
+@@ -12,3 +12,7 @@
+ % and CID font resource files.
+ % "Embedded fonts" are fonts and CID fonts being embedded into a document.
+
++/FontPath () % A default directory for FAPI-handled font files path in FAPIfontmap.
++/CIDFontPath () % A default directory for FAPI-handled CID font files path in FAPIcidfmap.
++/HookDiskFonts [] % FontType values for disk PS fonts to be redirected to FAPI.
++/HookEmbeddedFonts [] % FontType values for embedded PS fonts to be redirected to FAPI.
diff --git a/print/ghostscript9-agpl-base/files/patch-Resource-Init-cidfmap b/print/ghostscript9-agpl-base/files/patch-Resource-Init-cidfmap
new file mode 100644
index 000000000000..8ed71789f4fe
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-Resource-Init-cidfmap
@@ -0,0 +1,67 @@
+--- Resource/Init/cidfmap.orig 2008-08-08 13:22:38.000000000 +0900
++++ Resource/Init/cidfmap 2009-12-20 03:03:17.000000000 +0900
+@@ -26,3 +26,64 @@
+ % /ShinGo-Bold /HeiseiKakuGo-W5 ;
+ % /Ryumin-Medium << /FileType /TrueType /Path (H:/AuxFiles/Fonts/BATANG.TTC) /SubfontID 3 /CSI [(Japan1) 2] >> ;
+ %
++/Ryumin-Light << /FileType /TrueType /Path (Ryumin-Light) /SubfontID 0 /CSI [(Japan1) 6] >> ;
++/GothicBBB-Medium << /FileType /TrueType /Path (GothicBBB-Medium) /SubfontID 0 /CSI [(Japan1) 6] >> ;
++
++/Ryumin-Medium /Ryumin-Light ;
++/Ryumin-Regular /Ryumin-Light ;
++/RyuminPro-Light /Ryumin-Light ;
++
++/GothicBBBPro-Medium /GothicBBB-Medium ;
++
++/KozGoPro-Bold /GothicBBB-Medium ;
++/KozGoPro-Heavy /GothicBBB-Medium ;
++/KozGoPro-Medium /GothicBBB-Medium ;
++/KozGoPro-Regular /GothicBBB-Medium ;
++
++/KozMinPro-Bold /Ryumin-Light ;
++/KozMinPro-Light /Ryumin-Light ;
++/KozMinPro-Medium /Ryumin-Light ;
++/KozMinPro-Regular /Ryumin-Light ;
++
++/HiraKakuPro-W3 /GothicBBB-Medium ;
++/HiraKakuPro-W6 /GothicBBB-Medium ;
++/HiraKakuStd-W8 /GothicBBB-Medium ;
++
++/HiraMaruPro-W4 /GothicBBB-Medium ;
++
++/HiraMinPro-W3 /Ryumin-Light ;
++
++/HeiseiMin-W3 /Ryumin-Light ;
++/HeiseiKakuGo-W5 /GothicBBB-Medium ;
++
++/FutoMinA101-Bold /Ryumin-Light ;
++/FutoMinA101Pro-Bold /Ryumin-Light ;
++/FutoGoB101-Bold /GothicBBB-Medium ;
++/FutoGoB101Pro-Bold /GothicBBB-Medium ;
++
++/Jun101-Light /Ryumin-Light ;
++/Jun101Pro-Light /Ryumin-Light ;
++
++/MidashiGo-MB31 /GothicBBB-Medium ;
++/MidashiGoPro-MB31 /GothicBBB-Medium ;
++
++/MidashiMinPro-MA31 /Ryumin-Light ;
++
++/MS-Mincho /Ryumin-Light ;
++/MS-PMincho /Ryumin-Light ;
++/MS-Gothic /GothicBBB-Medium ;
++/MS-PGothic /GothicBBB-Medium ;
++
++%/Munhwa-Regular /Munhwa-Regular ;
++%/MunhwaGothic-Regular /MunhwaGothic-Regular ;
++%/Munhwa-Bold /Munhwa-Bold ;
++%/MunhwaGothic-Bold /MunhwaGothic-Bold ;
++
++/HYGoThic-Medium /MunhwaGothic-Regular ;
++/HYSMyeongJo-Medium /Munhwa-Regular ;
++/HYRGoThic-Medium /MunhwaGothic-Bold ;
++
++/STHeiti-Regular << /FileType /TrueType /Path (STHeiti-Regular) /SubfontID 0 /CSI [(CNS1) 5] >> ;
++/STSong-Light << /FileType /TrueType /Path (STSong-Light) /SubfontID 0 /CSI [(GB1) 5] >> ;
++/MSung-Light << /FileType /TrueType /Path (MSung-Light) /SubfontID 0 /CSI [(CNS1) 5] >> ;
++/MHei-Medium << /FileType /TrueType /Path (MHei-Medium) /SubfontID 0 /CSI [(GB1) 5] >> ;
diff --git a/print/ghostscript9-agpl-base/files/patch-Resource-Init-gs_statd.ps b/print/ghostscript9-agpl-base/files/patch-Resource-Init-gs_statd.ps
new file mode 100644
index 000000000000..a9996b623de8
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-Resource-Init-gs_statd.ps
@@ -0,0 +1,15 @@
+--- Resource/Init/gs_statd.ps.orig 2011-05-24 04:43:02.000000000 +0900
++++ Resource/Init/gs_statd.ps 2011-05-24 04:43:31.000000000 +0900
+@@ -125,6 +125,12 @@
+ /ANSI_D {1585 2448 //.setpagesize exec} bind def
+ /ANSI_E {2448 3168 //.setpagesize exec} bind def
+ /ANSI_F {2016 2880 //.setpagesize exec} bind def
++ /postcard {284 419 //.setpagesize exec} bind def
++ /dbl_postcard {419 568 //.setpagesize exec} bind def
++ /Executive {522 756 //.setpagesize exec} bind def
++ /jenv_you4 {298 666 //.setpagesize exec} bind def
++ /jenv_you2 {324 460 //.setpagesize exec} bind def
++ /jenv_kaku2 {682 942 //.setpagesize exec} bind def
+ %END SIZES
+ currentdict end
+ dup /.setpagesize .undef
diff --git a/print/ghostscript9-agpl-base/files/patch-Resource-Init-gs_ttf.ps b/print/ghostscript9-agpl-base/files/patch-Resource-Init-gs_ttf.ps
new file mode 100644
index 000000000000..19fc072bd4e2
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-Resource-Init-gs_ttf.ps
@@ -0,0 +1,28 @@
+--- Resource/Init/gs_ttf.ps.orig 2011-05-24 04:46:01.000000000 +0900
++++ Resource/Init/gs_ttf.ps 2011-05-24 04:46:22.000000000 +0900
+@@ -1029,10 +1029,21 @@
+ } ifelse
+ % Stack: ... /FontInfo mark key1 value1 ...
+ post //null ne {
+- /ItalicAngle first_post_string 4 gets32 65536.0 div
+- /isFixedPitch first_post_string 12 getu32 0 ne
+- /UnderlinePosition first_post_string 8 gets16 upem div
+- /UnderlineThickness first_post_string 10 gets16 upem div
++% /ItalicAngle first_post_string 4 gets32 65536.0 div
++% /isFixedPitch first_post_string 12 getu32 0 ne
++% /UnderlinePosition first_post_string 8 gets16 upem div
++% /UnderlineThickness first_post_string 10 gets16 upem div
++ post type /arraytype eq {
++ % this post table is a big table. /post should be [(...) ...]
++ % data we actually need here should be first one in array.
++ /posttable post 1 get def
++ } {
++ /posttable post def
++ } ifelse
++ /ItalicAngle posttable 4 gets32 65536.0 div
++ /isFixedPitch posttable 12 getu32 0 ne
++ /UnderlinePosition posttable 8 gets16 upem div
++ /UnderlineThickness posttable 10 gets16 upem div
+ } if
+ counttomark 0 ne { .dicttomark } { pop pop } ifelse
+ /XUID [orgXUID 42 curxuid]
diff --git a/print/ghostscript9-agpl-base/files/patch-Resource-Init-pdf_font.ps b/print/ghostscript9-agpl-base/files/patch-Resource-Init-pdf_font.ps
new file mode 100644
index 000000000000..c966e57fba11
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-Resource-Init-pdf_font.ps
@@ -0,0 +1,15 @@
+--- Resource/Init/pdf_font.ps.orig Tue Aug 31 13:03:30 2004
++++ Resource/Init/pdf_font.ps Wed Sep 15 19:15:00 2004
+@@ -1114,10 +1114,12 @@
+
+ /buildCIDType0 { % <CIDFontType0-font-resource> buildCIDType0 <font>
+ dup /BaseFont get findCIDFont exch pop
++ addCIDmetrics /CIDFont defineresource
+ } bdef
+
+ /buildCIDType2 { % <CIDFontType2-font-resource> buildCIDType2 <font>
+ dup /BaseFont get findCIDFont exch pop
++ addCIDmetrics /CIDFont defineresource
+ } bdef
+
+ /processCIDToGIDMap { % <fontres> <cidfont> processCIDToGIDMap <fontres> <cidfont>
diff --git a/print/ghostscript9-agpl-base/files/patch-base-gp_unix.c b/print/ghostscript9-agpl-base/files/patch-base-gp_unix.c
new file mode 100644
index 000000000000..5e89d3b811a4
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-base-gp_unix.c
@@ -0,0 +1,47 @@
+--- base/gp_unix.c.orig 2015-08-22 03:07:24.257409000 +0900
++++ base/gp_unix.c 2015-08-22 03:08:15.753173000 +0900
+@@ -52,6 +52,7 @@
+ * and applied as a patch (preferable).
+ */
+ #include <sys/types.h>
++#include <limits.h>
+ #include <dirent.h>
+ #include <dlfcn.h>
+ #include <string.h>
+@@ -61,26 +62,25 @@
+ {
+ DIR* dir = NULL;
+ struct dirent* dirent;
+- char buff[1024];
++ char buff[PATH_MAX];
+ char* pbuff;
+ void* handle;
+ void (*gs_shared_init)(void);
+
+- strncpy(buff, GS_DEVS_SHARED_DIR, sizeof(buff) - 2);
+- pbuff = buff + strlen(buff);
+- *pbuff++ = '/'; *pbuff = '\0';
+-
+ dir = opendir(GS_DEVS_SHARED_DIR);
+ if (dir == 0) return;
+
+ while ((dirent = readdir(dir)) != 0) {
+- strncpy(pbuff, dirent->d_name, sizeof(buff) - (pbuff - buff) - 1);
+- if ((handle = dlopen(buff, RTLD_NOW)) != 0) {
+- if ((gs_shared_init = dlsym(handle, "gs_shared_init")) != 0) {
++ snprintf(buff, sizeof(buff), "%s/%s", GS_DEVS_SHARED_DIR, dirent->d_name);
++ pbuff = buff + strlen(buff) - 3;
++ if (strcmp(pbuff, ".so") != 0)
++ continue;
++ handle = dlopen(buff, RTLD_NOW);
++ if (handle == NULL)
++ continue;
++ gs_shared_init = dlsym(handle, "gs_shared_init");
++ if (gs_shared_init != NULL)
+ (*gs_shared_init)();
+- } else {
+- }
+- }
+ }
+
+ closedir(dir);
diff --git a/print/ghostscript9-agpl-base/files/patch-base-gs.mak b/print/ghostscript9-agpl-base/files/patch-base-gs.mak
new file mode 100644
index 000000000000..50d31a63a2d2
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-base-gs.mak
@@ -0,0 +1,11 @@
+--- base/gs.mak.orig 2012-08-08 17:01:36.000000000 +0900
++++ base/gs.mak 2012-10-14 02:29:03.000000000 +0900
+@@ -437,7 +437,7 @@
+ ld_tr=$(GLGENDIR)$(D)ld.tr
+ $(ld_tr) : \
+ $(GS_MAK) $(TOP_MAKEFILES) $(GLSRCDIR)$(D)version.mak $(GENCONF_XE) $(ECHOGS_XE) $(devs_tr) $(DEVS_ALL) $(GLGENDIR)$(D)libcore.dev
+- $(EXP)$(GENCONF_XE) $(devs_tr) -h $(gconfxx_h) $(CONFILES) $(CONFLDTR) $(ld_tr)
++ $(EXP)$(GENCONF_XE) $(devs_tr) -h /dev/stdout $(CONFILES) $(CONFLDTR) $(ld_tr) | awk 'BEGIN{j=0; p=1;} /jpeg_device/ {if(j++ > 0) p=0;} // { if(p==1) { print; } else { p=1 } }' > $(gconfxx_h)
+ $(EXP)$(ECHOGS_XE) -a $(gconfxx_h) $(GCONFIG_EXTRAS)
+
+ $(gconfxx_h) : $(ld_tr)
diff --git a/print/ghostscript9-agpl-base/files/patch-base-gsicc_create.c b/print/ghostscript9-agpl-base/files/patch-base-gsicc_create.c
new file mode 100644
index 000000000000..82bfee6c37ef
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-base-gsicc_create.c
@@ -0,0 +1,10 @@
+--- base/gsicc_create.c.orig 2011-08-05 20:12:20.000000000 +0900
++++ base/gsicc_create.c 2011-12-06 15:23:14.000000000 +0900
+@@ -113,6 +113,7 @@
+
+ */
+
++#include <sys/types.h>
+ #include "icc34.h" /* Note this header is needed even if lcms is not
+ compiled as default CMS */
+ #include "string_.h"
diff --git a/print/ghostscript9-agpl-base/files/patch-base-gsmalloc.c b/print/ghostscript9-agpl-base/files/patch-base-gsmalloc.c
new file mode 100644
index 000000000000..030f702d9415
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-base-gsmalloc.c
@@ -0,0 +1,11 @@
+--- base/gsmalloc.c.orig 2015-08-22 03:09:16.838614000 +0900
++++ base/gsmalloc.c 2015-08-22 03:09:34.776354000 +0900
+@@ -178,7 +178,7 @@
+ } else {
+ uint added = size + sizeof(gs_malloc_block_t);
+
+- if (mmem->limit - added < mmem->used)
++ if (added <= size || mmem->limit - added < mmem->used)
+ set_msg("exceeded limit");
+ else if ((ptr = (byte *) Memento_label(malloc(added), cname)) == 0)
+ set_msg("failed");
diff --git a/print/ghostscript9-agpl-base/files/patch-base-gxobj.h b/print/ghostscript9-agpl-base/files/patch-base-gxobj.h
new file mode 100644
index 000000000000..529efe379df2
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-base-gxobj.h
@@ -0,0 +1,18 @@
+--- base/gxobj.h.orig Tue Mar 14 01:18:19 2006
++++ base/gxobj.h Fri Mar 23 14:41:44 2007
+@@ -109,11 +109,15 @@
+ * required by the hardware, regardless of the value of obj_align_mod.
+ * See gsmemraw.h for more information about this.
+ */
++#if !defined(__ia64__) && !defined(__amd64__)
+ #define obj_align_mod\
+ (((ARCH_ALIGN_MEMORY_MOD - 1) |\
+ (align_bitmap_mod - 1) |\
+ (obj_back_scale - 1)) + 1)
+ /* The only possible values for obj_align_mod are 4, 8, or 16.... */
++#else
++#define obj_align_mod 16
++#endif
+ #if obj_align_mod == 4
+ # define log2_obj_align_mod 2
+ #else
diff --git a/print/ghostscript9-agpl-base/files/patch-base-openjpeg.mak b/print/ghostscript9-agpl-base/files/patch-base-openjpeg.mak
new file mode 100644
index 000000000000..3d85cb70abf1
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-base-openjpeg.mak
@@ -0,0 +1,11 @@
+--- base/openjpeg.mak.orig 2012-02-08 17:48:48.000000000 +0900
++++ base/openjpeg.mak 2012-02-14 06:40:56.000000000 +0900
+@@ -101,7 +101,7 @@
+ $(SETMOD) $(OPEN_JPEG_GEN)openjpeg_0 $(open_jpeg_OBJS)
+
+ # define our specific compiler
+-OPEN_JPEG_CC=$(CC) $(CFLAGS) $(D_)OPJ_STATIC$(_D) $(I_)$(OPEN_JPEG_GEN)$(_I) $(I_)$(JPX_OPENJPEG_I_)$(_I) $(I_)$(JPX_OPENJPEG_I_)$(D)..$(_I) $(JPXCF_)
++OPEN_JPEG_CC=$(CC) $(JPX_CFLAGS) $(I_)$(JPX_OPENJPEG_I_)$(_I) $(I_)$(JPX_OPENJPEG_I_)$(D)..$(_I) $(CFLAGS) $(D_)OPJ_STATIC$(_D) $(I_)$(OPEN_JPEG_GEN)$(_I) $(I_)$(JPX_OPENJPEG_I_)$(_I) $(I_)$(JPX_OPENJPEG_I_)$(D)..$(_I) $(JPXCF_)
+ OPEN_JPEG_O=$(O_)$(OPEN_JPEG_OBJ)$(OPEN_JPEG_PREFIX)
+
+ OPEN_JPEG_DEP=$(AK) $(OPEN_JPEG_MAK)
diff --git a/print/ghostscript9-agpl-base/files/patch-base-unix-gcc.mak b/print/ghostscript9-agpl-base/files/patch-base-unix-gcc.mak
new file mode 100644
index 000000000000..2fd1d5ad7885
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-base-unix-gcc.mak
@@ -0,0 +1,196 @@
+--- base/unix-gcc.mak.orig 2014-03-26 21:53:47.000000000 +0900
++++ base/unix-gcc.mak 2014-08-25 00:19:13.000000000 +0900
+@@ -22,19 +22,19 @@
+ # source, generated intermediate file, and object directories
+ # for the graphics library (GL) and the PostScript/PDF interpreter (PS).
+
+-BINDIR=./$(BUILDDIRPREFIX)bin
+-GLSRCDIR=./base
+-DEVSRCDIR=./devices
+-GLGENDIR=./$(BUILDDIRPREFIX)obj
+-GLOBJDIR=./$(BUILDDIRPREFIX)obj
+-DEVGENDIR=./$(BUILDDIRPREFIX)obj
+-DEVOBJDIR=./$(BUILDDIRPREFIX)obj
++BINDIR=${.CURDIR}/$(BUILDDIRPREFIX)bin
++GLSRCDIR=${.CURDIR}/base
++DEVSRCDIR=${.CURDIR}/devices
++GLGENDIR=${.CURDIR}/$(BUILDDIRPREFIX)obj
++GLOBJDIR=${.CURDIR}/$(BUILDDIRPREFIX)obj
++DEVGENDIR=${.CURDIR}/$(BUILDDIRPREFIX)obj
++DEVOBJDIR=${.CURDIR}/$(BUILDDIRPREFIX)obj
+ AUXDIR=$(GLGENDIR)/aux
+-PSSRCDIR=./psi
+-PSLIBDIR=./lib
+-PSRESDIR=./Resource
+-PSGENDIR=./$(BUILDDIRPREFIX)obj
+-PSOBJDIR=./$(BUILDDIRPREFIX)obj
++PSSRCDIR=${.CURDIR}/psi
++PSLIBDIR=${.CURDIR}/lib
++PSRESDIR=${.CURDIR}/Resource
++PSGENDIR=${.CURDIR}/$(BUILDDIRPREFIX)obj
++PSOBJDIR=${.CURDIR}/$(BUILDDIRPREFIX)obj
+
+ # Do not edit the next group of lines.
+
+@@ -53,11 +53,10 @@
+ # the directories also define the default search path for the
+ # initialization files (gs_*.ps) and the fonts.
+
+-INSTALL = $(GLSRCDIR)/instcopy -c
+-INSTALL_PROGRAM = $(INSTALL) -m 755
+-INSTALL_DATA = $(INSTALL) -m 644
++INSTALL_PROGRAM = ${BSD_INSTALL_SCRIPT}
++INSTALL_DATA = ${BSD_INSTALL_DATA}
+
+-prefix = /usr/local
++prefix = ${PREFIX}
+ exec_prefix = $(prefix)
+ bindir = $(exec_prefix)/bin
+ scriptdir = $(bindir)
+@@ -107,7 +106,7 @@
+ # This uses the more secure temporary file creation call
+ # Enable this if it is available on your platform.
+
+-CAPOPT= -DHAVE_MKSTEMP
++CAPOPT= -DHAVE_MKSTEMP -DHAVE_HYPOT
+
+ # Define the name of the executable file.
+
+@@ -142,7 +141,7 @@
+ # some older JPEG streams that violate the standard. If the JPEG
+ # library built from local sources, the patch will be applied.
+
+-SHARE_JPEG=0
++SHARE_JPEG=1
+ JPEG_NAME=jpeg
+
+ # Define the directory where the PNG library sources are stored,
+@@ -156,13 +155,13 @@
+ # what its name is.
+ # See gs.mak and Make.htm for more information.
+
+-SHARE_LIBPNG=0
++SHARE_LIBPNG=1
+ LIBPNG_NAME=png
+
+ # Define whether to use a shared version of libtiff and where
+ # it is stored and what its name is.
+
+-SHARE_LIBTIFF=0
++SHARE_LIBTIFF=1
+ TIFFSRCDIR=tiff
+ TIFFCONFDIR=tiff
+ TIFFPLATFORM=unix
+@@ -180,12 +179,12 @@
+ # what its name is (usually libz, but sometimes libgz).
+ # See gs.mak and Make.htm for more information.
+
+-SHARE_ZLIB=0
++SHARE_ZLIB=1
+ #ZLIB_NAME=gz
+ ZLIB_NAME=z
+
+ # Choose shared or compiled in libjbig2dec and source location
+-SHARE_JBIG2=0
++SHARE_JBIG2=1
+ JBIG2_LIB=jbig2dec
+ JBIG2SRCDIR=jbig2dec
+
+@@ -225,7 +224,7 @@
+
+ # Define the name of the C compiler.
+
+-CC=gcc
++CC?=cc
+
+ # Define the name of the linker for the final link step.
+ # Normally this is the same as the C compiler.
+@@ -242,7 +241,7 @@
+ # Define the added flags for standard, debugging, profiling
+ # and shared object builds.
+
+-CFLAGS_STANDARD=-O2
++CFLAGS_STANDARD?=-O2
+ CFLAGS_DEBUG=-g -O0
+ CFLAGS_PROFILE=-pg -O2
+ CFLAGS_SO=-fPIC
+@@ -258,7 +257,8 @@
+ # We don't include -ansi, because this gets in the way of the platform-
+ # specific stuff that <math.h> typically needs; nevertheless, we expect
+ # gcc to accept ANSI-style function prototypes and function definitions.
+-XCFLAGS=-DGS_DEVS_SHARED -DGS_DEVS_SHARED_DIR=\"$(gssharedir)\"
++#XCFLAGS+=-DGS_DEVS_SHARED -DGS_DEVS_SHARED_DIR=\"$(gssharedir)\"
++XCFLAGS+=-DUPD_SIGNAL=0 -I${JPXSRCDIR}/src/libjasper/include -I${LOCALBASE}/include/libpng -I${LOCALBASE}/include
+
+ CFLAGS=$(CFLAGS_STANDARD) $(GCFLAGS) $(XCFLAGS)
+
+@@ -269,7 +269,7 @@
+ # -R /usr/local/xxx/lib:/usr/local/lib
+ # giving the full path names of the shared library directories.
+ # XLDFLAGS can be set from the command line.
+-XLDFLAGS=
++XLDFLAGS+=-L${LOCALBASE}/lib
+
+ LDFLAGS=$(XLDFLAGS)
+
+@@ -280,7 +280,7 @@
+ # Solaris may need -lnsl -lsocket -lposix4.
+ # (Libraries required by individual drivers are handled automatically.)
+
+-EXTRALIBS=-rdynamic -ldl
++EXTRALIBS+=-Wl,-export-dynamic
+
+ # Define the standard libraries to search at the end of linking.
+ # Most platforms require -lpthread for the POSIX threads library;
+@@ -302,7 +302,7 @@
+ # Note that x_.h expects to find the header files in $(XINCLUDE)/X11,
+ # not in $(XINCLUDE).
+
+-XINCLUDE=-I/usr/X11R6/include
++XINCLUDE=-I${LOCALBASE}/include
+
+ # Define the directory/ies and library names for the X11 library files.
+ # XLIBDIRS is for ld and should include -L; XLIBDIR is for LD_RUN_PATH
+@@ -317,29 +317,29 @@
+ #XLIBS=Xt SM ICE Xext X11
+
+ #XLIBDIRS=-L/usr/local/X/lib
+-XLIBDIRS=-L/usr/X11R6/lib
++XLIBDIRS=-L${LOCALBASE}/lib
+ XLIBDIR=
+-XLIBS=Xt Xext X11
++XLIBS=Xt SM ICE Xext X11
+
+ # Define the .dev module that implements thread and synchronization
+ # primitives for this platform.
+
+ # If POSIX sync primitives are used, also change the STDLIBS to include
+ # the pthread library.
+-#SYNC=posync
++SYNC=posync
+
+ # define the file name extension for a shared lib
+ DYNANIC_LIB_EXT=so
+
+ # Default is No sync primitives since some platforms don't have it (HP-UX)
+-SYNC=nosync
++#SYNC=nosync
+
+ SOC_LOADER=dxmainc.c
+ # ------ Devices and features ------ #
+
+ # Choose the language feature(s) to include. See gs.mak for details.
+
+-FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)dpsnext.dev $(PSD)ttfont.dev $(PSD)epsf.dev $(GLD)pipe.dev $(PSD)fapi.dev
++FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)dpsnext.dev $(PSD)ttfont.dev $(PSD)epsf.dev $(GLD)pipe.dev $(PSD)fapi.dev $(PSD)jbig2.dev $(PSD)jpx.dev
+ #FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev
+ # The following is strictly for testing.
+ FEATURE_DEVS_ALL=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)dpsnext.dev $(PSD)ttfont.dev $(PSD)rasterop.dev $(PSD)double.dev $(PSD)trapping.dev $(PSD)stocht.dev $(GLD)pipe.dev
+@@ -488,6 +488,7 @@
+ include $(GLSRCDIR)/unix-dll.mak
+ include $(GLSRCDIR)/unix-end.mak
+ include $(GLSRCDIR)/unixinst.mak
++include $(CONTRIBDIR)/contrib.mak
+
+ # This has to come last so it won't be taken as the default target.
+ $(AK):
diff --git a/print/ghostscript9-agpl-base/files/patch-base-unixinst.mak b/print/ghostscript9-agpl-base/files/patch-base-unixinst.mak
new file mode 100644
index 000000000000..0c67aa7c058b
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-base-unixinst.mak
@@ -0,0 +1,20 @@
+--- base/unixinst.mak.orig 2014-03-26 21:53:47.000000000 +0900
++++ base/unixinst.mak 2014-11-23 17:01:40.000000000 +0900
+@@ -45,7 +45,7 @@
+ wftopfa fixmswrd.pl lprsetup.sh pj-gs.sh pv.sh sysvlp.sh unix-lpr.sh ;\
+ do if ( test -f $(PSLIBDIR)/$$f ); then \
+ (cat $(PSLIBDIR)/$$f | sed -e "s/GS_EXECUTABLE=gs/GS_EXECUTABLE=$(GS)/" > $(PSOBJDIR)/$$f); \
+- $(INSTALL_PROGRAM) $(PSOBJDIR)/$$f $(DESTDIR)$(scriptdir)/$$f; \
++ $(INSTALL_SCRIPT) $(PSOBJDIR)/$$f $(DESTDIR)$(scriptdir)/$$f; \
+ fi;\
+ done'
+
+@@ -142,7 +142,7 @@
+ done'
+
+ # install the man pages for each locale
+-MAN_LCDIRS=. de
++MAN_LCDIRS=.
+ MAN1_LINKS_PS2PS=eps2eps
+ MAN1_LINKS_PS2PDF=ps2pdf12 ps2pdf13 ps2pdf14
+ MAN1_LINKS_GSLP=gsbj gsdj gsdj500 gslj
diff --git a/print/ghostscript9-agpl-base/files/patch-configure.ac b/print/ghostscript9-agpl-base/files/patch-configure.ac
new file mode 100644
index 000000000000..9b68cce459f5
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-configure.ac
@@ -0,0 +1,38 @@
+--- configure.ac.orig 2015-03-30 17:21:24.000000000 +0900
++++ configure.ac 2015-08-22 03:22:12.231575000 +0900
+@@ -1607,7 +1607,7 @@
+ X_DEVS=""
+ X_LIBS=""
+
+-if test x$no_x != xyes; then
++if test x$with_x != xno; then
+ if test "$x_libraries" = "/usr/lib"; then
+ echo "Ignoring X library directory \"$x_libraries\" requested by configure."
+ x_libraries="NONE"
+@@ -2074,7 +2074,10 @@
+ DBG_CFLAGS="$DYNAMIC_CFLAGS $DBG_CFLAGS"
+ ;;
+ *BSD)
+- DYNAMIC_DEVS="\$(GLOBJDIR)/X11.so"
++ if test "x$X_DEVS" != x; then
++ INSTALL_SHARED="install-shared"
++ DYNAMIC_DEVS="\$(GLOBJDIR)/X11.so"
++ fi
+ DYNAMIC_FLAGS="-DGS_DEVS_SHARED -DGS_DEVS_SHARED_DIR=\\\"\$(gssharedir)\\\""
+ X11_DEVS=""
+ OPT_CFLAGS="$DYNAMIC_CFLAGS $OPT_CFLAGS"
+@@ -2133,11 +2136,11 @@
+ fontpath="${fontpath}:$datadir/fonts/default/TrueType"
+
+ # These font directories are used by IRIX...
+- fontpath="${fontpath}:/usr/lib/DPS/outline/base"
++ # fontpath="${fontpath}:/usr/lib/DPS/outline/base"
+
+ # These font directories are used by Solaris...
+- fontpath="${fontpath}:/usr/openwin/lib/X11/fonts/Type1"
+- fontpath="${fontpath}:/usr/openwin/lib/X11/fonts/TrueType"
++ # fontpath="${fontpath}:/usr/openwin/lib/X11/fonts/Type1"
++ # fontpath="${fontpath}:/usr/openwin/lib/X11/fonts/TrueType"
+
+ # This font directory is used by CUPS...
+ if test "x$CUPSCONFIG" != x; then
diff --git a/print/ghostscript9-agpl-base/files/patch-contrib-contrib.mak b/print/ghostscript9-agpl-base/files/patch-contrib-contrib.mak
new file mode 100644
index 000000000000..a9263619fd93
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-contrib-contrib.mak
@@ -0,0 +1,17 @@
+--- contrib/contrib.mak.orig 2014-03-26 21:53:47.000000000 +0900
++++ contrib/contrib.mak 2014-08-25 00:49:19.000000000 +0900
+@@ -943,7 +943,7 @@
+ $(DEVOBJ)gdevdmpr.$(OBJ) : $(JAPSRC)gdevdmpr.c $(JAPSRC)dviprlib.h $(PDEVH)
+ $(DEVCC) $(O_)$@ $(C_) $(JAPSRC)gdevdmpr.c
+
+-$(DEVOBJ)dviprlib.$(OBJ) : $(JAPSRC)dviprlib.c $(JAPSRC)dviprlib.h
++$(DEVOBJ)dviprlib.$(OBJ) : $(arch_h) $(stdio__h) $(JAPSRC)dviprlib.c $(JAPSRC)dviprlib.h
+ $(DEVCC) $(O_)$@ $(C_) $(JAPSRC)dviprlib.c
+
+ extra-dmprt-install:
+@@ -1095,3 +1095,5 @@
+ ### ------------ Build/Install special features ------------ ###
+
+ install-contrib-extras: extra-dmprt-install extra-upp-install
++
++include ${CONTRIBDIR}/epag.contrib.mak
diff --git a/print/ghostscript9-agpl-base/files/patch-contrib__gomni.c b/print/ghostscript9-agpl-base/files/patch-contrib__gomni.c
new file mode 100644
index 000000000000..4129fdebbf74
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-contrib__gomni.c
@@ -0,0 +1,195 @@
+--- contrib/gomni.c.orig 2013-04-28 02:09:12.000000000 +0900
++++ contrib/gomni.c 2013-04-28 02:09:14.000000000 +0900
+@@ -530,7 +530,7 @@
+ && pDev->pcoreOmni->pszJobOptions
+ )
+ {
+- gs_free (pDev->memory->non_gc_memory, pDev->pcoreOmni->pszJobOptions, strlen (pDev->pcoreOmni->pszJobOptions) + 1, 1, "Option String");
++ gs_free (gs_lib_ctx_get_non_gc_memory_t(), pDev->pcoreOmni->pszJobOptions, strlen (pDev->pcoreOmni->pszJobOptions) + 1, 1, "Option String");
+ }
+
+ if ( pDev->pcoreOmni
+@@ -549,7 +549,7 @@
+
+ if (pDev->pcoreOmni)
+ {
+- gs_free (pDev->memory->non_gc_memory, pDev->pcoreOmni, sizeof (core_omni_device), 1, "omni/device");
++ gs_free (gs_lib_ctx_get_non_gc_memory_t(), pDev->pcoreOmni, sizeof (core_omni_device), 1, "omni/device");
+ pDev->pcoreOmni = 0;
+ }
+
+@@ -720,7 +720,7 @@
+ {
+ PDEVSTRUCT p;
+
+- p = (PDEVSTRUCT)gs_malloc (pgxdev->memory->non_gc_memory, 1, sizeof (Omni_Dev), "omni/instance");
++ p = (PDEVSTRUCT)gs_malloc (gs_lib_ctx_get_non_gc_memory_t(), 1, sizeof (Omni_Dev), "omni/instance");
+ if (!p)
+ {
+ dprintf ("<<<<<<<<<<<<<<<<<<<<<< ERROR >>>>>>>>>>>>>>>>>>>>>>>\n\n");
+@@ -734,7 +734,7 @@
+
+ memset (pDev, 0, sizeof (Omni_Dev));
+
+- pDev->pcoreOmni = (core_omni_device *)gs_malloc (pgxdev->memory->non_gc_memory, 1, sizeof (core_omni_device), "omni/device");
++ pDev->pcoreOmni = (core_omni_device *)gs_malloc (gs_lib_ctx_get_non_gc_memory_t(), 1, sizeof (core_omni_device), "omni/device");
+
+ if (!pDev->pcoreOmni)
+ {
+@@ -783,7 +783,7 @@
+
+ for (i = 0; i < sizeof (apszLibraryPaths)/sizeof (apszLibraryPaths[0]) && !pDev->hmodOmni; i++)
+ {
+- pszDeviceLib = (char *)gs_malloc (pDev->memory->non_gc_memory, 1,
++ pszDeviceLib = (char *)gs_malloc (gs_lib_ctx_get_non_gc_memory_t(), 1,
+ strlen (cOmnilib)
+ + strlen (apszLibraryPaths[i])
+ + 1,
+@@ -796,7 +796,7 @@
+
+ if (fDebugOutput) dprintf2 ("SetupDevice: Trying to load %s = %p\n", pszDeviceLib, pDev->hmodOmni);
+ }
+- gs_free (pDev->memory->non_gc_memory, pszDeviceLib, strlen (pszDeviceLib) + 1, 1, "Devicestring");
++ gs_free (gs_lib_ctx_get_non_gc_memory_t(), pszDeviceLib, strlen (pszDeviceLib) + 1, 1, "Devicestring");
+ }
+
+ if (!pDev->hmodOmni)
+@@ -810,7 +810,7 @@
+
+ for (i = 0; i < sizeof (apszLibraryPaths)/sizeof (apszLibraryPaths[0]) && !pDev->hmodOmni; i++)
+ {
+- pszDeviceLib = (char *)gs_malloc (pDev->memory->non_gc_memory, 1,
++ pszDeviceLib = (char *)gs_malloc (gs_lib_ctx_get_non_gc_memory_t(), 1,
+ strlen (cOmnilib)
+ + strlen (apszLibraryPaths[i])
+ + 1,
+@@ -830,7 +830,7 @@
+ g_module_close (pModule);
+ }
+ }
+- gs_free (pDev->memory->non_gc_memory, pszDeviceLib, strlen (pszDeviceLib) + 1, 1, "Devicestring");
++ gs_free (gs_lib_ctx_get_non_gc_memory_t(), pszDeviceLib, strlen (pszDeviceLib) + 1, 1, "Devicestring");
+ }
+
+ return 1;
+@@ -953,7 +953,7 @@
+ )
+ {
+ if (!pDev->pcoreOmni->pszJobOptions)
+- pDev->pcoreOmni->pszJobOptions = (char *)gs_malloc (pDev->memory->non_gc_memory, 1, fname.size + 1, "Option String");
++ pDev->pcoreOmni->pszJobOptions = (char *)gs_malloc (gs_lib_ctx_get_non_gc_memory_t(), 1, fname.size + 1, "Option String");
+ memcpy (pDev->pcoreOmni->pszJobOptions, fname.data, fname.size);
+ pDev->pcoreOmni->pszJobOptions[fname.size] = '\0';
+ }
+@@ -1044,7 +1044,7 @@
+
+ for (i = 0; i < sizeof (apszLibraryPaths)/sizeof (apszLibraryPaths[0]) && !pModule; i++)
+ {
+- pszDeviceLib = (char *)gs_malloc (pDev->memory->non_gc_memory, 1,
++ pszDeviceLib = (char *)gs_malloc (gs_lib_ctx_get_non_gc_memory_t(), 1,
+ strlen (cDialogName)
+ + strlen (apszLibraryPaths[i])
+ + 1,
+@@ -1059,7 +1059,7 @@
+
+ pModule = g_module_open (pszDeviceLib, (GModuleFlags)0);
+ }
+- gs_free (pDev->memory->non_gc_memory, pszDeviceLib, strlen (pszDeviceLib) + 1, 1, "Devicestring");
++ gs_free (gs_lib_ctx_get_non_gc_memory_t(), pszDeviceLib, strlen (pszDeviceLib) + 1, 1, "Devicestring");
+ }
+
+ if (!pModule)
+@@ -1070,7 +1070,7 @@
+
+ for (i = 0; i < sizeof (apszLibraryPaths)/sizeof (apszLibraryPaths[0]) && !pModule; i++)
+ {
+- pszDeviceLib = (char *)gs_malloc (pDev->memory->non_gc_memory, 1,
++ pszDeviceLib = (char *)gs_malloc (gs_lib_ctx_get_non_gc_memory_t(), 1,
+ strlen (cDialogName)
+ + strlen (apszLibraryPaths[i])
+ + 1,
+@@ -1092,7 +1092,7 @@
+ g_module_close (pModule);
+ }
+ }
+- gs_free (pDev->memory->non_gc_memory, pszDeviceLib, strlen (pszDeviceLib) + 1, 1, "Devicestring");
++ gs_free (gs_lib_ctx_get_non_gc_memory_t(), pszDeviceLib, strlen (pszDeviceLib) + 1, 1, "Devicestring");
+ }
+ }
+ else
+@@ -1107,13 +1107,13 @@
+
+ if (pDev->pcoreOmni->pszJobOptions)
+ {
+- gs_free (pDev->memory->non_gc_memory, pDev->pcoreOmni->pszJobOptions, strlen (pDev->pcoreOmni->pszJobOptions) + 1, 1, "Option String");
++ gs_free (gs_lib_ctx_get_non_gc_memory_t(), pDev->pcoreOmni->pszJobOptions, strlen (pDev->pcoreOmni->pszJobOptions) + 1, 1, "Option String");
+ pDev->pcoreOmni->pszJobOptions = 0;
+ }
+
+ iLength = strlen (pszSelectedJobProperties);
+
+- pDev->pcoreOmni->pszJobOptions = (char *)gs_malloc (pDev->memory->non_gc_memory, 1, iLength + 1, "Option String");
++ pDev->pcoreOmni->pszJobOptions = (char *)gs_malloc (gs_lib_ctx_get_non_gc_memory_t(), 1, iLength + 1, "Option String");
+
+ strcpy (pDev->pcoreOmni->pszJobOptions, pszSelectedJobProperties);
+
+@@ -1375,7 +1375,7 @@
+ iBytesToAlloc += (iNumColors - 1) * sizeof (RGB2);
+ }
+
+- pbmi = (PBITMAPINFO2)gs_malloc (pDev->memory->non_gc_memory, 1, iBytesToAlloc, "Bmpi Memory");
++ pbmi = (PBITMAPINFO2)gs_malloc (gs_lib_ctx_get_non_gc_memory_t(), 1, iBytesToAlloc, "Bmpi Memory");
+ if (!pbmi)
+ {
+ eprintf("<<<<<<<<<<<<<<<<<<<<<< ERROR >>>>>>>>>>>>>>>>>>>>>>>\n\n");
+@@ -1481,7 +1481,7 @@
+ }
+ }
+
+- pGSData = (byte *)gs_malloc (pDev->memory->non_gc_memory, uiBytesPerLine, 1, "bmp file buffer");
++ pGSData = (byte *)gs_malloc (gs_lib_ctx_get_non_gc_memory_t(), uiBytesPerLine, 1, "bmp file buffer");
+
+ if (pGSData == 0)
+ /* can't allocate row buffer */
+@@ -1501,7 +1501,7 @@
+ pasyncDev->pDev->iVertDots,
+ 8000*1024); /*eight meg buffer */
+
+- pBitmapMem = (byte *) gs_malloc (pDev->memory->non_gc_memory, 1, uiBytesPerLine * ulBandLength, "Bitmap Memory");
++ pBitmapMem = (byte *) gs_malloc (gs_lib_ctx_get_non_gc_memory_t(), 1, uiBytesPerLine * ulBandLength, "Bitmap Memory");
+
+ if(!pBitmapMem)
+ {
+@@ -1613,7 +1613,7 @@
+ {
+ if (prtMode.iBitCount < 16)
+ {
+- pMonoData = (byte *)gs_malloc (pDev->memory->non_gc_memory, 1, iYBand * ImageInfo.ulTrgBytesPerLine, "Mono Memory");
++ pMonoData = (byte *)gs_malloc (gs_lib_ctx_get_non_gc_memory_t(), 1, iYBand * ImageInfo.ulTrgBytesPerLine, "Mono Memory");
+
+ if (pMonoData)
+ {
+@@ -1661,7 +1661,7 @@
+ /* We're done with the mono band */
+ /* now free up the mono buffer so we can get clean data buffer if more lines are to be */
+ /* gray-scaled */
+- gs_free (pDev->memory->non_gc_memory, (char *)pMonoData, iYBand * ImageInfo.ulTrgBytesPerLine, 1, "Mono Memory");
++ gs_free (gs_lib_ctx_get_non_gc_memory_t(), (char *)pMonoData, iYBand * ImageInfo.ulTrgBytesPerLine, 1, "Mono Memory");
+
+ pMonoData = NULL;
+ }
+@@ -1709,11 +1709,11 @@
+
+ done:
+
+- gs_free (pDev->memory->non_gc_memory, (char *) pBitmapMem, uiBytesPerLine * ulBandLength, 1, "Bitmap Memory");
++ gs_free (gs_lib_ctx_get_non_gc_memory_t(), (char *) pBitmapMem, uiBytesPerLine * ulBandLength, 1, "Bitmap Memory");
+ dprintf ("Page Completed\n");
+
+- gs_free (pDev->memory->non_gc_memory, (char *)pGSData, uiBytesPerLine, 1, "bmp file buffer");
+- gs_free (pDev->memory->non_gc_memory, (char *)pbmi, uiBytesPerLine, 1, "Bpmi Memory");
++ gs_free (gs_lib_ctx_get_non_gc_memory_t(), (char *)pGSData, uiBytesPerLine, 1, "bmp file buffer");
++ gs_free (gs_lib_ctx_get_non_gc_memory_t(), (char *)pbmi, uiBytesPerLine, 1, "Bpmi Memory");
+
+ /******************************************************************/
+ /* Note: @@08162000 */
diff --git a/print/ghostscript9-agpl-base/files/patch-contrib__japanese__dmp_site.ps b/print/ghostscript9-agpl-base/files/patch-contrib__japanese__dmp_site.ps
new file mode 100644
index 000000000000..f24d26c6d2b7
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-contrib__japanese__dmp_site.ps
@@ -0,0 +1,11 @@
+--- contrib/japanese/dmp_site.ps.orig 2015-03-30 17:21:24.000000000 +0900
++++ contrib/japanese/dmp_site.ps 2015-08-22 03:10:27.500014000 +0900
+@@ -1,7 +1,7 @@
+ %!
+ BeginConfig
+ %%%%%%%%%%%%%%%%%%%%%% Standard user cusomizations %%%%%%%%%%%%%%%%%%%%%
+-/printer (escp_24.src)
++/printer (%%DATADIR%%/lib/escp_24.src)
+ % horizontal / vertical
+ % /resolution [ 180.0 180.0 ]
+ % horizontal / vertical
diff --git a/print/ghostscript9-agpl-base/files/patch-contrib__japanese__gdevdmpr.c b/print/ghostscript9-agpl-base/files/patch-contrib__japanese__gdevdmpr.c
new file mode 100644
index 000000000000..e4ed6582cf78
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-contrib__japanese__gdevdmpr.c
@@ -0,0 +1,53 @@
+--- contrib/japanese/gdevdmpr.c.orig 2014-03-26 21:53:47.000000000 +0900
++++ contrib/japanese/gdevdmpr.c 2014-08-25 00:36:18.000000000 +0900
+@@ -32,7 +32,7 @@
+
+ #include "gdevprn.h"
+ #include "gp.h"
+-#include "errors.h"
++#include "psi/ierrors.h"
+ #include "gsparam.h"
+ #include "gsstate.h"
+ #include "math_.h"
+@@ -41,8 +41,6 @@
+ /* include library header. */
+ #include "dviprlib.h"
+
+-extern FILE *lib_fopen(const char *);
+-
+ #define LOCAL_DEBUG 0
+
+ #define DEVICE_NAME "dmprt"
+@@ -402,8 +400,6 @@
+ if (pddev->dmprt.max_height>0 && pddev->dmprt.max_height<pddev->height)
+ pddev->height = pddev->dmprt.max_height;
+
+- dviprt_setmessagestream(pddev->dmprt.debug_f ? stderr : NULL);
+-
+ return code;
+ }
+
+@@ -422,8 +418,6 @@
+ if (code < 0) return code;
+ if (code == 0) pddev->dmprt.debug_f = vbool;
+
+- dviprt_setmessagestream(pddev->dmprt.debug_f ? stderr : NULL);
+-
+ code = param_read_bool(plist, "Verbose", &vbool);
+ if (code < 0) return code;
+ pddev->dmprt.verbose_f = vbool;
+@@ -846,13 +840,12 @@
+ char *env;
+
+ strcpy(fname,fnamebase);
+- fp = lib_fopen(fname);
++ fp = gp_fopen(fname, "r");
+ if (fp == NULL) {
+ env = getenv("TEXCFG");
+ if (env) {
+ strcpy(fname,env);
+ strcat(fname, gp_file_name_concat_string(env,strlen(env)));
+- strcat(fname,fnamebase);
+ fp = gp_fopen(fname,gp_fmode_rb);
+ }
+ }
diff --git a/print/ghostscript9-agpl-base/files/patch-devices-devs.mak b/print/ghostscript9-agpl-base/files/patch-devices-devs.mak
new file mode 100644
index 000000000000..a1c1d134dd66
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-devices-devs.mak
@@ -0,0 +1,11 @@
+--- devices/devs.mak.orig 2015-03-30 17:21:24.000000000 +0900
++++ devices/devs.mak 2015-07-14 08:48:48.795797000 +0900
+@@ -546,7 +546,7 @@
+ ### NON PORTABLE, ONLY UNIX WITH GCC SUPPORT
+
+ $(DEVOBJ)X11.so : $(x11alt_) $(x11_) $(MAKEDIRS)
+- $(CCLD) $(LDFLAGS) -shared -o $(DEVOBJ)X11.so $(x11alt_) $(x11_) -L/usr/X11R6/lib -lXt -lSM -lICE -lXext -lX11 $(XLIBDIRS)
++ $(CCLD) $(LDFLAGS) -shared -o $(DEVOBJ)X11.so $(x11alt_) $(x11_) -L$(LOCALBASE)/lib -lXt -lSM -lICE -lXext -lX11 $(XLIBDIRS)
+
+ ###### --------------- Memory-buffered printer devices --------------- ######
+
diff --git a/print/ghostscript9-agpl-base/files/patch-devices-gdevl256.c b/print/ghostscript9-agpl-base/files/patch-devices-gdevl256.c
new file mode 100644
index 000000000000..ed7d36002a62
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-devices-gdevl256.c
@@ -0,0 +1,15 @@
+--- devices/gdevl256.c.orig 2011-07-17 19:57:32.000000000 +0900
++++ devices/gdevl256.c 2011-07-17 19:57:39.000000000 +0900
+@@ -302,12 +302,3 @@
+ gl_line(x0, y0, x1, y1, color);
+ return 0;
+ }
+-
+-#ifdef GS_DEVS_SHARED
+-extern void gs_lib_register_device(const gx_device *dev);
+-void
+-gs_shared_init(void)
+-{
+- gs_lib_register_device(&gs_lvga256_device);
+-}
+-#endif
diff --git a/print/ghostscript9-agpl-base/files/patch-devices-gdevperm.c b/print/ghostscript9-agpl-base/files/patch-devices-gdevperm.c
new file mode 100644
index 000000000000..ed420367dc22
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-devices-gdevperm.c
@@ -0,0 +1,19 @@
+--- devices/gdevperm.c.orig 2012-02-08 17:48:48.000000000 +0900
++++ devices/gdevperm.c 2012-02-13 00:44:23.000000000 +0900
+@@ -285,7 +285,7 @@
+ (strncmp((const char *)name, (const char *)str, name_size) == 0))
+
+ static int
+-perm_get_color_comp_index(const gx_device *pdev, const char *pname,
++perm_get_color_comp_index(gx_device *pdev, const char *pname,
+ int name_size, int component_type)
+ {
+ const gx_device_perm_t * const dev = (const gx_device_perm_t *)pdev;
+@@ -332,7 +332,6 @@
+ perm_decode_color(gx_device *dev, gx_color_index color, gx_color_value *out)
+ {
+ int bpc = 8;
+- int drop = sizeof(gx_color_value) * 8 - bpc;
+ int mask = (1 << bpc) - 1;
+ int i = 0;
+ int ncomp = dev->color_info.num_components;
diff --git a/print/ghostscript9-agpl-base/files/patch-devices-gdevplib.c b/print/ghostscript9-agpl-base/files/patch-devices-gdevplib.c
new file mode 100644
index 000000000000..b14a47184e50
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-devices-gdevplib.c
@@ -0,0 +1,14 @@
+--- devices/gdevplib.c.orig 2015-03-30 17:21:24.000000000 +0900
++++ devices/gdevplib.c 2015-07-14 08:51:50.711673000 +0900
+@@ -156,7 +156,11 @@
+
+ #ifdef TESTING_WITH_NO_BAND_DONOR
+
++#if !defined(__FreeBSD__)
+ #include <malloc_.h>
++#else
++#include <stdlib.h>
++#endif
+
+ static void *my_buffer;
+
diff --git a/print/ghostscript9-agpl-base/files/patch-devices-gdevvglb.c b/print/ghostscript9-agpl-base/files/patch-devices-gdevvglb.c
new file mode 100644
index 000000000000..ca8dcf130c2c
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-devices-gdevvglb.c
@@ -0,0 +1,15 @@
+--- devices/gdevvglb.c.orig 2011-07-17 19:56:33.000000000 +0900
++++ devices/gdevvglb.c 2011-07-17 19:57:10.000000000 +0900
+@@ -367,12 +367,3 @@
+ }
+ return 0;
+ }
+-
+-#ifdef GS_DEVS_SHARED
+-extern void gs_lib_register_device(const gx_device *dev);
+-void
+-gs_shared_init(void)
+-{
+- gs_lib_register_device(&gs_vgalib_device);
+-}
+-#endif
diff --git a/print/ghostscript9-agpl-base/files/patch-epag-ert.c b/print/ghostscript9-agpl-base/files/patch-epag-ert.c
new file mode 100644
index 000000000000..6a6dd2540b8a
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-epag-ert.c
@@ -0,0 +1,11 @@
+--- epag-3.09/ert.c.orig 2000-07-08 13:33:09.000000000 +0900
++++ epag-3.09/ert.c 2012-02-13 01:28:55.000000000 +0900
+@@ -1,6 +1,8 @@
+ /* $Id: ert.c,v 1.3 1998/11/20 10:51:12 nari Exp $ */
+
+ #include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
+
+ /*
+ * EPSON Remoteのコマンドを出力するコマンド
diff --git a/print/ghostscript9-agpl-base/files/patch-epag__gdevepag.c b/print/ghostscript9-agpl-base/files/patch-epag__gdevepag.c
new file mode 100644
index 000000000000..6012768b4d9c
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-epag__gdevepag.c
@@ -0,0 +1,217 @@
+--- epag/gdevepag.c.orig Sat Jul 8 13:33:09 2000
++++ epag/gdevepag.c Sat Nov 24 15:25:11 2007
+@@ -102,30 +102,30 @@
+ } EpagBubble;
+
+ /* The device descriptors */
+-private dev_proc_open_device(epag_open);
+-private dev_proc_close_device(epag_close);
+-private dev_proc_print_page(epag_print_page);
+-private void epag_printer_initialize(gx_device_printer *pdev, FILE *fp,int);
+-private dev_proc_print_page(epag_print_page);
+-private dev_proc_get_params(epag_get_params);
+-private dev_proc_put_params(epag_put_params);
+-private void epag_paper_set(gx_device_printer *pdev, FILE *fp);
+-private void epag_bubble_flush_all(EpagPageCont *cont);
+-private void epag_page_cont_init(gx_device_printer *pdev,FILE *fp,EpagPageCont *cont);
+-private void epag_page_close(EpagPageCont *cont);
+-private int epag_read_image(EpagPageCont *cont);
+-private void epag_process_line(EpagPageCont *cont);
+-private int epag_is_black(EpagPageCont *cont, int bx);
+-private void epag_rect_add(EpagPageCont *cont,int start,int end);
+-private void epag_bubble_gen(EpagPageCont *cont,
++static dev_proc_open_device(epag_open);
++static dev_proc_close_device(epag_close);
++static dev_proc_print_page(epag_print_page);
++static void epag_printer_initialize(gx_device_printer *pdev, FILE *fp,int);
++static dev_proc_print_page(epag_print_page);
++static dev_proc_get_params(epag_get_params);
++static dev_proc_put_params(epag_put_params);
++static void epag_paper_set(gx_device_printer *pdev, FILE *fp);
++static void epag_bubble_flush_all(EpagPageCont *cont);
++static void epag_page_cont_init(gx_device_printer *pdev,FILE *fp,EpagPageCont *cont);
++static void epag_page_close(EpagPageCont *cont);
++static int epag_read_image(EpagPageCont *cont);
++static void epag_process_line(EpagPageCont *cont);
++static int epag_is_black(EpagPageCont *cont, int bx);
++static void epag_rect_add(EpagPageCont *cont,int start,int end);
++static void epag_bubble_gen(EpagPageCont *cont,
+ int x0, int x1, int y0, int y1);
+-private void epag_bubble_flush(EpagPageCont *cont,EpagBubble *bbl);
+-private void epag_bubble_image_out(EpagPageCont *cont,EpagBubble *bbl);
++static void epag_bubble_flush(EpagPageCont *cont,EpagBubble *bbl);
++static void epag_bubble_image_out(EpagPageCont *cont,EpagBubble *bbl);
+
+ /*
+ * デバイスの宣言
+ */
+-private gx_device_procs prn_epag_procs =
++static gx_device_procs prn_epag_procs =
+ prn_params_procs(epag_open, gdev_prn_output_page, epag_close,
+ epag_get_params, epag_put_params);
+ gx_device_printer far_data gs_epag_device =
+@@ -140,13 +140,13 @@
+ static char *epson_remote_start = "\033\001@EJL \r\n";
+
+ /* Open the printer, adjusting the margins if necessary. */
+-private int
++static int
+ epag_open(gx_device *pdev)
+ {
+ return gdev_prn_open(pdev);
+ }
+
+-private int
++static int
+ epag_close(gx_device *pdev)
+ {
+ gdev_prn_open_printer(pdev, 1);
+@@ -163,7 +163,7 @@
+ return gdev_prn_close(pdev);
+ }
+
+-private int
++static int
+ epag_print_page(gx_device_printer *pdev, FILE *fp)
+ {
+ EpagPageCont cont;
+@@ -205,7 +205,7 @@
+ GS, '2', 'a', 'b', 'P', /* イメージ描画後下へ */
+ };
+
+-private void
++static void
+ epag_printer_initialize(gx_device_printer *pdev, FILE *fp, int copies)
+ {
+ double xDpi,yDpi;
+@@ -260,7 +260,7 @@
+ fprintf(fp,"%c%dcoO",GS, copies < 256 ? copies : 255);
+ }
+
+-private int
++static int
+ epag_get_params(gx_device *pdev, gs_param_list *plist)
+ {
+ int code;
+@@ -286,7 +286,7 @@
+ }
+
+ /* Put properties. */
+-private int
++static int
+ epag_put_params(gx_device *pdev, gs_param_list *plist)
+ {
+ param_read_int(plist, "cRowBuf", &epag_cont.cRowBuf);
+@@ -380,7 +380,7 @@
+ /*
+ * epag_bubble_flush_all: 残っている bubbleを全て出力する。
+ */
+-private void epag_bubble_flush_all(EpagPageCont *cont)
++static void epag_bubble_flush_all(EpagPageCont *cont)
+ {
+ int i;
+
+@@ -392,7 +392,7 @@
+ /*
+ * epag_page_cont_init: EpagPageContの初期化、バッファ確保等
+ */
+-private void epag_page_cont_init(gx_device_printer *pdev,FILE *fp,
++static void epag_page_cont_init(gx_device_printer *pdev,FILE *fp,
+ EpagPageCont *cont)
+ {
+ int bpl;
+@@ -417,15 +417,15 @@
+ cont->maxY = epag_cont.cRowBuf / cont->bh * cont->bh ;
+ if(cont->maxY < cont->bh) cont->maxY = cont->bh;
+
+- cont->bp = gs_malloc(bpl , cont->maxY, "epag_skip_blank_init(bp)");
+- cont->bp2 = gs_malloc(bpl*3/2+1 , cont->maxY, "epag_skip_blank_init(bp2)");
++ cont->bp = (byte *)gs_malloc(gs_lib_ctx_get_non_gc_memory_t(), bpl , cont->maxY, "epag_skip_blank_init(bp)");
++ cont->bp2 = (byte *)gs_malloc(gs_lib_ctx_get_non_gc_memory_t(), bpl*3/2+1 , cont->maxY, "epag_skip_blank_init(bp2)");
+
+ cont->h = cont->r = 0;
+
+- cont->bubbleTbl=gs_malloc(sizeof(EpagBubble *),cont->maxBx,"bubbleTbl");
++ cont->bubbleTbl = (byte *)gs_malloc(gs_lib_ctx_get_non_gc_memory_t(), sizeof(EpagBubble *),cont->maxBx,"bubbleTbl");
+ for(i=0;i<cont->maxBx;i++)
+ cont->bubbleTbl[i] = NULL;
+- cont->bubbleBuffer=gs_malloc(sizeof(EpagBubble),cont->maxBx,"bubbleBuffer");
++ cont->bubbleBuffer=gs_malloc(gs_lib_ctx_get_non_gc_memory_t(), sizeof(EpagBubble),cont->maxBx,"bubbleBuffer");
+ bbtbl = (EpagBubble *)cont->bubbleBuffer;
+ for(i=0;i<cont->maxBx-1;i++)
+ bbtbl[i].next = &bbtbl[i+1];
+@@ -433,15 +433,15 @@
+ cont->freeBubbleList = &bbtbl[0];
+ }
+
+-private void
++static void
+ epag_page_close(EpagPageCont *cont)
+ {
+- gs_free(cont->bp, bpl, cont->maxY, "epag_skip_blank_init(bp)");
+- gs_free(cont->bp2, bpl*3/2+1, cont->maxY, "epag_skip_blank_init(bp2)");
+- gs_free(cont->bubbleBuffer, sizeof(EpagBubble), cont->maxBx,"bubbleBuffer");
++ gs_free(gs_lib_ctx_get_non_gc_memory_t(), cont->bp, bpl, cont->maxY, "epag_skip_blank_init(bp)");
++ gs_free(gs_lib_ctx_get_non_gc_memory_t(), cont->bp2, bpl*3/2+1, cont->maxY, "epag_skip_blank_init(bp2)");
++ gs_free(gs_lib_ctx_get_non_gc_memory_t(), cont->bubbleBuffer, sizeof(EpagBubble), cont->maxBx,"bubbleBuffer");
+ }
+
+-private int
++static int
+ epag_read_image(EpagPageCont *cont)
+ {
+ int bh = cont->bh;
+@@ -473,7 +473,7 @@
+ /*
+ * bh行分のラスターデータを処理する
+ */
+-private void
++static void
+ epag_process_line(EpagPageCont *cont)
+ {
+ int bh = cont->bh;
+@@ -502,7 +502,7 @@
+ else epag_rect_add(cont, 0, cont->maxBx-1);
+ }
+
+-private int
++static int
+ epag_is_black(EpagPageCont *cont, int bx)
+ {
+ int bh = cont->bh;
+@@ -520,7 +520,7 @@
+ return 0;
+ }
+
+-private void
++static void
+ epag_rect_add(EpagPageCont *cont,int start,int end)
+ {
+ int x0 = start * cont->bw;
+@@ -544,7 +544,7 @@
+ }
+ }
+
+-private void
++static void
+ epag_bubble_gen(EpagPageCont *cont, int x0, int x1, int y0, int y1)
+ {
+ EpagBubble *bbl;
+@@ -569,7 +569,7 @@
+ }
+ }
+
+-private void epag_bubble_flush(EpagPageCont *cont,EpagBubble *bbl)
++static void epag_bubble_flush(EpagPageCont *cont,EpagBubble *bbl)
+ {
+ int bx,bx0,bx1;
+
+@@ -588,7 +588,7 @@
+
+ /* イメージを出力 */
+
+-private void
++static void
+ epag_bubble_image_out(EpagPageCont *cont,EpagBubble *bbl)
+ {
+ FILE *fp = cont->fp;
diff --git a/print/ghostscript9-agpl-base/files/patch-lips:gdevlips.c b/print/ghostscript9-agpl-base/files/patch-lips:gdevlips.c
new file mode 100644
index 000000000000..0917be89e49a
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-lips:gdevlips.c
@@ -0,0 +1,18 @@
+--- contrib/lips4/gdevlips.c.orig 2011-08-05 20:12:20.000000000 +0900
++++ contrib/lips4/gdevlips.c 2011-12-06 15:31:38.000000000 +0900
+@@ -62,7 +62,15 @@
+ height = tmp;
+ }
+ for (pt = lips_paper_table; pt->num_unit < 80; pt++)
++/* add by shige 11/06 2003 */
++#ifdef USE_LIPS_SIZE_ERROR
++ if(pt->width+LIPS_SIZE_ERROR_VALUE>=width
++ && pt->width-LIPS_SIZE_ERROR_VALUE<=width
++ && pt->height+LIPS_SIZE_ERROR_VALUE>=height
++ && pt->height-LIPS_SIZE_ERROR_VALUE<=height)
++#else
+ if (pt->width == width && pt->height == height)
++#endif
+ break;
+
+ return pt->num_unit + landscape;
diff --git a/print/ghostscript9-agpl-base/files/patch-lips:gdevlips.h b/print/ghostscript9-agpl-base/files/patch-lips:gdevlips.h
new file mode 100644
index 000000000000..b3520ba1ac33
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-lips:gdevlips.h
@@ -0,0 +1,17 @@
+--- contrib/lips4/gdevlips.h.orig Thu Nov 2 12:09:18 2000
++++ contrib/lips4/gdevlips.h Tue Jan 13 01:23:47 2004
+@@ -188,6 +188,14 @@
+ bool faceup;\
+ char mediaType[LIPS_MEDIACHAR_MAX];
+
++/* added by shige 11/06 2003 */
++#define USE_LIPS_SIZE_ERROR
++#define LIPS_SIZE_ERROR_VALUE 2
++
++/* added by shige 11/09 2003 */
++#define LIPS_HEIGHT_MAX_720 11906
++#define LIPS_WIDTH_MAX_720 8419
++
+ int lips_media_selection(int width, int height);
+ int lips_packbits_encode(byte * inBuff, byte * outBuff, int Length);
+ int lips_mode3format_encode(byte * inBuff, byte * outBuff, int Length);
diff --git a/print/ghostscript9-agpl-base/files/patch-openjpeg-src-lib-openjp2-opj_includes.h b/print/ghostscript9-agpl-base/files/patch-openjpeg-src-lib-openjp2-opj_includes.h
new file mode 100644
index 000000000000..c76c46f4ad48
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-openjpeg-src-lib-openjp2-opj_includes.h
@@ -0,0 +1,11 @@
+--- openjpeg/src/lib/openjp2/opj_includes.h.orig 2012-02-13 08:48:33.000000000 +0900
++++ openjpeg/src/lib/openjp2/opj_includes.h 2012-02-13 08:50:41.000000000 +0900
+@@ -77,7 +77,7 @@
+ #endif /* INLINE */
+
+ /* Are restricted pointers available? (C99) */
+-#if (__STDC_VERSION__ != 199901L)
++#if defined(__STDC_VERSION__) && (__STDC_VERSION__ != 199901L)
+ /* Not a C99 compiler */
+ #ifdef __GNUC__
+ #define restrict __restrict__
diff --git a/print/ghostscript9-agpl-base/files/patch-psi-zicc.c b/print/ghostscript9-agpl-base/files/patch-psi-zicc.c
new file mode 100644
index 000000000000..98c4eed85c37
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-psi-zicc.c
@@ -0,0 +1,12 @@
+--- psi/zicc.c
++++ psi/zicc.c 2008-02-05 16:11:59.000000000 +0000
+@@ -77,6 +77,9 @@ zseticcspace(i_ctx_t * i_ctx_p)
+ dict_find_string(op, "N", &pnval);
+ ncomps = pnval->value.intval;
+
++ if (2*ncomps > sizeof(range_buff)/sizeof(float))
++ return_error(e_rangecheck);
++
+ /* verify the DataSource entry */
+ if (dict_find_string(op, "DataSource", &pstrmval) <= 0)
+ return_error(e_undefined);
diff --git a/print/ghostscript9-agpl-base/files/patch-trio-triodef.h b/print/ghostscript9-agpl-base/files/patch-trio-triodef.h
new file mode 100644
index 000000000000..8428c0fedc98
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-trio-triodef.h
@@ -0,0 +1,26 @@
+--- trio/triodef.h.orig 2015-07-19 03:20:32.007345000 +0900
++++ trio/triodef.h 2015-07-19 03:27:30.381863000 +0900
+@@ -185,12 +185,13 @@
+ # endif
+ #endif
+
+-#if (_XOPEN_VERSION - 0 >= 3) || defined(_XOPEN_XPG3)
++#if (defined(_XOPEN_VERSION) && (_XOPEN_VERSION - 0 >= 3)) || defined(_XOPEN_XPG3)
+ # define PREDEF_STANDARD_XPG3
+ #endif
+-#if (_XOPEN_VERSION - 0 >= 4) || defined(_XOPEN_XPG4)
++#if (defined(_XOPEN_VERSION) && (_XOPEN_VERSION - 0 >= 4)) || defined(_XOPEN_XPG4)
+ # define PREDEF_STANDARD_XPG4
+ #endif
++#if defined(_XOPEN_VERSION)
+ #if (_XOPEN_VERSION - 0 > 4) \
+ || (defined(_XOPEN_UNIX) && (_XOPEN_VERSION - 0 == 4))
+ # define PREDEF_STANDARD_UNIX95
+@@ -201,6 +202,7 @@
+ #if (_XOPEN_VERSION - 0 >= 600)
+ # define PREDEF_STANDARD_UNIX03
+ #endif
++#endif
+
+ /*************************************************************************
+ * Generic defines
diff --git a/print/ghostscript9-agpl-base/files/patch-trio-triop.h b/print/ghostscript9-agpl-base/files/patch-trio-triop.h
new file mode 100644
index 000000000000..795b3299e564
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-trio-triop.h
@@ -0,0 +1,14 @@
+--- trio/triop.h.orig 2015-03-30 17:21:24.000000000 +0900
++++ trio/triop.h 2015-07-21 06:00:48.713329000 +0900
+@@ -404,7 +404,11 @@
+ void trio_unregister TRIO_PROTO((trio_pointer_t handle));
+
+ TRIO_CONST char *trio_get_format TRIO_PROTO((trio_pointer_t ref));
++#if !defined(__llvm__)
++trio_pointer_t trio_get_argument TRIO_PROTO((trio_pointer_t ref));
++#else
+ TRIO_CONST trio_pointer_t trio_get_argument TRIO_PROTO((trio_pointer_t ref));
++#endif
+
+ /* Modifiers */
+ int trio_get_width TRIO_PROTO((trio_pointer_t ref));
diff --git a/print/ghostscript9-agpl-base/files/pkg-message.in b/print/ghostscript9-agpl-base/files/pkg-message.in
new file mode 100644
index 000000000000..ff7c18d05a86
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/pkg-message.in
@@ -0,0 +1,5 @@
+Note: in order to use the script "dvipdf", dvips must be installed.
+This program is provided by another package print/tex-dvipsk.
+
+FAPIfontmap and FAPIcidfmap in %%DATADIR%%/Resource/Init
+have to be configured if you want to use FAPI feature.