个人工具

“Wayland”的版本间的差异

来自Ubuntu中文

跳转至: 导航, 搜索
(清空页面)
 
(未显示2个用户的6个中间版本)
第1行: 第1行:
 +
== wayland的编译  ==
  
 +
==== 基础知识  ====
 +
 +
#具有LFS编译经验
 +
#一个可用的LFS系统(仅在LFS 7.0 64位版本编译通过,其他系统或者LFS版本没有测试验证)
 +
#本篇wayland编译笔记以Xorg7.7为基础,相应版本的软件包请参考Xorg7.7发布版本
 +
 +
==== 设置环境变量  ====
 +
<pre>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
 +
</pre>
 +
=== 安装一些基本工具  ===
 +
 +
==== openssl  ====
 +
<pre>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
 +
</pre>
 +
==== 安装 wget  ====
 +
<pre>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 &amp;&amp;
 +
make
 +
make install
 +
</pre>
 +
==== 安装 git  ====
 +
 +
最新版本为 1.8.0
 +
<pre>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 &amp;&amp; make install
 +
</pre>
 +
==== 安装 pkg-config  ====
 +
<pre>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 &amp;&amp;
 +
make
 +
make install
 +
</pre>
 +
==== 安装 libffi  ====
 +
<pre>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 &amp;&amp;
 +
make -j10
 +
make install
 +
</pre>
 +
==== 安装 expat  ====
 +
<pre>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 &amp;&amp;
 +
make
 +
make install
 +
</pre>
 +
==== 安装doxygen  ====
 +
<pre>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 &amp;&amp; make install
 +
</pre>
 +
==== 安装 wayland  ====
 +
<pre>git clone git://anongit.freedesktop.org/wayland/wayland
 +
cd wayland
 +
./autogen.sh --prefix=$WLD --disable-documentation
 +
make -j10
 +
make install
 +
</pre>
 +
==== 安装 libpthread-stubs  ====
 +
<pre>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 &amp;&amp;
 +
make -j8
 +
make install
 +
</pre>
 +
==== libpciaccess  ====
 +
<pre>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
 +
./configure --prefix=/usr
 +
make
 +
make install
 +
</pre>
 +
 +
==== 安装 drm  ====
 +
<pre>git clone git://anongit.freedesktop.org/git/mesa/drm
 +
cd drm
 +
./autogen.sh --prefix=/usr
 +
make -j8 &amp;&amp; make install
 +
</pre>
 +
==== 安装 util-macros  ====
 +
<pre>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 &amp;&amp; make install
 +
</pre>
 +
==== 安装 proto-7.7  ====
 +
<pre>cat &gt; proto-7.7.md5 &lt;&lt; "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 &amp;&amp;
 +
cd proto &amp;&amp;
 +
grep -v '^#' ../proto-7.7.md5 | awk '{print $2}' | wget -i- -c \
 +
    -B http://xorg.freedesktop.org/releases/individual/proto/ &amp;&amp;
 +
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
 +
 +
</pre>
 +
==== 安装 makedepend  ====
 +
<pre>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 &amp;&amp;
 +
make
 +
make install
 +
</pre>
 +
==== 安装 libxml2-2.9.0  ====
 +
<pre>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 &amp;&amp;
 +
make
 +
make install
 +
</pre>
 +
 +
==== 安装 libxslt  ====
 +
<pre>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 &amp;&amp;
 +
make
 +
make install
 +
</pre>
 +
==== 安装 Python2.7.x  ====
 +
<pre>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 &amp;&amp;
 +
./configure --prefix=/usr --enable-shared &amp;&amp;
 +
make -j8
 +
</pre>
 +
==== 安装 xcb-proto-1.7.1  ====
 +
<pre>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 &amp;&amp; make install
 +
</pre>
 +
==== 安装libXau  ====
 +
<pre>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
 +
</pre>
 +
==== 安装libXdmcp  ====
 +
<pre>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
 +
</pre>
 +
==== 安装 libxcb  ====
 +
<pre>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
 +
</pre>
 +
==== 安装 freetype-2.4.10  ====
 +
<pre>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 &amp;&amp;
 +
make
 +
make install
 +
</pre>
 +
==== fontconfig-2.10.  ====
 +
<pre>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 &amp;&amp;
 +
make
 +
make install
 +
</pre>
 +
==== 安装 Xorg lib  ====
 +
<pre>cat &gt; lib-7.7.md5 &lt;&lt; "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 &amp;&amp;
 +
cd lib &amp;&amp;
 +
