aboutsummaryrefslogtreecommitdiff
path: root/network/sic
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2021-09-25 17:14:27 -0400
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2021-10-13 00:52:25 +0700
commit4b94d964b240024c718af011026ba52ff7d8a061 (patch)
tree8bb2e9804106399b7b7344a544d2663449a365ef /network/sic
parent4c6598c811f7088fd054bd96c2585785329a26da (diff)
network/sic: Updated for version 1.2+20210506_058547e.
Signed-off-by: B. Watson <yalhcru@gmail.com> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'network/sic')
-rw-r--r--network/sic/README18
-rw-r--r--network/sic/git2tarxz.sh44
-rw-r--r--network/sic/patches/README10
-rw-r--r--network/sic/sic.SlackBuild56
-rw-r--r--network/sic/sic.info6
-rw-r--r--network/sic/slack-desc2
6 files changed, 116 insertions, 20 deletions
diff --git a/network/sic/README b/network/sic/README
index c4a96694d54bf..842025a1bf3bf 100644
--- a/network/sic/README
+++ b/network/sic/README
@@ -1,10 +1,18 @@
-sic (simple irc client)
+sic (simple irc client from suckless.org)
sic is an extremely simple IRC client. It consists of less than 250
lines of code.
-The default host is "irc.oftc.net" and the default port is 6667. You
-can change these by setting IRCHOST and/or IRCPORT in the script's
-environment, e.g.:
+You can control the build via environment variables:
-# IRCHOST=chat.freenode.org IRCPORT=6668 ./sic.SlackBuild
+IRCHOST - sets the default IRC server (default: irc.oftc.net).
+IRCPORT - sets the default port (default: 6667).
+SLASH - set SLASH=yes to change the command prefix from a colon (:) to
+ a slash (/), to make sic work more like other IRC clients.
+
+For even finer-grained control, you can copy config.def.h from the
+sic source to config.h in the SlackBuild directory, and edit it before
+building.
+
+If you want to apply any patches to the sic source, see patches/README
+for instructions.
diff --git a/network/sic/git2tarxz.sh b/network/sic/git2tarxz.sh
new file mode 100644
index 0000000000000..c1693012768f2
--- /dev/null
+++ b/network/sic/git2tarxz.sh
@@ -0,0 +1,44 @@
+#!/bin/sh
+
+# Create source tarball from git repo, with generated version
+# number.
+
+# Note that this script doesn't need to be run as root. It does
+# need to be able to write to the current directory it's run from.
+
+# Takes one optional argument, which is the commit or tag to create
+# a tarball of. With no arg, HEAD is used.
+
+PRGNAM=sic
+CLONE_URL=https://git.suckless.org/sic
+
+set -e
+
+GITDIR=$( mktemp -dt $PRGNAM.git.XXXXXX )
+rm -rf $GITDIR
+git clone $CLONE_URL $GITDIR
+
+CWD="$( pwd )"
+cd $GITDIR
+
+if [ "$1" != "" ]; then
+ git reset --hard "$1" || exit 1
+fi
+
+GIT_SHA=$( git rev-parse --short HEAD )
+DATE=$( git log --date=format:%Y%m%d --format=%cd | head -1 )
+TAG=$( git tag | tail -1 )
+
+VERSION=$TAG+${DATE}_${GIT_SHA}
+
+rm -rf .git
+find . -name .gitignore -print0 | xargs -0 rm -f
+
+cd "$CWD"
+rm -rf $PRGNAM-$VERSION $PRGNAM-$VERSION.tar.xz
+mv $GITDIR $PRGNAM-$VERSION
+tar cvfJ $PRGNAM-$VERSION.tar.xz $PRGNAM-$VERSION
+
+echo
+echo "Created tarball: $PRGNAM-$VERSION.tar.xz"
+echo "VERSION=$VERSION"
diff --git a/network/sic/patches/README b/network/sic/patches/README
new file mode 100644
index 0000000000000..a9c9ce960dc42
--- /dev/null
+++ b/network/sic/patches/README
@@ -0,0 +1,10 @@
+This directory is for optional patches. Any *.diff files found here
+will be applied to the sic source in ASCIIbetical order, when the
+SlackBuild is run.
+
+If the order of patches matters (if later ones depend on earlier
+ones), name them e.g. 001-foo.diff, 002-bar.diff, etc.
+
+Upstream provides a few patches here:
+
+http://tools.suckless.org/sic/patches/
diff --git a/network/sic/sic.SlackBuild b/network/sic/sic.SlackBuild
index 6e05bc42492b0..0b04f980b3527 100644
--- a/network/sic/sic.SlackBuild
+++ b/network/sic/sic.SlackBuild
@@ -22,6 +22,13 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# 20210924 bkw:
+# - update for latest git.
+# - add support for SLASH=yes.
+# - add support for user config.h.
+# - add support for patches.
+# - update README to reflect the above.
+
# 20201113 bkw: The original author of this script hasn't been heard
# from since 2011, and it needs some attention (still mentions i486)
# so I'm taking it.
@@ -35,7 +42,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=sic
-VERSION=${VERSION:-1.2}
+VERSION=${VERSION:-1.2+20210506_058547e}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -48,9 +55,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
@@ -80,22 +84,52 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvzf $CWD/$PRGNAM-$VERSION.tar.gz
+tar xvf $CWD/$PRGNAM-$VERSION.tar.?z
cd $PRGNAM-$VERSION
chown -R root:root .
chmod 644 *
-sed -i "s/CFLAGS =/CFLAGS +=/" config.mk
+# this is more complex than it has to be: upstream released a a mix
+# of -p0 and -p1 patches.
+for i in $CWD/patches/*.diff; do
+ if [ -e "$i" ]; then
+ P=1
+ patch --dry-run -p0 < $i &>/dev/null && P=0
+ echo "=== Applying $( basename $i ) with -p$P"
+ patch -p$P < $i
+ fi
+done
+
+if [ -e "$CWD/config.h" ]; then
+ # if the user's got his own config.h, use it
+ cat "$CWD/config.h" > config.h
+else
+ # if not, use the upstream default
+ cat config.def.h > config.h
+fi
-[ -n "$IRCHOST" ] && \
- sed -i "/host *= *\"/s,\"[^\"]*\",\"$IRCHOST\"," $PRGNAM.c
+# IRCHOST IRCPORT SLASH modify the config.h, even overriding what's
+# in the user's custom one. Also fixup the man page.
+if [ -n "$IRCHOST" ]; then
+ sed -i "/DEFAULT_HOST/s,\".*\"\$,\"$IRCHOST\"," config.h
+ sed -i "/default host/s,(.*) *$,($IRCHOST)," $PRGNAM.1
+fi
-[ -n "$IRCPORT" ] && \
- sed -i "/port *= *\"/s,\"[^\"]*\",\"$IRCPORT\"," $PRGNAM.c
+if [ -n "$IRCPORT" ]; then
+ sed -i "/DEFAULT_PORT/s,\".*\"\$,\"$IRCPORT\"," config.h
+ sed -i "/default port/s,(.*) *$,($IRCPORT)," $PRGNAM.1
+fi
+
+if [ "${SLASH:-no}" = "yes" ]; then
+ sed -i "s|':'|'/'|" config.h
+ sed -i '/^\.BI :/s,:,/,' $PRGNAM.1
+fi
CFLAGS="$SLKCFLAGS -Wl,-s" \
DESTDIR=$PKG \
make \
+ VERSION="$VERSION" \
+ CFLAGS="$SLKCFLAGS" \
PREFIX=/usr \
MANPREFIX=/usr/man \
install
@@ -103,7 +137,7 @@ make \
gzip -9 $PKG/usr/man/man1/$PRGNAM.1
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a LICENSE README $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a LICENSE README config.h $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/network/sic/sic.info b/network/sic/sic.info
index f466828855104..355b87cd23d98 100644
--- a/network/sic/sic.info
+++ b/network/sic/sic.info
@@ -1,8 +1,8 @@
PRGNAM="sic"
-VERSION="1.2"
+VERSION="1.2+20210506_058547e"
HOMEPAGE="http://tools.suckless.org/sic"
-DOWNLOAD="http://dl.suckless.org/tools/sic-1.2.tar.gz"
-MD5SUM="eb099e790c3ce7866df50d3fe1a52c25"
+DOWNLOAD="https://slackware.uk/~urchlay/src/sic-1.2+20210506_058547e.tar.xz"
+MD5SUM="e28bbec757711fd3a8883200e467b088"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/network/sic/slack-desc b/network/sic/slack-desc
index 8a2a71b46044c..bc34e76761ac7 100644
--- a/network/sic/slack-desc
+++ b/network/sic/slack-desc
@@ -6,7 +6,7 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-sic: sic (simple irc client)
+sic: sic (simple irc client from suckless.org)
sic:
sic: sic is an extremely simple IRC client. It consists of less than 250
sic: lines of code.