Wayland

来自Ubuntu中文
跳到导航跳到搜索

wayland的编译

基础知识

  1. 具有LFS编译经验
  2. 一个可用的LFS系统(仅在LFS 7.0 64位版本编译通过,其他系统或者LFS版本没有测试验证)
  3. 本篇wayland编译笔记以Xorg7.7为基础,相应版本的软件包请参考Xorg7.7发布版本

设置环境变量

WLD=/usr/  
LD_LIBRARY_PATH=$WLD/lib64
PKG_CONFIG_PATH=$WLD/lib64/pkgconfig/:$WLD/share/pkgconfig/
ACLOCAL="aclocal -I $WLD/share/aclocal"
XORG_CONFIG="--prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man --localstatedir=/var"

export WLD LD_LIBRARY_PATH PKG_CONFIG_PATH ACLOCAL XORG_CONFIG 

安装一些基本工具

openssl

wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
tar -xvpf openssl-1.0.1c.tar.gz
cd openssl-1.0.1c
./config --prefix=/usr zlib-dynamic --openssldir=/etc/ssl shared
make
make install

安装 wget

wget http://ftp.gnu.org/gnu/wget/wget-1.14.tar.xz
tar -xvpf wget-1.14.tar.xz
cd wget-1.14
./configure --prefix=/usr  --sysconfdir=/etc  --with-ssl=openssl &&
make
make install

安装 git

最新版本为 1.8.0

wget http://git-core.googlecode.com/files/git-1.8.0.tar.gz 
tar -xvpf git-1.8.0.tar.gz
cd git-1.8.0 
./configure --without-python
make && make install

安装 pkg-config

wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.27.1.tar.gz
tar -xvpf pkg-config-0.27.1.tar.gz
cd pkg-config-0.27.1
./configure --prefix=/usr --with-internal-glib &&
make
make install

安装 libffi

wget ftp://sourceware.org/pub/libffi/libffi-3.0.11.tar.gz
tar -xvpf libffi-3.0.11.tar.gz
cd libffi-3.0.11
./configure --prefix=/usr &&
make -j10
make install

安装 expat

wget http://downloads.sourceforge.net/expat/expat-2.1.0.tar.gz
tar -xvpf expat-2.1.0.tar.gz
cd expat-2.1.0
./configure --prefix=/usr &&
make
make install

安装doxygen

wget http://ftp.stack.nl/pub/doxygen/doxygen-1.8.2.src.tar.gz
tar -xvpf doxygen-1.8.2.src.tar.gz
cd doxygen-1.8.2.src
./configure --prefix /usr
make && make install

安装 wayland

git clone git://anongit.freedesktop.org/wayland/wayland
cd wayland
./autogen.sh --prefix=$WLD --disable-documentation
make -j10
make install

安装 libpthread-stubs

wget http://xcb.freedesktop.org/dist/libpthread-stubs-0.3.tar.bz2
tar -xvpf libpthread-stubs-0.3.tar.bz2
cd libpthread-stubs-0.3
./configure --prefix=/usr &&
make -j8
make install

libpciaccess

wget http://xorg.freedesktop.org/archive/individual/lib/libpciaccess-0.13.1.tar.gz
tar -xvpf libpciaccess-0.13.1.tar.gz
cd libpciaccess-0.13.1
./configire --prefix=/usr
make
make install

安装 drm

git clone git://anongit.freedesktop.org/git/mesa/drm
cd drm
./autogen.sh --prefix=/usr
make -j8 && make install

安装 util-macros

wget http://xorg.freedesktop.org/releases/individual/util/util-macros-1.17.tar.bz2
tar -xvpf util-macros-1.17.tar.bz2
cd util-macros-1.17
./configure --prefix=$WLD
make && make install

安装 proto-7.7

