-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBotan.build
More file actions
executable file
·151 lines (118 loc) · 2.9 KB
/
Botan.build
File metadata and controls
executable file
·151 lines (118 loc) · 2.9 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
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
151
#!/bin/bash
#
. build_funcs
TARNAME=Botan
TARNAMEEXTRA=
TARSEP="-"
TARDIR=${SOURCE}/b
#TAR_EXT=.tar.gz
VERSION=3.11.1
VERSIONEXTRA=
BUILD=1
WEBPAGE="https://botan.randombit.net/"
#TAR_PROG=
#TAR_OPTS=
#PKGNAME=
#PKGVERSION=
#BUILD_SUFFIX=
#ARCH=noarch
FULL_TARNAME=${TARDIR}/${TARNAME}${TARNAMEEXTRA}${TARSEP}${VERSION}${VERSIONEXTRA}${TAR_EXT}
pre_unpack
PKG=/tmp/package-${PKGNAME}
if [ ! -f ${FULL_TARNAME} ]
then
echo Can\'t find ${FULL_TARNAME}
exit
fi
if [ ! -d ${TARNAME}-${VERSION} ]
then
${TAR_PROG} ${TAR_OPTS} ${FULL_TARNAME}
#mv ${TARNAME}-${VERSION} ${TARNAME}-${VERSION}
if [ ! -d ${TARNAME}-${VERSION} ]
then
echo "${TARNAME}-${VERSION} directory not found"
exit
fi
(cd ${TARNAME}-${VERSION}
#patch -p1 < ${CWD}/
)
fi
pre_configure
cd ${TARNAME}-${VERSION}
fix_perms
mkdir _BuilD_
cd _BuilD_
PKGCFLAGS="-O2 -march=i686 ${CPUOPT}=i686"
if [ ${DO_CONFIGURE} == "yes" ]
then
if [ -f ../configure.py ]
then
CFLAGS="${SLKCFLAGS}" \
CXXFLAGS="${SLKCFLAGS}" \
../configure.py --prefix=/usr \
--sysconfdir=/etc \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--localstatedir=/var/lib \
--mandir=/usr/man
elif [ -f ../CMakeLists.txt ]
then
cmake -DCMAKE_C_FLAGS:STRING="${SLKCFLAGS}" \
-DCMAKE_CXX_FLAGS:STRING="${SLKCFLAGS}" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DMAN_INSTALL_DIR=/usr/man \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DSYSCONF_INSTALL_DIR=/etc \
..
elif [ -f ../meson.build ]
then
meson --prefix=/usr . ..
fi
fi
if [ ${DO_MAKE} == "yes" ]
then
if [ -f ../meson.build ]
then
ninja || exit
else
make ${NUM_JOBS} || exit
fi
fi
if [ ${DO_INSTALL} != "yes" ]
then
exit
fi
if [ -f ../meson.build ]
then
DESTDIR=${PKG} ninja install
else
make install DESTDIR=${PKG}
fi
cd ..
strip_binaries
fix_links
compress_manpages
compress_info
cp -a \
AUTHORS COPYING* INSTALL NEWS PLANS README* TODO \
${PKG}/usr/doc/${TARNAME}-${VERSION}
fix_docs
#-----handy-ruler-for-slack-desc-width-------------------------------|
make_slack_desc << EOF "Botan: Crypto and TLS for Modern C++"
Botan (Japanese for peony flower) is a C++ cryptography library
released under the permissive Simplified BSD license.
Botans goal is to be the best option for cryptography in C++ by
offering the tools necessary to implement a range of practical
systems, such as TLS protocol, X.509 certificates, modern AEAD
ciphers, PKCS#11 and TPM hardware support, password hashing, and post
quantum crypto schemes. A Python binding is included, and several
other language bindings are available. It is used in many open source
and commercial products. The library is accompanied by a featureful
command line interface.
EOF
post_install
cd ${PKG}
su -c "chown -R root:root ${PKG}; \
find . -type d -exec chmod 755 {} \; ; \
makepkg -l y -c n ${PKGDIR}${PKGNAME}-${PKGVERSION}-${ARCH}-${BUILD}${BUILD_SUFFIX}.tgz; \
chown -R ${USERNAME}:${GROUP} ${PKG}"