#!/bin/bash # Slackware build script for girara # Written by B. Watson (yalhcru@gmail.com) # Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. # 20180903 bkw: Fix build with Russian (and possibly other non-English) locale. # 20180619 bkw: Update for v0.3.0. Upstream switched from make to meson, # so this script's no longer compatible with older versions of girara. PRGNAM=girara VERSION=${VERSION:-0.3.0} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac fi CWD=$(pwd) TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} if [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" LIBDIRSUFFIX="64" else SLKCFLAGS="-O2" LIBDIRSUFFIX="" fi set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION tar xvf $CWD/$PRGNAM-$VERSION.tar.gz cd $PRGNAM-$VERSION chown -R root:root . find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+ # Something in the ninja/meson build stuff is grepping the output of # some command, looking for a specific string in English. Building with # e.g. ru_RU.UTF-8 locale breaks it. Meson and ninja are totally new to # me, so I haven't got a 'proper' fix yet. For now, forcing the locale # to C allows the build to finish: LANG=C LC_ALL=C export LANG LC_ALL # upstream claims we need newer glib and gtk+3 libs than Slack 14.2 has, # but diddling the requirements allows it to build and run OK. sed -i \ -e '/^glib =/s,>=2\.[0-9]\+,>=2.46,' \ -e '/^gtk3 =/s,>=3\.[0-9]\+,>=3.18,' \ meson.build # There's no SBo meson.template. # see http://mesonbuild.com/Quick-guide.html CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ meson \ --libdir lib$LIBDIRSUFFIX \ --prefix /usr \ --buildtype=plain \ build DESTDIR="$PKG" ninja -C build install # strip it, strip it good strip $PKG/usr/lib$LIBDIRSUFFIX/*.so.*.* mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a AUTHORS LICENSE README $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}