cat > proto-7.7.md5 << "EOF"
1a05fb01fa1d5198894c931cf925c025  bigreqsproto-1.1.2.tar.bz2
98482f65ba1e74a08bf5b056a4031ef0  compositeproto-0.4.2.tar.bz2
998e5904764b82642cc63d97b4ba9e95  damageproto-1.2.1.tar.bz2
4ee175bbd44d05c34d43bb129be5098a  dmxproto-2.3.1.tar.bz2
2eb74959684f47c862081099059a11ab  dri2proto-2.6.tar.bz2
e7431ab84d37b2678af71e29355e101d  fixesproto-5.0.tar.bz2
c5f4f1fb4ba7766eedbc9489e81f3be2  fontsproto-2.1.2.tar.bz2
d1ff0c1acc605689919c1ee2fc9b5582  glproto-1.4.15.tar.bz2
13c8aedaf98a92e282b7e456c0a5bed9  inputproto-2.2.tar.bz2
677ea8523eec6caca86121ad2dca0b71  kbproto-1.0.6.tar.bz2
597491c0d8055e2a66f11350c4985775  randrproto-1.3.2.tar.bz2
1b4e5dede5ea51906f1530ca1e21d216  recordproto-1.14.2.tar.bz2
a914ccc1de66ddeb4b611c6b0686e274  renderproto-0.11.1.tar.bz2
cfdb57dae221b71b2703f8e2980eaaf4  resourceproto-1.2.0.tar.bz2
edd8a73775e8ece1d69515dd17767bfb  scrnsaverproto-1.2.2.tar.bz2
c3b348c6e2031b72b11ae63fc7f805c2  videoproto-2.3.1.tar.bz2
5f4847c78e41b801982c8a5e06365b24  xcmiscproto-1.2.2.tar.bz2
eaac343af094e6b608cf15cfba0f77c5  xextproto-7.2.1.tar.bz2
120e226ede5a4687b25dd357cc9b8efe  xf86bigfontproto-1.2.0.tar.bz2
a036dc2fcbf052ec10621fd48b68dbb1  xf86dgaproto-2.1.tar.bz2
1d716d0dac3b664e5ee20c69d34bc10e  xf86driproto-2.1.1.tar.bz2
e793ecefeaecfeabd1aed6a01095174e  xf86vidmodeproto-2.3.1.tar.bz2
9959fe0bfb22a0e7260433b8d199590a  xineramaproto-1.2.1.tar.bz2
d4d241a4849167e4e694fe73371c328c  xproto-7.0.23.tar.bz2
EOF

mkdir proto &&
cd proto &&
grep -v '^#' ../proto-7.7.md5 | awk '{print $2}' | wget -i- -c \
    -B http://xorg.freedesktop.org/releases/individual/proto/ &&
md5sum -c ../proto-7.7.md5

export XORG_PREFIX="/usr"
export XORG_CONFIG="--prefix=$XORG_PREFIX --sysconfdir=/etc \
    --mandir=$XORG_PREFIX/share/man --localstatedir=/var"

for package in $(grep -v '^#' ../proto-7.7.md5 | awk '{print $2}')
do
  packagedir=${package%.tar.bz2}
  tar -xf $package
  pushd $packagedir
  ./configure $XORG_CONFIG
  make install
  popd
  rm -r $packagedir
done

安装 makedepend

wget http://xorg.freedesktop.org/releases/individual/util/makedepend-1.0.4.tar.bz2
tar -xvpf makedepend-1.0.4.tar.bz2
cd makedepend-1.0.4
./configure $XORG_CONFIG &&
make
make install

安装 libxml2-2.9.0

wget http://xmlsoft.org/sources/libxml2-2.9.0.tar.gz
tar -xvpf libxml2-2.9.0.tar.gz
cd libxml2-2.9.0
./configure --prefix=/usr --disable-static &&
make

安装 libxslt

wget http://xmlsoft.org/sources/libxslt-1.1.27.tar.gz
tar -xvpf libxslt-1.1.27.tar.gz
cd libxslt-1.1.27
./configure --prefix=/usr --disable-static &&
make
make install

安装 Python2.7.x

wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tar.xz
tar -xvpf Python-2.7.3.tar.xz
cd Python-2.7.3
sed -i "s/ndbm_libs = \[\]/ndbm_libs = ['gdbm', 'gdbm_compat']/" setup.py &&
./configure --prefix=/usr --enable-shared &&
make -j8

安装 xcb-proto-1.7.1

wget http://xcb.freedesktop.org/dist/xcb-proto-1.7.1.tar.bz2
tar -xvpf xcb-proto-1.7.1.tar.bz2
cd xcb-proto-1.7.1
./configure --prefix=/usr
make && make install

安装libXau

