diff options
-rw-r--r-- | network/irssi_otr/README | 12 | ||||
-rw-r--r-- | network/irssi_otr/irssi_otr.SlackBuild | 118 | ||||
-rw-r--r-- | network/irssi_otr/irssi_otr.info | 12 | ||||
-rw-r--r-- | network/irssi_otr/slack-desc | 6 | ||||
-rw-r--r-- | network/irssi_otr/xchat/README | 2 | ||||
-rw-r--r-- | network/irssi_otr/xchat/xchat-plugin.h | 334 |
6 files changed, 39 insertions, 445 deletions
diff --git a/network/irssi_otr/README b/network/irssi_otr/README index c3a9b56459..62aee9b553 100644 --- a/network/irssi_otr/README +++ b/network/irssi_otr/README @@ -1,12 +1,10 @@ -irssi_otr (Off-the-Record Messaging (OTR) for IRC clients) +irssi_otr (OTR plugin for irssi) -Off-the-Record Messaging (OTR) plugin for xchat and irssi +Off-the-Record Messaging (OTR) plugin for the irssi IRC client To use OTR within irssi, install this package, then "/load libotr" and "/otr help" for usage instructions. Also see the README in -/usr/doc/irssi_otr-$VERSION. To use with xchat, see also README.xchat. +/usr/doc/irssi_otr-$VERSION. -Note: The xchat plugin is automatically loaded when xchat starts. - -Either irssi or xchat support can be disabled by setting one of IRSSI=no -or XCHAT=no in the script's environment. It's an error to disable both. +irssi_otr formerly had support for xchat, but it was removed by +upstream. Be aware of this when upgrading. diff --git a/network/irssi_otr/irssi_otr.SlackBuild b/network/irssi_otr/irssi_otr.SlackBuild index c95c59c4b0..c085bb4609 100644 --- a/network/irssi_otr/irssi_otr.SlackBuild +++ b/network/irssi_otr/irssi_otr.SlackBuild @@ -6,29 +6,15 @@ # Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. -# 20130326 bkw: -# - Use a private copy of libotr 3.x, statically built. -# Needed because SBo libotr has upgraded to 4.0, which this -# plugin won't build with. Removed libotr from REQUIRES in .info file. -# - Add xchat support (upstream already supported it, no patching needed) -# - Better template compliance (cmake in a build dir, actually use SLKCFLAGS) -# - Bumped BUILD to 2 - -# For anyone that gets tempted to try the latest git irssi-otr code, here's -# what I found when I messed with a git checkout from 20130326: - -# Pros: libotr 4.0 is supported -# weechat support has been added -# Cons: xchat support is totally broken -# irssi segfaults on plugin load, unless the plugin is built with -O0 -# the weechat support doesn't work without patching - -# In view of the above, I decided to stick with the irssi_otr 0.3 release. -# Sorry, weechat users. +# 20150510 bkw: +# - updated for 1.0.0. +# - 1.0.0 uses libotr-4.x, so rip out all the static linking mess. +# - upstream switched from cmake to autoconf, rewrite most of script. +# - xchat support was dropped by upstream, so remove all references. PRGNAM=irssi_otr -VERSION=${VERSION:-0.3} -BUILD=${BUILD:-2} +VERSION=${VERSION:-1.0.0} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -59,47 +45,12 @@ else fi TARNAM=$( echo $PRGNAM | sed 's/_/-/g' ) -LIBOTR_VERSION=3.2.1 - -IRSSI=${IRSSI:-yes} -IRSSI_PLUGIN="libotr.so" -IRSSI_PLUGIN_DIR=$PKG/usr/lib$LIBDIRSUFFIX/irssi/modules - -XCHAT=${XCHAT:-yes} -XCHAT_PLUGIN="libxchatotr.so" -XCHAT_PLUGIN_DIR=$PKG/usr/lib$LIBDIRSUFFIX/xchat/plugins - -if [ "$IRSSI" != "yes" -a "$XCHAT" != "yes" ]; then - echo "Can't build with both irssi and xchat disabled (nothing to build)" 2>&1 - exit 1 -fi set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP - -# First, build our static libotr3. It won't get installed as part of -# the package. -rm -rf libotr-$LIBOTR_VERSION -tar xvf $CWD/libotr-$LIBOTR_VERSION.tar.gz -cd libotr-$LIBOTR_VERSION - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure --prefix=$( pwd )/installed \ - --enable-static \ - --disable-shared \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --build=$ARCH-slackware-linux - -make -make install - -# Now we can build irssi_otr. -cd $TMP rm -rf $TARNAM-$VERSION tar xvf $CWD/$TARNAM-$VERSION.tar.gz cd $TARNAM-$VERSION @@ -110,49 +61,32 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -mkdir build -cd build - -if [ "$IRSSI" = "yes" ]; then - CLIENTS=" irssi" - cmake -DCMAKE_C_FLAGS_RELEASE="$SLKCFLAGS" \ - -DCMAKE_BUILD_TYPE="release" \ - -DLIBOTR_INCLUDE_DIR=$TMP/libotr-$LIBOTR_VERSION/installed/include \ - -DLIBOTR_LIBRARY=$TMP/libotr-$LIBOTR_VERSION/installed/lib/libotr.a \ - .. - make - - # Easier to manually install than to coerce cmake's install - # target into using LIBDIRSUFFIX - mkdir -p $IRSSI_PLUGIN_DIR - install -s -o root -g root -m 0755 $IRSSI_PLUGIN $IRSSI_PLUGIN_DIR -fi +# irssi module dir is hardcoded to lib. +sed -i "/^IRSSI_MODULE_DIR/s,lib,lib$LIBDIRSUFFIX," configure.ac -if [ "$XCHAT" = "yes" ]; then - CLIENTS="$CLIENTS xchat" - rm -rf * - sed -i 's,irssi,xchat,' ../tarballdefs.cmake - cmake -DCMAKE_C_FLAGS_RELEASE="$SLKCFLAGS" \ - -DCMAKE_BUILD_TYPE="release" \ - -DLIBOTR_INCLUDE_DIR=$TMP/libotr-$LIBOTR_VERSION/installed/include \ - -DLIBOTR_LIBRARY=$TMP/libotr-$LIBOTR_VERSION/installed/lib/libotr.a \ - -DXCHAT_INCLUDE_DIR=$CWD \ - .. - - make - mkdir -p $XCHAT_PLUGIN_DIR - install -s -o root -g root -m 0755 $XCHAT_PLUGIN $XCHAT_PLUGIN_DIR -fi +./bootstrap + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PRGNAM-$VERSION \ + --build=$ARCH-slackware-linux -cd .. +make +make install-strip DESTDIR=$PKG +# AUTHORS is a 0-byte placeholder. mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a LICENSE README ChangeLog *.txt $PKG/usr/doc/$PRGNAM-$VERSION -[ "$XCHAT" = "yes" ] && cp -a README.xchat $PKG/usr/doc/$PRGNAM-$VERSION +cp -a ChangeLog LICENSE README* $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install -sed "s/@CLIENTS@/$CLIENTS/" $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/slack-desc > $PKG/install/slack-desc cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/network/irssi_otr/irssi_otr.info b/network/irssi_otr/irssi_otr.info index a32bb3f440..63a625667b 100644 --- a/network/irssi_otr/irssi_otr.info +++ b/network/irssi_otr/irssi_otr.info @@ -1,12 +1,10 @@ PRGNAM="irssi_otr" -VERSION="0.3" -HOMEPAGE="http://irssi-otr.tuxfamily.org/" -DOWNLOAD="ftp://download.tuxfamily.org/irssiotr/irssi-otr-0.3.tar.gz \ - http://www.cypherpunks.ca/otr/libotr-3.2.1.tar.gz" -MD5SUM="e3d46a31955470dd3fa0f6392c1dcfb4 \ - 974acf937d2ce0ee89b27a9815c17a3f" +VERSION="1.0.0" +HOMEPAGE="https://github.com/cryptodotis/irssi-otr" +DOWNLOAD="https://github.com/cryptodotis/irssi-otr/archive/v1.0.0.tar.gz" +MD5SUM="e3d46a31955470dd3fa0f6392c1dcfb4" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="" +REQUIRES="libotr" MAINTAINER="B. Watson" EMAIL="yalhcru@gmail.com" diff --git a/network/irssi_otr/slack-desc b/network/irssi_otr/slack-desc index f77ab091a7..5267033488 100644 --- a/network/irssi_otr/slack-desc +++ b/network/irssi_otr/slack-desc @@ -6,11 +6,11 @@ # customary to leave one space after the ':' except on otherwise blank lines. |-----handy-ruler------------------------------------------------------| -irssi_otr: irssi_otr (OTR plugin for IRC clients) +irssi_otr: irssi_otr (OTR plugin for irssi) +irssi_otr: +irssi_otr: Off-the-Record Messaging (OTR) plugin for the irssi IRC client irssi_otr: -irssi_otr: Off-the-Record Messaging (OTR) plugin for xchat and irssi irssi_otr: -irssi_otr: This package was built with support for:@CLIENTS@ irssi_otr: irssi_otr: irssi_otr: diff --git a/network/irssi_otr/xchat/README b/network/irssi_otr/xchat/README deleted file mode 100644 index 72a3cb8d50..0000000000 --- a/network/irssi_otr/xchat/README +++ /dev/null @@ -1,2 +0,0 @@ -# Yes, this is used in the build script: -# -DXCHAT_INCLUDE_DIR=$CWD diff --git a/network/irssi_otr/xchat/xchat-plugin.h b/network/irssi_otr/xchat/xchat-plugin.h deleted file mode 100644 index 30b19295c5..0000000000 --- a/network/irssi_otr/xchat/xchat-plugin.h +++ /dev/null @@ -1,334 +0,0 @@ -/* You can distribute this header with your plugins for easy compilation */ -#ifndef XCHAT_PLUGIN_H -#define XCHAT_PLUGIN_H - -#include <time.h> - -#define XCHAT_IFACE_MAJOR 1 -#define XCHAT_IFACE_MINOR 9 -#define XCHAT_IFACE_MICRO 11 -#define XCHAT_IFACE_VERSION ((XCHAT_IFACE_MAJOR * 10000) + \ - (XCHAT_IFACE_MINOR * 100) + \ - (XCHAT_IFACE_MICRO)) - -#define XCHAT_PRI_HIGHEST 127 -#define XCHAT_PRI_HIGH 64 -#define XCHAT_PRI_NORM 0 -#define XCHAT_PRI_LOW (-64) -#define XCHAT_PRI_LOWEST (-128) - -#define XCHAT_FD_READ 1 -#define XCHAT_FD_WRITE 2 -#define XCHAT_FD_EXCEPTION 4 -#define XCHAT_FD_NOTSOCKET 8 - -#define XCHAT_EAT_NONE 0 /* pass it on through! */ -#define XCHAT_EAT_XCHAT 1 /* don't let xchat see this event */ -#define XCHAT_EAT_PLUGIN 2 /* don't let other plugins see this event */ -#define XCHAT_EAT_ALL (XCHAT_EAT_XCHAT|XCHAT_EAT_PLUGIN) /* don't let anything see this event */ - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct _xchat_plugin xchat_plugin; -typedef struct _xchat_list xchat_list; -typedef struct _xchat_hook xchat_hook; -#ifndef PLUGIN_C -typedef struct _xchat_context xchat_context; -#endif - -#ifndef PLUGIN_C -struct _xchat_plugin -{ - /* these are only used on win32 */ - xchat_hook *(*xchat_hook_command) (xchat_plugin *ph, - const char *name, - int pri, - int (*callback) (char *word[], char *word_eol[], void *user_data), - const char *help_text, - void *userdata); - xchat_hook *(*xchat_hook_server) (xchat_plugin *ph, - const char *name, - int pri, - int (*callback) (char *word[], char *word_eol[], void *user_data), - void *userdata); - xchat_hook *(*xchat_hook_print) (xchat_plugin *ph, - const char *name, - int pri, - int (*callback) (char *word[], void *user_data), - void *userdata); - xchat_hook *(*xchat_hook_timer) (xchat_plugin *ph, - int timeout, - int (*callback) (void *user_data), - void *userdata); - xchat_hook *(*xchat_hook_fd) (xchat_plugin *ph, - int fd, - int flags, - int (*callback) (int fd, int flags, void *user_data), - void *userdata); - void *(*xchat_unhook) (xchat_plugin *ph, - xchat_hook *hook); - void (*xchat_print) (xchat_plugin *ph, - const char *text); - void (*xchat_printf) (xchat_plugin *ph, - const char *format, ...); - void (*xchat_command) (xchat_plugin *ph, - const char *command); - void (*xchat_commandf) (xchat_plugin *ph, - const char *format, ...); - int (*xchat_nickcmp) (xchat_plugin *ph, - const char *s1, - const char *s2); - int (*xchat_set_context) (xchat_plugin *ph, - xchat_context *ctx); - xchat_context *(*xchat_find_context) (xchat_plugin *ph, - const char *servname, - const char *channel); - xchat_context *(*xchat_get_context) (xchat_plugin *ph); - const char *(*xchat_get_info) (xchat_plugin *ph, - const char *id); - int (*xchat_get_prefs) (xchat_plugin *ph, - const char *name, - const char **string, - int *integer); - xchat_list * (*xchat_list_get) (xchat_plugin *ph, - const char *name); - void (*xchat_list_free) (xchat_plugin *ph, - xchat_list *xlist); - const char * const * (*xchat_list_fields) (xchat_plugin *ph, - const char *name); - int (*xchat_list_next) (xchat_plugin *ph, - xchat_list *xlist); - const char * (*xchat_list_str) (xchat_plugin *ph, - xchat_list *xlist, - const char *name); - int (*xchat_list_int) (xchat_plugin *ph, - xchat_list *xlist, - const char *name); - void * (*xchat_plugingui_add) (xchat_plugin *ph, - const char *filename, - const char *name, - const char *desc, - const char *version, - char *reserved); - void (*xchat_plugingui_remove) (xchat_plugin *ph, - void *handle); - int (*xchat_emit_print) (xchat_plugin *ph, - const char *event_name, ...); - int (*xchat_read_fd) (xchat_plugin *ph, - void *src, - char *buf, - int *len); - time_t (*xchat_list_time) (xchat_plugin *ph, - xchat_list *xlist, - const char *name); - char *(*xchat_gettext) (xchat_plugin *ph, - const char *msgid); - void (*xchat_send_modes) (xchat_plugin *ph, - const char **targets, - int ntargets, - int modes_per_line, - char sign, - char mode); - char *(*xchat_strip) (xchat_plugin *ph, - const char *str, - int len, - int flags); - void (*xchat_free) (xchat_plugin *ph, - void *ptr); -}; -#endif - - -xchat_hook * -xchat_hook_command (xchat_plugin *ph, - const char *name, - int pri, - int (*callback) (char *word[], char *word_eol[], void *user_data), - const char *help_text, - void *userdata); - -xchat_hook * -xchat_hook_server (xchat_plugin *ph, - const char *name, - int pri, - int (*callback) (char *word[], char *word_eol[], void *user_data), - void *userdata); - -xchat_hook * -xchat_hook_print (xchat_plugin *ph, - const char *name, - int pri, - int (*callback) (char *word[], void *user_data), - void *userdata); - -xchat_hook * -xchat_hook_timer (xchat_plugin *ph, - int timeout, - int (*callback) (void *user_data), - void *userdata); - -xchat_hook * -xchat_hook_fd (xchat_plugin *ph, - int fd, - int flags, - int (*callback) (int fd, int flags, void *user_data), - void *userdata); - -void * -xchat_unhook (xchat_plugin *ph, - xchat_hook *hook); - -void -xchat_print (xchat_plugin *ph, - const char *text); - -void -xchat_printf (xchat_plugin *ph, - const char *format, ...); - -void -xchat_command (xchat_plugin *ph, - const char *command); - -void -xchat_commandf (xchat_plugin *ph, - const char *format, ...); - -int -xchat_nickcmp (xchat_plugin *ph, - const char *s1, - const char *s2); - -int -xchat_set_context (xchat_plugin *ph, - xchat_context *ctx); - -xchat_context * -xchat_find_context (xchat_plugin *ph, - const char *servname, - const char *channel); - -xchat_context * -xchat_get_context (xchat_plugin *ph); - -const char * -xchat_get_info (xchat_plugin *ph, - const char *id); - -int -xchat_get_prefs (xchat_plugin *ph, - const char *name, - const char **string, - int *integer); - -xchat_list * -xchat_list_get (xchat_plugin *ph, - const char *name); - -void -xchat_list_free (xchat_plugin *ph, - xchat_list *xlist); - -const char * const * -xchat_list_fields (xchat_plugin *ph, - const char *name); - -int -xchat_list_next (xchat_plugin *ph, - xchat_list *xlist); - -const char * -xchat_list_str (xchat_plugin *ph, - xchat_list *xlist, - const char *name); - -int -xchat_list_int (xchat_plugin *ph, - xchat_list *xlist, - const char *name); - -time_t -xchat_list_time (xchat_plugin *ph, - xchat_list *xlist, - const char *name); - -void * -xchat_plugingui_add (xchat_plugin *ph, - const char *filename, - const char *name, - const char *desc, - const char *version, - char *reserved); - -void -xchat_plugingui_remove (xchat_plugin *ph, - void *handle); - -int -xchat_emit_print (xchat_plugin *ph, - const char *event_name, ...); - -char * -xchat_gettext (xchat_plugin *ph, - const char *msgid); - -void -xchat_send_modes (xchat_plugin *ph, - const char **targets, - int ntargets, - int modes_per_line, - char sign, - char mode); - -char * -xchat_strip (xchat_plugin *ph, - const char *str, - int len, - int flags); - -void -xchat_free (xchat_plugin *ph, - void *ptr); - -#if !defined(PLUGIN_C) && defined(WIN32) -#ifndef XCHAT_PLUGIN_HANDLE -#define XCHAT_PLUGIN_HANDLE (ph) -#endif -#define xchat_hook_command ((XCHAT_PLUGIN_HANDLE)->xchat_hook_command) -#define xchat_hook_server ((XCHAT_PLUGIN_HANDLE)->xchat_hook_server) -#define xchat_hook_print ((XCHAT_PLUGIN_HANDLE)->xchat_hook_print) -#define xchat_hook_timer ((XCHAT_PLUGIN_HANDLE)->xchat_hook_timer) -#define xchat_hook_fd ((XCHAT_PLUGIN_HANDLE)->xchat_hook_fd) -#define xchat_unhook ((XCHAT_PLUGIN_HANDLE)->xchat_unhook) -#define xchat_print ((XCHAT_PLUGIN_HANDLE)->xchat_print) -#define xchat_printf ((XCHAT_PLUGIN_HANDLE)->xchat_printf) -#define xchat_command ((XCHAT_PLUGIN_HANDLE)->xchat_command) -#define xchat_commandf ((XCHAT_PLUGIN_HANDLE)->xchat_commandf) -#define xchat_nickcmp ((XCHAT_PLUGIN_HANDLE)->xchat_nickcmp) -#define xchat_set_context ((XCHAT_PLUGIN_HANDLE)->xchat_set_context) -#define xchat_find_context ((XCHAT_PLUGIN_HANDLE)->xchat_find_context) -#define xchat_get_context ((XCHAT_PLUGIN_HANDLE)->xchat_get_context) -#define xchat_get_info ((XCHAT_PLUGIN_HANDLE)->xchat_get_info) -#define xchat_get_prefs ((XCHAT_PLUGIN_HANDLE)->xchat_get_prefs) -#define xchat_list_get ((XCHAT_PLUGIN_HANDLE)->xchat_list_get) -#define xchat_list_free ((XCHAT_PLUGIN_HANDLE)->xchat_list_free) -#define xchat_list_fields ((XCHAT_PLUGIN_HANDLE)->xchat_list_fields) -#define xchat_list_str ((XCHAT_PLUGIN_HANDLE)->xchat_list_str) -#define xchat_list_int ((XCHAT_PLUGIN_HANDLE)->xchat_list_int) -#define xchat_list_time ((XCHAT_PLUGIN_HANDLE)->xchat_list_time) -#define xchat_list_next ((XCHAT_PLUGIN_HANDLE)->xchat_list_next) -#define xchat_plugingui_add ((XCHAT_PLUGIN_HANDLE)->xchat_plugingui_add) -#define xchat_plugingui_remove ((XCHAT_PLUGIN_HANDLE)->xchat_plugingui_remove) -#define xchat_emit_print ((XCHAT_PLUGIN_HANDLE)->xchat_emit_print) -#define xchat_gettext ((XCHAT_PLUGIN_HANDLE)->xchat_gettext) -#define xchat_send_modes ((XCHAT_PLUGIN_HANDLE)->xchat_send_modes) -#define xchat_strip ((XCHAT_PLUGIN_HANDLE)->xchat_strip) -#define xchat_free ((XCHAT_PLUGIN_HANDLE)->xchat_free) -#endif - -#ifdef __cplusplus -} -#endif -#endif |