summaryrefslogtreecommitdiffstats
path: root/network/weechat/weechat.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'network/weechat/weechat.SlackBuild')
-rw-r--r--network/weechat/weechat.SlackBuild113
1 files changed, 83 insertions, 30 deletions
diff --git a/network/weechat/weechat.SlackBuild b/network/weechat/weechat.SlackBuild
index 1098af890a..d0fa7ad59c 100644
--- a/network/weechat/weechat.SlackBuild
+++ b/network/weechat/weechat.SlackBuild
@@ -1,8 +1,9 @@
-#!/bin/sh
+#!/bin/bash
-# Originally written by hollywoodb (hollywoodb@fastmail.fm)
-# Maintained 2011-2016 by sero (firebird209 at gmail dot com)
-# Maintained 2017-2019 by Benjamin Trigona-Harany <slackbuilds@jaxartes.net>
+# Originally written by hollywoodb (email removed)
+# Maintained 2011-2016 by sero (email removed)
+# Maintained 2017-2021 by Benjamin Trigona-Harany (email removed)
+# Maintained 2021-? by B. Watson <urchlay@slackware.uk>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,10 +23,34 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# 20240213 bkw: update for v4.2.1.
+# 20231219 bkw: update for v4.1.2.
+# 20231111 bkw: update for v4.1.1.
+# 20230907 bkw: update for v4.0.4.
+# 20230104 bkw: update for v3.7.1.
+
+# 20211019 bkw:
+# - take over maintenance.
+# - update for v3.3.
+# - always docs/manpages, now that Slackware has rubygem-asciidoctor.
+# - add doinst.sh, since we have .desktop and icons.
+# - include old-style icon.
+# - mention optional lua deps.
+# - mention the fact that Tcl and Guile are supported scripting langs.
+# - get rid of external stylesheets/fonts/JS in HTML docs, as this
+# is a privacy issue.
+
+# I considered including the contents of Debian's weechat-scripts
+# package here, but weechat's set up to download scripts from a remote
+# server, not a local directory, so probly nobody'd ever use them.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
PRGNAM=weechat
-VERSION=${VERSION:-2.7}
+VERSION=${VERSION:-4.2.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -35,7 +60,11 @@ if [ -z "$ARCH" ]; then
esac
fi
-CWD=$(pwd)
+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}
@@ -60,14 +89,42 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
+tar xvf $CWD/$PRGNAM-$VERSION.tar.xz
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 {} \;
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} + -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} +
+
+# 20211019 bkw: patch from Debian: Build html documentation without
+# requiring data (javascript, fonts) on external websites (potential
+# privacy breach). Patch was slightly modified for Slackware.
+# 20230104 bkw: patch updated, used as-is from Debian this time.
+# 20240213 bkw: patch no longer applies, it's a one-liner, just use sed.
+sed -i 's,icons=font,icons=text,' doc/CMakeLists.txt
+
+# 20211019 bkw: hardcoded paths suck.
+DOC=/usr/doc/$PRGNAM-$VERSION
+PKGDOC=$PKG/$DOC
+sed -i \
+ '/install(/s,\(DESTINATION\) *"\$.DATAROOTDIR.*,\1 '$DOC'/html),' \
+ doc/CMakeLists.txt
+
+# 20211019 bkw:
+# -DENABLE_PHP=OFF because Slackware's php isn't built with --enable-embed.
+# -DENABLE_JAVASCRIPT=OFF because neither SBo nor Slackware provides a
+# v8 package. Looks like this is where you'd get the source: https://v8.dev/
+
+# lua isn't auto-disabled if it's missing, so help it out a little.
+LUAOPT=OFF; WITHLUA=WITHOUT
+for i in lua5.3 lua5.2 lua; do
+ if [ -x /usr/bin/$i ]; then
+ LUAOPT=ON; WITHLUA=WITH
+ fi
+done
+
+# Everything else is autodetected and/or included in a full Slackware
+# install. Have to enable "incomplete docs" in 4.0.x, so it won't
+# complain about disabled plugins.
mkdir build
cd build
@@ -75,34 +132,30 @@ cd build
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DENABLE_MAN=OFF \
- -DENABLE_LUA=OFF \
+ -DENABLE_LUA="$LUAOPT" \
-DENABLE_JAVASCRIPT=OFF \
-DENABLE_PHP=OFF \
- -DENABLE_PYTHON=ON \
- -DENABLE_DOC=OFF \
+ -DENABLE_DOC=ON \
+ -DENABLE_DOC_INCOMPLETE=ON \
+ -DENABLE_MAN=ON \
+ -DMANDIR=/usr/man \
-DLIBDIR=/usr/lib${LIBDIRSUFFIX} \
-DCMAKE_BUILD_TYPE=Release \
..
- make install DESTDIR=$PKG
+ make install/strip DESTDIR=$PKG
cd ..
-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
+gzip -9 $PKG/usr/man/man1/* $PKG/usr/man/*/man1/*
-if [ -e $PKG/usr/share/man ]; then
- mv $PKG/usr/share/man $PKG/usr/man
- find $PKG/usr/man -type f -exec gzip -9 {} \;
-fi
+mkdir -p $PKG/usr/share/pixmaps
+ln -s ../icons/hicolor/32x32/apps/$PRGNAM.png $PKG/usr/share/pixmaps/$PRGNAM.png
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a \
- AUTHORS.adoc COPYING ChangeLog.adoc README.adoc ReleaseNotes.adoc \
- $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+cp -a *.adoc COPYING $PKGDOC
+cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild
mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
+sed "s,@WITHLUA@,$WITHLUA," $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:-tgz}
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE