diff options
Diffstat (limited to 'network/weechat')
-rw-r--r-- | network/weechat/README | 32 | ||||
-rw-r--r-- | network/weechat/doinst.sh | 9 | ||||
-rw-r--r-- | network/weechat/slack-desc | 4 | ||||
-rw-r--r-- | network/weechat/weechat.SlackBuild | 119 | ||||
-rw-r--r-- | network/weechat/weechat.info | 14 |
5 files changed, 126 insertions, 52 deletions
diff --git a/network/weechat/README b/network/weechat/README index b67241d043..0acafadeb3 100644 --- a/network/weechat/README +++ b/network/weechat/README @@ -1,13 +1,27 @@ -WeeChat is a light, fast, multilingual, curses-based multiplatform IRC client. +weechat: weechat (IRC client) + +WeeChat is a light, fast, multilingual, curses-based multiplatform +IRC client. WeeChat supports: - DCC files and chats, multi-server connections, background connections, - IPv6, SSL, proxy, auto-reconnection, DCC2, nicklist, window splitting, - FIFO pipe for remote control, Aspell, JavaScript, Perl, Python, Ruby, - nick auto-completion, lag indication, auto-logging and client upgrades - without dropping connections. +- DCC files and chats, multi-server connections, background connections. +- IPv6, SSL, proxy, auto-reconnection, DCC2, nicklist, window splitting. +- FIFO pipe for remote control; Aspell; scripting in Perl, Python 3, + Ruby, Tcl, Scheme, Lua[1], JavaScript[2], PHP[3]; nick + auto-completion; lag indication; auto-logging; and client upgrades + without dropping connections. + +WeeChat will be built with support for Perl, Python 3, Guile, Ruby, +and Tcl scripting[1]. Once WeeChat is running, you can install scripts +using the built-in script manager ("/help script" to get started). + +[1] To enable Lua scripting, install one of these optional dependencies: + lua53, lua52, or lua. The highest-numbered version of lua will be + used, if multiple versions are installed. -WeeChat will be built with support for Perl, Python and Ruby scripting. +[2] JavaScript is not currently supported in this build of WeeChat. It + also isn't supported in Debian's set of weechat packages, for what + that's worth. -WeeChat documentation and manpages will not be built by default. They can be -enabled by setting DOC=ON, provided that ruby/rubygem-asciidoctor is installed. +[3] PHP is not supported in this SlackBuild because Slackware's php + package isn't built with --enable-embed. diff --git a/network/weechat/doinst.sh b/network/weechat/doinst.sh new file mode 100644 index 0000000000..3e5691a052 --- /dev/null +++ b/network/weechat/doinst.sh @@ -0,0 +1,9 @@ +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi + +if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then + if [ -x /usr/bin/gtk-update-icon-cache ]; then + /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1 + fi +fi diff --git a/network/weechat/slack-desc b/network/weechat/slack-desc index 5a6a83cdc6..e474469472 100644 --- a/network/weechat/slack-desc +++ b/network/weechat/slack-desc @@ -11,9 +11,9 @@ weechat: weechat: WeeChat is a fast & light multilingual curses-based multiplatform weechat: IRC client written from scratch and released under the GPL. weechat: -weechat: Homepage: http://www.weechat.org -weechat: +weechat: Homepage: https://www.weechat.org weechat: +weechat: This package was built @WITHLUA@ lua scripting support. weechat: weechat: weechat: diff --git a/network/weechat/weechat.SlackBuild b/network/weechat/weechat.SlackBuild index 1c1b8d79a7..9e512c979e 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-2021 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:-3.0.1} +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,44 @@ 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 {} + + +sed -i "s|ruby-3.2|ruby-3.3 ruby-3.2|" cmake/FindRuby.cmake + +# 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,38 +134,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=${DOC:-OFF} \ - -DENABLE_MAN=${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 -if [ -e $PKG/usr/share/doc/$PRGNAM ]; then - mv $PKG/usr/share/doc/$PRGNAM $PKG/usr/doc/$PRGNAM-$VERSION/html -fi -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 diff --git a/network/weechat/weechat.info b/network/weechat/weechat.info index cbbc7bbaca..85db3dc94f 100644 --- a/network/weechat/weechat.info +++ b/network/weechat/weechat.info @@ -1,10 +1,10 @@ PRGNAM="weechat" -VERSION="3.0.1" -HOMEPAGE="http://www.weechat.org" -DOWNLOAD="http://weechat.org/files/src/weechat-3.0.1.tar.bz2" -MD5SUM="620af5d5438ae5c141aa0e01a70cabe4" +VERSION="4.2.1" +HOMEPAGE="https://www.weechat.org" +DOWNLOAD="https://weechat.org/files/src/weechat-4.2.1.tar.xz" +MD5SUM="1d6fe2613e1e33a3cb8fc11a0c6d322a" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="python3" -MAINTAINER="Benjamin Trigona-Harany" -EMAIL="slackbuilds@jaxartes.net" +REQUIRES="" +MAINTAINER="B. Watson" +EMAIL="urchlay@slackware.uk" |