aboutsummaryrefslogtreecommitdiff
path: root/audio/transcribe/transcribe.SlackBuild
blob: 6d5df1841d94b5c299e8284f6cf37d85d1b81f41 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#!/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)... though starting with v8.80, I host the tarballs
# and put $VERSION in the filenames.

# 20211127 bkw: updated for v8.80 and -current. This is the last
# version that supports 32-bit. I tried the latest verion (9.10.0)
# on 64-bit, but it fails to init the audio device, then crashes
# with a "malloc(): unaligned tcache chunk detected", which means
# either an actual bug (that I can't fix due to lack of source) or an
# incompatible library (the 9.10.0 binary is built on XUbuntu 20.4).

# 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.80}
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 [ ! -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" -o "$ARCH" = "i686" ]; then
  LIBDIRSUFFIX=""
  BITS=32
elif [ "$ARCH" = "x86_64" ]; then
  LIBDIRSUFFIX="64"
  BITS=64
else
  echo "*** Unsupported ARCH '$ARCH', only i586/i686/x86_64 supported."
  exit 1
fi

# The dist tarball's filename has no connection whatsoever to the
# actual name of the program... The -$VERSION was put there by me (I
# renamed the file) to allow me to host multiple versions.
TARNAME=xsc${BITS}setup-$VERSION.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 -m0755 $PRGNAM.sh $PKG/usr/bin/$PRGNAM

for i in gtkicons/*.png; do
  px="$( basename $i | cut -dx -f3 | cut -d. -f1 )"
  size=${px}x${px}
  dir=$PKG/usr/share/icons/hicolor/$size/apps
  mkdir -p $dir
  cat $i > $dir/$PRGNAM.png
done

ln -s ../icons/hicolor/48x48/apps/$PRGNAM.png $PKG/usr/share/pixmaps/$PRGNAM.png

# 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