#!/bin/sh # Slackware build script for dina-font # Originally written by Binh Nguyen . # Formerly maintained by Ryan P.C. McQuen . # Now maintained by B. Watson . # Copyright 2010 Binh Nguyen # All rights reserved. # # Redistribution and use of this script, with or without modification, is # permitted provided that the following conditions are met: # # 1. Redistributions of this script must retain the above copyright # notice, this list of conditions and the following disclaimer. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO # EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # 20180117 bkw: # - update for v2.93, BUILD=1 # - original site has gone away, use gentoo distfiles for download and # wayback machine for homepage. # - add new codepage 437 and 850 fonts in OEM/, as psf fonts. # - remove homepage from slack-desc, as it's defunct. # 20170326 bkw: # - take over maintenance. # - get rid of spurious 'mkdir -p $CWD/Dina-PCF'. # - extract to $PRGNAM-$VERSION, not Dina-PCF. # - install fonts to /usr/share/fonts/misc (not in a subdir of it). # - convert fonts to .pcf.gz # - stop installing Windows .fon files (X can't use them). # - if psftools is installed, create console fonts & install them. # - make slack-desc say whether console fonts are included. # - update doinst.sh so it works with installpkg --root /somedir. # - add font aliases to doinst.sh (to match the console font names). # - document the above in README. # - install the docs in /usr/doc/$PRGNAM-$VERSION. # - BUILD=2 PRGNAM=dina-font VERSION=${VERSION:-2.93} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} ARCH=noarch CWD=$(pwd) TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} set -e SRCNAM=dina rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION mkdir -p $PRGNAM-$VERSION cd $PRGNAM-$VERSION unzip $CWD/$SRCNAM-$VERSION.zip chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ -o -perm 511 \) -exec chmod 755 {} \; -o \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; mkdir -p $PKG/usr/share/fonts/misc # compile the fonts. makes them slightly faster to load, plus they take # up less disk space. also, all the other fonts in misc/ are .pcf.gz. for i in BDF/*.bdf; do bdftopcf $i | \ gzip -9 > $PKG/usr/share/fonts/misc/$( basename $i .bdf ).pcf.gz done # create console fonts, if we can. only care about regular, not # bold, italic, bold-italic. note that 3rd party fonts don't appear # in the 'setconsolefont' menu of fonts, because it uses a hard-coded # list. if which fnt2psf 2>/dev/null; then echo "=== psftools found, creating console fonts" ANDCONSOLE="and console " PSFDIR=$PKG/usr/share/kbd/consolefonts mkdir -p $PSFDIR fon2fnts DinaR.fon # e.g. Dina_10.fnt fon2fnts OEM/DinaT437.fon # e.g. DinaTerm_10.fnt fon2fnts OEM/DinaT850.fon # e.g. DinaTerm_10_1.fnt for i in 6 8 9 10; do [ -e Dina_$i.fnt ] && \ fnt2psf --codepage=1252 \ Dina_$i.fnt \ $PSFDIR/Dina_$i-1252.psf [ -e DinaTerm_$i.fnt ] && \ fnt2psf --codepage=437 \ DinaTerm_$i.fnt \ $PSFDIR/Dina_$i-437.psf [ -e DinaTerm_${i}_1.fnt ] && \ fnt2psf --codepage=850 \ DinaTerm_${i}_1.fnt \ $PSFDIR/Dina_$i-850.psf done gzip -9 $PSFDIR/*.psf # symlinks for compatibility with old rc.font, after upgrading. ( cd $PSFDIR for i in Dina_*-1252.psf.gz; do ln -s $i "$( echo $i | sed 's,-1252,,' )" done cd - ) else echo "=== psftools missing, NOT creating console fonts" ONLY=" only" fi mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a LICENSE NEWS README.md $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install sed -e "s,@ANDCONSOLE@,$ANDCONSOLE," \ -e "s,@ONLY@,$ONLY," \ $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}