${_EMACS_VERSION_MAJOR} and ${_EMACS_VERSION_MINOR} to determine installed
version of emacs.
Also, set minimum version of _EMACS_REQD to the same as
${_EMACS_VERSION_MAJOR}.${_EMACS_VERSION_MINOR}. Otherwise, buildlink
does not work for emacs lisp libraries.
Should fix PR/42763.
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.
Don't call pkg_info to get the installed Emacs version; always use the
version matching EMACS_TYPE set by users. Be DEPENDS to it. This should
address pkg/37146 by Aleksey Cheusov.
While here convert some emacs lisp packages to user-destdir.
(1) Get rid of "nox11" -- the concept of "no" in package options is
expressed by negating an option; use "-x11" instead.
(2) Teach editors/emacs20 to use package options instead of EMACS_USE_POP,
EMACS_USE_X, EMACS_USE_X_TOOLKIT and USE_INET6. We now use similar
options as the other emacs packages, i.e. "x11", "motif", "xaw",
as well as "pop" and "inet6".
(3) Make the emacs*-nox11 packages simply remove all X11 options by
setting PKG_OPTIONS.emacs appropriately and include the corresponding
emacs Makefile. This allows for modifications to the emacs "X11"
versions to be automatically picked up by the "non-X11" versions.
The two corresponding versions of emacs now share the same version
numbering, including PKGREVISIONs.
Bump the PKGREVISIONs on all Emacs editor packages.
<uebayasi@soum.co.jp>:
-select a reasonable set of options instead of using a ton of
/etc/mk.conf variables
-dtrt with dependencies
-USE_BUILDLINK_ONLY
-use INSTALL_SCRIPT instead of creating a mess
derived from our emacs-20.7 pkg; IPv6 and newer NetBSD platform/toolchain
support appear to be included in the original sources, so I've only
left in the patches which deal with info file installation and the "emacs-"
prefix for user tools