aboutsummaryrefslogtreecommitdiff
path: root/graphics/tuxpaint/tuxpaint.SlackBuild
blob: 6bc864e3736e2264cb49aefc2c77c25c589caf42 (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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
#!/bin/bash

# Slackware build script for tuxpaint

# Written by Pablo Santamaria (pablosantamaria@gmail.com)
# Modified by Willy Sudiarto Raharjo <willysr@slackware-id.org>
# Taken over maintenance (and some updates) by Tim Dickson (dickson.tim@googlemail.com)
# added tuxpaint-config 2019-02-11

# 20220222 bkw: Modified by SlackBuilds.org: fix build on 15.0.
# - update for v0.9.27 and config v0.0.18.
# - fix parallel builds.
# - stop spamming the real /usr (ugh).
# 20220610  tim dickson: updated to 0.9.28 . sticking with sdl1 version for now
# 20220629 tim dickson: changed to the sdl2 version
# 20220820 tim dickson: added patch to work with newer SDL2_Pango. should be fixed upstream in next release

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

PRGNAM=tuxpaint
VERSION=${VERSION:-0.9.28}
CONFVER=${CONFVER:-0.0.19}
BUILD=${BUILD:-3}
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

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION-sdl2
rm -rf $PRGNAM-config-$CONFVER
tar xvf $CWD/$PRGNAM-$VERSION-sdl2.tar.gz
cd $PRGNAM-$VERSION-sdl2
#prevent out-of-tree file if inkscape is installed
export INKSCAPE_PROFILE_DIR=${pwd}/.tmp.inkscape
chown -R root:root .
find -L . \
 \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
  -o -perm 511 \) -exec chmod 755 {} \+ -o \
 \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
  -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+

# 20220226 bkw: fix parallel builds.
mkdir trans

# 20220226 bkw: FFS, do NOT attempt to install icons and .desktop
# using the xdg-icon-resource and xdg-desktop-menu tools: these don't
# support DESTDIR or any other way to control where the files get
# installed (meaning they install to the real /usr, not $PKG/usr).

#patch to fix working with newer SDL2_Pango. remove for next version update
patch <$CWD/tuxpaint_SDL2_Pango.patch

sed -i '/^linux_ARCH_INSTALL/s,install-xdg ,,' Makefile

make PREFIX=/usr LIBDIRSUFFIX=$LIBDIRSUFFIX OPTFLAGS="$SLKCFLAGS"
make \
  MAN_PREFIX=$PKG/usr/man \
  DEVMAN_PREFIX=$PKG/usr/man \
  DOC_PREFIX=$PKG/usr/doc/$PRGNAM-$VERSION \
  DEVDOC_PREFIX=$PKG/usr/doc/$PRGNAM-$VERSION \
  PREFIX=/usr \
  LIBDIRSUFFIX=$LIBDIRSUFFIX \
  DESTDIR=$PKG \
  install

mv $PKG/etc/tuxpaint/tuxpaint.conf $PKG/etc/tuxpaint/tuxpaint.conf.new
mkdir -p $PKG/usr/share/applications
cp src/$PRGNAM.desktop $PKG/usr/share/applications/

# 20220226 bkw: install the icons correctly, to $PKG. Not only were
# they going to the real /usr, they were incorrectly named!
for i in data/images/icon*x*.png; do
  px="$( basename $i | cut -dx -f2 | cut -d. -f1 )"
  size=${px}x${px}
  dir=$PKG/usr/share/icons/hicolor/$size/apps
  mkdir -p $dir
  cp -a $i $dir/$PRGNAM.png
done

#
#now for tuxpaint-config
#
cd ..
tar xvf $CWD/$PRGNAM-config-$CONFVER.tar.gz
cd $PRGNAM-config-$CONFVER

# 20220226 bkw: fix parallel builds.
mkdir trans
#fix X11 location
sed -i 's_X11R6/i_/i_g' Makefile

make PREFIX=/usr LIBDIRSUFFIX=$LIBDIRSUFFIX OPTFLAGS="$SLKCFLAGS"
make \
  MAN_PREFIX=/usr/man \
  DEVMAN_PREFIX=/usr/man \
  DOC_PREFIX=/usr/doc/$PRGNAM-$VERSION \
  DEVDOC_PREFIX=/usr/doc/$PRGNAM-$VERSION \
  PREFIX=/usr \
  LIBDIRSUFFIX=$LIBDIRSUFFIX \
  DESTDIR=$PKG \
  install

strip $PKG/usr/bin/tuxpaint{,-config} $PKG/usr/lib*/tuxpaint/plugins/*.so
#fix permissions
chmod 0644 $PKG/usr/man/*/*/tuxpaint.1.gz
chmod 0644 $PKG/usr/man/man1/*.gz
find $PKG/usr/doc/$PRGNAM-$VERSION/ -type f -exec chmod 644 {} \+ 
mkdir -p $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
cat $CWD/doinst.sh > $PKG/install/doinst.sh

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