ports/print/ghostscript7-x11/files/patch-src-gdevxalt.c
Hiroki Sato 27470e1676 - 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.
2015-08-22 17:48:35 +00:00

31 lines
976 B
C

--- src/gdevxalt.c.orig 2015-08-22 01:42:12.291619000 +0900
+++ src/gdevxalt.c 2015-08-22 01:42:53.871222000 +0900
@@ -30,6 +30,7 @@
#include "gdevx.h"
extern const gx_device_X gs_x11_device;
+extern const gx_device_X gs_x11alpha_device;
/*
* Define a forwarding device with a cache for the first 16 colors,
@@ -957,3 +958,20 @@
rgb[2] = ((color >> 11) & 0x3ff) * gx_max_color_value / 0x3ff;
return -1;
}
+
+#ifdef GS_DEVS_SHARED
+extern void gs_lib_register_device(const gx_device *dev);
+void
+gs_shared_init(void)
+{
+ gs_lib_register_device(&gs_x11_device);
+ gs_lib_register_device(&gs_x11alpha_device);
+ gs_lib_register_device(&gs_x11cmyk_device);
+ gs_lib_register_device(&gs_x11cmyk2_device);
+ gs_lib_register_device(&gs_x11cmyk4_device);
+ gs_lib_register_device(&gs_x11cmyk8_device);
+ gs_lib_register_device(&gs_x11gray2_device);
+ gs_lib_register_device(&gs_x11gray4_device);
+ gs_lib_register_device(&gs_x11mono_device);
+}
+#endif