wget http://xorg.freedesktop.org/releases/individual/lib/libXau-1.0.7.tar.bz2
tar -xvpf libXau-1.0.7.tar.bz2
cd libXau-1.0.7
./configure --prefix=/usr
make 
make install

安装libXdmcp

wget http://xorg.freedesktop.org/releases/individual/lib/libXdmcp-1.1.1.tar.bz2
tar -xvpf libXdmcp-1.1.1.tar.bz2
cd libXdmcp-1.1.1
./configure --prefix=/usr
make 
make install

安装 libxcb

wget http://xcb.freedesktop.org/dist/libxcb-1.8.1.tar.bz2
tar -xvpf libxcb-1.8.1.tar.bz2
cd libxcb-1.8.1
./configure $XORG_CONFIG
make
make install

安装 freetype-2.4.10

wget http://downloads.sourceforge.net/freetype/freetype-2.4.10.tar.bz2
tar -xvpf freetype-2.4.10.tar.bz2
cd freetype-2.4.10
./configure --prefix=/usr --disable-static &&
make
make install

fontconfig-2.10.

wget http://fontconfig.org/release/fontconfig-2.10.1.tar.bz2
tar -xvpf fontconfig-2.10.1.tar.bz2
cd fontconfig-2.10.1
./configure --prefix=/usr \
            --sysconfdir=/etc \
            --localstatedir=/var \
            --docdir=/usr/share/doc/fontconfig-2.10.1 \
            --disable-docs \
            --disable-static &&
make 
make install

安装 Xorg lib

cat > lib-7.7.md5 << "EOF"
84c66908cf003ad8c272b0eecbdbaee3  xtrans-1.2.7.tar.bz2
78b4b3bab4acbdf0abcfca30a8c70cc6  libX11-1.5.0.tar.bz2
71251a22bc47068d60a95f50ed2ec3cf  libXext-1.3.1.tar.bz2
645f83160cf7b562734e2038045106d1  libFS-1.0.4.tar.bz2
471b5ca9f5562ac0d6eac7a0bf650738  libICE-1.0.8.tar.bz2
766de9d1e1ecf8bf74cebe2111d8e2bd  libSM-1.2.1.tar.bz2
7a773b16165e39e938650bcc9027c1d5  libXScrnSaver-1.2.2.tar.bz2
a6f137ae100e74ebe3b71eb4a38c40b3  libXt-1.1.3.tar.bz2
a4efff8de85bd45dd3da124285d10c00  libXmu-1.1.1.tar.bz2
7ae7eff7a14d411e84a67bd166bcec1a  libXpm-3.5.10.tar.bz2
f39942f2cab379fc9b4c3731bf191b84  libXaw-1.0.11.tar.bz2
678071bd7f9f7467e2fc712d81022318  libXfixes-5.0.tar.bz2
a60e0b5c276d0aa9e2d3b982c98f61c8  libXcomposite-0.4.3.tar.bz2
ee62f4c7f0f16ced4da63308963ccad2  libXrender-0.9.7.tar.bz2
52efa81b7f26c8eda13510a2fba98eea  libXcursor-1.1.13.tar.bz2
44774e1a065158b52f1a0da5100cebec  libXdamage-1.1.3.tar.bz2
a2a861f142c3b4367f14fc14239fc1f7  libfontenc-1.1.1.tar.bz2
6851da5dae0a6cf5f7c9b9e2b05dd3b4  libXfont-1.4.5.tar.bz2
78d64dece560c9e8699199f3faa521c0  libXft-2.3.1.tar.bz2
78ee882e1ff3b192cf54070bdb19938e  libXi-1.6.1.tar.bz2
cb45d6672c93a608f003b6404f1dd462  libXinerama-1.1.2.tar.bz2
92473da2fccf5fac665be4fa4f2037fa  libXrandr-1.3.2.tar.bz2
80d0c6d8522fa7a645e4f522e9a9cd20  libXres-1.0.6.tar.bz2
e8abc5c00c666f551cf26aa53819d592  libXtst-1.2.1.tar.bz2
5e1ac203ccd3ce3e89755ed1fbe75b0b  libXv-1.0.7.tar.bz2
3340c99ff556ea2457b4be47f5cb96fa  libXvMC-1.0.7.tar.bz2
b7f38465c46e7145782d37dbb9da8c09  libXxf86dga-1.1.3.tar.bz2
ffd93bcedd8b2b5aeabf184e7b91f326  libXxf86vm-1.1.2.tar.bz2
782ced3a9e754dfeb53a8a006a75eb1a  libdmx-1.1.2.tar.bz2
399a419ac6a54f0fc07c69c9bdf452dc  libpciaccess-0.13.1.tar.bz2
19e6533ae64abba0773816a23f2b9507  libxkbfile-1.0.8.tar.bz2
EOF

