summaryrefslogtreecommitdiffstats
path: root/audio/transcribe/transcribe.SlackBuild
blob: 7c417cae2c95a595cd3d043037edd30511a8c29b (plain)
#!/bin/bash

# Slackware build script for transcribe

# Written by B. Watson (yalhcru@gmail.com)

# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.

# Notes:

# Closed-source software, precompiled binaries for x86 and x86_64,
# deps are all included in Slackware.

# Originally ported from Windows, so it expects to be run from its
# own directory. We install to /usr/lib(64)?/transcribe, and a wrapper
# script /usr/bin/transcribe that cd's to the install dir and runs
# the app from there (this allows the app's help system to work).

# Upgrading from the 30-day eval to the registered version is just
# a matter of entering the license key (no change to the package
# needed).

# The version number doesn't appear in the tarball filename or the URL,
# so be careful that $VERSION matches the actual version number (found
# in Help/About)

# 20191211 bkw: updated for v8.73. This is the "older version" upstream
# provides for OSes where the libraries (including glibc) are too
# old for the latest (8.74.1) version. v8.74.1 requires glibc-2.27,
# while Slackware 14.2 only has 2.23. Please don't ask me to update to
# versions later than 8.73, I won't be able to do that until Slackware
# 15.0 is released. I'm hosting the download files on my server because
# at some point, upstream will release a version 8.75. At that point
# it's likely that 8.73 will disappear from his site.

cd $(dirname $0) ; CWD=$(pwd)

PRGNAM=transcribe
VERSION=${VERSION:-8.73}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}

if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) ARCH=i586 ;;
    arm*) ARCH=arm ;;
       *) ARCH=$( uname -m ) ;;
  esac
fi

# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
# the name of the created package would be, and then exit. This information
# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
  echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
  exit 0
fi

TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

if [ "$ARCH" = "i586" ]; then
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
  LIBDIRSUFFIX="64"
else
  echo "Unsupported ARCH '$ARCH', this package probably won't work"
  sleep 5
  LIBDIRSUFFIX=""
fi

# The dist tarball's filename has no connection whatsoever to
# the actual name of the program...
TARNAME=xsc${LIBDIRSUFFIX}setup.tar.gz

set -e

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM
tar xvf $CWD/$TARNAME
cd $PRGNAM

sed "s,/usr/lib,/usr/lib$LIBDIRSUFFIX,g" \
    < $CWD/$PRGNAM.sh \
	 > $PRGNAM.sh

mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/$PRGNAM \
         $PKG/usr/doc/$PRGNAM-$VERSION \
         $PKG/usr/bin \
         $PKG/install \
         $PKG/usr/share/applications \
         $PKG/usr/share/pixmaps

install -oroot -groot -m0755 $PRGNAM $PKG/usr/lib$LIBDIRSUFFIX/$PRGNAM/
install -oroot -groot -m0644 xschelp.htb $PKG/usr/lib$LIBDIRSUFFIX/$PRGNAM/
install -oroot -groot -m0644 readme_gtk.html $PKG/usr/doc/$PRGNAM-$VERSION/
install -oroot -groot -m0644 gtkicons/xsc128x128.png $PKG/usr/share/pixmaps/
install -oroot -groot -m0755 $PRGNAM.sh $PKG/usr/bin/$PRGNAM

# Starting with v8.70, a gstreamer plugin is included.
if [ -e libgstvideosection.so ]; then
  mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/gstreamer-1.0
  install -m0755 libgstvideosection.so $PKG/usr/lib$LIBDIRSUFFIX/gstreamer-1.0
fi

cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh

cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE