From 7ebc41100e764197d831fec7cba6bf5476f8a38c Mon Sep 17 00:00:00 2001 From: mi Date: Wed, 9 Jan 2002 04:48:20 +0000 Subject: 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... --- graphics/gd2/Makefile | 4 ++++ graphics/gd2/files/Makefile.bsd | 9 +++++++-- graphics/gd2/scripts/configure | 44 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 graphics/gd2/scripts/configure 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 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 -- cgit