aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTijl Coosemans <tijl@FreeBSD.org>2018-09-11 07:23:26 +0000
committerTijl Coosemans <tijl@FreeBSD.org>2018-09-11 07:23:26 +0000
commitad3cc2cb4902d9d2930b631d1fbb4b5525c5a585 (patch)
treee382a516b13af23205a2552a782b3432261c5d4c
parent9d1847c108147dc59c3ccb3ff41e4d58e15551bb (diff)
downloadports-ad3cc2cb4902d9d2930b631d1fbb4b5525c5a585.tar.gz
ports-ad3cc2cb4902d9d2930b631d1fbb4b5525c5a585.zip
MFH: r478951 r479032 r479243
r478951: - Update print/ghostscript9-agpl-base and print/ghostscript9-agpl-x11 to 9.24. - Set USE_CSTD=gnu99 and eliminate a patch. - Add cpe string. - Patch configure to respect CFLAGS. r479032: Add a patch to give Ghostscript read permission on /usr/local/share/ghostscript/9.24/iccprofiles/* in -dSAFER mode. r479243: Add some upstream patches for regressions in 9.24. patch-010-bc3df07 For ICC profile validation, have cups id iteself as DeviceN. patch-020-c8c01f8, patch-030-1341854 Add the ICCProfilesDir to the PermitReading list. patch-040-9528102 Fix ps2epsi /undefined in --setpagedevice--. PR: 231148 Approved by: ports-secteam (eadler) Security: https://www.kb.cert.org/vuls/id/332928
Notes
Notes: svn path=/branches/2018Q3/; revision=479506
-rw-r--r--print/ghostscript9-agpl-base/Makefile8
-rw-r--r--print/ghostscript9-agpl-base/distinfo6
-rw-r--r--print/ghostscript9-agpl-base/files/patch-010-bc3df0775
-rw-r--r--print/ghostscript9-agpl-base/files/patch-020-c8c01f842
-rw-r--r--print/ghostscript9-agpl-base/files/patch-030-134185454
-rw-r--r--print/ghostscript9-agpl-base/files/patch-040-9528102103
-rw-r--r--print/ghostscript9-agpl-base/files/patch-base-stdpre.h12
-rw-r--r--print/ghostscript9-agpl-base/files/patch-configure23
-rw-r--r--print/ghostscript9-agpl-base/pkg-plist19
-rw-r--r--print/ghostscript9-agpl-x11/Makefile8
-rw-r--r--print/ghostscript9-agpl-x11/distinfo3
11 files changed, 305 insertions, 48 deletions
diff --git a/print/ghostscript9-agpl-base/Makefile b/print/ghostscript9-agpl-base/Makefile
index 2ab30a5b2173..9311bd4ae3ed 100644
--- a/print/ghostscript9-agpl-base/Makefile
+++ b/print/ghostscript9-agpl-base/Makefile
@@ -1,8 +1,8 @@
# $FreeBSD$
PORTNAME= ghostscript
-PORTVERSION= 9.23
-PORTREVISION= 1
+PORTVERSION= 9.24
+PORTREVISION= 2
CATEGORIES= print
MASTER_SITES= https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${PORTVERSION:S/.//}/
PKGNAMESUFFIX= 9-agpl-base
@@ -28,8 +28,10 @@ CONFLICTS_INSTALL= \
ghostscript9-agpl-[0-9]* \
ghostscript9-agpl-nox11-[0-9]*
-USES= gmake iconv jpeg localbase pkgconfig tar:xz
+USES= cpe gmake iconv jpeg localbase pkgconfig tar:xz
+USE_CSTD= gnu99
USE_LDCONFIG= yes
+CPE_VENDOR= artifex
DATADIR= ${PREFIX}/share/${PORTNAME}/${PORTVERSION}
DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}/${PORTVERSION}
GNU_CONFIGURE= yes
diff --git a/print/ghostscript9-agpl-base/distinfo b/print/ghostscript9-agpl-base/distinfo
index d09599023950..46025f836714 100644
--- a/print/ghostscript9-agpl-base/distinfo
+++ b/print/ghostscript9-agpl-base/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1523106984
-SHA256 (ghostscript-9.23.tar.xz) = 1fcedc27d4d6081105cdf35606cb3f809523423a6cf9e3c23cead3525d6ae8d9
-SIZE (ghostscript-9.23.tar.xz) = 33426160
+TIMESTAMP = 1536049976
+SHA256 (ghostscript-9.24.tar.xz) = d44917df24979a05e0cb3916531928cc2adc91f5b17b419ee023d16ab31069d6
+SIZE (ghostscript-9.24.tar.xz) = 33015704
diff --git a/print/ghostscript9-agpl-base/files/patch-010-bc3df07 b/print/ghostscript9-agpl-base/files/patch-010-bc3df07
new file mode 100644
index 000000000000..d927b74ce2f2
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-010-bc3df07
@@ -0,0 +1,75 @@
+From: Chris Liddell <chris.liddell@artifex.com>
+Date: Tue, 4 Sep 2018 16:01:08 +0000 (+0100)
+Subject: For ICC profile validation, have cups id iteself as DeviceN
+X-Git-Url: http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff_plain;h=bc3df0773fccf4b4906a3e59652ad646ea0fee91
+
+For ICC profile validation, have cups id iteself as DeviceN
+
+Give the range of color spaces and models that cups supports, we can't
+reasonably provide (or expect others to provide) output ICC profiles for all
+cases.
+
+For the purpose of profile validation, have it claim to be DeviceN and benefit
+from the extra tolerance in profiles allowed for that class of device.
+---
+
+diff --git a/cups/gdevcups.c b/cups/gdevcups.c
+index c1574f8..decd8eb 100644
+--- cups/gdevcups.c
++++ cups/gdevcups.c
+@@ -70,6 +70,7 @@
+ #include "std.h" /* to stop stdlib.h redefining types */
+ #include "gdevprn.h"
+ #include "gsparam.h"
++#include "gxdevsop.h"
+ #include "arch.h"
+ #include "gsicc_manage.h"
+
+@@ -252,6 +253,7 @@ private int cups_put_params(gx_device *, gs_param_list *);
+ private int cups_set_color_info(gx_device *);
+ private dev_proc_sync_output(cups_sync_output);
+ private prn_dev_proc_get_space_params(cups_get_space_params);
++private int cups_spec_op(gx_device *dev_, int op, void *data, int datasize);
+
+ #ifdef dev_t_proc_encode_color
+ private cm_map_proc_gray(cups_map_gray);
+@@ -392,7 +394,7 @@ private gx_device_procs cups_procs =
+ NULL, /* push_transparency_state */
+ NULL, /* pop_transparency_state */
+ NULL, /* put_image */
+-
++ cups_spec_op
+ };
+
+ #define prn_device_body_copies(dtype, procs, dname, w10, h10, xdpi, ydpi, lo, to, lm, bm, rm, tm, ncomp, depth, mg, mc, dg, dc, print_pages)\
+@@ -5927,6 +5929,17 @@ cups_print_planar(gx_device_printer *pdev,
+ return (0);
+ }
+
++private int
++cups_spec_op(gx_device *dev_, int op, void *data, int datasize)
++{
++ /* Although not strictly DeviceN, the range of color models
++ this device supports presets similar issues.
++ */
++ if (op == gxdso_supports_devn) {
++ return true;
++ }
++ return gx_default_dev_spec_op(dev_, op, data, datasize);
++}
+
+ /*
+ */
+diff --git a/devices/devs.mak b/devices/devs.mak
+index c85604c..e8654e5 100644
+--- devices/devs.mak
++++ devices/devs.mak
+@@ -1860,7 +1860,7 @@ $(DD)pwgraster.dev : $(lcups_dev) $(lcupsi_dev) $(cups_) $(GDEV) \
+ $(ADDMOD) $(DD)pwgraster -include $(lcups_dev)
+ $(ADDMOD) $(DD)pwgraster -include $(lcupsi_dev)
+
+-$(DEVOBJ)gdevcups.$(OBJ) : $(LCUPSSRCDIR)$(D)gdevcups.c $(std_h) $(DEVS_MAK) $(MAKEDIRS)
++$(DEVOBJ)gdevcups.$(OBJ) : $(LCUPSSRCDIR)$(D)gdevcups.c $(std_h) $(gxdevsop_h) $(DEVS_MAK) $(MAKEDIRS)
+ $(CUPS_CC) $(DEVO_)gdevcups.$(OBJ) $(C_) $(CFLAGS) $(CUPSCFLAGS) \
+ $(I_)$(GLSRC) \
+ $(I_)$(DEVSRC) \
diff --git a/print/ghostscript9-agpl-base/files/patch-020-c8c01f8 b/print/ghostscript9-agpl-base/files/patch-020-c8c01f8
new file mode 100644
index 000000000000..6afafd02d800
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-020-c8c01f8
@@ -0,0 +1,42 @@
+From c8c01f8c4164bc10281d9e8f87cf96314d93104b Mon Sep 17 00:00:00 2001
+From: Chris Liddell <chris.liddell@artifex.com>
+Date: Thu, 6 Sep 2018 14:08:41 +0100
+Subject: [PATCH] Bug 699722: Add the ICCProfilesDir to the PermitReading list
+
+There was also an issue that the string being returned from the graphics
+library was null terminated, and Postscript strings are not (and Ghostscript
+strings are not necessarily). We leave the null termination in place, but
+reduce the length returned by 1.
+---
+ Resource/Init/gs_init.ps | 1 +
+ base/gsicc_manage.c | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps
+index bc8b795..83918a9 100644
+--- Resource/Init/gs_init.ps
++++ Resource/Init/gs_init.ps
+@@ -2049,6 +2049,7 @@ readonly def
+ [ currentsystemparams /GenericResourceDir get] (*) .file_name_separator (*)
+ concatstrings concatstrings .generate_dir_list_templates
+ } if
++ currentuserparams /ICCProfilesDir known {currentuserparams /ICCProfilesDir get} if
+ ]
+ /PermitFileWriting [
+ currentuserparams /PermitFileWriting get aload pop
+diff --git a/base/gsicc_manage.c b/base/gsicc_manage.c
+index 69f05c4..ff685e7 100644
+--- base/gsicc_manage.c
++++ base/gsicc_manage.c
+@@ -2972,7 +2972,7 @@ gs_currenticcdirectory(const gs_gstate * pgs, gs_param_string * pval)
+ pval->persistent = true;
+ } else {
+ pval->data = (const byte *)(lib_ctx->profiledir);
+- pval->size = lib_ctx->profiledir_len;
++ pval->size = lib_ctx->profiledir_len - 1;
+ pval->persistent = false;
+ }
+ }
+--
+2.9.1
+
diff --git a/print/ghostscript9-agpl-base/files/patch-030-1341854 b/print/ghostscript9-agpl-base/files/patch-030-1341854
new file mode 100644
index 000000000000..d2f67aa7e8c7
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-030-1341854
@@ -0,0 +1,54 @@
+From 13418541a5ae19b15f51cbb87faf344902f5af98 Mon Sep 17 00:00:00 2001
+From: Chris Liddell <chris.liddell@artifex.com>
+Date: Thu, 6 Sep 2018 18:40:05 +0100
+Subject: [PATCH] Bug 699722 (2): add wildcards to the permissions paths.
+
+The temp and ICC profile paths need to finish with wildcards to work correctly.
+---
+ Resource/Init/gs_init.ps | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps
+index 83918a9..5ff9f63 100644
+--- Resource/Init/gs_init.ps
++++ Resource/Init/gs_init.ps
+@@ -2034,7 +2034,7 @@ readonly def
+ <<
+ /PermitFileReading [
+ currentuserparams /PermitFileReading get aload pop
+- //tempfilepaths aload pop
++ [//tempfilepaths aload pop] (*) .generate_dir_list_templates
+ /FONTPATH .systemvar (*) .generate_dir_list_templates
+ % Library files :
+ /LIBPATH .systemvar (*) .generate_dir_list_templates
+@@ -2049,15 +2049,15 @@ readonly def
+ [ currentsystemparams /GenericResourceDir get] (*) .file_name_separator (*)
+ concatstrings concatstrings .generate_dir_list_templates
+ } if
+- currentuserparams /ICCProfilesDir known {currentuserparams /ICCProfilesDir get} if
++ currentuserparams /ICCProfilesDir known {[currentuserparams /ICCProfilesDir get] (*) .generate_dir_list_templates} if
+ ]
+ /PermitFileWriting [
+ currentuserparams /PermitFileWriting get aload pop
+- //tempfilepaths aload pop
++ [//tempfilepaths aload pop] (*) .generate_dir_list_templates
+ ]
+ /PermitFileControl [
+ currentuserparams /PermitFileControl get aload pop
+- //tempfilepaths aload pop
++ [//tempfilepaths aload pop] (*) .generate_dir_list_templates
+ ]
+ /LockFilePermissions //true
+ >> setuserparams
+@@ -2140,7 +2140,7 @@ SAFER { .setsafeglobal } if
+ /.setshapealpha % transparency-example.ps
+ /.endtransparencygroup % transparency-example.ps
+ /.setdotlength % Bug687720.ps
+- /.sort /.setdebug /.mementolistnewblocks /getenv
++ /.sort /.mementolistnewblocks /getenv
+
+ /.makeoperator /.setCPSImode % gs_cet.ps, this won't work on cluster with -dSAFER
+
+--
+2.9.1
+
diff --git a/print/ghostscript9-agpl-base/files/patch-040-9528102 b/print/ghostscript9-agpl-base/files/patch-040-9528102
new file mode 100644
index 000000000000..508145114401
--- /dev/null
+++ b/print/ghostscript9-agpl-base/files/patch-040-9528102
@@ -0,0 +1,103 @@
+From 95281026d983bff8f72e431c7f620a0e8d07c2af Mon Sep 17 00:00:00 2001
+From: Ken Sharp <ken.sharp@artifex.com>
+Date: Sat, 8 Sep 2018 09:47:19 +0100
+Subject: [PATCH] Bug 699744 "ps2epsi fails with Error: /undefined in
+ --setpagedevice--"
+
+Recent changes required to harden SAFER mode mean that it is no longer
+possible to run this script in SAFER mode, because it relies upon
+unsafe Ghostscript non-standard extension operators.
+
+Removing SAFER and DELAYSAFER, and the code to reset SAFER, allow the
+program to run as well as it ever did (ie badly). This program should
+now be considered unsafe, you should not use it on untrusted PostScript
+programs.
+
+I think its likely we will deprecate and remove this program in future.
+---
+ lib/ps2epsi | 4 ++--
+ lib/ps2epsi.bat | 6 +++---
+ lib/ps2epsi.cmd | 4 ++--
+ lib/ps2epsi.ps | 1 -
+ 4 files changed, 7 insertions(+), 8 deletions(-)
+
+diff --git a/lib/ps2epsi b/lib/ps2epsi
+index 5e1c173..d992180 100755
+--- lib/ps2epsi
++++ lib/ps2epsi
+@@ -49,7 +49,7 @@ else
+ outfile=$2
+ fi
+
+-"$GS_EXECUTABLE" -q -dBATCH -dNOPAUSE -P- -dSAFER -dDELAYSAFER -sDEVICE=bbox -sOutputFile=/dev/null "${infile}" 2>${outfile}
++"$GS_EXECUTABLE" -q -dBATCH -dNOPAUSE -P- -sDEVICE=bbox -sOutputFile=/dev/null "${infile}" 2>${outfile}
+
+ ls -l "${infile}" |
+ awk 'F==1 {
+@@ -91,7 +91,7 @@ awk 'F==1 {
+ }
+ ' F=1 - F=2 "${outfile}" >>"$tmpfile"
+
+-"$GS_EXECUTABLE" -q -dNOPAUSE -P- -dSAFER -dDELAYSAFER -r72 -sDEVICE=bit -sOutputFile=/dev/null "$tmpfile" ps2epsi.ps "$tmpfile" <"${infile}" 1>&2
++"$GS_EXECUTABLE" -q -dNOPAUSE -P- -r72 -sDEVICE=bit -sOutputFile=/dev/null "$tmpfile" ps2epsi.ps "$tmpfile" <"${infile}" 1>&2
+ rm -f "$tmpfile"
+ rm -rf "$tmpdir"
+
+diff --git a/lib/ps2epsi.bat b/lib/ps2epsi.bat
+index 3c40aef..f5e7b3e 100755
+--- lib/ps2epsi.bat
++++ lib/ps2epsi.bat
+@@ -9,10 +9,10 @@ set outfile=%~2
+
+ rem First we need to determine the bounding box. ps2epsi.ps below will pick
+ rem the result up from %outfile%
+-%GSC% -q -dNOPAUSE -dBATCH -P- -dSAFER -dDELAYSAFER -sDEVICE=bbox -sOutputFile=NUL %1 2> %2
++%GSC% -q -dNOPAUSE -dBATCH -P- -sDEVICE=bbox -sOutputFile=NUL %1 2> %2
+
+ rem Ghostscript uses %outfile% to define the output file
+-%GSC% -q -dNOPAUSE -P- -dSAFER -dDELAYSAFER -sDEVICE=bit -sOutputFile=NUL ps2epsi.ps < %1
++%GSC% -q -dNOPAUSE -P- -sDEVICE=bit -sOutputFile=NUL ps2epsi.ps < %1
+
+ rem We bracket the actual file with a few commands to help encapsulation
+ echo %%%%Page: 1 1 >> %2
+@@ -22,7 +22,7 @@ echo userdict /setpagedevice /pop load put >> %2
+
+ rem Append the original onto the preview header
+ rem cat.ps uses the %infile% and %outfile% environment variables for the filenames
+-%GSC% -q -dNOPAUSE -dBATCH -P- -dSAFER -dDELAYSAFER -sDEVICE=bit -sOutputFile=NUL cat.ps
++%GSC% -q -dNOPAUSE -dBATCH -P- -sDEVICE=bit -sOutputFile=NUL cat.ps
+
+
+ echo %%%%EndDocument >> %2
+diff --git a/lib/ps2epsi.cmd b/lib/ps2epsi.cmd
+index abbe8a8..9eafdbd 100755
+--- lib/ps2epsi.cmd
++++ lib/ps2epsi.cmd
+@@ -12,10 +12,10 @@ set outfile=%2
+
+ rem First we need to determine the bounding box. ps2epsi.ps below will pick
+ rem the result up from %outfile%
+-gsos2 -q -dNOPAUSE -dBATCH -P- -dSAFER -dDELAYSAFER -sDEVICE=bbox -sOutputFile=NUL %infile% 2> %outfile%
++gsos2 -q -dNOPAUSE -dBATCH -P- -sDEVICE=bbox -sOutputFile=NUL %infile% 2> %outfile%
+
+ rem Ghostscript uses %outfile% to define the output file
+-gsos2 -q -dNOPAUSE -P- -dSAFER -dDELAYSAFER -sDEVICE=bit -sOutputFile=NUL ps2epsi.ps < %infile%
++gsos2 -q -dNOPAUSE -P- -sDEVICE=bit -sOutputFile=NUL ps2epsi.ps < %infile%
+
+ rem We bracket the actual file with a few commands to help encapsulation
+ echo %%%%Page: 1 1 >> %outfile%
+diff --git a/lib/ps2epsi.ps b/lib/ps2epsi.ps
+index 3cd970a..4bc5217 100644
+--- lib/ps2epsi.ps
++++ lib/ps2epsi.ps
+@@ -84,7 +84,6 @@ ps2edict begin
+ userdict /showpage { ps2edict begin epsipage end } bind put
+ userdict /setfont { ps2edict begin epsisetfont end } bind put
+ userdict /setpagedevice /pop load put
+- //systemdict /.setsafe known { .setsafe } if
+ } bind def
+
+ /epsifontdict 100 dict def
+--
+2.9.1
+
diff --git a/print/ghostscript9-agpl-base/files/patch-base-stdpre.h b/print/ghostscript9-agpl-base/files/patch-base-stdpre.h
deleted file mode 100644
index e4950fcf5c95..000000000000
--- a/print/ghostscript9-agpl-base/files/patch-base-stdpre.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- base/stdpre.h.orig 2018-03-21 08:48:06 UTC
-+++ base/stdpre.h
-@@ -94,7 +94,8 @@
- #endif
-
- /* restrict is standard in C99, but not in all C++ compilers. */
--#if __STDC_VERSION__ == 199901L /* C99 */
-+#if __STDC_VERSION__ >= 199901L /* C99 */
-+#define gs_restrict restrict
- #elif defined(_MSC_VER) && _MSC_VER >= 1500 /* MSVC 9 or newer */
- #define gs_restrict __restrict
- #elif __GNUC__ >= 3 /* GCC 3 or newer */
diff --git a/print/ghostscript9-agpl-base/files/patch-configure b/print/ghostscript9-agpl-base/files/patch-configure
index 126cd08f5671..2ed345869676 100644
--- a/print/ghostscript9-agpl-base/files/patch-configure
+++ b/print/ghostscript9-agpl-base/files/patch-configure
@@ -1,6 +1,17 @@
---- configure.orig 2018-03-21 08:49:04 UTC
+--- configure.orig 2018-09-03 08:51:26 UTC
+++ configure
-@@ -5100,7 +5100,7 @@ if test "${enable_threadsafe+set}" = set; then :
+@@ -4357,8 +4357,8 @@ else
+ ;;
+ *BSD)
+ if test $ac_cv_c_compiler_gnu = yes; then
+- CC_OPT_FLAGS_TO_TRY="-O2"
+- CC_DBG_FLAGS_TO_TRY="-gdwarf-2 -g3 -O0"
++ CC_OPT_FLAGS_TO_TRY=""
++ CC_DBG_FLAGS_TO_TRY=""
+ fi
+ ;;
+ Darwin*)
+@@ -5143,7 +5143,7 @@ if test "${enable_threadsafe+set}" = set; then :
fi
if test x$enable_threadsafe = xyes ; then
@@ -9,7 +20,7 @@
fi
-@@ -5762,7 +5762,6 @@ if ${ac_cv_lib_dl_dlopen+:} false; then :
+@@ -5805,7 +5805,6 @@ if ${ac_cv_lib_dl_dlopen+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -17,7 +28,7 @@
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-@@ -5795,7 +5794,7 @@ $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+@@ -5838,7 +5837,7 @@ $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
ac_fn_c_check_header_mongrel "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default"
if test "x$ac_cv_header_dlfcn_h" = xyes; then :
@@ -26,7 +37,7 @@
fi
-@@ -9950,42 +9949,42 @@ if test x$enable_threadsafe = xyes; then
+@@ -10041,42 +10040,42 @@ if test x$enable_threadsafe = xyes; then
for ntsdev in $NTS_DEVS ; do
NTS_EXCLUDES="$(echo \"$P_DEVS0{@:0}\" | grep -o $ntsdev) $NTS_EXCLUDES"
@@ -77,7 +88,7 @@
done
NTS_EXCLUDES=`echo "$NTS_EXCLUDES" | tr " " "\n" | sort | uniq | tr "\n" " "`
-@@ -10145,7 +10144,12 @@ if test "${enable_dynamic+set}" = set; then :
+@@ -10251,7 +10250,12 @@ if test "${enable_dynamic+set}" = set; then :
DBG_CFLAGS="$DYNAMIC_CFLAGS $DBG_CFLAGS"
;;
*BSD)
diff --git a/print/ghostscript9-agpl-base/pkg-plist b/print/ghostscript9-agpl-base/pkg-plist
index a9f38e342f11..63cbf5a36c08 100644
--- a/print/ghostscript9-agpl-base/pkg-plist
+++ b/print/ghostscript9-agpl-base/pkg-plist
@@ -79,40 +79,23 @@ share/color/icc/ghostscript/ps_rgb.icc
share/color/icc/ghostscript/sgray.icc
share/color/icc/ghostscript/srgb.icc
%%PORTDOCS%%%%DOCSDIR%%/API.htm
-%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
%%PORTDOCS%%%%DOCSDIR%%/C-style.htm
%%PORTDOCS%%%%DOCSDIR%%/COPYING
-%%PORTDOCS%%%%DOCSDIR%%/Changes.htm
%%PORTDOCS%%%%DOCSDIR%%/Commprod.htm
%%PORTDOCS%%%%DOCSDIR%%/DLL.htm
%%PORTDOCS%%%%DOCSDIR%%/Deprecated.htm
-%%PORTDOCS%%%%DOCSDIR%%/Details.htm
-%%PORTDOCS%%%%DOCSDIR%%/Details8.htm
-%%PORTDOCS%%%%DOCSDIR%%/Details9.htm
%%PORTDOCS%%%%DOCSDIR%%/Develop.htm
%%PORTDOCS%%%%DOCSDIR%%/Devices.htm
%%PORTDOCS%%%%DOCSDIR%%/Drivers.htm
%%PORTDOCS%%%%DOCSDIR%%/Fonts.htm
%%PORTDOCS%%%%DOCSDIR%%/GS9_Color_Management.pdf
%%PORTDOCS%%%%DOCSDIR%%/GS9_Color_Management.tex
-%%PORTDOCS%%%%DOCSDIR%%/Helpers.htm
-%%PORTDOCS%%%%DOCSDIR%%/Hershey.htm
-%%PORTDOCS%%%%DOCSDIR%%/History1.htm
-%%PORTDOCS%%%%DOCSDIR%%/History2.htm
-%%PORTDOCS%%%%DOCSDIR%%/History3.htm
-%%PORTDOCS%%%%DOCSDIR%%/History4.htm
-%%PORTDOCS%%%%DOCSDIR%%/History5.htm
-%%PORTDOCS%%%%DOCSDIR%%/History6.htm
-%%PORTDOCS%%%%DOCSDIR%%/History7.htm
-%%PORTDOCS%%%%DOCSDIR%%/History8.htm
%%PORTDOCS%%%%DOCSDIR%%/History9.htm
%%PORTDOCS%%%%DOCSDIR%%/Install.htm
-%%PORTDOCS%%%%DOCSDIR%%/Issues.htm
%%PORTDOCS%%%%DOCSDIR%%/Language.htm
%%PORTDOCS%%%%DOCSDIR%%/Lib.htm
%%PORTDOCS%%%%DOCSDIR%%/Make.htm
%%PORTDOCS%%%%DOCSDIR%%/News.htm
-%%PORTDOCS%%%%DOCSDIR%%/Projects.htm
%%PORTDOCS%%%%DOCSDIR%%/Ps-style.htm
%%PORTDOCS%%%%DOCSDIR%%/Ps2epsi.htm
%%PORTDOCS%%%%DOCSDIR%%/Psfiles.htm
@@ -124,8 +107,8 @@ share/color/icc/ghostscript/srgb.icc
%%PORTDOCS%%%%DOCSDIR%%/Use.htm
%%PORTDOCS%%%%DOCSDIR%%/VectorDevices.htm
%%PORTDOCS%%%%DOCSDIR%%/WhatIsGS.htm
+%%PORTDOCS%%%%DOCSDIR%%/gdevds32.c
%%PORTDOCS%%%%DOCSDIR%%/gs-vms.hlp
-%%PORTDOCS%%%%DOCSDIR%%/gs.css
%%PORTDOCS%%%%DOCSDIR%%/gsdoc.el
%%PORTDOCS%%%%DOCSDIR%%/index.html
%%PORTDOCS%%%%DOCSDIR%%/pscet_status.txt
diff --git a/print/ghostscript9-agpl-x11/Makefile b/print/ghostscript9-agpl-x11/Makefile
index 2e0f48f0e922..f094ec9463a5 100644
--- a/print/ghostscript9-agpl-x11/Makefile
+++ b/print/ghostscript9-agpl-x11/Makefile
@@ -1,8 +1,7 @@
# $FreeBSD$
PORTNAME= ghostscript
-PORTVERSION= 9.23
-PORTREVISION= 1
+PORTVERSION= 9.24
CATEGORIES= print
MASTER_SITES= https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${PORTVERSION:S/.//}/
PKGNAMESUFFIX= 9-agpl-x11
@@ -18,10 +17,13 @@ CONFLICTS_INSTALL= \
ghostscript9-agpl-[0-9]* \
ghostscript9-agpl-nox11-[0-9]*
+DISTINFO_FILE= ${.CURDIR:H}/ghostscript9-agpl-base/distinfo
PATCHDIR= ${.CURDIR:H}/ghostscript9-agpl-base/files
-USES= ghostscript:agpl gmake iconv localbase pkgconfig tar:xz
+USES= cpe ghostscript:agpl gmake iconv localbase pkgconfig tar:xz
+USE_CSTD= gnu99
USE_LDCONFIG= yes
USE_XORG= ice sm x11 xext xt
+CPE_VENDOR= artifex
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --disable-compile-inits \
--disable-cups \
diff --git a/print/ghostscript9-agpl-x11/distinfo b/print/ghostscript9-agpl-x11/distinfo
deleted file mode 100644
index 202b6528d4a1..000000000000
--- a/print/ghostscript9-agpl-x11/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1525773446
-SHA256 (ghostscript-9.23.tar.xz) = 1fcedc27d4d6081105cdf35606cb3f809523423a6cf9e3c23cead3525d6ae8d9
-SIZE (ghostscript-9.23.tar.xz) = 33426160