diff options
author | Tom Martin <slarti@gentoo.org> | 2004-08-11 20:13:41 +0000 |
---|---|---|
committer | Tom Martin <slarti@gentoo.org> | 2004-08-11 20:13:41 +0000 |
commit | 4abadd3f1ab68639d6fe21f4b651d1897630b2fe (patch) | |
tree | 88727cff52d6b1839bb1cd09ba28d7a6fcb0db57 /net-irc/irssi-charconv | |
parent | Removed old patches (Manifest recommit) (diff) | |
download | gentoo-2-4abadd3f1ab68639d6fe21f4b651d1897630b2fe.tar.gz gentoo-2-4abadd3f1ab68639d6fe21f4b651d1897630b2fe.tar.bz2 gentoo-2-4abadd3f1ab68639d6fe21f4b651d1897630b2fe.zip |
Marked ~amd64, moved charconv.c from files/ to distfiles as it was too big.
Diffstat (limited to 'net-irc/irssi-charconv')
-rw-r--r-- | net-irc/irssi-charconv/ChangeLog | 5 | ||||
-rw-r--r-- | net-irc/irssi-charconv/Manifest | 19 | ||||
-rw-r--r-- | net-irc/irssi-charconv/files/charconv.c | 748 | ||||
-rw-r--r-- | net-irc/irssi-charconv/files/digest-irssi-charconv-1.13 | 1 | ||||
-rw-r--r-- | net-irc/irssi-charconv/irssi-charconv-1.13.ebuild | 13 |
5 files changed, 17 insertions, 769 deletions
diff --git a/net-irc/irssi-charconv/ChangeLog b/net-irc/irssi-charconv/ChangeLog index 6d3f55ed0368..44cf61c9886f 100644 --- a/net-irc/irssi-charconv/ChangeLog +++ b/net-irc/irssi-charconv/ChangeLog @@ -1,6 +1,9 @@ # ChangeLog for net-irc/irssi-charconv # Copyright 2000-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-irc/irssi-charconv/ChangeLog,v 1.5 2004/08/08 00:07:50 slarti Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-irc/irssi-charconv/ChangeLog,v 1.6 2004/08/11 20:13:41 slarti Exp $ + + 11 Aug 2004; Tom Martin <slarti@gentoo.org> irssi-charconv-1.13.ebuild: + Marked ~amd64, charconv.c was too big for files/, moved to distfiles. 08 Aug 2004; Tom Martin <slarti@gentoo.org> irssi-charconv-1.13.ebuild: Typo in DESCRIPTION: conversisions -> conversions. Bug 59717. diff --git a/net-irc/irssi-charconv/Manifest b/net-irc/irssi-charconv/Manifest index 11cb9c40356e..680117dc6d95 100644 --- a/net-irc/irssi-charconv/Manifest +++ b/net-irc/irssi-charconv/Manifest @@ -1,16 +1,7 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - -MD5 c6048c93c1cac545d69032d2a8348015 ChangeLog 647 -MD5 f133364f185b2a70b253e09391f2fd70 irssi-charconv-1.13.ebuild 989 +MD5 bba62a4b8c0c89543ef1834df724e285 irssi-charconv-1.13.ebuild 1012 +MD5 9730cd406bd7b27d1c0102eef489f924 ChangeLog 878 MD5 44c39c6ad372a8e5a5e7ee3311f703a7 metadata.xml 160 +MD5 a091e98f1da201faf32469015461320e irssi-charconv-1.1.3.tar.bz2 5154 MD5 b1029104ebad65c86c76d6dcbf3e8a48 files/README 673 -MD5 42cd43e97809822942087c1223cfa094 files/charconv.c 20731 -MD5 cb17857da5af4446fef7e94d553277de files/digest-irssi-charconv-1.13 64 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.2.4 (GNU/Linux) - -iD8DBQFBAb4WAXomK8S72HoRAi44AJsGMmOB38l3hNPiXDh8yq03yU7U3ACeNJ7a -mrBouKKYfb3JJvZ/zSv7W3w= -=rN6A ------END PGP SIGNATURE----- +MD5 dd4d48f31b68bcf51bf6c430a9bf9310 files/charconv.c.bz2 5067 +MD5 6ddb673924bcb0b20696388c0cbfa77e files/digest-irssi-charconv-1.13 134 diff --git a/net-irc/irssi-charconv/files/charconv.c b/net-irc/irssi-charconv/files/charconv.c deleted file mode 100644 index 33a9720dda8a..000000000000 --- a/net-irc/irssi-charconv/files/charconv.c +++ /dev/null @@ -1,748 +0,0 @@ -/* - charconv plugin for irssi - $Revision: 1.1 $ - - Copyright (C) 2003 Martin Norbäck <martin@norpan.org> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -/* Please note that this is very unstable code right now - COMPILATION: - IRSSI=/path/to/irssi/source/tree - gcc charconv.c -Wall -g -o libcharconv.so -shared \ - -I$IRSSI/src -I$IRSSI/src/core -I$IRSSI/src/fe-common/core \ - `glib-config --cflags` - - INSTALLATION: - cp libcharconv.so ~/.irssi/modules/ - - SIMPLE USAGE (UTF-8 terminal) - /load charconv - /set charconv_terminal_charset UTF-8 - /set term_type UTF-8 - /charconv add * * * ISO-8859-1 - - If you have an ISO-8859-1 terminal, set charconv_terminal_charset - to ISO-8859-1 and term_type to 8bit. - - If you want to send messages in UTF-8, do - /charconv add * * * UTF-8 - - If <channel> on <network> mandates UTF-8, do - /charconv add * <channel> <network> UTF-8 - - If <nick> on <network> uses ISO-8859-15, do - /charconv add <nick> * <network> ISO-8859-15 - - If you don't want to specify the network, just use *. - - MORE CONFIGURATION - - TRANSLITERAION: - charconv_transliterate (default TRUE) - - FALLBACK - charconv_fallback (default "CP1252") -*/ - -#define MODULE_NAME "charconv" - -#include <stdio.h> -#include <glib.h> -#include <string.h> - -/* This is needed because of common.h */ -#define UOFF_T_LONG_LONG 1 -#include <common.h> -#include <misc.h> -#include <signals.h> -#include <modules.h> -#include <settings.h> -#include <channels.h> -#include <queries.h> -#include <window-item-def.h> -#include <fe-exec.h> -#include <commands.h> -#include <levels.h> -#include <printtext.h> -#include <servers.h> -/* #include <masks.h> */ -#include <iconv.h> - -/* The table containing the settings - The key is a string "name channel server" where - name, channel and server can be "*" - The value is the encoding to use. - When wildcards are used, names are matched before channels, - which are matched before servers, so - name * * - * channel * - * * server - will all match "name channel server", but the first one will be used. -*/ -static GHashTable *charconv_settings = NULL; - -static char * -normalize_name(const char *name) -{ - int i; - char *result = g_strdup(name); - for(i = 0; name[i] != '\0'; i++) { - result[i] = tolower(name[i]); - if(name[i] == ']') result[i] = '}'; - if(name[i] == '[') result[i] = '{'; - if(name[i] == '\\') result[i] = '|'; - } - result[i] = '\0'; - - return result; -} - -static gboolean -remove_pair(char *key, char *value) -{ - g_free(key); - g_free(value); - - return TRUE; -} - -static void -clear_settings(void) -{ - if(charconv_settings != NULL) { - g_hash_table_foreach_remove(charconv_settings, - (GHRFunc) remove_pair, NULL); - g_hash_table_destroy(charconv_settings); - charconv_settings = NULL; - } -} - -static char * -settings_file_name(void) -{ - return g_strdup_printf("%s/charconv", get_irssi_dir()); -} - -static char * -make_key(const char *nick, const char *channel, const char *network) -{ - char *_nick = normalize_name(nick); - char *_channel = normalize_name(channel); - char *_network = normalize_name(network); - char *key = g_strdup_printf("%s %s %s", _nick, _channel, _network); - - g_free(_nick); - g_free(_channel); - g_free(_network); - - return key; -} - -static void -remove_setting(const char *nick, const char *channel, const char *network) -{ - char *key; - gpointer orig_key, value; - gboolean found; - - key = make_key(nick, channel, network); - found = g_hash_table_lookup_extended(charconv_settings, key, - &orig_key, &value); - g_hash_table_remove(charconv_settings, key); - if(found) { - g_free(orig_key); - g_free(value); - } else { - printtext(NULL, NULL, MSGLEVEL_CLIENTNOTICE, - "No rule found to delete"); - } - - g_free(key); -} - -static void -add_setting(const char *nick, const char *channel, - const char *network, const char *encoding) -{ - char *key; - - key = make_key(nick, channel, network); - g_hash_table_insert(charconv_settings, key, g_strdup(encoding)); - /* key should not be freed here, it's stored in the hash table */ -} - -static void -load_settings(void) -{ - char *filename; - FILE *file; - int linenum; - char line[1024]; - char **fields; - - clear_settings(); - - /* Initialize hash table */ - charconv_settings = g_hash_table_new(g_str_hash, g_str_equal); - - /* Open file */ - filename = settings_file_name(); - file = fopen(filename, "r"); - if(file == NULL) { - printtext(NULL, NULL, MSGLEVEL_CLIENTNOTICE, - "Couldn't open charconv settings from file \"%s\": %s", - filename, strerror(errno)); - return; - } - - linenum = 0; - while(fgets(line, sizeof(line), file)) { - linenum++; - - /* remove \n */ - int len = strlen(line); - if (line[len-1] == '\n') line[len-1] = '\0'; - - /* split the line */ - fields = g_strsplit(line, " ", 4); - if (strarray_length(fields) != 4) { - printtext(NULL, NULL, MSGLEVEL_CLIENTNOTICE, - "Couldn't parse file \"%s\" line %d", - filename, linenum); - } else { - /* nick, channel, network, encoding */ - add_setting(fields[0], fields[1], fields[2], fields[3]); - } - g_strfreev(fields); - } - - fclose(file); - g_free(filename); -} - -static void -write_setting(const char* key, const char* value, FILE *file) -{ - fprintf(file, "%s %s\n", key, value); -} - -static void -save_settings(void) -{ - char *filename; - FILE *file; - - filename = settings_file_name(); - file = fopen(filename, "w"); - if(file == NULL) { - printtext(NULL, NULL, MSGLEVEL_CLIENTERROR, - "Couldn't save charconv settings to file \"%s\": %s", - filename, strerror(errno)); - return; - } - if(charconv_settings != NULL) { - g_hash_table_foreach(charconv_settings, - (GHFunc) write_setting, - file); - } - fclose(file); - g_free(filename); -} - -/* Lookup nick, channel, network in table */ -static const char * -lookup_encoding(const char *nick, const char *channel, const SERVER_REC *server) -{ - const char *network = server->tag; - - char *key; - char *result = NULL; - /* There are eight alternatives. - Simple algorithm, just look them up in order */ - - if(nick && channel && network) { - key = make_key(nick, channel, network); - result = g_hash_table_lookup(charconv_settings, key); - g_free(key); - } - if(!result && nick && channel) { - key = make_key(nick, channel, "*"); - result = g_hash_table_lookup(charconv_settings, key); - g_free(key); - } - if(!result && nick && network) { - key = make_key(nick, "*", network); - result = g_hash_table_lookup(charconv_settings, key); - g_free(key); - } - if(!result && nick) { - key = make_key(nick, "*", "*"); - result = g_hash_table_lookup(charconv_settings, key); - g_free(key); - } - if(!result && channel && network) { - key = make_key("*", channel, network); - result = g_hash_table_lookup(charconv_settings, key); - g_free(key); - } - if(!result && channel) { - key = make_key("*", channel, "*"); - result = g_hash_table_lookup(charconv_settings, key); - g_free(key); - } - if(!result && network) { - key = make_key("*", "*", network); - result = g_hash_table_lookup(charconv_settings, key); - g_free(key); - } - if(!result) { - key = make_key("*", "*", "*"); - result = g_hash_table_lookup(charconv_settings, key); - g_free(key); - } - if(!result) { - result = "UTF-8"; - } - - return result; -} - -/* Will return NULL if conversion failed */ -static char * -charconv_convert(const char *fromcode, const char *tocode, const char *msg) -{ - iconv_t cd; - char *orig_msg, *orig_msg_ptr, *new_msg, *new_msg_ptr; - char *tocode_translit; - int inbytesleft, outbytesleft; - - /* If empty message, yes this can happen, return */ - if(strlen(msg) == 0) return g_strdup(msg); - - if(settings_get_bool("charconv_transliterate")) - tocode_translit = g_strdup_printf("%s//TRANSLIT", tocode); - else - tocode_translit = g_strdup(tocode); - - cd = iconv_open(tocode_translit, fromcode); - g_free(tocode_translit); - - if(cd == (iconv_t)(-1)) { - printtext(NULL, NULL, MSGLEVEL_CLIENTNOTICE, - "Cannot convert from %s to %s: %s", - fromcode, tocode, strerror(errno)); - return NULL; - } - /* This is just a lot of pointers because of iconv's silly interface */ - orig_msg = g_strdup(msg); - orig_msg_ptr = orig_msg; - inbytesleft = strlen(orig_msg); - outbytesleft = 4*inbytesleft; - new_msg = g_malloc(outbytesleft); - new_msg_ptr = new_msg; - iconv(cd, &orig_msg_ptr, &inbytesleft, &new_msg_ptr, &outbytesleft); - *new_msg_ptr = '\0'; - g_free(orig_msg); - if(inbytesleft != 0) { - g_free(new_msg); - return NULL; - } - - if(settings_get_bool("charconv_debug")) { - char *result = g_strdup_printf("[%s] %s", tocode, new_msg); - g_free(new_msg); - return(result); - } - - iconv_close(cd); - return new_msg; -} - -/* Recode a received message from nick/channel */ -static char * -charconv_receive(const char *msg, const char *nick, - const char *channel, const SERVER_REC *server) -{ - const char *tocode = settings_get_str("charconv_terminal_charset"); - const char *fromcode = lookup_encoding(nick,channel,server); - /* First try converting from UTF-8 */ - const char *fromcode_default = "UTF-8"; - char *result = charconv_convert(fromcode_default, tocode, msg); - if (result == NULL) { - /* Then try the charset from user settings */ - if (g_strcasecmp(fromcode_default, fromcode) != 0) { - result = charconv_convert(fromcode, tocode, msg); - } - } - if (result == NULL) { - const char *fallback = - settings_get_str("charconv_fallback"); - /* Fall back - FIXME: Stupid re-strcmp (we already compared fromcode_default - and fromcode). */ - if (g_strcasecmp(fromcode_default, fallback) != 0 && - g_strcasecmp(fromcode, fallback) != 0) { - result = charconv_convert(fallback, tocode, msg); - } - } - if (result == NULL) { - /* conversion failed */ - printtext(NULL, NULL, MSGLEVEL_CLIENTNOTICE, - "Character conversion failed: %s", - strerror(errno)); - return g_strdup(msg); - } - return result; -} - -/* Recode a sent message from nick/channel */ -static char * -charconv_send(const char *msg, const char *nick, - const char *channel, const SERVER_REC *server) -{ - const char *tocode = lookup_encoding(nick,channel,server); - const char *fromcode = settings_get_str("charconv_terminal_charset"); - char *result = charconv_convert(fromcode, tocode, msg); - if (result == NULL) { - /* Conversion failed, should we fallback even when sending? - No! Let the receiver worry about that. */ - return g_strdup(msg); - } - return result; -} - -static void -message_public(const SERVER_REC *server, - const char *msg, - const char *nick, - const char *addr, - const char *target) -{ - char *new_msg; - new_msg = charconv_receive(msg, nick, target, server); - signal_continue(5, server, new_msg, nick, addr, target); - g_free(new_msg); -} - -static void -message_private(const SERVER_REC *server, - const char *msg, - const char *nick, - const char *addr) -{ - char *new_msg; - new_msg = charconv_receive(msg, nick, NULL, server); - signal_continue(4, server, new_msg, nick, addr); - g_free(new_msg); -} - -static void -message_own_public(const SERVER_REC *server, - const char *msg, - const char *target) -{ - char *new_msg; - new_msg = charconv_receive(msg, NULL, target, server); - signal_continue(3, server, new_msg, target); - g_free(new_msg); -} - -static void -message_own_private(const SERVER_REC *server, - const char *msg, - const char *target, - const char *orig_target) -{ - char *new_msg; - new_msg = charconv_receive(msg, target, NULL, server); - signal_continue(3, server, new_msg, target); - g_free(new_msg); -} - -static void -message_part(const SERVER_REC *server, - const char *channel, - const char *nick, - const char *address, - const char *reason) -{ - char *new_reason; - new_reason = charconv_receive(reason, nick, channel, server); - signal_continue(5, server, channel, nick, address, new_reason); - g_free(new_reason); -} - -static void -message_quit(const SERVER_REC *server, - const char *nick, - const char *address, - const char *reason) -{ - char *new_reason; - new_reason = charconv_receive(reason, nick, NULL, server); - signal_continue(4, server, nick, address, new_reason); - g_free(new_reason); -} - - -static void -message_kick(const SERVER_REC *server, - const char *channel, - const char *nick, - const char *kicker, - const char *address, - const char *reason) -{ - char *new_reason; - new_reason = charconv_receive(reason, kicker, channel, server); - signal_continue(6, server, channel, nick, kicker, address, new_reason); - g_free(new_reason); -} - - -static void -message_topic(const SERVER_REC *server, - const char *channel, - const char *topic, - const char *nick, - const char *address) -{ - char *new_topic; - new_topic = charconv_receive(topic, nick, channel, server); - signal_continue(5, server, channel, new_topic, nick, address); - g_free(new_topic); -} - -static void -message_irc_own_action(const SERVER_REC *server, - const char *msg, - const char *channel) -{ - char *new_msg; - new_msg = charconv_receive(msg, NULL, channel, server); - signal_continue(3, server, new_msg, channel); - g_free(new_msg); -} - -static void -message_irc_action(const SERVER_REC *server, - const char *msg, - const char *nick, - const char *addr, - const char *target) -{ - char *new_msg; - new_msg = charconv_receive(msg, nick, target, server); - signal_continue(5, server, new_msg, nick, addr, target); - g_free(new_msg); -} - -static void -message_irc_own_notice(const SERVER_REC *server, - const char *msg, - const char *channel) -{ - char *new_msg; - new_msg = charconv_receive(msg, NULL, channel, server); - signal_continue(3, server, new_msg, channel); - g_free(new_msg); -} - -static void -add_option(const char *key, const char *value, GString *buffer) -{ - gchar *option_string; - - option_string = g_strdup_printf("-%s %s ", key, value); - g_string_append(buffer, option_string); - g_free(option_string); -} - -static GString * -optlist_to_string(GHashTable *optlist) -{ - GString *buffer = g_string_new(""); - g_hash_table_foreach(optlist, (GHFunc) add_option, buffer); - return buffer; -} - - -static void -command_msg(const char *args, - const SERVER_REC *server, - const void *windowitem) -{ - GHashTable *optlist; - char *target, *msg, *new_msg, *new_args; - GString *new_opts; - void *free_arg; - int is_channel = 0; - - /* Get message parameters */ - if(!cmd_get_params(args, - &free_arg, - 2 | - PARAM_FLAG_OPTIONS | - PARAM_FLAG_UNKNOWN_OPTIONS | - PARAM_FLAG_GETREST, - "msg", &optlist, &target, &msg)) - return; - if (g_hash_table_lookup(optlist, "channel") != NULL) { - is_channel = 1; - } - new_msg = charconv_send(msg, - is_channel ? NULL : target, - is_channel ? target : NULL, - server); - new_opts = optlist_to_string(optlist); - new_args = g_strdup_printf("%s %s %s", new_opts->str, target, new_msg); - signal_continue(3, new_args, server, windowitem); - - cmd_params_free(free_arg); - g_free(new_msg); - g_free(new_args); -} - -static void -command_charconv(const char *data, void *server, void *item) -{ - command_runsub("charconv", data, server, item); -} - -static void -command_charconv_add(const char *data, - const void *server, - const void *windowitem) -{ - void *free_arg; - char *nick, *channel, *network, *encoding; - - cmd_get_params(data, &free_arg, 4, &nick, &channel, &network, &encoding); - if(*nick == '\0' || *channel == '\0' || - *network == '\0' || *encoding == '\0') { - cmd_return_error(CMDERR_NOT_ENOUGH_PARAMS); - } - - add_setting(nick, channel, network, encoding); - - cmd_params_free(free_arg); -} - -static void -print_setting(const char* key, const char* value) -{ - printtext(NULL, NULL, MSGLEVEL_CLIENTCRAP, "%s %s", key, value); -} - -static void -command_charconv_list(const char *data, - const void *server, - const void *windowItem) -{ - if(charconv_settings != NULL) { - g_hash_table_foreach(charconv_settings, - (GHFunc) print_setting, NULL); - } -} - -static void -command_charconv_remove(const char *data, - const void *server, - const void *windowItem) -{ - void *free_arg; - char *nick, *channel, *network; - - cmd_get_params(data, &free_arg, 3, &nick, &channel, &network); - if(*nick == '\0' || *channel == '\0' || *network == '\0') { - cmd_return_error(CMDERR_NOT_ENOUGH_PARAMS); - } - - remove_setting(nick, channel, network); - - cmd_params_free(free_arg); -} - -void -charconv_init(void) -{ - /* Handle incoming messages */ - signal_add("message public", (SIGNAL_FUNC) message_public); - signal_add("message private", (SIGNAL_FUNC) message_private); - signal_add("message own_public", (SIGNAL_FUNC) message_own_public); - signal_add("message own_private", (SIGNAL_FUNC) message_own_private); - signal_add("message part", (SIGNAL_FUNC) message_part); - signal_add("message quit", (SIGNAL_FUNC) message_quit); - signal_add("message kick", (SIGNAL_FUNC) message_kick); - signal_add("message topic", (SIGNAL_FUNC) message_topic); - /* signal_add("message irc op_public", (SIGNAL_FUNC) message_irc_op_public); */ - /* signal_add("message irc own_wall", (SIGNAL_FUNC) message_irc_own_wall); */ - signal_add("message irc own_action", (SIGNAL_FUNC) message_irc_own_action); - signal_add("message irc action", (SIGNAL_FUNC) message_irc_action); - signal_add("message irc own_notice", (SIGNAL_FUNC) message_irc_own_notice); - /* signal_add("message irc notice", (SIGNAL_FUNC) message_irc_notice); */ - /* signal_add("message irc own_ctcp", (SIGNAL_FUNC) message_irc_own_ctcp); */ - /* signal_add("message irc ctcp", (SIGNAL_FUNC) message_irc_ctcp); */ - - /* Handle outgoing messages */ - signal_add("command msg", (SIGNAL_FUNC) command_msg); - - /* Save/load settings when user saves/reload */ - signal_add("setup saved", (SIGNAL_FUNC) save_settings); - signal_add("setup reread", (SIGNAL_FUNC) load_settings); - - command_bind("charconv", NULL, (SIGNAL_FUNC) command_charconv); - command_bind("charconv add", NULL, (SIGNAL_FUNC) command_charconv_add); - command_bind("charconv list", NULL, (SIGNAL_FUNC) command_charconv_list); - command_bind("charconv remove", NULL, (SIGNAL_FUNC) command_charconv_remove); - settings_add_bool("charconv", "charconv_debug", FALSE); - settings_add_str("charconv", "charconv_terminal_charset", "UTF-8"); - settings_add_bool("charconv", "charconv_transliterate", TRUE); - settings_add_str("charconv", "charconv_fallback", "CP1252"); - - load_settings(); - - module_register("charconv", "core"); -} - -void charconv_deinit(void) -{ - signal_remove("message public", (SIGNAL_FUNC) message_public); - signal_remove("message private", (SIGNAL_FUNC) message_private); - signal_remove("message own_public", (SIGNAL_FUNC) message_own_public); - signal_remove("message own_private", (SIGNAL_FUNC) message_own_private); - signal_remove("message part", (SIGNAL_FUNC) message_part); - signal_remove("message quit", (SIGNAL_FUNC) message_quit); - signal_remove("message kick", (SIGNAL_FUNC) message_kick); - signal_remove("message topic", (SIGNAL_FUNC) message_topic); - signal_remove("message irc own_action", (SIGNAL_FUNC) message_irc_own_action); - signal_remove("message irc action", (SIGNAL_FUNC) message_irc_action); - signal_remove("message irc own_notice", (SIGNAL_FUNC) message_irc_own_notice); - - signal_remove("command msg", (SIGNAL_FUNC) command_msg); - - signal_remove("setup saved", (SIGNAL_FUNC) save_settings); - signal_remove("setup reread", (SIGNAL_FUNC) load_settings); - - command_unbind("charconv", (SIGNAL_FUNC) command_charconv); - command_unbind("charconv add", (SIGNAL_FUNC) command_charconv_add); - command_unbind("charconv list", (SIGNAL_FUNC) command_charconv_list); - command_unbind("charconv remove", (SIGNAL_FUNC) command_charconv_remove); - - save_settings(); - clear_settings(); -} diff --git a/net-irc/irssi-charconv/files/digest-irssi-charconv-1.13 b/net-irc/irssi-charconv/files/digest-irssi-charconv-1.13 index 0ecb65f16bf8..6542094226e0 100644 --- a/net-irc/irssi-charconv/files/digest-irssi-charconv-1.13 +++ b/net-irc/irssi-charconv/files/digest-irssi-charconv-1.13 @@ -1 +1,2 @@ MD5 6d66982723e2eb8780ae3b8b3a7ba08d irssi-0.8.6.tar.bz2 746551 +MD5 a091e98f1da201faf32469015461320e irssi-charconv-1.13.tar.bz2 5154 diff --git a/net-irc/irssi-charconv/irssi-charconv-1.13.ebuild b/net-irc/irssi-charconv/irssi-charconv-1.13.ebuild index dec81fc1cf13..310650543d6e 100644 --- a/net-irc/irssi-charconv/irssi-charconv-1.13.ebuild +++ b/net-irc/irssi-charconv/irssi-charconv-1.13.ebuild @@ -1,16 +1,17 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-irc/irssi-charconv/irssi-charconv-1.13.ebuild,v 1.5 2004/08/08 00:07:50 slarti Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-irc/irssi-charconv/irssi-charconv-1.13.ebuild,v 1.6 2004/08/11 20:13:41 slarti Exp $ inherit gcc flag-o-matic IRSSI_VERSION="0.8.6" DESCRIPTION="An irssi plugin to do character set conversions." -SRC_URI="http://irssi.org/files/irssi-${IRSSI_VERSION}.tar.bz2" +SRC_URI="http://irssi.org/files/irssi-${IRSSI_VERSION}.tar.bz2 + mirror://gentoo/${P}.tar.bz2" HOMEPAGE="http://norpan.org" -KEYWORDS="~x86 ~ppc" +KEYWORDS="~x86 ~ppc ~amd64" SLOT="0" LICENSE="GPL-2" IUSE="" @@ -27,14 +28,14 @@ src_compile() { append-flags -fPIC touch ${IRSSI}/config.h && \ - $(gcc-getCC) ${FILESDIR}/charconv.c -Wall -g ${CFLAGS} -o ${T}/libcharconv.so -shared \ + $(gcc-getCC) charconv.c -Wall -g ${CFLAGS} -o ${T}/libcharconv.so -shared \ -I$IRSSI/src -I$IRSSI/src/core -I$IRSSI/src/fe-common/core \ `glib-config --cflags` } src_install() { - exeinto /usr/lib/irssi/modules - doexe ${T}/libcharconv.so + libinto /usr/lib/irssi/modules + dolib ${T}/libcharconv.so dodoc ${FILESDIR}/README } |