summaryrefslogtreecommitdiffstats
path: root/source/l/freetype
diff options
context:
space:
mode:
Diffstat (limited to 'source/l/freetype')
-rw-r--r--source/l/freetype/doinst.sh14
-rwxr-xr-xsource/l/freetype/freetype.SlackBuild45
-rw-r--r--source/l/freetype/freetype.compile.both.subpixel.hinting.methods.diff13
-rw-r--r--source/l/freetype/freetype.csh19
-rw-r--r--source/l/freetype/freetype.sh19
-rw-r--r--source/l/freetype/slack-desc10
6 files changed, 107 insertions, 13 deletions
diff --git a/source/l/freetype/doinst.sh b/source/l/freetype/doinst.sh
new file mode 100644
index 000000000..b6bb2a124
--- /dev/null
+++ b/source/l/freetype/doinst.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+config() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/profile.d/freetype.csh.new
+config etc/profile.d/freetype.sh.new
diff --git a/source/l/freetype/freetype.SlackBuild b/source/l/freetype/freetype.SlackBuild
index 6c1d60fff..ffe814215 100755
--- a/source/l/freetype/freetype.SlackBuild
+++ b/source/l/freetype/freetype.SlackBuild
@@ -1,6 +1,6 @@
-#!/bin/sh
+#!/bin/bash
-# Copyright 2005-2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2005-2018 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,10 +20,11 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=freetype
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
-BUILD=${BUILD:-1}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -37,6 +38,14 @@ if [ -z "$ARCH" ]; then
esac
fi
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
@@ -51,7 +60,6 @@ else
LIBDIRSUFFIX=""
fi
-CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-freetype
@@ -59,7 +67,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf freetype-$VERSION
-tar xvf $CWD/freetype-$VERSION.tar.xz || exit 1
+tar xvf $CWD/freetype-$VERSION.tar.?z || exit 1
cd freetype-$VERSION
chown -R root:root .
@@ -75,15 +83,35 @@ zcat $CWD/freetype.illadvisederror.diff.gz | patch -p1 --verbose || exit 1
# The line below enables code patented by Microsoft, so don't uncomment it
# unless you have a license to use the code and take all legal responsibility
-# for doing so.
+# for doing so. With the new subpixel hinting modes there's not much reason
+# to want to use this anyway.
# Please see this web site for more details:
# http://www.freetype.org/patents.html
#zcat $CWD/freetype.subpixel.rendering.diff.gz | patch -p1 --verbose || exit 1
+# Compile support into the Freetype library for both the Infinality and
+# new 2.7.x (default) subpixel hinting modes. To adjust your preferences
+# (the classic hinting mode is also available), see the freetype profile
+# scripts in /etc/profile.d/.
+zcat $CWD/freetype.compile.both.subpixel.hinting.methods.diff.gz | patch -p1 --verbose || exit 1
+
chown -R root:root .
CFLAGS="$SLKCFLAGS" make setup CFG="--prefix=/usr --libdir=/usr/lib${LIBDIRSUFFIX} --build=$ARCH-slackware-linux"
make $NUMJOBS || make || exit 1
-make install DESTDIR=$PKG
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Install runtime profile configuration scripts, used to set hinting defaults:
+mkdir -p $PKG/etc/profile.d
+cp -a $CWD/freetype.csh.gz $PKG/etc/profile.d
+cp -a $CWD/freetype.sh.gz $PKG/etc/profile.d
+gzip -d $PKG/etc/profile.d/*
+chown root:root $PKG/etc/profile.d/*
+chmod 755 $PKG/etc/profile.d/*
+mv $PKG/etc/profile.d/freetype.csh $PKG/etc/profile.d/freetype.csh.new
+mv $PKG/etc/profile.d/freetype.sh $PKG/etc/profile.d/freetype.sh.new
# This shouldn't be needed (apps should pick up -I/usr/include/freetype2 from
# `freetype-config --cflags` while compiling), but it's so often reported as
@@ -113,6 +141,7 @@ cp -a \
rm -rf $PKG/usr/doc/freetype-$VERSION/docs/reference
mkdir $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
diff --git a/source/l/freetype/freetype.compile.both.subpixel.hinting.methods.diff b/source/l/freetype/freetype.compile.both.subpixel.hinting.methods.diff
new file mode 100644
index 000000000..d7a52dbf2
--- /dev/null
+++ b/source/l/freetype/freetype.compile.both.subpixel.hinting.methods.diff
@@ -0,0 +1,13 @@
+--- ./include/freetype/config/ftoption.h.orig 2016-12-11 00:53:49.000000000 -0600
++++ ./include/freetype/config/ftoption.h 2017-04-26 16:14:07.214503123 -0500
+@@ -675,8 +675,8 @@
+ /* [1] http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx */
+ /* */
+ /* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING 1 */
+-#define TT_CONFIG_OPTION_SUBPIXEL_HINTING 2
+-/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 ) */
++/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING 2 */
++#define TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 )
+
+
+ /*************************************************************************/
diff --git a/source/l/freetype/freetype.csh b/source/l/freetype/freetype.csh
new file mode 100644
index 000000000..d39e8e213
--- /dev/null
+++ b/source/l/freetype/freetype.csh
@@ -0,0 +1,19 @@
+#!/bin/csh
+# Configure Freetype properties. Here this is used to set the default mode
+# for font hinting. Other controllable properties are listed in the section
+# 'Controlling FreeType Modules' in the reference's table of contents.
+#
+# Three hinting settings are available:
+
+# This is the classic hinting mode used in Freetype 2.6.x:
+#setenv FREETYPE_PROPERTIES "truetype:interpreter-version=35"
+
+# This is Infinality mode, which was never enabled by default. It is slower
+# than the new subpixel hinting mode, but said to be more accurate:
+#setenv FREETYPE_PROPERTIES "truetype:interpreter-version=38"
+
+# This is the new default subpixel hinting mode used in Freetype 2.7.x. It is
+# derived from the Infinality code base stripped to the bare minimum with all
+# configurability removed in the name of speed and simplicity:
+#setenv FREETYPE_PROPERTIES "truetype:interpreter-version=40"
+
diff --git a/source/l/freetype/freetype.sh b/source/l/freetype/freetype.sh
new file mode 100644
index 000000000..e304a9f56
--- /dev/null
+++ b/source/l/freetype/freetype.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+# Configure Freetype properties. Here this is used to set the default mode
+# for font hinting. Other controllable properties are listed in the section
+# 'Controlling FreeType Modules' in the reference's table of contents.
+#
+# Three hinting settings are available:
+
+# This is the classic hinting mode used in Freetype 2.6.x:
+#export FREETYPE_PROPERTIES="truetype:interpreter-version=35"
+
+# This is Infinality mode, which was never enabled by default. It is slower
+# than the new subpixel hinting mode, but said to be more accurate:
+#export FREETYPE_PROPERTIES="truetype:interpreter-version=38"
+
+# This is the new default subpixel hinting mode used in Freetype 2.7.x. It is
+# derived from the Infinality code base stripped to the bare minimum with all
+# configurability removed in the name of speed and simplicity:
+#export FREETYPE_PROPERTIES="truetype:interpreter-version=40"
+
diff --git a/source/l/freetype/slack-desc b/source/l/freetype/slack-desc
index d70b3e756..780b6ba8f 100644
--- a/source/l/freetype/slack-desc
+++ b/source/l/freetype/slack-desc
@@ -1,19 +1,19 @@
# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
+# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|' on
-# the right side marks the last column you can put a character in. You must make
-# exactly 11 lines for the formatting to be correct. It's also customary to
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
# leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
freetype: freetype (A free, high-quality, and portable font engine)
freetype:
-freetype: FreeType is a free and portable font rendering engine. It has been
+freetype: FreeType is a free and portable font rendering engine. It has been
freetype: developed to provide support for a number of font formats, including
freetype: TrueType, Type 1, and OpenType, and is designed to be small,
freetype: efficient, highly customizable, and portable while capable of
freetype: producing high-quality output.
freetype:
-freetype: Homepage: http://www.freetype.org
+freetype: Homepage: http://www.freetype.org
freetype:
freetype: