-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtinyxml2.SlackBuild
More file actions
executable file
·110 lines (95 loc) · 3.18 KB
/
tinyxml2.SlackBuild
File metadata and controls
executable file
·110 lines (95 loc) · 3.18 KB
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
#!/bin/sh
#
# Slackware build script for TinyXML
# Copyright (C) 2015-2022 Georgi D. Sotirov <gdsotirov@gmail.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# Visit SlackPack at https://sotirov-bg.net/slackpack/
#
. ../../slack-package.conf
NAME='tinyxml2'
VERSION=9.0.0
ARCH=${ARCH:-i586}
BUILD=${BUILD:-1}
TMP=${TMP:-/tmp}
CWD=${CWD:-`pwd`}
if [ ! -e $TMP ]; then
mkdir --parents $TMP # location to build the source
fi
SRC=$TMP/${NAME}-${VERSION}
if [ -e $SRC -a -d $SRC ]; then
echo "Source directory '$SRC' already exists! Plaese, move it or remove it."
exit 1
fi
PKG=$TMP/package-${NAME}
if [ -e $PKG -a -d $PKG ]; then
echo "Package creation directory '$PKG' already exists! Please, move it or remove it."
exit 2
fi
mkdir --parents $PKG
# Extract the source
cd $TMP
tar --extract --verbose --file=$CWD/${NAME}-${VERSION}.tar.gz || exit 3
cd $SRC
fix_source
# Configure
mkdir build; cd build
cmake .. -LAH \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_TESTING=ON \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
-DCMAKE_C_FLAGS="$SLKCFLAGS" \
-DCMAKE_INSTALL_LIBDIR=/usr/lib${LIBDIRSUFFIX} \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_VERBOSE_MAKEFILE=TRUE || exit 5
# Build, test & install
make --jobs || exit 6
make test || exit 7
make DESTDIR=$PKG install || exit 8
cd ..
# Prepare
bin_perms $PKG
( cd $PKG; strip_bin; strip_lib )
DOCFILES="$DOCFILES LICENSE.txt readme.md"
( cd $SRC; create_docs $PKG ${NAME}-${VERSION} )
( cd $PKG/usr/doc/${NAME}-${VERSION};
mv readme.md README
mv LICENSE.txt COPYING )
install --mode 755 --directory $PKG/install
install --mode 644 --preserve-timestamps \
$CWD/slack-desc $PKG/install/slack-desc
install --mode 644 --preserve-timestamps \
$CWD/slack-required $PKG/install/slack-required
SBDIR=$PKG/usr/src/slackbuilds/${NAME}-${VERSION}
install --mode 755 --directory $SBDIR
install --mode 644 --preserve-timestamps \
$CWD/slack-desc $SBDIR/slack-desc
install --mode 644 --preserve-timestamps \
$CWD/slack-required $SBDIR/slack-required
install --mode 644 --preserve-timestamps \
$CWD/${NAME}.SlackBuild $SBDIR/${NAME}.SlackBuild
# Pack
cd $PKG
PKGNAME=${NAME}-${VERSION}-${ARCH}-${BUILD}${MYIN}
makepkg --chown n --linkadd y $PKG_DIR/${PKGNAME}.txz
md5sum $PKG_DIR/${PKGNAME}.txz > $PKG_DIR/${PKGNAME}.txz.md5
install --mode 644 $PKG/install/slack-desc $PKG_DIR/${PKGNAME}.txt
# Clean up (optionally)
if [ "$1" == "--cleanup" ]; then
rm --recursive $SRC
rm --recursive $PKG
fi