From 27470e1676e69455acf06ae25ebd42ebd5bdecdb Mon Sep 17 00:00:00 2001 From: Hiroki Sato Date: Sat, 22 Aug 2015 17:48:35 +0000 Subject: - 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. --- print/ghostscript7-base/files/patch-src-gconf.c | 43 +++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 print/ghostscript7-base/files/patch-src-gconf.c (limited to 'print/ghostscript7-base/files/patch-src-gconf.c') diff --git a/print/ghostscript7-base/files/patch-src-gconf.c b/print/ghostscript7-base/files/patch-src-gconf.c new file mode 100644 index 000000000000..4afa18c6e024 --- /dev/null +++ b/print/ghostscript7-base/files/patch-src-gconf.c @@ -0,0 +1,43 @@ +--- src/gconf.c.orig 2003-01-17 09:49:00.000000000 +0900 ++++ src/gconf.c 2015-08-22 01:52:10.741824000 +0900 +@@ -81,7 +81,8 @@ + /* Set up the device table. */ + #define device_(dev) (const gx_device *)&dev, + #define device2_(dev) &dev, +-private const gx_device *const gx_device_list[] = { ++static const gx_device *gx_device_list[1024] = { ++ /* as shared library are adding drivers here, so removed constness */ + #include "gconf.h" + 0 + }; +@@ -149,9 +150,29 @@ + gs_lib_device_list(const gx_device * const **plist, + gs_memory_struct_type_t ** pst) + { ++ int i; ++ + if (plist != 0) + *plist = gx_device_list; + if (pst != 0) + *pst = NULL; +- return countof(gx_device_list) - 1; ++ ++ for (i = 0; i < countof(gx_device_list) - 1; ++i) ++ if (!gx_device_list[i]) ++ break; ++ return i; + } ++ ++#ifdef GS_DEVS_SHARED ++void ++gs_lib_register_device(const gx_device *dev) ++{ ++ int i; ++ ++ for (i = 0; i < countof(gx_device_list) - 1; ++i) ++ if (!gx_device_list[i]) { ++ gx_device_list[i] = dev; ++ return; ++ } ++} ++#endif -- cgit v1.2.3