99 lines
2.5 KiB
Bash
99 lines
2.5 KiB
Bash
#!/bin/sh
|
|
|
|
# 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}
|