diff options
Diffstat (limited to 'network/weechat/weechat.SlackBuild')
-rw-r--r-- | network/weechat/weechat.SlackBuild | 113 |
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 |