Linux HOWTOs

About | Home | Search


HOWTO: pango
Description: Framework for layout and rendering of internationalized text
Click here for ChangeLog
NOTE: I use GNU tar >= 1.13.25 so it's -j for .tar.bz2 files,
it's safe to assume that make, gcc, binutils, fileutils/coreutils, gawk, sed, and grep are prerequisites for almost everything


# Pango
# =====
# I include several versions here, but keep in mind that I only use (as I
# write this) the latest version that is below.

# Slackware includes the following versions:
# Slackware 12.0: pango 1.16.4
# Slackware 12.1: pango 1.20.0
# Slackware 12.2: pango 1.20.5
# Slackware 13.0: pango 1.22.4
# Slackware 13.1: pango 1.26.2
# Slackware 13.37: pango 1.28.4
#
# and some may include updated/patched versions in 'patches'.

# If you want to clean up old versions or just remove Pango, skip down to
# the bottom for instructions.  This is recommended when going from one
# source-installed version to another.

# Prerequisites (for all versions):
# XFree86 or X.org
# fontconfig >= 1.0.1
# pkg-config
# freetype


# Pango 1.26.2
# ============
# Prerequisites (beyond those listed above):
# GLib >= 2.14.0
# Cairo >= 1.2.6 (optional)
# libthai >= 0.1.9 (optional)
# gtk-doc > 1.0 (Slackware includes this in it's sgml-tools/linuxdoc-tools
#  package; it will be used if --enable-gtk-doc is passed to configure)

# If you have trouble with the download URL below, you can get it here too:
# ftp://ftp.gtk.org/pub/pango/1.26/

# Get it
cd
test -f installed/pango-1.26.2.tar.bz2 && mv installed/pango-1.26.2.tar.bz2 .
test ! -f pango-1.26.2.tar.bz2 &&
 wget http://ftp.gnome.org/pub/GNOME/sources/pango/1.26/pango-1.26.2.tar.bz2

# Verify tarball w/ sha256sum:
# (if you don't have sha256sum, if your OpenSSL supports it,
# 'openssl sha256 filename.ext' works too)
echo "3b85879e5d8794555d10a2b79428071c99a93b7502ccbef50360ae44c77c3e08  \
pango-1.26.2.tar.bz2" | sha256sum -c

# Extract it
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "pango-*" -exec rm -r {} \;
tar xjvf ~/pango-1.26.2.tar.bz2
cd pango-1.26.2
test $UID = 0 && chown -R root:root .

# Configure and build it
./configure --prefix=/usr --sysconfdir=/etc
make

# Become root to install it
su

# Remove the Slackware package, if there is one
test -x /sbin/removepkg && /sbin/removepkg pango

# Install it
( cd /usr/lib
  rm -f libpango-1.* libpangox-1.* libpangoft2-1.* libpangoxft-1.* )
make install
ldconfig

# Make sure your non-root user can remove the source later
chown -R $(logname) .
chmod -R u+w .

# Become yourself again
exit

# Save the tarball for later
cd
mkdir -p -m 0700 installed
rm -f installed/pango-*.tar.*
mv pango-1.26.2.tar.bz2 installed/


# Pango 1.28.4
# ============
# Prerequisites (beyond those listed above):
# GLib >= 2.24.0
# Cairo >= 1.2.6 (optional)
# libthai >= 0.1.9 (optional)
# gtk-doc > 1.0 (Slackware includes this in it's sgml-tools/linuxdoc-tools
#  package; it will be used if --enable-gtk-doc is passed to configure)

# If you have trouble with the download URL below, you can get it here too:
# ftp://ftp.gtk.org/pub/pango/1.28/

# Get it
cd
test -f installed/pango-1.28.4.tar.bz2 && mv installed/pango-1.28.4.tar.bz2 .
test ! -f pango-1.28.4.tar.bz2 &&
 wget http://ftp.gnome.org/pub/GNOME/sources/pango/1.28/pango-1.28.4.tar.bz2

# Verify tarball w/ sha256sum:
# (if you don't have sha256sum, if your OpenSSL supports it,
# 'openssl sha256 filename.ext' works too)
echo "7eb035bcc10dd01569a214d5e2bc3437de95d9ac1cfa9f50035a687c45f05a9f  \
pango-1.28.4.tar.bz2" | sha256sum -c

# Extract it
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "pango-*" -exec rm -r {} \;
tar xjvf ~/pango-1.28.4.tar.bz2
cd pango-1.28.4
test $UID = 0 && chown -R root:root .

# Configure and build it
./configure --prefix=/usr --sysconfdir=/etc
make

# Become root to install it
su

# Remove the Slackware package, if there is one
test -x /sbin/removepkg && /sbin/removepkg pango

# Install it
( cd /usr/lib
  rm -f libpango-1.* libpangox-1.* libpangoft2-1.* libpangoxft-1.* )
make install
ldconfig

# Make sure your non-root user can remove the source later
chown -R $(logname) .
chmod -R u+w .

# Become yourself again
exit

cd
mkdir -p -m 0700 installed
rm -f installed/pango-*.tar.*
mv pango-1.28.4.tar.bz2 installed/


# If you ever want to uninstall Pango, this should do it:
cd
su
test -d src/pango-* && ( cd src/pango-* ; make uninstall )
rm -f /usr/bin/pango-querymodules /usr/man/man1/pango-querymodules.1
test -d /etc/pango && rm -r /etc/pango
test -d /usr/include/pango-1.0 && rm -r /usr/include/pango-1.0
( cd /usr/lib ; rm -f libpango-1.* libpangox-1.* libpangoft2-1.* \
 libpangoxft-1.* )
test -d /usr/lib/pango && rm -r /usr/lib/pango
( cd /usr/lib/pkgconfig ; rm -f pango.pc pangox.pc pangoxft.pc pangoft2.pc )
test -d /usr/share/gtk-doc/html/pango && rm -r /usr/share/gtk-doc/html/pango
ldconfig
exit
find ~/src -maxdepth 1 -type d -name "pango-*" -exec rm -r {} \;
rm -f ~/installed/pango-*.tar.*

Back to the list


Last updated: Tue, 07 Aug 2018 12:06:17 -0400
Jason Englander <jason at englanders dot us>