summaryrefslogtreecommitdiffstats
path: root/graphics/xzgv/xzgv.SlackBuild
blob: 3f7bad7a4c53f3e4cbe075eba1c1392f46a185e4 (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
#!/bin/bash

# Slackware build script for xzgv

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

# Original author: Markus Reichelt.
# Now maintained by B. Watson <urchlay@slackware.uk>.

# 20230308 bkw: BUILD=2, add doinunst.sh to clean up GNU info index.

# 20230102 bkw: v0.9.2_2
# - take over maintenance.
# - relicense as WTFPL.
# - include Debian's improved .desktop file and PNG icons.
# - include GNU info doc in package.
# - fix documentation permissions.
# - get rid of useless INSTALL from docs.
# - use Debian patch to fix man page nroff formatting.

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

PRGNAM=xzgv
VERSION=${VERSION:-0.9.2_2}
BUILD=${BUILD:-2}
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" ]; 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

SRCVER="$( echo $VERSION | cut -d_ -f1 )"
DEBVER="$( echo $VERSION | cut -d_ -f2 )"

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$SRCVER
tar xvf $CWD/$PRGNAM-$SRCVER.tar.gz
cd $PRGNAM-$SRCVER
tar xvf $CWD/${PRGNAM}_$SRCVER-$DEBVER.debian.tar.xz
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 {} \+

# use Debian's .desktop file
cp debian/$PRGNAM.desktop src/

# use 48x48 old-style icon
sed -i 's,icon-64,icon-48,' src/Makefile

# apply Debian's patches (currently, fixes for the man page)
for i in $( cat debian/patches/series ); do
  patch -p1 < debian/patches/$i
done

cat > config.mk <<EOF
CC=gcc
AWK=awk
CFLAGS=$SLKCFLAGS
BINDIR=$PKG/usr/bin
INFODIR=$PKG/usr/info
MANDIR=$PKG/usr/man/man1
USE_A4_DEF=-t @afourpaper
LDFLAGS=-lX11 -lm
PIXMAPDIR=$PKG/usr/share/pixmaps
DESKTOPDIR1=$PKG/usr/share/applications
DESKTOPDIR2=$PKG/usr/share/applications
EOF

mkdir -p $PKG/usr/{bin,man/man1,info,share/{pixmaps,applications}}

make
strip src/$PRGNAM
make info
make install
rm -f $PKG/usr/info/dir
chmod 644 $PKG/usr/man/man*/*
gzip $PKG/usr/man/man*/*

# include Debian's PNG icons
for i in debian/$PRGNAM-*.png; do
  px="$( basename $i .png | cut -d- -f2 )"
  size=${px}x${px}
  dir=$PKG/usr/share/icons/hicolor/$size/apps
  mkdir -p $dir
  install -m0644 -oroot -groot $i $dir/$PRGNAM.png
done

PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION
mkdir -p $PKGDOC
cp -a AUTHORS ChangeLog COPYING NEWS README TODO $PKGDOC
cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cat $CWD/douninst.sh > $PKG/install/douninst.sh

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