- Make MAKE_JOBS_SAFE=yes.
- Replace OPTIONS with OPTIONSng. Bump PORTREVISION because a package created
with Makefile.drivers r1.8 had some inconsistent default values.
for maintainers:
it introduces 3 different types of options: simple, multi and single:
- simple options are the same as the current options (i.e. on or off.)
- multi options are options where at least one must be set (1-N).
- single options are options where one and only one must be set (exclusive
options).
for users:
- OPTIONS_SET: globally enable some options
- OPTIONS_UNSET: globally disable some options
- ${UNIQUENAME}_SET: enable per-port choice of options
- ${UNIQUENAME}_UNSET: disable per-port choice of options
For compatibility the old OPTIONS framework is now working on top of the new one
The options previously set with old OPTIONS are imported and converted
transparently.
A new knob NO_DIALOG if defined in the the config-conditional target is ignored
(prevent the dialog(1) ui to show up.
Thanks to all people involved:
beat@, crees@, Bryan Drewery, linimon@, novel@ and others, for testing, comments, patches
ghostscript build framework to eliminate differences between
selected drivers by OPTIONS and actually-compiled ones.
- Eliminate duplicated devices displayed in "gs -h".
- Support for tiff file output is now provided using the libtiff
implementation rather than our more limited native code as in
previous releases. There is also a new 'tiffsep1' output
device which produces halftoned separations at 1
bit-per-pixel, in contrast to the 'tiffsep' device which
produces 8 bit-per-pixel plates.
- The graphics library has been updated to provide more accurate
scan conversion of vector art including fixes to dash
behavior, transparent stroked paths, thick stroked paths,
radial shadings, xps cap handling, "pie" joins, degenerate
beziers, improved handling of dropouts in thin strokes and
better thin axis-aligned strokes.
* Fix cairo support. GS_cairo is added to the drivers list (this
is disabled by default). When WITH_CAIRO is defined, GS_cairo
will be set by default.[2]
PR: ports/144111[1]
PR: ports/137634[2]
PR: ports/145248[2]
- This release fixes a large number of issues with transparency,
especially as it interacts with color space conversion, mask
contexts and patterns. There have also been a number of
significant fixes to font handling, especially when generating
PDF. And there are numerous robustness, correctness and
performance improvements.
- New generic Esc/Page devices, eplmono and eplcolor were added
to the contrib directory. A new cdnj500 device was added to
support the HP DesignJet 500.
- The licensing of the Free version of the core Ghostscript code
has been changed to GPLv3 or later. Previously, the core code
was GPLv2 only. Ghostscript can now be used with GPLv3
applications, and can no longer be used with applications that
are GPLv2-only.
- This release also includes security fixes addressing
CVE-2009-0583 and CVE-2009-0792.
[Incompatible changes]
- The size of PostScript integers has been limited to 32
bits. Previously they used the C long type resulting in 64 bits
of precision on LP64 systems (like on x86_64). As of this
release all platforms match the recommended implementation
limits in the specification.
to link with CUPS, but it should now be possible to `make config'
and disable any link options that refer to CUPS libraries.
Approved by: doceng (hrs)
Noticed by: Stefan Thurner thurners at nicsys.de
Guido Falsi mad at madpilot.net [1],
Helge Oldach ports-ghostscript8-may09 at oldach.net [1]
[1] An almost identical patch was submitted to doceng.
to it have been added. These are to install standard fonts used in the
Ports Collection. Currently they contain:
std.ja_JP/Mincho
std.ja_JP/Gothic
std.ja_JP/Ryumin-Light
std.ja_JP/GothicBBB-Medium
std.zh_CN/STHeiti-Regular
std.zh_CN/STSong-Light
std.zh_CN/MSung-Light
std.zh_CN/MHei-Medium
under ${PREFIX}/share/fonts/. They are just symlinks to
corresponding font files. The symlink names are based on popular
PostScript font names.
Applications should refer the font files via XLFD or fontconfig
first. If they need a direct reference to the font file, please use
files in std.*/*. This is because direct reference to a specific
font name in an application configuration file makes the maintenance
difficult when the font file name is changed, for example.
and marked as CVE-2009-583 and CVE-2009-584:
CVE-2009-583:
Multiple integer overflows in icc.c in the International Color
Consortium (ICC) Format library (aka icclib), as used in
Ghostscript 8.64 and earlier and Argyll Color Management
System (CMS) 1.0.3 and earlier, allow context-dependent
attackers to cause a denial of service (heap-based buffer
overflow and application crash) or possibly execute arbitrary
code by using a device file for a translation request that
operates on a crafted image file and targets a certain "native
color space," related to an ICC profile in a (1) PostScript
or (2) PDF file with embedded images.
CVE-2009-584:
icc.c in the International Color Consortium (ICC) Format
library (aka icclib), as used in Ghostscript 8.64 and earlier
and Argyll Color Management System (CMS) 1.0.3 and earlier,
allows context-dependent attackers to cause a denial of
service (application crash) or possibly execute arbitrary code
by using a device file for processing a crafted image file
associated with large integer values for certain sizes, related
to an ICC profile in a (1) PostScript or (2) PDF file with
embedded images.
Security: CVE-2009-583
Security: CVE-2009-584
Approved by: portmgr (pav)
- Improvements to overprint and spot color support in documents with
transparency, improvements to PDF and PS output, proper handling of
PDF-specific text rendering modes and support for reading
AES-encrypted PDF documents.
- Improved handling of CJK text, especially in vertical writing modes.
- Improved memory footprint processing some files at high resolution.
- The handling of color spaces has been moved from PostScript code to
C.
- A number of the included printer drivers and cups wrappers have been
updated to support a PDF-based workflow. Also fixed are several
long-standing bugs in the pcl drivers with respect to duplex,
resolution and paper tray selection.
|Approximately 238 bugs have been fixed since version 8.62. Of particular note
|are robustness and performance improvements with large files, invalid PDF, and
|font handling.
|
|The major new feature of this release is multithreaded rendering. This can be
|requested by passing -dNumRenderingThreads=n on the command line. The input
|document is first parsed, and then each page is split into n bands which are
|rendered concurrently. This can provide a significant reduction in processing
|time on multi-core systems.
|
|Images are now always interpolated in their source colorspace. This improves
|correctness for XPS documents and avoids bypassing the custom color management
|callbacks for interpolated images. Interpolation and color management are both
|expensive operations, so this affects performance with large images. The effect
|can be positive or negative depending on the file and the target resolution. If
|performance is a problem, we suggest running with -dNOINTERPOLATION.
|
|Support for OpenPrinting Vector devices has been upgraded to version 1.0.
|
|There are two new devices in this release, both experimental. Behdad Esfahbod
|has contributed a cairo output device which uses the cairo graphics library to
|generate PDF, SVG, EPS, or PNG files, based on the requested filename
|extension. The svgwrite device directly outputs Scalable Vector Graphics, the
|W3C XML vector graphics format. Both support only vector art at this point;
|text and images will not be represented efficiently.
|
|Incompatible changes
|
|The maximum number of color components has been reduced to 8 (from 252) as a
|performance improvement. Eight is the largest number commonly used and the
|largest number for which we support continuous tone images. Users with special
|needs can restore the previous behavior by setting the
|GS_CLIENT_COLOR_MAX_COMPONENTS preprocessor symbol to the required number of
|components at compile time.
|
|The -Z: debugging option now uses 'realtime' instead of 'usertime' when
|reporting timing information on unix-like systems. This has always been the
|case on windows-like systems.
|
|Obsolete makefiles for the DesqView environment have been removed.