grep -v '^#' ../lib-7.7.md5 | awk '{print $2}' | wget -i- -c \
 +
    -B http://xorg.freedesktop.org/releases/individual/lib/ &amp;&amp;
 +
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
 +
  &nbsp;;;
 +
    libXt-[0-9]* )
 +
      ./configure $XORG_CONFIG \
 +
        --with-appdefaultdir=/etc/X11/app-defaults
 +
  &nbsp;;;
 +
    * )
 +
      ./configure $XORG_CONFIG
 +
  &nbsp;;;
 +
  esac
 +
  make
 +
  make install
 +
  popd
 +
  rm -r $packagedir
 +
  /sbin/ldconfig
 +
done
 +
</pre>
 +
==== 安装 llvm  ====
 +
<pre>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 &amp;&amp;
 +
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        &amp;&amp;
 +
 +
make
 +
make install
 +
</pre>
 +
==== 安装 Mesa  ====
 +
 +
如果Mesa编译失败,可以在源码目录中尝试执行命令
 +
<pre> git clean -xfd </pre>
 +
,原文如下
 +
 +
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.
 +
<pre>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 &amp;&amp; make install
 +
</pre>
 +
==== 安装glu  ====
 +
<pre>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 &amp;&amp;
 +
make
 +
make install
 +
</pre>
 +
==== 安装 libxkbcommon  ====
 +
<pre>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 &amp;&amp; make install
 +
</pre>
 +
==== 安装 pixman  ====
 +
<pre>git clone git://anongit.freedesktop.org/pixman
 +
cd pixman
 +
./autogen.sh --prefix=$WLD
 +
make &amp;&amp; make install
 +
</pre>
 +
==== 安装 libpng  ====
 +
<pre>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 &amp;&amp;
 +
make -j10 &amp;&amp; make install
 +
</pre>
 +
==== 安装 cairo  ====
 +
<pre>git clone git://anongit.freedesktop.org/cairo
 +
cd cairo
 +
./autogen.sh --prefix=$WLD --enable-gl --enable-xcb --enable-tee
 +
make &amp;&amp; make install
 +
</pre>
 +
==== 安装 mtdev-1.1.3  ====
 +
<pre>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 &amp;&amp;
 +
make
 +
make install
 +
</pre>
 +
==== 安装 libjpeg  ====
 +
<pre>wget http://www.ijg.org/files/jpegsrc.v8d.tar.gz
 +
tar -xvpf jpegsrc.v8d.tar.gz
 +
cd jpeg-8d
 +
./configure --prefix=/usr &amp;&amp;
 +
make
 +
make install
 +
</pre>
 +
==== 安装 Linux PAM  ====
 +
<pre>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 &amp;&amp;
 +
make -j10
 +
make install
 +
</pre>
 +
==== 安装 xbitmaps  ====
 +
<pre>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
 +
</pre>
 +
==== 安装 gperf  ====
 +
<pre>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 &amp;&amp;
 +
make &amp;&amp;
 +
make install
 +
</pre>
 +
==== 安装 xcb-util-0.3.9  ====
 +
<pre>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 &amp;&amp;
 +
make &amp;&amp;
 +
make install
 +
</pre>
 +
==== 安装 xkbcomp-1.2.4 ====
 +
<pre>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 &amp;&amp; make install
 +
</pre>
 +
==== XML-Parser-2.41  ====
 +
<pre>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 &amp;&amp;
 +
make &amp;&amp;
 +
make install
 +
</pre>
 +
==== intltool-0.50.2  ====
 +
<pre>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 &amp;&amp;
 +
make
 +
make install
 +
</pre>
 +
==== xkeyboard-config-2.6  ====
 +
<pre>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 &amp;&amp;
 +
make
 +
</pre>
 +
==== wayland demon  ====
 +
 +
==== weston  ====
 +
<pre>git clone git://anongit.freedesktop.org/wayland/weston
 +
cd weston
 +
./autogen.sh --prefix=$WLD
 +
make
 +
make install
 +
</pre>
 +
配置 weston
 +
<pre>cp weston.ini $HOME/.config/weston.ini
 +
export XDG_RUNTIME_DIR=/tmp
 +
weston
 +
</pre>
 +
==== 启动weston-launch  ====
 +
<pre>    $ 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
 +
</pre>
 +
== client for wayland  ==
 +
 +
=== GTK+-3.6 for wayland  ===
 +
 +
==== UnZip-6.0  ====
 +
<pre>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
 +
  &nbsp;;;
 +
  *)
 +
    sed -i -e 's/CFLAGS="-O -Wall/&amp; -DNO_LCHMOD/' unix/Makefile
 +
    make -f unix/Makefile linux_noasm
 +
  &nbsp;;;
 +
esac
 +
 +
make prefix=/usr install
 +
 +
</pre>
 +
==== docbook-xml-4.5.zip  ====
 +
<pre>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 &amp;&amp;
 +