mkdir lib &&
cd lib &&
grep -v '^#' ../lib-7.7.md5 | awk '{print $2}' | wget -i- -c \
    -B http://xorg.freedesktop.org/releases/individual/lib/ &&
md5sum -c ../lib-7.7.md5


for package in $(grep -v '^#' ../lib-7.7.md5 | awk '{print $2}')
do
  packagedir=${package%.tar.bz2}
  tar -xf $package
  pushd $packagedir
  case $packagedir in
    libXfont-[0-9]* )
      ./configure $XORG_CONFIG --disable-devel-docs
    ;;
    libXt-[0-9]* )
      ./configure $XORG_CONFIG \
        --with-appdefaultdir=/etc/X11/app-defaults
    ;;
    * )
      ./configure $XORG_CONFIG
    ;;
  esac
  make
  make install
  popd
  rm -r $packagedir
  /sbin/ldconfig
done

安装 llvm

wget http://llvm.org/releases/3.1/llvm-3.1.src.tar.gz
tar -xvpf llvm-3.1.src.tar.gz
cd llvm-3.1.src
wget http://llvm.org/releases/3.1/clang-3.1.src.tar.gz
tar -xf clang-3.1.src.tar.gz -C tools &&
mv tools/clang-3.1.src tools/clang
CC=gcc                                 \
CXX=g++                                \
./configure --prefix=/usr              \
            --libdir=/usr/lib/llvm     \
            --sysconfdir=/etc          \
            --enable-shared            \
            --enable-libffi            \
            --enable-targets=all       \
            --disable-expensive-checks \
            --disable-debug-runtime    \
            --disable-assertions       \
            --enable-optimized        &&

make 
make install

安装 Mesa

如果Mesa编译失败,可以在源码目录中尝试执行命令

 git clean -xfd 

,原文如下

Note on Mesa build failures: If you're not building in your Mesa git repo for the first time, the first thing to try is always "git clean -xfd", and possibly deleting your $WLD directory, as Mesa requires this often.

git clone git://anongit.freedesktop.org/mesa/mesa
cd mesa
./autogen.sh --prefix=$WLD \
	--enable-gles2 \
	--disable-gallium-egl \
	--with-egl-platforms=x11,wayland,drm \
	--enable-gbm \
	--enable-shared-glapi \
	--with-gallium-drivers=r300,r600,swrast,nouveau 
make && make install

安装glu

wget ftp://ftp.freedesktop.org/pub/mesa/glu/glu-9.0.0.tar.bz2
tar -xvpf glu-9.0.0.tar.bz2
cd glu-9.0.0
./configure --prefix=/usr --disable-static &&
make
make install

安装 libxkbcommon

git clone git://anongit.freedesktop.org/git/xorg/lib/libxkbcommon
cd libxkbcommon/
./autogen.sh --prefix=$WLD --with-xkb-config-root=/usr/share/X11/xkb
make && make install

安装 pixman

git clone git://anongit.freedesktop.org/pixman
cd pixman
./autogen.sh --prefix=$WLD
make && make install

安装 libpng

wget http://downloads.sourceforge.net/libpng/libpng-1.5.13.tar.xz
tar -xvpf libpng-1.5.13.tar.xz
cd libpng-1.5.13
./configure --prefix=/usr --disable-static &&
make -j10 && make install

安装 cairo

git clone git://anongit.freedesktop.org/cairo
cd cairo
./autogen.sh --prefix=$WLD --enable-gl --enable-xcb --enable-tee
make && make install

安装 mtdev-1.1.3

wget http://bitmath.org/code/mtdev/mtdev-1.1.3.tar.bz2
tar -xvpf mtdev-1.1.3.tar.bz2
cd mtdev-1.1.3
./configure --prefix=/usr --disable-static &&
make
make install

安装 libjpeg

