aboutsummaryrefslogtreecommitdiffstats
path: root/graphics
diff options
context:
space:
mode:
authormi <mi@FreeBSD.org>2002-01-09 12:48:20 +0800
committermi <mi@FreeBSD.org>2002-01-09 12:48:20 +0800
commit7ebc41100e764197d831fec7cba6bf5476f8a38c (patch)
tree278308d13a7980dd02d450b6130c78451bf1b7db /graphics
parentd359a43ac71baa33d5d3307a4c0885128878f993 (diff)
downloadfreebsd-ports-gnome-7ebc41100e764197d831fec7cba6bf5476f8a38c.tar.gz
freebsd-ports-gnome-7ebc41100e764197d831fec7cba6bf5476f8a38c.tar.zst
freebsd-ports-gnome-7ebc41100e764197d831fec7cba6bf5476f8a38c.zip
Add the ability to pass a list of alternative bdf fonts to this port.
This can be used to generalize building of, say, language-specific versions of gd like ukrainian/gd -- the controlling port will simply set GD_FONTS to something like GD_FONTS="/usr/ports/distfiles/x-koi8u.tgz koi6x10.bdf koi8x13.bdf \ koi9x15.bdf koi12x24.bdf koi10x20.bdf" And the new configure script will extract the bdf files from the tarball and use the bdftogd perl script (bundled with the software) to regenerate the sources. No REVISION bump, because the default package is still the same...
Diffstat (limited to 'graphics')
-rw-r--r--graphics/gd2/Makefile4
-rw-r--r--graphics/gd2/files/Makefile.bsd9
-rw-r--r--graphics/gd2/scripts/configure44
3 files changed, 55 insertions, 2 deletions
diff --git a/graphics/gd2/Makefile b/graphics/gd2/Makefile
index 59443b6d793b..589354b60deb 100644
--- a/graphics/gd2/Makefile
+++ b/graphics/gd2/Makefile
@@ -48,4 +48,8 @@ MAKE_ARGS+= $v="${$v}"
post-extract:
bzip2 -d < ${_DISTDIR}/gd_gif_in.c.bz2 > ${WRKSRC}/gd_gif_in.c
+.ifdef GD_FONTS
+SCRIPTS_ENV+= GD_FONTS="${GD_FONTS}"
+.endif
+
.include <bsd.port.mk>
diff --git a/graphics/gd2/files/Makefile.bsd b/graphics/gd2/files/Makefile.bsd
index cf40da3b07ae..a2021c6d7942 100644
--- a/graphics/gd2/files/Makefile.bsd
+++ b/graphics/gd2/files/Makefile.bsd
@@ -2,6 +2,7 @@ PROGS!= make -V BIN_PROGRAMS -f ${WRKSRC}/Makefile
TESTS!= make -V TEST_PROGRAMS -f ${WRKSRC}/Makefile
OBJS!= make -V LIBOBJS -f ${WRKSRC}/Makefile
OBJS+= gd_gif_in.o
+SRCS= ${OBJS:.o=.c}
LIB=gd
SHLIB_MAJOR=3
SHLIB_MINOR=0
@@ -29,8 +30,8 @@ LDADD+= -lX11
# to run them all automaticly. So building tests is disabled here. -mi
all: lib${LIB}.a ${SHLIB_NAME} ${PROGS} # ${TESTS}
-lib${LIB}.a ${SHLIB_NAME}:
- make LIB=${LIB} SRCS="${OBJS:.o=.c}" \
+lib${LIB}.a ${SHLIB_NAME}: ${SRCS}
+ make LIB=${LIB} SRCS="${SRCS}" \
SHLIB_MAJOR=${SHLIB_MAJOR} SHLIB_MINOR=${SHLIB_MINOR} \
CFLAGS="${CFLAGS}" -ECFLAGS LDADD="${LDADD}" \
-f bsd.lib.mk ${.TARGET}
@@ -47,3 +48,7 @@ install:
cd ${.CURDIR} && ${INSTALL_DATA} ${INCS} ${PREFIX}/include/gd
cd ${.CURDIR} && ${INSTALL_PROGRAM} ${PROGS} "${PREFIX}/bin/"
${INSTALL_SCRIPT} "${.CURDIR}/bdftogd" "${PREFIX}/bin/"
+
+.if exists(${.CURDIR}/Makefile.fonts)
+.include "Makefile.fonts"
+.endif
diff --git a/graphics/gd2/scripts/configure b/graphics/gd2/scripts/configure
new file mode 100644
index 000000000000..c49a4f0a254e
--- /dev/null
+++ b/graphics/gd2/scripts/configure
@@ -0,0 +1,44 @@
+#!/bin/sh
+# $FreeBSD$
+
+# The GD_FONTS environment variable can be set to specify the gzipped
+# tar-ball containing the fonts in bdf format and the bdf file names.
+#
+# For example:
+# GD_FONTS="/usr/ports/distfiles/x-koi8u.tgz koi6x10.bdf koi8x13.bdf \
+# koi9x15.bdf koi12x24.bdf koi10x20.bdf"
+#
+# This can be usefull for slave ports, like ukrainian/gd, which may
+# now provide alternative fonts easily.
+
+# TODO: . handle multiple archiving formats: tgz, tar.bz2, zip
+# . allow for passing already extracted font-files
+
+if [ -z "$GD_FONTS" ]
+then
+ echo "GD_FONTS can be set to specify an alternative list of .bdf files"
+ echo "See $0 for details..."
+ exit 0
+fi
+
+set $GD_FONTS
+#
+# The tarball is the first argument, the tiny, small, medium-bold,
+# large, and giant fonts follow.
+#
+
+tarball=$1
+shift
+tar -xvzpf $tarball -C $WRKSRC $@
+
+rm -f $WRKSRC/Makefile.fonts
+
+for font in Tiny Small MediumBold Large Giant
+do
+ f=`echo $font | tr -d [[:lower:]] | tr [[:upper:]] [[:lower:]]`
+ rm -f $WRKSRC/gdfont$font.[ch]
+ printf 'gdfont%s.c gdfont%s.h: %s\
+ perl ${.CURDIR}/bdftogd gdFont%s font%s < %s\n' \
+ $f $f $1 $font $f $1 >> $WRKSRC/Makefile.fonts
+ shift
+done