Include both 64bit and multilib binaries when building on x86-64 platform. This saves us deeping track of version numbers and interdependencies in case of a split package.
Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com> --- pkg/archlinux/waffle-1.3.0/PKGBUILD | 84 +++++++++++++++++++++++++++++++------ 1 file changed, 72 insertions(+), 12 deletions(-) diff --git a/pkg/archlinux/waffle-1.3.0/PKGBUILD b/pkg/archlinux/waffle-1.3.0/PKGBUILD index 569b466..0221a84 100644 --- a/pkg/archlinux/waffle-1.3.0/PKGBUILD +++ b/pkg/archlinux/waffle-1.3.0/PKGBUILD @@ -9,12 +9,12 @@ url='http://waffle-gl.github.io' license=('BSD') depends=( - 'libgl' # for GLX - 'libegl' - 'libgbm' - 'libx11' - 'libxcb' - 'wayland' + 'libgl' 'lib32-libgl' # for GLX + 'libegl' 'lib32-libegl' + 'libgbm' 'lib32-libgbm' + 'libx11' 'lib32-libx11' + 'libxcb' 'lib32-libxcb' + 'wayland' 'lib32-wayland' ) makedepends=( 'cmake' @@ -24,29 +24,89 @@ makedepends=( 'libxslt' 'docbook-xsl' ) + +if [[ $CARCH == i686 ]]; then + # Strip lib32 etc. on i686 + depends=(${depends[@]/*lib32-*/}) +else + provides=("lib32-$pkgname" "lib32-$pkgname=$pkgver") +fi + source=("https://github.com/waffle-gl/waffle/releases/download/$pkgname-$pkgver/$pkgname-$pkgver.tar.xz") sha256sums=('340ee04172dba878249469018cd7ec9d1ecd41af26b612c741b8b52e713bca8e') build() { - cd "$srcdir/$pkgname-$pkgver" + cd "$srcdir" + + rm -rf $pkgname-{32,64}-build + + waffle32_libdir=/usr/lib + waffle32_manpages=1 + waffle32_htmldocs=1 + + if [[ $CARCH == x86_64 ]]; then + msg2 "Building (x86_64) waffle..." + + mkdir $pkgname-64-build + cd "$srcdir/$pkgname-64-build" + + cmake ../$pkgname-$pkgver \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DCMAKE_BUILD_TYPE=Release \ + -Dwaffle_has_gbm=1 \ + -Dwaffle_has_glx=1 \ + -Dwaffle_has_x11_egl=1 \ + -Dwaffle_has_wayland=1 \ + -Dwaffle_build_manpages=1 \ + -Dwaffle_build_htmldocs=1 \ + -Dwaffle_build_examples=0 + + make - cmake \ + cd .. + waffle32_libdir=/usr/lib32 + waffle32_manpages=0 + waffle32_htmldocs=0 + + export CC='gcc -m32' + export CXX='g++ -m32' + export PKG_CONFIG_PATH='/usr/lib32/pkgconfig' + fi + + mkdir $pkgname-32-build + msg2 "Building (i686) waffle..." + cd "$srcdir/$pkgname-32-build" + + cmake ../$pkgname-$pkgver \ -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DCMAKE_INSTALL_LIBDIR=$waffle32_libdir \ -DCMAKE_BUILD_TYPE=Release \ -Dwaffle_has_gbm=1 \ -Dwaffle_has_glx=1 \ -Dwaffle_has_x11_egl=1 \ -Dwaffle_has_wayland=1 \ - -Dwaffle_build_manpages=1 \ - -Dwaffle_build_htmldocs=1 \ + -Dwaffle_build_manpages=$waffle32_manpages \ + -Dwaffle_build_htmldocs=$waffle32_htmldocs \ -Dwaffle_build_examples=0 make } package() { cd "$srcdir/$pkgname-$pkgver" - make DESTDIR="$pkgdir/" install + + if [[ $CARCH == x86_64 ]]; then + msg2 "Packaging (x86_64) waffle..." + cd "$srcdir/$pkgname-64-build" + + make DESTDIR="$pkgdir" install + fi + + msg2 "Packaging (i686) waffle..." + cd "$srcdir/$pkgname-32-build" + + make DESTDIR="$pkgdir" install + install -m755 -d "$pkgdir/usr/share/licenses/$pkgname" install -m644 "$pkgdir/usr/share/doc/waffle1/LICENSE.txt" \ "$pkgdir/usr/share/licenses/$pkgname/LICENSE.txt" -- 1.9.3 _______________________________________________ waffle mailing list waffle@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/waffle