wget http://www.ijg.org/files/jpegsrc.v8d.tar.gz
tar -xvpf jpegsrc.v8d.tar.gz
cd jpeg-8d
./configure --prefix=/usr &&
make
make install

安装 Linux PAM

wget http://linux-pam.org/library/Linux-PAM-1.1.6.tar.bz2
tar -xvpf Linux-PAM-1.1.6.tar.bz2
cd Linux-PAM-1.1.6
./configure --prefix=/usr \
            --sysconfdir=/etc \
            --docdir=/usr/share/doc/Linux-PAM-1.1.6 \
            --disable-nis &&
make -j10
make install

安装 xbitmaps

wget http://xorg.freedesktop.org/releases/individual/data/xbitmaps-1.1.1.tar.bz2
tar -xvpf xbitmaps-1.1.1.tar.bz2
cd xbitmaps-1.1.1
./configure $XORG_CONFIG

安装 gperf

wget http://ftp.gnu.org/gnu/gperf/gperf-3.0.4.tar.gz
tar -xvpf gperf-3.0.4.tar.gz
cd gperf-3.0.4
./configure --prefix=/usr --docdir=/usr/share/doc/gperf-3.0.4 &&
make &&
make install

安装 xcb-util-0.3.9

wget http://xorg.freedesktop.org/releases/individual/xcb/xcb-util-0.3.9.tar.bz2
tar -xvpf xcb-util-0.3.9.tar.bz2
cd xcb-util-0.3.9
./configure $XORG_CONFIG &&
make &&
make install

安装 xkbcomp-1.2.4

wget http://www.x.org/releases/X11R7.7/src/app/xkbcomp-1.2.4.tar.gz
tar -xvpf xkbcomp-1.2.4.tar.gz
cd xkbcomp-1.2.4
./configure $XORG_CONFIG
make && make install

XML-Parser-2.41

wget http://anduin.linuxfromscratch.org/sources/BLFS/svn/perl-modules/XML-Parser-2.41.tar.gz
tar -xvpf XML-Parser-2.41.tar.gz
cd XML-Parser-2.41
perl Makefile.PL &&
make &&
make install

intltool-0.50.2

wget http://launchpad.net/intltool/trunk/0.50.2/+download/intltool-0.50.2.tar.gz
tar -xvpf intltool-0.50.2.tar.gz
cd intltool-0.50.2
./configure --prefix=/usr &&
make
make install

xkeyboard-config-2.6

wget http://xorg.freedesktop.org/releases/individual/data/xkeyboard-config/xkeyboard-config-2.6.tar.bz2
tar -xvpf xkeyboard-config-2.6.tar.bz2
cd xkeyboard-config-2.6
./configure $XORG_CONFIG --with-xkb-rules-symlink=xorg &&
make

wayland demon

weston

git clone git://anongit.freedesktop.org/wayland/weston
cd weston
./autogen.sh --prefix=$WLD
make
make install

配置 weston

cp weston.ini $HOME/.config/weston.ini
export XDG_RUNTIME_DIR=/tmp
weston

启动weston-launch

    $ sudo groupadd weston-launch
    $ sudo usermod -a -G weston-launch $USER
    $ # Log all the way out (of X, etc.)
    $ sudo chown root weston-launch
    $ sudo chmod +s weston-launch
    $ weston-launch

client for wayland

GTK+-3.6 for wayland

UnZip-6.0

wget http://downloads.sourceforge.net/infozip/unzip60.tar.gz
tar -xvpf unzip60.tar.gz
cd unzip60

case `uname -m` in
  i?86)
    sed -i -e 's/DASM"/DASM -DNO_LCHMOD"/' unix/Makefile
    make -f unix/Makefile linux
    ;;
  *)
    sed -i -e 's/CFLAGS="-O -Wall/& -DNO_LCHMOD/' unix/Makefile
    make -f unix/Makefile linux_noasm
    ;;
esac

make prefix=/usr install

docbook-xml-4.5.zip

wget http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip
mkdir docbook-xml
unzip -x docbook-xml-4.5.zip -d docbook-xml
cd docbook-xml

install -v -d -m755 /usr/share/xml/docbook/xml-dtd-4.5 &&
install -v -d -m755 /etc/xml &&
chown -R root:root . &&
cp -v -af docbook.cat *.dtd ent/ *.mod /usr/share/xml/docbook/xml-dtd-4.5

