aboutsummaryrefslogtreecommitdiff
path: root/development
diff options
context:
space:
mode:
Diffstat (limited to 'development')
-rw-r--r--development/ldns/ldns.SlackBuild105
1 files changed, 65 insertions, 40 deletions
diff --git a/development/ldns/ldns.SlackBuild b/development/ldns/ldns.SlackBuild
index 9588369808ed3..e0f34d56ecc3a 100644
--- a/development/ldns/ldns.SlackBuild
+++ b/development/ldns/ldns.SlackBuild
@@ -37,6 +37,7 @@
# - parallel makes are broken, use -j1.
# - fix code that finds the /usr/share/vim/vimXX directory (it would
# fail if there were more than one of them).
+# - add python3 support, inspired by Dave Woodfall.
cd $(dirname $0) ; CWD=$(pwd)
@@ -81,46 +82,70 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
-cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
-cd $PRGNAM-$VERSION
-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 {} \+
-
-CXXFLAGS="$SLKCFLAGS" \
-CFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --includedir=/usr/include \
- --localstatedir=/var \
- --sysconfdir=/etc \
- --mandir=/usr/man \
- --disable-static \
- --enable-rrtype-ninfo \
- --enable-rrtype-rkey \
- --enable-rrtype-ta \
- --enable-rrtype-avc \
- --disable-rpath \
- --disable-dane-verify \
- --with-drill \
- --with-examples \
- --with-pyldns \
- --with-pyldnsx \
- --with-p5-dns-ldns \
- --with-ca-path=/etc/ssl/certs \
- --with-ca-file=/etc/ssl/certs/ca-certificates.crt \
- --with-trust-anchor=/etc/$PRGNAM/root.key \
- --build=$ARCH-slackware-linux
-
-make -j1
-make install DESTDIR=$PKG INSTALLVENDORMAN3DIR=/usr/man/man3 INSTALLDIRS=vendor
-python -m compileall $PKG/usr/lib*/python*/site-packages
+
+buildit() {
+ local pyver="$1"
+ local perlflag="$2"
+
+ cd $TMP
+ rm -rf $PRGNAM-$VERSION
+ tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+ cd $PRGNAM-$VERSION
+ 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 {} \+
+
+ PYTHON=/usr/bin/python$pyver \
+ CXXFLAGS="$SLKCFLAGS" \
+ CFLAGS="$SLKCFLAGS" \
+ ./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --includedir=/usr/include \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
+ --mandir=/usr/man \
+ --disable-static \
+ --enable-rrtype-ninfo \
+ --enable-rrtype-rkey \
+ --enable-rrtype-ta \
+ --enable-rrtype-avc \
+ --disable-rpath \
+ --disable-dane-verify \
+ --with-drill \
+ --with-examples \
+ --with-pyldns \
+ --with-pyldnsx \
+ $perlflag \
+ --with-ca-path=/etc/ssl/certs \
+ --with-ca-file=/etc/ssl/certs/ca-certificates.crt \
+ --with-trust-anchor=/etc/$PRGNAM/root.key \
+ --build=$ARCH-slackware-linux
+
+ make -j1
+ make install DESTDIR=$PKG INSTALLVENDORMAN3DIR=/usr/man/man3 INSTALLDIRS=vendor
+}
+
+# 20220308 bkw: python version is either/or. to include support for
+# python2 and python3 in the same package, we have to build everything
+# twice. first time around, build python2 support, and skip the perl stuff.
+buildit 2 --without-p5-dns-ldns
+
+# 20220308 bkw: hang onto the python stuff, blow everything else away.
+mkdir -p $PKG/.keep
+mv $PKG/usr/lib*/python2* $PKG/.keep
+rm -rf $PKG/usr
+mkdir -p $PKG/usr/lib$LIBDIRSUFFIX
+mv $PKG/.keep/* $PKG/usr/lib$LIBDIRSUFFIX
+rm -rf $PKG/.keep
+python -m compileall $PKG/usr/lib*/python2*/site-packages
+
+# 20220308 bkw: now do it over again, with python 3 and perl.
+buildit 3 --with-p5-dns-ldns
+python3 -m compileall $PKG/usr/lib*/python3*/site-packages
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true