This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
Don't -DUSE_INLINE - this creates "static inline", and the imake setup
at least on NetBSD-4/arm calls "cc -ansi", which, as being a c89 compiler,
refuses this c99 code (or so I've been told by C language lawyers).
(Maybe somebody can come up with a patch that does the right thing
wrt. this stuff for all our environments.)
changes:
-SVG driver adds color and pattern filling to arcs
-bugfixes
pkgsrc change: skip interpreter check for fig2ps2tex, in response
to PR pkg/38711 by Aleksey Cheusov. Adding csh as a dependency doesn't
make much sense because the pkg provides an extra script exactly
for that case, as documented in the manpage.
packages with the modular Xorg equivalent. Those are falling back
to the old location by default, so this commmit doesn't change
dependencies.
graphics/xpm ==> x11/libXpm
fonts/Xft2 ==> x11/libXft
x11/Xfixes ==> x11/libXfixes
x11/xcursor ==> x11/libXcursor
x11/Xrender ==> x11/libXrender
x11/Xrandr ==> libXrandr
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.
For example, "make show-buildlink3" in fonts/Xft2 displays:
zlib
fontconfig
iconv
zlib
freetype2
expat
freetype2
Xrender
renderproto
RECOMMENDED is removed. It becomes ABI_DEPENDS.
BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.
BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.
BUILDLINK_DEPENDS does not change.
IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".
Added to obsolete.mk checking for IGNORE_RECOMMENDED.
I did not manually go through and fix any aesthetic tab/spacing issues.
I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.
I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.
As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.
As discussed on tech-pkg.
I will commit to revbump, pkglint, pkg_install, createbuildlink separately.
Note that if you use wip, it will fail! I will commit to pkgsrc-wip
later (within day).
Summary of changes from CHANGES.transfig:
Patchlevel 5-alpha7 (Oct, 27, 2005)
NEW FEATURES
o Updated SVG driver from Martin Kroeker was missing from alpha6
o Another SVG update: Use a font-family list of "Times,Symbol" for symbol
characters - the Times fontface does not contain all elements of the
Symbol font on all platforms
BUGS FIXED:
o Typo in font name (was cmit10, should be cmti10) in MetaPost driver
This bug fix was omitted from alpha6
Patchlevel 5-alpha6 (Oct, 12, 2005)
NEW FEATURES:
o Added -dPDFSETTINGS=/prepress option to ghostscript when generating
PDF output to improve quality of bitmap graphics
o Fill patterns now use PostScript Level 2 built-in pattern commands
for Postscript/EPS/PDF and bitmap output
From Konstantin Shemyak
o Updated SVG driver from Martin Kroeker
o New -K option to size bounding box to whole figure when exporting
only certain depths
From Dirk Osswald
BUGS FIXED:
o Typo in font name (was cmit10, should be cmti10) in MetaPost driver
o When all texts were "special" (LaTeX coded) in a figure, ISO
characters weren't encoded in straight PS and PDF output
o Bug in radius for circles in SVG driver (dev/gensvg.c)
o fig2dev.man was missing many papersize options
o Double fclose() in bitmap driver
-------------------------------------
Patchlevel 5-alpha5 (April, 26, 2004)
NEW FEATURES:
o Raster picture support added to SVG driver. (In SVG, this translates
to a link to the image file plus rotation/scaling information.
While 'conformant' SVG viewers need only support PNG and JPEG, there
is no a filetype test, as there is no limit on supported formats
in the standard, and e.g. Batik is able to display XBM and GIF in
addition. Added code for rounded boxes (polyline subtype 4).
Added code for boxes, explicit support for polygons. Added
xml-space:preserve qualifier on texts to preserve whitespace. Rewrote
fill pattern handling to generate patterns as needed - adding support
for penwidth and color. Corrected tiling of all shingle patterns and
reversal of horizontal shingles.
From Martin Kroeker
o Better arrowheads in SVG driver. Corrected font family selection.
Corrected (and simplified) calculation of white-tinted fill colors
(and removed the HSV/RGB conversion code).
From Justus Piater
BUGS FIXED:
o Typo in LATEX_AND_XFIG file. Text should be:
\convertMPtoPDF{foo.0}{1}{1}
It was missing parameters {1}{1}
o Depth filter option -D was parsing range (e.g. 40:80) incorrectly
Fix from Justus Piater
o C++ style comments "//" changed to "/* */" in genmp.c
o Integer overflow in computing some spline steps
o \pagestyle{empty} added for epic/eepic driver so it doesn't produce
unnecessary page number when LaTeXing
---------------------------------
Patchlevel 5-alpha4 (Feb 19, 2004)
NEW FEATURES
o Many SVG driver enhancements from Martin Kroeker
(martin@ruby.chemie.uni-freiburg.de)
o New features in EMF driver from ITOH Yasufumi:
support for locale text (if iconv() is available),
arc box, open arc, rotated ellipse, picture,
dash-triple-dotted line style, and all fill patterns.
BUGS FIXED
o "cleandir" directive missing from doc/manual/Makefile
o Added note about requiring dummy argument for -R option
o SVG driver bug fixes: semicolon missing in CSS properties, multiline
string problem, width, height and viewbox attributes now relative to
figure bounds instead of pagesize. Fixes from Justus Piater.
o Font info was put in the pstex file even when there were only special
texts.
---------------------------------
Patchlevel 5-alpha3 (Dec 9, 2003)
NEW FEATURES
o Global option "-Z maxdim" to scale figure so that largest dimension
(width or height) is maxdim inches
o Shapepar driver to generate shaped paragraphs for LaTeX (-L shape)
from Christian Gollwitzer
o I18N support postscript file installation moved to fig2dev/dev
directory and installed with InstallNonExecFile (imake directive)
o options -dAutoFilterColorImages=false and -dColorImageFilter=/FlateEncode
added to ghostscript call when exporting to pdf to improve image
quality during compression
o "Epoch" added to rpm spec
o New HP/GL2 driver from Glenn Burkhardt with paper size selection,
offset, centering and orientation options
BUGS FIXED
o comments about BINDIR added to fig2dev/Imakefile and transfig/Imakefile
so user can easily change installation directory of both programs
o MKDIRHIER used in Imakefile for installing support files instead of mkdir
o commands like \\small used instead of SetFigFont for thick and thin
dots for LaTeX export
From Bo Thilde
o removed typedefs of uint, ushort and ulong from genemf.h because
systems should already have those defined
o SVG driver not mentioned in fig2dev.1 (.man)
o shortened two fprintf calls in gensvg.c for HP-UX which can't handle
long strings
o If an imported picture path points to some directory which is not the
current directory, and there exists a picture file of the same name in
the current directory, and the correct file is not compressed, fig2dev
would use the file in the current directory because it stripped off
the path first. This was fixed by looking for the uncompressed name
first.
o Color values should be divided by 255, not 256 to produce values from
0 to 1.0 in LaTeX, Tk and PostScript drivers, and readpng and readpcx
utilities
o Increased precision of arc angles from %.1f to %.4f in PS/EPS/PDF
driver
o Postscript support files now installed with r/w permissions only (was
r/w/x)
o Metapost (mp) driver now generates all Fig styles of arrowheads
From Tim Braun
o Bug in pic preamble - default font size either 0 or garbage
o PDF not rotated anymore for landscape mode (similar to eps)
o fontmag not set when magnification was read from Fig file
o When there were only LaTeX special texts without backslashes (\) and
no other objects in the figure, a bounding box of 0 width was produced
for EPS, PS and PSTEX output.
o Added ZLIBDIR variable in fig2dev/Imakefile to specify zlib directory
if different from standard location
o pstex_t export lacked border option (-b) to align LaTeX text when
pstex figure specified border (also fixed in xfig Combined PS/LaTeX)
o warnings in gentpic.c caused failure of gcc on hppa architecture under
Debian
o cleaned up lots of implicit declarations of functions/procs
o transfig: the "psfig" language was missing from the list of languages,
making things go out of sync past "ps".
o transfig: "transfig -L pstex" was generating rules for ps not eps
o slight margin added to text bounds
o an incorrect printf specification (%d instead of %ld) in gemp.c
o "#include <varargs.h>" no longer needed (and is unsupported by gcc 3.3)
o Not a bug, really but a workaround for programs that generate Fig files
with arcs that have coincident start and end points with the intent
of making a circle (TCM apparently does this). Without this
workaround, such arcs have the same start and end angle, which
ghostcript and probably other PostScript interpreters take to mean
"don't draw anything". This fix adds 0.01 degrees to the end angle
if it is identical to the start angle.
o Exporting a file with a picture containing a path with blanks failed
o Incorrect ISO translation was:
"\\.S", /* latin capital letter S with dot above */
Should be:
"\\.Z", /* latin capital letter Z with dot above */
o LaTeX: Correction to the ISO-8859-2 ogonek diacritic mark now uses \k
instead of cedilla (\c). If the macro \k isn't defined in your
situation or you don't see the ogonek then define the macro: \def\k#1{\c{#1}}
before the \begin{document}.
From Jerzy Sobczyk
o Bug in user-defined colors when exporting to CGM. If color numbers
weren't contiguous, e.g. 32, 34, then it couldn't find color 34.
o glyphs in the Symbol font that have descenders weren't taken into
account when calculating text bounds
o missing blue and extra brown color in LaTeX driver
o \smash directive added back to text objects in eepic driver (was removed
in 3.2.4)
o Quotes in FIG2DEV_LIBDIR definition (fig2dev/Imakefile) interferred when
using $DESTDIR
o Comments not inserted in EMF output anymore (not valid in language)
o float/int mixup in printf in pic driver for font size caused default
font size to be 0
o bug in hp/gl (ibmgl) driver produced incorrect JCL code to enter HP/GL
mode when using -k option
o point size factor changed from 72.27 to 72 points per inch as specified
by HP tech notes
o change in 3.2.4 which included all "special" (LaTeX) texts in the
bounding box that don't have any backslashes ("\") in them failed to
take into account inline equations using the "$". Now those special
texts are also excluded from the bounding box calculation.
o various man page format errors fixed
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
convert .fig files to Postscript, PDF, and the like. This is not
a dependency, because transfig can be used without Ghostscript as
well (eg, to convert to other file formats). Moreover, it is a
pre-requisite to Xfig, which doesn't require Ghostscript at all.
Closes PR pkg/22959 by Greg A. Woods <woods@planix.com>
<jbernard@mines.edu>
Changes include tons of bugfixes plus the following new features:
o SVG (Scalable Vector Graphics) driver
o ASCII and Binary (TIFF) preview bitmap options for PostScript
o JPEG encoding (DCT) now used for EPS/PostScript output.
o Background (-g) option for tk export honored now
o Additional JPEG file format (EXIF) added. These usually come from
digital cameras.
o -N Option to convert colors to grayscale on export.
o -b option for CGM export to produce binary CGM using ralcgm.
o Translations of LATEX.AND.XFIG document into two popular Chinese
encodings (GB2312 and Big5).
o The default for multi-page output (PostScript) is to NOT overlap
pages now. This is to allow multiple, independent pages of
figures. The -O option has been added to force page overlap.
o Added EMF (Enhanced MetaFile) conversion genemf.c
o New grid option (-G) to draw grid on page.
o Perk/Tk driver from Slaven Rezic (rezic@onlineoffice.de)
o Added options -B and -R to the EPS driver.
o New PostScript DSC directives to specify page size.
o fig2dev now includes all "special" (LaTeX) texts that don't have
any backslashes ("\") in them in the bounding box.
o genepic and genpictex drivers updated for I18N
o Glyphs for Hungarian, Polish, Romanian, Slovak and Slovenian
are essentially the same as Czech (ISO-Latin 2) so symbolic
links are created for those .ps files
o fig2dev prepends any path included in the .fig filename to
imported image file paths (only if imported image path isn't
already absolute).
o transfig now reports when it is renaming an existing makefile
or TeX macro file to a backup (e.g. Makefile to Makefile~)
o now uses Thomas Merz' jpeg2ps for imported jpeg files when
exporting to PS/EPS. This is much more compact than the
runlength encoding which is used for other bitmaps.
o New option for binary CGM export.
o New -E option to set encoding for pictex, latex, pstex_t and epic
text to ISO8859-1 (the default) or ISO8859-2
o Added "install.all" option to make to install man pages in
addition to executables etc.
o If output file ends in ".fig", fig2dev prints error message to
stderr and exits.
o New encoding option (-E) for ISO-8859-1 or ISO-8859-2
o Exporting to tk now supports imported PPM images in addition to
GIF and XPM
o Comments added to EPS and PostScript output so MetaPost can
group parts of figure according to depths.
o New -F, -R and -t options for epic output
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".]
Major changes since 3.2.3:
o X11 Color database ASCII file (/usr/lib/X11/rgb.txt) is now used,
removing the need for the dbm_xxx functions.
o The \special code for colors in genlatex (LaTeX driver) replaced with
the \color code to be compatible with pdflatex and not require dvips
From Klaus Guntermann (guntermann@iti.informatik.tu-darmstadt.de)
o PCX image reader now handles 24-bit color which means that TIFF images
(which are converted to PCX first) may also be 24-bit
o MetaPost driver (-L mp or -L mmp) ported from fig2MP by Klaus
Guntermann (guntermann@iti.informatik.tu-darmstadt.de). fig2MP was
written by Dane Dwyer (dwyer@geisel.csl.uiuc.edu)
o Support for importing PNG image files added
o Transparent color in imported GIF files now honored
o You may use "-M -" to send the Makefile output to standard output from
TransFig, and "-T -" to send the Texfile to standard output.
o (The following feature was really added in 3.2.3, but I forgot to update
this file): -S option added for smoothing bitmap output.
o eps added as a language for TransFig
o Support for Czech font encoding for PostScript (cs_CZ.ps)
From Radim Gelner <gelnerr@suse.cz>
And lots of bugfixes.
Package change: buildlinkified.