if [ ! -e /etc/xml/docbook ]; then
    xmlcatalog --noout --create /etc/xml/docbook
fi &&
xmlcatalog --noout --add "public" \
    "-//OASIS//DTD DocBook XML V4.5//EN" \
    "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" \
    /etc/xml/docbook &&
xmlcatalog --noout --add "public" \
    "-//OASIS//DTD DocBook XML CALS Table Model V4.5//EN" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/calstblx.dtd" \
    /etc/xml/docbook &&
xmlcatalog --noout --add "public" \
    "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/soextblx.dtd" \
    /etc/xml/docbook &&
xmlcatalog --noout --add "public" \
    "-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/dbpoolx.mod" \
    /etc/xml/docbook &&
xmlcatalog --noout --add "public" \
    "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.5//EN" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/dbhierx.mod" \
    /etc/xml/docbook &&
xmlcatalog --noout --add "public" \
    "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/htmltblx.mod" \
    /etc/xml/docbook &&
xmlcatalog --noout --add "public" \
    "-//OASIS//ENTITIES DocBook XML Notations V4.5//EN" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/dbnotnx.mod" \
    /etc/xml/docbook &&
xmlcatalog --noout --add "public" \
    "-//OASIS//ENTITIES DocBook XML Character Entities V4.5//EN" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/dbcentx.mod" \
    /etc/xml/docbook &&
xmlcatalog --noout --add "public" \
    "-//OASIS//ENTITIES DocBook XML Additional General Entities V4.5//EN" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/dbgenent.mod" \
    /etc/xml/docbook &&
xmlcatalog --noout --add "rewriteSystem" \
    "http://www.oasis-open.org/docbook/xml/4.5" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5" \
    /etc/xml/docbook &&
xmlcatalog --noout --add "rewriteURI" \
    "http://www.oasis-open.org/docbook/xml/4.5" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5" \
    /etc/xml/docbook

if [ ! -e /etc/xml/catalog ]; then
    xmlcatalog --noout --create /etc/xml/catalog
fi &&
xmlcatalog --noout --add "delegatePublic" \
    "-//OASIS//ENTITIES DocBook XML" \
    "file:///etc/xml/docbook" \
    /etc/xml/catalog &&
xmlcatalog --noout --add "delegatePublic" \
    "-//OASIS//DTD DocBook XML" \
    "file:///etc/xml/docbook" \
    /etc/xml/catalog &&
xmlcatalog --noout --add "delegateSystem" \
    "http://www.oasis-open.org/docbook/" \
    "file:///etc/xml/docbook" \
    /etc/xml/catalog &&
xmlcatalog --noout --add "delegateURI" \
    "http://www.oasis-open.org/docbook/" \
    "file:///etc/xml/docbook" \
    /etc/xml/catalog

for DTDVERSION in 4.1.2 4.2 4.3 4.4
do
  xmlcatalog --noout --add "public" \
    "-//OASIS//DTD DocBook XML V$DTDVERSION//EN" \
    "http://www.oasis-open.org/docbook/xml/$DTDVERSION/docbookx.dtd" \
    /etc/xml/docbook
  xmlcatalog --noout --add "rewriteSystem" \
    "http://www.oasis-open.org/docbook/xml/$DTDVERSION" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5" \
    /etc/xml/docbook
  xmlcatalog --noout --add "rewriteURI" \
    "http://www.oasis-open.org/docbook/xml/$DTDVERSION" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5" \
    /etc/xml/docbook
  xmlcatalog --noout --add "delegateSystem" \
    "http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \
    "file:///etc/xml/docbook" \
    /etc/xml/catalog
  xmlcatalog --noout --add "delegateURI" \
    "http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \
    "file:///etc/xml/docbook" \
    /etc/xml/catalog
done

docbook-xsl-1.77.1

wget http://downloads.sourceforge.net/docbook/docbook-xsl-1.77.1.tar.bz2
tar -xvpf docbook-xsl-1.77.1.tar.bz2
cd docbook-xsl-1.77.1 

install -v -m755 -d /usr/share/xml/docbook/xsl-stylesheets-1.77.1 &&

