summaryrefslogtreecommitdiffstats
path: root/network/ircII/ircII.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'network/ircII/ircII.SlackBuild')
-rw-r--r--network/ircII/ircII.SlackBuild85
1 files changed, 65 insertions, 20 deletions
diff --git a/network/ircII/ircII.SlackBuild b/network/ircII/ircII.SlackBuild
index e48d1231f1..ffc8dd1e1a 100644
--- a/network/ircII/ircII.SlackBuild
+++ b/network/ircII/ircII.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for ircII
-# Written by B. Watson (yalhcru@gmail.com)
+# Written by B. Watson (urchlay@slackware.uk)
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
@@ -10,16 +10,31 @@
# Normally I prefer all-lowercase package names, but this just looks
# *wrong* as "ircii".
+# 20210913 bkw:
+# - update for v20210616. The datestamp comes from the output of
+# "ircII -v" (not the ChangeLog).
+# - change DEFSRV to irc.libera.chat, now that freenode is a wasteland.
+# - use a private libexec/ircII dir instead of binaries in /usr/libexec.
+# done because some other ircII-based client might conflict someday.
+# - generate and include HTML docs.
+# - add NOTES_TO_SELF to avoid cluttering up the script with comments.
+# - correct and expand Debian's man pages.
+# - add support for 'paranoid mode'.
+# - have slack-desc show default server and paranoid mode.
+
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=ircII
-VERSION=${VERSION:-20190117_1}
+VERSION=${VERSION:-20210616_2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
SRCNAM=${PRGNAM,,}
SRCVER=${VERSION%_*}
+
+# We're applying Debian's patches against a slightly older version.
+DEBSRCVER=20210328
DEBVER=${VERSION#*_}
if [ -z "$ARCH" ]; then
@@ -30,9 +45,6 @@ if [ -z "$ARCH" ]; then
esac
fi
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
@@ -58,7 +70,14 @@ fi
set -e
-DEFSRV="${DEFSRV:-SSLIRC/chat.freenode.org:6697}"
+PARANOID="${PARANOID:-no}"
+case "$PARANOID" in
+ y*|Y*|t*|T*|1) para_opt="--with-paranoid" ;;
+ *) para_opt="--without-paranoid" ;;
+esac
+echo "=== PARANOID='$PARANOID', para_opt='$para_opt'"
+
+DEFSRV="${DEFSRV:-SSLIRC/irc.libera.chat:6697}"
case "$DEFSRV" in
none|NONE) ;;
*:*) srvopt="--with-default-server=$DEFSRV" ;;
@@ -71,16 +90,24 @@ echo "=== DEFSRV='$DEFSRV', srvopt='$srvopt'"
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $SRCNAM-$SRCVER
-tar xvf $CWD/$SRCNAM-$SRCVER.tar.gz
-cd $SRCNAM-$SRCVER
-tar xvf $CWD/${SRCNAM}_$SRCVER-$DEBVER.debian.tar.xz
+rm -rf $SRCNAM
+tar xvf $CWD/$SRCNAM-$SRCVER.tar.bz2
+cd $SRCNAM
+tar xvf $CWD/${SRCNAM}_$DEBSRCVER-$DEBVER.debian.tar.xz
chown -R root:root .
find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
\! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
-# apply most of Debian's patches.
-rm -f debian/patches/0004-absolute-path*
+# apply most of Debian's patches, except:
+# - the absolute-path patch would move the nonexistent
+# /usr/share/irc/ircII.{motd,servers} to /etc/irc/{motd,servers}.
+# Since we don't ship either file, and their paths are settable in
+# ~/.ircrc anyway, I see no use for this patch.
+# - the Add-ioption patch is meant to fix some compile warnings that we
+# don't actually get. Plus, it won't apply cleanly.
+rm -f debian/patches/0004-absolute-path* \
+ debian/patches/0003-Add-ioption*
+
for i in $( cat debian/patches/series ); do
[ -e debian/patches/$i ] && patch -p1 < debian/patches/$i
done
@@ -95,16 +122,25 @@ sed -i -e '1i#include <curses.h>' \
sed -i -e '/AC_CHECK_LIB(termcap/s,termcap,ncurses,g' \
-e 's,termcap\.h ,,' \
configure.in
+
+# my own typo/grammar/etc fixes. minor nitpicks, maybe.
+patch -p1 < $CWD/manpage.diff
+
autoreconf -ifv
# is there a disadvantage to enabling emacs meta keys?
-CFLAGS="$SLKCFLAGS -Wl,-s" \
-CXXFLAGS="$SLKCFLAGS -Wl,-s" \
+# 20210913 bkw: force --with-openssl, rather than letting it
+# autodetect. this is so we can find out right away if Slackware's
+# openssl gets upgraded to something ircII doesn't yet support.
+CFLAGS="$SLKCFLAGS -Wall -Wl,-s" \
./configure \
$srvopt \
+ $para_opt \
--with-emacs-meta-keys \
+ --with-openssl \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
+ --libexecdir=/usr/libexec/$PRGNAM \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
@@ -119,24 +155,33 @@ mkdir -p $PKG/usr/man/man1
make install DESTDIR=$PKG mandir=$PKG/usr/man/man1
# package called ircII, so let's have an ircII executable.
-ln -s irc-$VERSION $PKG/usr/bin/$PRGNAM
+ln -s $(basename $(realpath $PKG/usr/bin/irc)) $PKG/usr/bin/$PRGNAM
rm -f $PKG/usr/man/man1/irc.1
gzip -9 $PKG/usr/man/man1/*.1
ln -s ircII.1.gz $PKG/usr/man/man1/irc.1.gz
-# Debian includes some extra man pages
-for i in debian/*.1; do
- gzip -9c < $i > $PKG/usr/man/man1/$( basename $i ).gz
+# Debian includes some extra man pages. I've expanded them a bit and
+# fixed some typos.
+for i in $CWD/man/*.1; do
+ sed "s,@VERSION@,$VERSION,g" < $i | \
+ gzip -9c > $PKG/usr/man/man1/$( basename $i ).gz
done
-rm -f doc/*.1 doc/*.spec*
+# HTML docs (generated from /help text). Sure, why not?
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/html
+perl doc/help2html.pl $PKG/usr/share/irc/help $PKG/usr/doc/$PRGNAM-$VERSION/html
+
+rm -f doc/*.1 doc/*.spec* doc/*.orig doc/*.pl
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a ChangeLog NEWS README doc/* contrib $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
+sed -e "s,@para_opt@,$para_opt," \
+ -e "s,@srvopt@,$srvopt," \
+ < $CWD/slack-desc \
+ > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE