summaryrefslogtreecommitdiffstats
path: root/corefonts
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2007-11-02 12:29:51 +0000
committer Eric Hameleers <alien@slackware.com>2007-11-02 12:29:51 +0000
commit3907104b83617e9e9514d74fe4d6bbc16aad0353 (patch)
tree3a370d751466b861818a652fc94d23cdd0cc8dfb /corefonts
parent13ea366766add1dd6a22effae048932409908d1e (diff)
downloadasb-3907104b83617e9e9514d74fe4d6bbc16aad0353.tar.gz
asb-3907104b83617e9e9514d74fe4d6bbc16aad0353.tar.xz
Initial revision
Diffstat (limited to 'corefonts')
-rwxr-xr-xcorefonts/build/corefonts.SlackBuild223
1 files changed, 223 insertions, 0 deletions
diff --git a/corefonts/build/corefonts.SlackBuild b/corefonts/build/corefonts.SlackBuild
new file mode 100755
index 00000000..9cb1c1b6
--- /dev/null
+++ b/corefonts/build/corefonts.SlackBuild
@@ -0,0 +1,223 @@
+#!/bin/sh
+# $Id$
+# Copyright (c) 2007 Eric Hameleers <alien@slackware.com>
+# All rights reserved.
+#
+# Permission to use, copy, modify, and distribute this software for
+# any purpose with or without fee is hereby granted, provided that
+# the above copyright notice and this permission notice appear in all
+# copies.
+#
+# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+# CONTRIBUTORS 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.
+# -----------------------------------------------------------------------------
+#
+# Slackware SlackBuild script
+# ===========================
+# By: Eric Hameleers <alien@slackware.com>
+# For: corefonts
+# Descr: TrueType core fonts for the web
+# URL: http://sourceforge.net/projects/corefonts/
+# Needs: (build time only:) cabextract
+# Changelog:
+# 1.0-1: 02/Nov/2007 by Eric Hameleers <alien@slackware.com>
+# * Initial build.
+#
+# Run 'sh corefonts.SlackBuild --cleanup' to build a Slackware package.
+# The package (.tgz) plus descriptive .txt file are created in /tmp .
+# Install using 'installpkg'.
+#
+# -----------------------------------------------------------------------------
+
+# Set initial variables:
+
+PRGNAM=corefonts
+VERSION=${VERSION:-1.0}
+ARCH=noarch
+BUILD=${BUILD:-1}
+
+# By using these fonts you agree to the following End User License Agreement:
+DOCS="$SRCDIR/EULA.txt $SRCDIR/README.1st"
+
+# Set this define to "YES" if you have a windows license. This will install
+# the Tahoma font also (that is distributed under the Internet Explorer license
+# which requires a valid windows license)
+WINDOWS_LICENSE="YES"
+
+# Where do we look for sources?
+CWD=$(pwd)
+SRCDIR=$(dirname $0)
+[ "${SRCDIR:0:1}" == "." ] && SRCDIR=${CWD}/${SRCDIR}
+
+# Place to build (TMP) package (PKG) and output (OUTPUT) the program:
+TMP=${TMP:-/tmp/build}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+# The actual fonts we are going to package:
+COREFONTS="andale32.exe webdin32.exe trebuc32.exe georgi32.exe verdan32.exe \
+ comic32.exe arialb32.exe impact32.exe arial32.exe times32.exe courie32.exe"
+COREURL="http://dl.sourceforge.net/sourceforge/${PRGNAM}/"
+TAHOMA="SRCDIR/IELPKTH.CAB"
+TAHOMAURL="http://download.microsoft.com/download/ie6sp1/finrel/6_sp1/W98NT42KMeXP/EN-US/IELPKTH.CAB"
+
+##
+## --- with a little luck, you won't have to edit below this point --- ##
+##
+
+# Exit the script on errors:
+set -e
+trap 'echo "$0 FAILED at line $LINENO!" | tee $OUTPUT/error-${PRGNAM}.log' ERR
+# Catch unitialized variables:
+set -u
+P1=${1:-1}
+
+# Create working directories:
+mkdir -p $TMP/tmp-$PRGNAM # location to build the source
+rm -rf $TMP/tmp-$PRGNAM/*
+mkdir -p $PKG # place for the package to be built
+rm -rf $PKG/* # We always erase old package's contents:
+mkdir -p $OUTPUT # place for the package to be saved
+
+# Core fonts download:
+for SOURCE in $COREFONTS ; do
+ if ! [ -f ${SRCDIR}/${SOURCE} ]; then
+ if ! [ "x${COREURL}" == "x" ]; then
+ SRCURL=${COREURL}/${SOURCE}
+ # Check if the $SRCDIR is writable at all - if not, download to $OUTPUT
+ [ -w "$SRCDIR" ] && SOURCE=$SRCDIR/${SOURCE} || SOURCE=$OUTPUT/${SOURCE}
+ echo "Source '$(basename ${SOURCE})' not available yet..."
+ echo "Will download file to $(dirname $SOURCE)"
+ wget -nv --connect-timeout=30 -O "${SOURCE}" "${SRCURL}" || true
+ if [ $? -ne 0 -o ! -s "${SOURCE}" ]; then
+ echo "Downloading '$(basename ${SOURCE})' failed.. aborting the build."
+ mv -f "${SOURCE}" "${SOURCE}".FAIL
+ exit 1
+ fi
+ else
+ echo "File '$(basename ${SOURCE})' not available.. aborting the build."
+ exit 1
+ fi
+ fi
+done
+
+# Tahoma font download:
+if [ "$WINDOWS_LICENSE" == "YES" ]; then
+ cat <<-EOT
+ You indicated that you have a valid Windows license, by setting
+ the variable "WINDOWS_LICENSE" to "YES".
+ Because of this, the resulting package will also contain Microsoft's
+ 'tahoma' TrueType font.
+ EOT
+ if ! [ -f ${SRCDIR}/${TAHOMA} ]; then
+ if ! [ "x${TAHOMAURL}" == "x" ]; then
+ # Check if the $SRCDIR is writable at all - if not, download to $OUTPUT
+ [ -w "$SRCDIR" ] && TAHOMA=$SRCDIR/${TAHOMA} || TAHOMA=$OUTPUT/${TAHOMA}
+ echo "Source '$(basename ${TAHOMA})' not available yet..."
+ echo "Will download file to $(dirname $TAHOMA)"
+ wget -nv --connect-timeout=30 -O "${TAHOMA}" "${TAHOMAURL}" || true
+ if [ $? -ne 0 -o ! -s "${TAHOMA}" ]; then
+ echo "Downloading '$(basename ${TAHOMA})' failed.. aborting the build."
+ mv -f "${TAHOMA}" "${TAHOMA}".FAIL
+ exit 1
+ fi
+ else
+ echo "File '$(basename ${SOURCE})' not available.. aborting the build."
+ exit 1
+ fi
+ fi
+fi
+
+
+if [ "$P1" == "--download" ]; then
+ echo "Download complete."
+ exit 0
+fi
+
+# --- PACKAGE BUILDING ---
+
+echo "++"
+echo "|| $PRGNAM-$VERSION"
+echo "++"
+
+# Check for the availability of the 'cabextract' program. Without it,
+# the script cannot proceed:
+if ! $(which cabextract 1>/dev/null 2>&1); then
+ echo "Required program 'cabextract' not found on the system!"
+ echo "Please download and install a cabextract package first!"
+ echo " (like from http://www.slackware.com/~alien/slackbuilds/cabextract/)"
+ exit 1
+fi
+
+# Font directory location depends on the X build prefix:
+# Determine what X we're running (the modular X returns the prefix
+# in the next command, while older versions stay silent):
+XPREF=`pkg-config --variable=prefix x11` || true
+if [ "$XPREF" == "" ]; then
+ XPREF='/usr/X11R6'
+ FONTDIR="$XPREF/lib/X11/fonts/TTF"
+else
+ FONTDIR="/usr/share/fonts/TTF"
+fi
+
+mkdir -p $PKG$FONTDIR
+
+cd $TMP/tmp-$PRGNAM
+mkdir -p cab-contents
+
+[ -w $SRCDIR ] && DLDIR=$SRCDIR || DLDIR=$OUTPUT
+for i in ${DLDIR}/*.exe ${DLDIR}/*.CAB ; do
+ cabextract --lowercase --directory=cab-contents $i
+done
+
+chown -R root:root *
+chmod -R u+w,go+r-w,a-s *
+
+# Install the fonts into the package dir:
+cp cab-contents/*.ttf $PKG$FONTDIR
+
+# Post-install script:
+mkdir -p $PKG/install
+cat <<-EOT > $PKG/install/doinst.sh
+ # Update X font indexes and the font cache:
+ if [ -x .$XPREF/bin/mkfontdir ]; then
+ chroot . $XPREF/bin/mkfontscale $FONTDIR
+ chroot . $XPREF/bin/mkfontdir $FONTDIR
+ fi
+ if [ -x .$XPREF/bin/fc-cache ]; then
+ chroot . $XPREF/bin/fc-cache $FONTDIR
+ fi
+ EOT
+
+# Add documentation:
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true
+chmod -R a-w $PKG/usr/doc/$PRGNAM-$VERSION/*
+
+# Add a package description:
+mkdir -p $PKG/install
+cat $SRCDIR/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.tgz 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log
+cd $OUTPUT
+md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.tgz > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.tgz.md5
+cd -
+cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.txt
+
+# Clean up the extra stuff:
+if [ "$P1" = "--cleanup" ]; then
+ rm -rf $TMP/tmp-$PRGNAM
+ rm -rf $PKG
+fi