cp -v -R VERSION common eclipse epub extensions fo highlighting html \
         htmlhelp images javahelp lib manpages params profiling \
         roundtrip slides template tests tools webhelp website \
         xhtml xhtml-1_1 \
    /usr/share/xml/docbook/xsl-stylesheets-1.77.1 &&

ln -s VERSION /usr/share/xml/docbook/xsl-stylesheets-1.77.1/VERSION.xsl &&

install -v -m644 -D README /usr/share/doc/docbook-xsl-1.77.1/README.txt &&
install -v -m755    RELEASE-NOTES* NEWS* /usr/share/doc/docbook-xsl-1.77.1

if [ ! -d /etc/xml ]; then install -v -m755 -d /etc/xml; fi &&
if [ ! -f /etc/xml/catalog ]; then
    xmlcatalog --noout --create /etc/xml/catalog
fi &&

xmlcatalog --noout --add "rewriteSystem" \
           "http://docbook.sourceforge.net/release/xsl/1.77.1" \
           "/usr/share/xml/docbook/xsl-stylesheets-1.77.1" \
    /etc/xml/catalog &&

xmlcatalog --noout --add "rewriteURI" \
           "http://docbook.sourceforge.net/release/xsl/1.77.1" \
           "/usr/share/xml/docbook/xsl-stylesheets-1.77.1" \
    /etc/xml/catalog &&

xmlcatalog --noout --add "rewriteSystem" \
           "http://docbook.sourceforge.net/release/xsl/current" \
           "/usr/share/xml/docbook/xsl-stylesheets-1.77.1" \
    /etc/xml/catalog &&

xmlcatalog --noout --add "rewriteURI" \
           "http://docbook.sourceforge.net/release/xsl/current" \
           "/usr/share/xml/docbook/xsl-stylesheets-1.77.1" \
    /etc/xml/catalog


gtk-doc-1.18

wget http://ftp.gnome.org/pub/gnome/sources/gtk-doc/1.18/gtk-doc-1.18.tar.xz
tar -xvpf gtk-doc-1.18.tar.xz
cd gtk-doc-1.18
./configure --prefix=/usr &&
make
make install

gobject-introspection

wget http://ftp.gnome.org/pub/gnome/sources/gobject-introspection/1.34/gobject-introspection-1.34.2.tar.xz
tar -xvpf gobject-introspection-1.34.2.tar.xz
cd gobject-introspection-1.34.2
./configure --prefix=/usr --disable-static &&
make
make install

glib-2.34.2

http://ftp.gnome.org/pub/gnome/sources/glib/2.34/glib-2.34.2.tar.xz
tar -xvpf glib-2.34.2.tar.xz
cd glib-2.34.2
./configure --prefix=/usr --with-pcre=system &&
make
make install

Atk-2.6.0

wget http://ftp.gnome.org/pub/gnome/sources/atk/2.6/atk-2.6.0.tar.xz
tar -xvpf atk-2.6.0.tar.xz
cd atk-2.6.0
./configure --prefix=/usr &&
make
make install

gdk-pixbuf-2.26.4

wget http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.26/gdk-pixbuf-2.26.4.tar.xz
tar -xvpf gdk-pixbuf-2.26.4.tar.xz
cd gdk-pixbuf-2.26.4
./configure --prefix=/usr --without-libtiff
make -j4
make install
gdk-pixbuf-query-loaders --update-cache

cairo-1.12.8

wget http://cairographics.org/releases/cairo-1.12.8.tar.xz
tar -xvpf cairo-1.12.8.tar.xz
cd cairo-1.12.8
./configure --prefix=/usr \
            --enable-tee  \
            --enable-xcb  \
            --disable-static &&
make
make install

harfbuzz-0.9.6

wget http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-0.9.6.tar.bz2
tar -xvpf harfbuzz-0.9.6.tar.bz2
cd harfbuzz-0.9.6
./configure --prefix=/usr &&
make
make install

pango-1.32.2

wget http://ftp.gnome.org/pub/gnome/sources/pango/1.32/pango-1.32.2.tar.xz
tar -xvpf pango-1.32.2.tar.xz
cd pango-1.32.2
./configure --prefix=/usr --sysconfdir=/etc &&
make
make install
pango-querymodules --update-cache

gtk+

git clone git://git.gnome.org/gtk+
pushd gtk+
./autogen.sh --prefix=$WLD --enable-wayland-backend
make && make install
popd