summaryrefslogtreecommitdiff
path: root/network/cicb
diff options
context:
space:
mode:
Diffstat (limited to 'network/cicb')
-rw-r--r--network/cicb/cicb.SlackBuild38
-rw-r--r--network/cicb/cicb.info6
-rw-r--r--network/cicb/doinst.sh12
-rw-r--r--network/cicb/git2targz.sh53
-rw-r--r--network/cicb/icb.17
-rw-r--r--network/cicb/icb.pod178
6 files changed, 273 insertions, 21 deletions
diff --git a/network/cicb/cicb.SlackBuild b/network/cicb/cicb.SlackBuild
index 3bb53b5889..30349a9a5f 100644
--- a/network/cicb/cicb.SlackBuild
+++ b/network/cicb/cicb.SlackBuild
@@ -6,8 +6,24 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+# 20180623 bkw:
+# There's a new upstream, and development is happening
+# again, using 5.1.1b3 as a basis. Sourceforge project is gone, moved
+# to github. So here's the latest git...
+# - updated for 5.2.0b1+git20170501.
+# - re-add the missing man page source (icb.pod). hope it doesn't go
+# AWOL again.
+# - edit the man page a bit, regenerate it.
+# - install system.icbrc and icbserverdb as config (.new) files,
+# add doinst.sh to support this.
+# - add git2targz.sh script to generate source tarball from git.
+
+# Note to self, or anyone else wanting to update this: use the
+# git2targz.sh script, it should be smart enough to pull the latest
+# code and create a tarball with the correct VERSION.
+
PRGNAM=cicb
-VERSION=${VERSION:-5.1.1b3}
+VERSION=${VERSION:-5.2.0b1+git20170501}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -44,29 +60,19 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+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 \
+ -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 {} \;
-
-# Recent stdio.h defines a getline(), cicb's internal getline() conflicts.
-# There's probably a way to fix this more elegantly with some combination
-# of gcc feature macros, but my attempt led to a maze of twisty compile errors.
-# Renaming cicb's getline() to get_line() works fine and seems more
-# future-proof.
-sed -i 's/getline *(/get_line(/g' icb/*.[ch]
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+
# Need this for recent tcl, to allow deprecated features. Someday this will
# probably stop working and upstream will have to fix it.
SLKCFLAGS="$SLKCFLAGS -DUSE_INTERP_ERRORLINE -DUSE_INTERP_RESULT"
-# Another tcl fix (from upstream's CVS repo)
-patch -p1 < $CWD/tcl_continue_error.diff
-
# library autodetection is broken on 64-bit, hence the
# --with-(readline|ssl)* and the LDFLAGS below. They don't do any harm
# on 32-bit.
@@ -99,7 +105,8 @@ make
mkdir -p $PKG/usr/bin $PKG/usr/share/$PRGNAM
ln -s icb $PKG/usr/bin/$PRGNAM
install -s -m0755 icb/icb $PKG/usr/bin
-install -m0644 $CWD/icbserverdb system.icbrc $PKG/usr/share/$PRGNAM
+cat $CWD/icbserverdb > $PKG/usr/share/$PRGNAM/icbserverdb.new
+cat system.icbrc > $PKG/usr/share/$PRGNAM/system.icbrc.new
# man page written for this SlackBuild
mkdir -p $PKG/usr/man/man1
@@ -112,6 +119,7 @@ cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $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}
diff --git a/network/cicb/cicb.info b/network/cicb/cicb.info
index 1d71d20567..fa085ab226 100644
--- a/network/cicb/cicb.info
+++ b/network/cicb/cicb.info
@@ -1,8 +1,8 @@
PRGNAM="cicb"
-VERSION="5.1.1b3"
+VERSION="5.2.0b1+git20170501"
HOMEPAGE="http://cicb.sourceforge.net/"
-DOWNLOAD="http://ponce.cc/slackware/sources/repo/cicb-5.1.1b3.tar.gz"
-MD5SUM="204989b74ee70585d718ec5f100959c8"
+DOWNLOAD="http://urchlay.naptime.net/~urchlay/src/cicb-5.2.0b1+git20170501.tar.xz"
+MD5SUM="ff3afbdad3f6744a154965b26c75db2e"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/network/cicb/doinst.sh b/network/cicb/doinst.sh
new file mode 100644
index 0000000000..e20b1b4f4b
--- /dev/null
+++ b/network/cicb/doinst.sh
@@ -0,0 +1,12 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ rm $NEW
+ fi
+}
+
+config usr/share/cicb/system.icbrc.new
+config usr/share/cicb/icbserverdb.new
diff --git a/network/cicb/git2targz.sh b/network/cicb/git2targz.sh
new file mode 100644
index 0000000000..c8cd99f76b
--- /dev/null
+++ b/network/cicb/git2targz.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Create source tarball from cicb git repo, with generated version
+# number. We don't include the git history in the tarball.
+# We also don't include the linenoise-1.0/ dir, since it's a readline
+# replacement for OSes that don't have readline... and Slackware
+# isn't one of those OSes.
+
+# 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.
+
+PRGNAM=cicb
+CLONE_URL=https://github.com/hoche/$PRGNAM.git
+
+set -e
+
+GITDIR=$( mktemp -dt $PRGNAM.git.XXXXXX )
+rm -rf $GITDIR
+git clone $CLONE_URL $GITDIR
+
+CWD="$( pwd )"
+cd $GITDIR
+
+# Extract date from last entry in git log. git has so many useful
+# options that it's a PITA to find the one you need...
+DATE=$( git log --date=format:%Y%m%d --pretty=format:%cd -n1 )
+
+VERFILE=icb/version.h
+WHATVER=$( sed -n 's,#define *WHAT_VERSION.*Version \([^"]*\)",\1,p' $VERFILE | sed 's,-,,' )
+
+VERSION=${WHATVER}+git$DATE
+
+rm -rf .git
+find . -name .gitignore -print0 | xargs -0 rm -f
+rm -rf linenoise-*/
+
+cd "$CWD"
+rm -rf $PRGNAM-$VERSION $PRGNAM-$VERSION.tar.xz
+mv $GITDIR $PRGNAM-$VERSION
+tar cvfJ $PRGNAM-$VERSION.tar.xz $PRGNAM-$VERSION
+
+cat <<EOF
+
+Archive created: $PRGNAM-$VERSION.tar.xz
+
+Update $PRGNAM.info with:
+
+VERSION="$VERSION"
+DOWNLOAD="http://urchlay.naptime.net/~urchlay/src/$PRGNAM-$VERSION.tar.xz"
+MD5SUM="$( md5sum $PRGNAM-$VERSION.tar.xz | cut -d' ' -f1 )"
+
+Don't forget to upload the new source!
+EOF
diff --git a/network/cicb/icb.1 b/network/cicb/icb.1
index 309ed9bf27..4daf793c53 100644
--- a/network/cicb/icb.1
+++ b/network/cicb/icb.1
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28)
+.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.29)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "ICB 1"
-.TH ICB 1 "2014-02-04" "5.1.1b3" "SlackBuilds.org"
+.TH ICB 1 "2018-06-23" "5.2.0b1+git20170501" "SlackBuilds.org"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
@@ -240,7 +240,8 @@ System-wide \s-1ICB\s0 startup script, in \s-1TCL.\s0 Contains many helpful comm
.ie n .IP "$HOME/.icb/icbrc" 4
.el .IP "\f(CW$HOME\fR/.icb/icbrc" 4
.IX Item "$HOME/.icb/icbrc"
-Per-user startup script, sourced by system.icbrc if found.
+Per-user startup script, sourced by system.icbrc if found (unless the
+sysadmin has removed that code from \fBsystem.icbrc\fR!)
.SH "AUTHORS"
.IX Header "AUTHORS"
\&\s-1ICB\s0 is based on Sean Casey's ForumNet (\*(L"forum\*(R" or \*(L"fn\*(R") 0.10, with his
diff --git a/network/cicb/icb.pod b/network/cicb/icb.pod
new file mode 100644
index 0000000000..200765b3a2
--- /dev/null
+++ b/network/cicb/icb.pod
@@ -0,0 +1,178 @@
+### Admins: *please* don't remove this file, it's supposed to be in git,
+### so I can update the man page when it needs it. It was in my submission
+### tarball, and somehow never showed up in the SBo repo. Please don't
+### make me go search my backups for it again.
+
+# pod source for icb man page
+# pod2man -s1 -r5.2.0b1+git20170501 --stderr -nICB -cSlackBuilds.org < icb.pod > icb.1
+
+=pod
+
+=head1 NAME
+
+icb - a color-capable International/Internet CB chat client
+
+=head1 SYNOPSIS
+
+icb B<[options]>
+
+=head1 DESCRIPTION
+
+ICB (International CB, or Internet CB) is a teleconferencing system that
+allows Internet users to participate in realtime online discussions.
+
+=head1 OPTIONS
+
+Options may be abbreviated to the shortest unique prefix (generally
+one or two characters). Options requiring an argument must have a space
+before the argument.
+
+=over
+
+=item -nickname I<nick>
+
+Sign on with nickname I<nick> (default: see B<ENVIRONMENT> below).
+
+=item -password I<pass>
+
+Set password to I<pass>. Note: specifying a password on the command line implies -clear.
+
+=item -password -
+
+Prompt for password.
+
+=item -group I<group>
+
+Sign on into group I<group>.
+
+=item -server I<name>
+
+Connect to server named I<name>.
+
+=item -host I<host>
+
+Connect to server on host I<host> (default: B<default.icb.net>).
+
+=item -port I<port>
+
+Try to connect to port I<port> (default: 7326, or 7327 when using SSL).
+
+=item -bindhost I<host>
+
+Try to bind outgoing connect to host I<host> (default: 0.0.0.0).
+
+=item -SSL
+
+Use SSL.
+
+=item -list
+
+List known servers, in order.
+
+=item -clear
+
+Wipe args from command line.
+
+=item -who
+
+See who's on; don't sign on.
+
+=item -restricted
+
+Restricted mode. Disables logging, external shell commands, and
+the tcl commands I<exec>, I<print>, I<file>, and I<source>.
+
+=item -color
+
+Enable ANSI color mode (disabled by default).
+
+=item -help
+
+Display built-in help message.
+
+=back
+
+=head1 ENVIRONMENT
+
+=over
+
+=item ICBNAME
+
+=item FNNAME
+
+=item FORUMNAME
+
+If the B<-nickname> option is not given, these environment variables
+are checked in the order listed. The first one that's set is used as
+the nickname on the server. If none are set, the login name on the local
+system is used as the nickname.
+
+=item EDITOR
+
+=item VISUAL
+
+If EDITOR (or VISUAL, if EDITOR is not set) is set to "emacs" (or a
+path ending in "emacs", such as "/usr/bin/emacs"), icb will use emacs
+editing mode by default, otherwise it will use vi mode. However, the
+default I<system.icbrc> contains "oset editmode emacs" which overrides
+this variable. To use the environment, add "ounset editmode" to your
+I<~/.icb/icbrc>.
+
+=item SHELL
+
+The shell to use when running external commands from within icb, via
+the I<c_chell> command (see B</help primitives>). If not set, B</bin/sh>
+is used.
+
+=back
+
+=head1 FILES
+
+=over
+
+=item /usr/share/cicb/icbserverdb
+
+List of ICB servers. Used by the B<-list> and B<-server> options.
+
+=item /usr/share/cicb/system.icbrc
+
+System-wide ICB startup script, in TCL. Contains many helpful comments.
+
+=item $HOME/.icb/icbrc
+
+Per-user startup script, sourced by system.icbrc if found (unless the
+sysadmin has removed that code from B<system.icbrc>!)
+
+=back
+
+=head1 AUTHORS
+
+ICB is based on Sean Casey's ForumNet ("forum" or "fn") 0.10, with his
+permission. The new name was devised by Mark Giaquinto and John Atwood
+DeVries. The actual code here is based on release 5.0.9 of the Tcl C-Icb
+client. It has been severely modified by a loose knit group of users who
+can't seem to part with the traditional client code.
+
+The parts of the code that are left over from ForumNet are Copyright (c)
+1990 by Carrick Sean Casey.
+
+The parts of the code that are left over from icb 5.0.9 is Copyright (c)
+1993 by Mark J. Reed.
+
+That said, cicb 5.1 is nearly a complete rewrite of the original code by
+the cicb-workers committee, which includes, but is not limited to: Erik
+Fichtner, Phil Stracchino, Michel Hoche-Mong, and Felix Lee.
+
+This man page written by B. Watson for the SlackBuilds.org project, and may
+be used by anyone.
+
+=head1 LICENSE
+
+This code has been placed under the GNU Public License with Mark Reed's
+blessing. Please see the file "COPYING" for further information.
+
+=head1 SEE ALSO
+
+icb's extensive built-in help, accessed by the B</help> command.
+
+The ICB web site, B<http://www.icb.net/>.