libMagick.so libraries to be API compatible, and they don't want to
handle proper ELF versioning, but have the "real" version number in
the library. To spare us the pkgsrc maintenance nightmare, follow their
example. Bump PKGREVISION.
Changes:
* Verify sanity of sysconf(_SC_PAGE_SIZE) and sysconf(_SC_PHYS_PAGES)
before using their values.
* Corrected bug in image geometry height calculation.
* PingBlob() improperly set the length memory of BlobInfo to zero.
* Fixed Ping() memory leak in PerlMagick.
* Fixed -map problem in convert/mogrify utilities.
* -border with a single value now produces correct results
(e.g. -border 10).
* Set locale type LC_NUMERIC to "C".
* Bug fix for PS2 encoder.
* Added PS-Adobe preamble to PS3 encoder.
* Use ImageMagick release number to allow multiple ImageMagick releases
to co-exist without interference on the same machine.
* Decided that DrawGet functions should return by value.
* Added detailed logging to BMP, PNG, and JPEG codecs, including JPEG
quality estimate.
* Added draw.h "DrawGet" equivalents to most of the "DrawSet" functions.
* Added an array size argument to DrawSetDashPattern and got rid of
the zero-termination garbage.
o Remove 'Set' from the names of draw.h functions which update the
current affine transformation array (e.g. DrawSetRotate becomes
DrawRotate).
* Under Windows, a DllMain function which automatically initializes
ImageMagick (when ImageMagick is built using DLLs) may be added by
defining ProvideDllMain in magick_config.h
* Added resource consumption methods, see magick/resource.c.
* Replaced underscores in commandline options with hyphens. For backward
compatibility, underscores will continue to be recognized.
* Added -blue-primary, -green-primary, -red-primary, -white-point options.
* Added BMP2 and BMP3 output formats.
* Changed chromaticity primary.z from 1.0 to 1.0-(primary.x+primary.y)
in the PNG and PCD codecs.
* Added 'exception' parameter to the ImageMagick progress monitor API.
* Added enumerated types for the dispose member of the Image structure.
* Added -version option to commandline utilities.
* The xcf decoder would sometimes create artifacts when reading RLE-encoded
grayscale images, due to the green and blue samples not being defined.
* Added logging capabilities to the CORE API. This facility is useful
for debugging. Added "events" parameter to the -debug commandline option.
* AcquireImagePixels() did not always return the same pixel values
for virtual pixels when the cache was stored on disk (very rare).
* new -virtual-pixel command line option.
* new PerlMagick virtual-pixel image attribute.
Remove `-p' from mkdir arguments, it is already part of ${MKDIR}.
While here substitute a couple of ${PREFIX} by `%D' in
`@exec ${MKDIR} ...' lines and add a couple of missing `%D' in such lines too!
all dependencies on packages depending on "png" which contain shared
libraries, all for the (imminent) update to the "png" package.
[List courtesy of John Darrow, courtesy of "bulk-build".]
"mogrify -rotate 90 foo.tiff") used to leave the result in
/tmp/magickXXXXXXX with an in-file image comment of
/tmp/magickXXXXXXX.mgk.
Now it writes back to foo.tiff and the in-file comment is correct.
For some reason, working on jpg's didn't exhibit this problem
- Some operations that generate new files from some formats (e.g,
"mogrify -format jpg -rotate 90 foo.tiff") used to leave the result
in /tmp/magickXXXXXXX.jpg.
Now foo.jpg is generated.
For some reason, converting jpg->tiff didn't exhibit this problem.
redefines about which buildlink.mk files would care is BUILDLINK_X11_DIR,
which points to the location of the X11R6 hierarchy used during building.
If x11.buildlink.mk isn't included, then BUILDLINK_X11_DIR defaults to
${X11BASE} (set in bsd.pkg.mk), so its value is always safe to use. Remove
the ifdefs surrounding the use of BUILDLINK_X11_DIR in tk/buildlink.mk and
revert changes to move x11.buildlink.mk before the other buildlink.mk files.
use X11_BUILDLINK_MK as a test value. Generally just reordering the
inclusions so that x11.buildlink.mk comes before the other buildlink.mk
files will make everthing work.
foo-* to foo-[0-9]*. This is to cause the dependencies to match only the
packages whose base package name is "foo", and not those named "foo-bar".
A concrete example is p5-Net-* matching p5-Net-DNS as well as p5-Net. Also
change dependency examples in Packages.txt to reflect this.
A complete list of changes is not available unfortunately. Recent
changes are:
- Text drawing now handles UTF8-encoding.
- Off-by-one GetImagePixels() fix in draw.c
- PingImage() now reports attributes for all images an image sequence.
- magick/image.h: Rename QuantumLeap define to QuantumDepth.
QuantumDepth is set to the values 8 or 16, depend
configuration option.
- Updated PerlMagick signatures to signature algorithm.
- ImageMagick defaults to 16-bit quantum. Set QuantumMagick for 8-bit.
- Changed image->blob from BlobInfo to BlobInfo- so the Image
structure size is not dependent on the large-file defines.
- Added -background to convert prog
- DispatchImage() now properly handles grayscale images.
to ${X11BASE} in the header and library search paths into references to
${LOCALBASE}/share/x11-links. These packages should now be strongly-
buildlinked regardless of whether xpkgwedge is installed.
Changes well-tested on NetBSD-1.5X/i386 with and without xpkgwedge and
lightly-tested on NetBSD-1.5.1/alpha without xpkgwedge.
BUILDLINK_PREFIX.<pkgname>. This allows buildlink to find X11BASE packages
regardless of whether they were installed before or after xpkgwedge was
installed. Idea by Alistair Crooks <agc@pkgsrc.org>.
1.0.1 and up prefix functions with BZ2_ while older versions don't, but
ImageMagick was tested to work with bzip2 1.0.1, so don't change its
expectations.
using the newest PNG library won't work on system with an older one. To
prevent such problems with precompiled binary packages require at least
"png-1.0.9nb1" in all dependences.
- URL's are now understood on Win32 (thanks to libXML and William
Radcliffe).
- ImageMagick defaults to 16-bit per pixel component now.
- Support added for ART images (contributed by Jaroslav Fojtik).
- Added -pause to the animate program.
You can now specify a minimum/maximum delay for an image sequence.
- Added %c to -format to get the image comment (patch provided by Frank
Mattern).
- Over compositing is now the Porter-Duff algorithm (inspired by William
Radcliffe and Alvy Ray Smith).
- You can write SVG output if the input is SVG, MVG, or WMF.
- ImageMagick now can accept AFM, PFB, and PFM fonts.
- The linewidth parameter is deprecated in PerlMagick. Use stroke_width
instead.
- Digital Applications contributed text stroking code.
- You can now specify Truetype fonts directly. No @ prefix is required
(e.g. convert -font Arial.ttf ...)
- Digital Applications contributed line cap and dash pattern rendering
code.
- Added the Multiple composite operator for the creation of drop-shadows
(patch provided by John Harper).
- Support added for CUT images (contributed by Jaroslav Fojtik).
- Bill Radcliffe contributed fast polygoni rendering code. Parts of the
rendering algorithm were inspired by libart.
- Support added for BMP images with a 'BA' chunk (contributed by
Jaroslav Fojtik).
out of date - it was based on a.out OBJECT_FMT, and added entries in the
generated PLISTs to reflect the symlinks that ELF packages uses. It also
tried to be clever, and removed and recreated any symbolic links that were
created, which has resulted in some fun, especially with packages which
use dlopen(3) to load modules. Some recent changes to our ld.so to bring
it more into line with other Operating Systems also exposed some cracks.
+ Modify bsd.pkg.mk and its shared object handling, so that PLISTs now contain
the ELF symlinks.
+ Don't mess about with file system entries when handling shared objects in
bsd.pkg.mk, since it's likely that libtool and the BSD *.mk processing will
have got it right, and have a much better idea than we do.
+ Modify PLISTs to contain "ELF symlinks"
+ On a.out platforms, delete any "ELF symlinks" from the generated PLISTs
+ On ELF platforms, no extra processing needs to be done in bsd.pkg.mk
+ Modify print-PLIST target in bsd.pkg.mk to add dummy symlink entries on
a.out platforms
+ Update the documentation in Packages.txt
With many thanks to Thomas Klausner for keeping me honest with this.
- Support added for the Word Perfect Graphics (WPG) file format
(contributed by Jaroslav Fojtik).
- The pixel 'matte' field is changed to indicate the degree of pixel
transparency rather than the degree of opacity. This makes the pixels
compatable with most popular video cards, and many in-memory image
formats.
When the pixel quantum size is eight bits, the colormap is restricted
to 256 colors, but supports up to 65535 colors when the quantum size is
sixteen bits (when QuantumLeap is defined at compilation time).
- ImageMagick is more memory efficient (by 18%) when the quantum size is
eight bits, and the image is colormapped.
- ImageMagick is (finally) believed to be thread safe under Windows,
since it uses the Windows synchronization APIs to lock shared data.
- Under Unix and Windows, dynamically-loaded format coder modules are
supported. There are currently 72 loadable modules. Support for
loadable modules allows the user to add or remove formats from
ImageMagick by simply adding or removing a file. New modules are
automatically detected so users may add their own modules. This support
is proven to work for Sun Solaris, Linux, and SGI IRIX. Please let us
know about other operating systems they work on. Building a modular
ImageMagick is enabled by specifing the configure options
--enable-shared --with-modules.
- ImageMagick now has a set of modules for streaming. Here pixels are
passed to the application as they are available and deleted after use
ensuring a small memory footprint. This is useful for multi-media
applications such as MPEG.
- Image format identification (based on the file header) is now
configured via an external text file. This allows the user to add
automatic file identification for new formats added via a coder module,
or via a delegate (external program).
- XML files conforming to the W3C SVG DTD are now rendered directly by
ImageMagick. The support is incomplete but still useful.
- The Pilot Image Format (PDB) is now supported.
- The drawing primitives have been extended to support drawing bezier
curves, rounded rectangles, and arcs. There is now support for drawing
compound objects (a sequence of objects) using drawing paths. The
concept of a drawing pen has been split into stroke (for the outline)
and fill (for the objects internal color). If fill is not defined, then
only the object outline is drawn. This substantial change results in
the existing drawing commands for filled objects (fillEllipse,
fillRectangle, fillCircle, and fillPolygon) being deprecated.
- A cache file format is now supported which is a snapshot of an image's
pixel cache as it appears on disk. Images stored in this format (large)
may be loaded instantly by ImageMagick since decoding is not required.
In order to write this format , the argument -cache 0 must be supplied
(e.g. convert -cache 0 file.jpg file.cache).
- The build environment for Windows NT is entirely re-done. There is now
a configure program which generates a set of Visual C++ project files
which satisfy a set of reqirements (e.g. DLL, multi-thread, X11). These
project files are then used to build ImageMagick.
- The C API is significantly modified in order to provide thread-safe
operation via function re-entrancy. ImageMagick is believed to be
thread-safe when used with POSIX threads. It is not yet completely
thread safe under Windows or the Mac. Errors (of type ExceptionInfo)
are now reported by a function argument, or via a member of the current
image.
- The GaussianBlurImage() function (contributed by runger@cs.mcgill.ca)
supports Gaussian bluring an image.
- Functions (OpenCacheView(), CloseCacheView(), GetCacheView(),
SetCacheView(), and SyncCacheView()) are provided in order to support
manipulating multiple pixel views.