From e27dc891e21a90e8a1587d8a3312b5d6316e9ee2 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Sat, 23 Jun 2018 21:22:38 -0400 Subject: network/cicb: Updated for version 5.2.0b1+git20170501. Signed-off-by: B. Watson --- network/cicb/cicb.SlackBuild | 38 +++++---- network/cicb/cicb.info | 6 +- network/cicb/doinst.sh | 12 +++ network/cicb/git2targz.sh | 53 +++++++++++++ network/cicb/icb.1 | 7 +- network/cicb/icb.pod | 178 +++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 273 insertions(+), 21 deletions(-) create mode 100644 network/cicb/doinst.sh create mode 100644 network/cicb/git2targz.sh create mode 100644 network/cicb/icb.pod (limited to 'network/cicb') 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 < 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 + +Sign on with nickname I (default: see B below). + +=item -password I + +Set password to I. Note: specifying a password on the command line implies -clear. + +=item -password - + +Prompt for password. + +=item -group I + +Sign on into group I. + +=item -server I + +Connect to server named I. + +=item -host I + +Connect to server on host I (default: B). + +=item -port I + +Try to connect to port I (default: 7326, or 7327 when using SSL). + +=item -bindhost I + +Try to bind outgoing connect to host I (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, I, I, and I. + +=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 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 command (see B). If not set, B +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!) + +=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 command. + +The ICB web site, B. -- cgit v1.2.3