-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmysql-connector-c++.SlackBuild
executable file
·116 lines (99 loc) · 3.42 KB
/
mysql-connector-c++.SlackBuild
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
#!/bin/sh
#
# Slackware build script for MySQL Connector/C++
# Copyright (C) 2010-2020 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=mysql-connector-c++
VERSION=1.1.12
ARCH=${ARCH:-i586}
BUILD=${BUILD:-1}
TMP=${TMP:-/tmp}
CWD=${CWD:-`pwd`}
if [ ! -e $TMP ]; then
mkdir -p $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 -p $PKG
# Extract the source
cd $TMP
tar -xvf $CWD/${NAME}-${VERSION}.tar.gz || exit 3
cd $SRC
fix_source
# Apply patches
if [ -e $CWD/${NAME}-${VERSION}.diff ]; then
patch -p1 -b -z.orig < $CWD/${NAME}-${VERSION}.diff
fi
# Configure custom build
cmake . -LA \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_COMPILER=/usr/bin/g++ \
-DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
-DMYSQL_CXXFLAGS="$MYSQL_CXXFLAGS -fexceptions" \
-DCMAKE_C_COMPILER=/usr/bin/gcc \
-DCMAKE_C_FLAGS="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_DOCDIR=/usr/doc/${NAME}-${VERSION} \
-DCMAKE_INSTALL_LIBDIR=/usr/lib${LIBDIRSUFFIX} \
-DMYSQLCLIENT_STATIC_BINDING=1 \
-DMYSQLCPPCONN_BUILD_EXAMPLES=0 || exit 4
# Build and install
make -j4 VERBOSE=1 || exit 5
make install DESTDIR=$PKG || exit 6
# Remove static dir and docs in wrong place
( cd $PKG; rm usr/lib${LIBDIRSUFFIX}/libmysqlcppconn-static.a )
( cd $PKG/usr; rm BUILDINFO LICENSE README )
# Prepare package
bin_perms $PKG
( cd $PKG; strip_bin; strip_lib; strip_static )
DOCFILES="$DOCFILES BUILDINFO examples"
create_docs $PKG ${NAME}-${VERSION}
( cd $PKG/usr/doc/${NAME}-${VERSION}; mv LICENSE COPYING )
install -m 755 -d $PKG/install
install -m 644 $CWD/slack-desc $PKG/install/slack-desc
install -m 644 $CWD/slack-required $PKG/install/slack-required
SBDIR=$PKG/usr/src/slackbuilds/${NAME}-${VERSION}
install -m 755 -d $SBDIR
install -m 644 $CWD/slack-desc $SBDIR/slack-desc
install -m 644 $CWD/slack-required $SBDIR/slack-required
if [ -e $CWD/${NAME}-${VERSION}.diff ]; then
install -m 644 $CWD/${NAME}-${VERSION}.diff $SBDIR/${NAME}-${VERSION}.diff
fi
install -m 644 $CWD/${NAME}.SlackBuild $SBDIR/${NAME}.SlackBuild
# Build package
cd $PKG
PKGNAME=${NAME}-${VERSION}-${ARCH}-${BUILD}${MYIN}
makepkg -l y -c n -p $PKG_DIR/${PKGNAME}.txz
cd $PKG_DIR
md5sum ${PKGNAME}.txz > ${PKGNAME}.txz.md5
cat $PKG/install/slack-desc > $PKG_DIR/${PKGNAME}.txt
# Clean up (optionally)
if [ "$1" == "--cleanup" ]; then
rm -rf $SRC
rm -rf $PKG
fi