blob: 93e023b6e0caab3e8510195142e8b65ba0c701dc (
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
# 20230111 bkw: Modified by SlackBuilds.org: BUILD=4, just to force a
# rebuild after libunibreak update to 5.1.
# 20230407 tim: update to 0.9.29 and 0.0.20
# 20230519 tim: update to 0.9.31 and 0.0.22
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=tuxpaint
VERSION=${VERSION:-0.9.31}
CONFVER=${CONFVER:-0.0.22}
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" ]; 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.tar.gz
cd $PRGNAM-$VERSION
#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: 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).
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
#remove binary plugin examples that shouldn't be in doc, and unneeded install doc.
rm -f $PKG/usr/doc/$PRGNAM-$VERSION/en/*.so $PKG/usr/doc/$PRGNAM-$VERSION/INSTALL.txt
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
|