install -v -d -m755 /etc/xml &amp;&amp;
 +
chown -R root:root . &amp;&amp;
 +
cp -v -af docbook.cat *.dtd ent/ *.mod /usr/share/xml/docbook/xml-dtd-4.5
 +
 +
if [&nbsp;! -e /etc/xml/docbook ]; then
 +
    xmlcatalog --noout --create /etc/xml/docbook
 +
fi &amp;&amp;
 +
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 &amp;&amp;
 +
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 &amp;&amp;
 +
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 &amp;&amp;
 +
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 &amp;&amp;
 +
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 &amp;&amp;
 +
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 &amp;&amp;
 +
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 &amp;&amp;
 +
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 &amp;&amp;
 +
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 &amp;&amp;
 +
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 &amp;&amp;
 +
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 [&nbsp;! -e /etc/xml/catalog ]; then
 +
    xmlcatalog --noout --create /etc/xml/catalog
 +
fi &amp;&amp;
 +
xmlcatalog --noout --add "delegatePublic" \
 +
    "-//OASIS//ENTITIES DocBook XML" \
 +
    "file:///etc/xml/docbook" \
 +
    /etc/xml/catalog &amp;&amp;
 +
xmlcatalog --noout --add "delegatePublic" \
 +
    "-//OASIS//DTD DocBook XML" \
 +
    "file:///etc/xml/docbook" \
 +
    /etc/xml/catalog &amp;&amp;
 +
xmlcatalog --noout --add "delegateSystem" \
 +
    "http://www.oasis-open.org/docbook/" \
 +
    "file:///etc/xml/docbook" \
 +
    /etc/xml/catalog &amp;&amp;
 +
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
 +
</pre>
 +
==== docbook-xsl-1.77.1  ====
 +
<pre>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 &amp;&amp;
 +
 +
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 &amp;&amp;
 +
 +
ln -s VERSION /usr/share/xml/docbook/xsl-stylesheets-1.77.1/VERSION.xsl &amp;&amp;
 +
 +
install -v -m644 -D README /usr/share/doc/docbook-xsl-1.77.1/README.txt &amp;&amp;
 +
install -v -m755    RELEASE-NOTES* NEWS* /usr/share/doc/docbook-xsl-1.77.1
 +
 +
if [&nbsp;! -d /etc/xml ]; then install -v -m755 -d /etc/xml; fi &amp;&amp;
 +
if [&nbsp;! -f /etc/xml/catalog ]; then
 +
    xmlcatalog --noout --create /etc/xml/catalog
 +
fi &amp;&amp;
 +
 +
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 &amp;&amp;
 +
 +
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 &amp;&amp;
 +
 +
xmlcatalog --noout --add "rewriteSystem" \
 +
          "http://docbook.sourceforge.net/release/xsl/current" \
 +
          "/usr/share/xml/docbook/xsl-stylesheets-1.77.1" \
 +
    /etc/xml/catalog &amp;&amp;
 +
 +
xmlcatalog --noout --add "rewriteURI" \
 +
          "http://docbook.sourceforge.net/release/xsl/current" \
 +
          "/usr/share/xml/docbook/xsl-stylesheets-1.77.1" \
 +
    /etc/xml/catalog
 +
 +
 +
</pre>
 +
==== gtk-doc-1.18  ====
 +
<pre>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 &amp;&amp;
 +
make
 +
make install
 +
</pre>
 +
==== gobject-introspection  ====
 +
<pre>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 &amp;&amp;
 +
make
 +
make install
 +
</pre>
 +
==== glib-2.34.2  ====
 +
<pre>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 &amp;&amp;
 +
make
 +
make install
 +
</pre>
 +
==== Atk-2.6.0  ====
 +
<pre>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 &amp;&amp;
 +
make
 +
make install
 +
</pre>
 +
==== gdk-pixbuf-2.26.4  ====
 +
<pre>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
 +
</pre>
 +
 +
==== cairo-1.12.8  ====
 +
<pre>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 &amp;&amp;
 +
make
 +
make install
 +
</pre>
 +
==== harfbuzz-0.9.6  ====
 +
<pre>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 &amp;&amp;
 +
make
 +
make install
 +
</pre>
 +
==== pango-1.32.2  ====
 +
<pre>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 &amp;&amp;
 +
make
 +
make install
 +
pango-querymodules --update-cache
 +
</pre>
 +
==== gtk+  ====
 +
<pre>git clone git://git.gnome.org/gtk+
 +
pushd gtk+
 +
./autogen.sh --prefix=$WLD --enable-wayland-backend
 +
make &amp;&amp; make install
 +
popd
 +
</pre>

2013年1月18日 (五) 10:26的最新版本

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
./configure --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
make install

安装 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