to address issues with NetBSD-6(and earlier)'s fontconfig not being
new enough for pango.
While doing that, also bump freetype2 dependency to current pkgsrc
version.
Suggested by tron in PR 47882
libXext/buildlink3.mk, now that it is included there.
Leave the places where its API version is set or variables from it
are used directly (about 3 packages).
This works around the Motif imake templates, which unconditionally
provide -lXp for Motif clients. It is not clear to me why imake
material for Motif is shipped as part of the default X imake templates
rather than with Motif; but imake has always had a special (il)logic
of its own.
Dealing with this problem by setting IMAKEOPTS here instead causes
"can't buildlink files" and I don't understand why; but this approach
is maybe better anyway.
Fixes build of audio/xmradio and perhaps other Motif-using packages.
alternative from mk/jpeg.buildlink3.mk
This allows selection of an alternative jpeg library (namely the x86 MMX,
SSE, SSE2 accelerated libjpeg-turbo) via JPEG_DEFAULT=libjpeg-turbo, and
follows the current standard model for alternatives (fam, motif, fuse etc).
The mechanical edits were applied via the following script:
#!/bin/sh
for d in */*; do
[ -d "$d" ] || continue
for i in "$d/"Makefile* "$d/"*.mk; do
case "$i" in *.orig|*"*"*) continue;; esac
out="$d/x"
sed -e 's;graphics/jpeg/buildlink3\.mk;mk/jpeg.buildlink3.mk;g' \
-e 's;BUILDLINK_PREFIX\.jpeg;JPEGBASE;g' \
< "$i" > "$out"
if cmp -s "$i" "$out"; then
rm -f "$out"
else
echo "Edited $i"
mv -f "$i" "$i.orig" && mv "$out" "$i"
fi
done
done
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.
of X11/Xos_r.h and assume that has all the magic. If it is really
necessary to hack around limitations of other platforms, we can do
that later in a more specialised fashion. Bump revision.
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
systems. This version is consistent with what I've been saying on
tech-pkg about defining NO_BIN_ON_FTP for non-open-source OSes, and
not defining it on NetBSD and other open source OSes. Fix pkglint
warnings.
issues only, not licensing.
Add LICENSE=openmotif-license because this software is non-Free.
Set RESTRICTED, and NO_*_ON_CDROM because the license has complex
terms for "commercial product offering".
If $(OPSYS) is not in
DragonFly FreeBSD Linux NetBSD OpenBSD
set NO_*_ON_FTP, because the license only grants distribution rights
for open source operating systems.
I believe this commit will still prevent openmotif from building on
Interix without setting ACCEPTABLE_LICENSES, and should also result in
all 4 of NO_*_ON_* being set on Interix.
There's too much make code to implement NO_*_ON_FTP-on-other-than-list
(munged from bsd.pkg.mk), but I didn't see a way to make
ONLY_FOR_PLATFORM run a makefile fragment on other platforms.
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).