# FreeType 2.13.2
# ===============
# Older releases of Slackware included freetype in xfree86/xfree86-devel
# and x11/x11-devel packages
#
# The rest include it in a separate freetype package:
# Slackware 14.0: 2.4.10
# Slackware 14.1: 2.5.0.1
# Slackware 14.2: 2.6.3
# Slackware 15.0: 2.11.1
# FreeType's 2.x library is libfreetype. FreeType 1.x's library is libttf.
# Slackware's X package(s) used to come with a copy of freetype2 that was in
# /usr/X11R6/lib. This howto used to install it into /usr/local/lib, and
# since /usr/local/lib (usually) comes before /usr/X11R6/lib in
# /etc/ld.so.conf all was well even if one had both installed. Recent
# versions put it into the /usr prefix. Whatever you do, make sure you
# don't have multiple versions all over the place or you may have some crazy
# conflicts.
# If you want to uninstall FreeType2, or want to clean up files from an
# old version before installing a new one, skip down to the bottom for
# instructions.
# You may want to open /var/adm/packages/* files in a text editor that refer
# to the files that are being removed to remove those lines. Use grep
# because you'll find it in *elflibs*, older Slackwares will have it in
# xfree86 packages, recent ones before 11.0 will have it in x11 packages.
# Here's an example line from Slackware 10.2's aaa_elflibs package file
# that you'll want to remove if you actually care enough to bother:
# usr/lib/libfreetype.so.6.3.7
# As of 2.2.x, 'make install' no longer installs the
# /usr/include/freetype2/freetype/internal headers. Patches are
# available for software that still uses those headers here:
# http://www.freetype.org/freetype2/patches/rogue-patches.html
# Get the tarball
cd
test -f installed/freetype-2.13.2.tar.xz &&
mv installed/freetype-2.13.2.tar.xz .
test ! -f freetype-2.13.2.tar.xz &&
wget https://downloads.sf.net/freetype/freetype-2.13.2.tar.xz
# Verify tarball w/ sha256sum:
# (this came from my gpg-verified tarball)
echo "12991c4e55c506dd7f9b765933e62fd2be2e06d421505d7950a132e4f1bb48\
4d freetype-2.13.2.tar.xz" | sha256sum -c
# Extract the source
mkdir -p -m 0700 ~/src
cd ~/src
find -maxdepth 1 -type d -name "freetype-*" -exec rm -r {} \;
tar xJvf ~/freetype-2.13.2.tar.xz
cd freetype-2.13.2
test $UID = 0 && chown -R root:root .
# Read ./README and docs/INSTALL.UNIX
# If you're upgrading, read docs/CHANGES, and if you want detailed change
# info, read ./ChangeLog
# Configure the build for 64-bit
test $(uname -m) = 'x86_64' &&
./configure --prefix=/usr --libdir=/usr/lib64 --mandir=/usr/man
# Configure the build for anything else
test $(uname -m) != 'x86_64' && ./configure --prefix=/usr --mandir=/usr/man
# Build it
make
# Become root to install it
su
# Remove the Slackware package, if there is one
test -x /sbin/removepkg && /sbin/removepkg freetype
# Install it
make install
ldconfig
# If you installed this over an older version, look here for old files.
# Generally if you ran 'make install' and it's date is not today, then
# you don't need it any more.
# /usr/include/freetype2
# /usr/lib/libfreetype.*
# Make sure your non-root user can remove the source later
chown -R $(logname) .
chmod -R u+w .
# Become yourself again
exit
# Save the source for later
cd
mkdir -p -m 0700 installed
rm -f installed/freetype-*.tar.*
mv freetype-2.13.2.tar.xz installed/
# If you ever want to uninstall FreeType, this should do it:
cd
su
test -d src/libfreetype-* && ( cd src/libfreetype-* ; make uninstall )
for prefix in /usr /usr/local /usr/X11R6; do
test -d ${prefix}/include/freetype2 && rm -r ${prefix}/include/freetype2
rm -f ${prefix}/bin/freetype-config ${prefix}/include/ft2build.h \
${prefix}/lib/libfreetype.* ${prefix}/lib/pkgconfig/freetype2.pc \
${prefix}/share/aclocal/freetype2.m4
done
ldconfig
exit
find ~/src -maxdepth 1 -type d -name "libfreetype-*" -exec rm -r {} \;
rm -f ~/installed/libfreetype-*.tar.*