aboutsummaryrefslogtreecommitdiffstats
path: root/main/irssi
diff options
context:
space:
mode:
Diffstat (limited to 'main/irssi')
-rw-r--r--main/irssi/APKBUILD63
-rw-r--r--main/irssi/irssi-0.8.15-man-fix.patch13
-rw-r--r--main/irssi/irssi-0.8.15-no-static-unload.patch35
-rw-r--r--main/irssi/irssi-0.8.16-format-security.patch22
4 files changed, 116 insertions, 17 deletions
diff --git a/main/irssi/APKBUILD b/main/irssi/APKBUILD
index b28fef189c..5c099bb48b 100644
--- a/main/irssi/APKBUILD
+++ b/main/irssi/APKBUILD
@@ -1,23 +1,25 @@
# Maintainer: Kiyoshi Aman <kiyoshi.aman at gmail.com>
pkgname=irssi
-pkgver=0.8.15
-pkgrel=14
+pkgver=0.8.16_rc1
+_pkgver=${pkgver/_/-}
+pkgrel=0
pkgdesc="A modular textUI IRC client with IPv6 support"
url="http://irssi.org/"
arch="all"
license="GPL2+"
-depends="perl"
-makedepends="glib-dev openssl-dev ncurses-dev perl-dev pkgconfig"
-source="http://irssi.org/files/irssi-${pkgver}.tar.bz2
- $pkgname-italics.patch
- "
-subpackages="$pkgname-doc $pkgname-dev $pkgname-proxy:proxy"
+depends=
+makedepends="glib-dev openssl-dev ncurses-dev perl-dev automake autoconf libtool"
+subpackages="$pkgname-doc $pkgname-dev $pkgname-proxy $pkgname-perl"
+source="http://irssi.org/files/irssi-$_pkgver.tar.bz2
+ $pkgname-italics.patch
+ irssi-0.8.15-man-fix.patch
+ irssi-0.8.15-no-static-unload.patch
+ irssi-0.8.16-format-security.patch"
-_builddir="$srcdir"/$pkgname-$pkgver
+_builddir="$srcdir"/$pkgname-$_pkgver
prepare() {
local i
cd "$_builddir"
- update_config_sub || return 1
for i in $source; do
case $i in
*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
@@ -27,13 +29,14 @@ prepare() {
build() {
cd "$_builddir"
+ autoreconf -i
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
- --with-perl-staticlib \
+ --with-perl=module \
--with-proxy \
|| return 1
make || return 1
@@ -46,6 +49,23 @@ package() {
rm "$pkgdir"/usr/lib/irssi/modules/*.la
}
+perl() {
+ depends="$pkgname perl"
+ pkgdesc="Irssi perl support and scripts"
+ mkdir -p "$subpkgdir"/usr/share/irssi
+ mv "$pkgdir"/usr/share/irssi/scripts \
+ "$subpkgdir"/usr/share/irssi/
+ mkdir -p "$subpkgdir"/usr/lib/irssi/modules
+ mv "$pkgdir"/usr/lib/irssi/modules/libfe_perl.* \
+ "$pkgdir"/usr/lib/irssi/modules/libperl_core.* \
+ "$subpkgdir"/usr/lib/irssi/modules/
+ mv "$pkgdir"/usr/lib/perl5 "$subpkgdir"/usr/lib/
+ #need write permission when stripping
+ for i in TextUI/TextUI.so Irssi.so Irc/Irc.so UI/UI.so; do
+ chmod +w "$subpkgdir"/usr/lib/perl5/core_perl/auto/Irssi/$1 || return 1
+ done
+}
+
proxy() {
depends="$pkgname"
pkgdesc="Irssi module for enabling bouncer-like functionality"
@@ -53,9 +73,18 @@ proxy() {
mv "$pkgdir"/usr/lib/irssi/modules/libirc_proxy.* "$subpkgdir"/usr/lib/irssi/modules/
}
-md5sums="1dcb3f511b88df94b0c996f36668c7da irssi-0.8.15.tar.bz2
-bb8b9f8b960837ad061a8e5b9b19824b irssi-italics.patch"
-sha256sums="c12d16fb605103d7c256ddce44012dc396af57f3771e086d0387c195a052a0a6 irssi-0.8.15.tar.bz2
-3e65898551e89e99ddce83ab69a8a37209181a1e6ae09bd9412805c9bf8cffa5 irssi-italics.patch"
-sha512sums="cecda925ae7c422fd95e8e94a123be8732a59a3a3c5d149b2fe16e1cac78cc516acb7a89ad79cf4ac0c412c9d4d3ea83fe5c0535ab6428e98479dc8909d0615a irssi-0.8.15.tar.bz2
-cc46ee115cbad0a1df55f4d6fff31b0dddc526c29b49108338c16baf4b632627a818b8fb0ab4b6a51cf1c0e1b5da26eaecf3ecf087bdedcc1b7a80e21d0e5c08 irssi-italics.patch"
+md5sums="275c926dcbb11059f8685906df7cfe49 irssi-0.8.16-rc1.tar.bz2
+bb8b9f8b960837ad061a8e5b9b19824b irssi-italics.patch
+6e776c1c5a8dd4a8d03e710ff783f919 irssi-0.8.15-man-fix.patch
+96aec1545b531e2a378ae0e38ccbe6e9 irssi-0.8.15-no-static-unload.patch
+88fc15df221db3f228c65d844c7a1342 irssi-0.8.16-format-security.patch"
+sha256sums="64d3edcb5e00f63c7926c0f59403d5ab1dcc414a8539b860e152f3fb87d31674 irssi-0.8.16-rc1.tar.bz2
+3e65898551e89e99ddce83ab69a8a37209181a1e6ae09bd9412805c9bf8cffa5 irssi-italics.patch
+3c504ba356b2e0d53a767b8194b6b31b2ee41a15c6bc27ae4c31f782f41a1411 irssi-0.8.15-man-fix.patch
+ce57e741311b7335cded9da4d7f7f3f68b3b367fbe457043d0e06674c76d48d9 irssi-0.8.15-no-static-unload.patch
+b2f974de02dabce6f96c18aef0e64102d0cf129d37da56f599a3fa5b84fb75b4 irssi-0.8.16-format-security.patch"
+sha512sums="a172737ce1abfb020cca9b1aa62343e89831faada842915156f3327ef4c0c240ea89ea1da058449a21f34d383bb80d743ef9568264b70a582e55a4a3723fd289 irssi-0.8.16-rc1.tar.bz2
+cc46ee115cbad0a1df55f4d6fff31b0dddc526c29b49108338c16baf4b632627a818b8fb0ab4b6a51cf1c0e1b5da26eaecf3ecf087bdedcc1b7a80e21d0e5c08 irssi-italics.patch
+7e081427c84df33a27d083e7c43ba34af7059e1344b0d6131c586affb9515c19adbcadb32ff5dc8a10824a59a88da46e40fd8074a856ea247c7f0a19115b8ac8 irssi-0.8.15-man-fix.patch
+1dd5f2d622d825daaab29e9ef19edc44e890a7e7ba82623c0e090b7828051ec5a97faf03a5a755e966b53c891dd645076e8a50a69c2abb15998ca3b42a117479 irssi-0.8.15-no-static-unload.patch
+4e3d1dd76bd118ba93010576bbbc48fef8e87a26083af2e1ffaaa488ce6b28cf4b68b9f1e19673f6c2e8c9afd8816d38ce61361aa47fb174844d61be0364110d irssi-0.8.16-format-security.patch"
diff --git a/main/irssi/irssi-0.8.15-man-fix.patch b/main/irssi/irssi-0.8.15-man-fix.patch
new file mode 100644
index 0000000000..30bb28e881
--- /dev/null
+++ b/main/irssi/irssi-0.8.15-man-fix.patch
@@ -0,0 +1,13 @@
+diff -up irssi-0.8.15/docs/irssi.1.orig irssi-0.8.15/docs/irssi.1
+--- irssi-0.8.15/docs/irssi.1.orig 2010-04-03 18:19:55.000000000 +0200
++++ irssi-0.8.15/docs/irssi.1 2012-08-03 16:34:19.684160994 +0200
+@@ -59,9 +59,6 @@ display the version of Irssi.
+ .TP
+ .BI "\-?, \-\-help"
+ show a help message.
+-.TP
+-.BI "\-\-usage"
+-display brief usage message.
+ .SH SEE ALSO
+ .B Irssi
+ has been supplied with a huge amount of documentation. Check /help or look
diff --git a/main/irssi/irssi-0.8.15-no-static-unload.patch b/main/irssi/irssi-0.8.15-no-static-unload.patch
new file mode 100644
index 0000000000..c583f1c372
--- /dev/null
+++ b/main/irssi/irssi-0.8.15-no-static-unload.patch
@@ -0,0 +1,35 @@
+--- irssi-0.8.15/src/fe-common/core/fe-modules.c.old 2010-04-03 18:19:24.000000000 +0200
++++ irssi-0.8.15/src/fe-common/core/fe-modules.c 2010-10-12 14:43:52.586315553 +0200
+@@ -195,6 +195,8 @@
+ MODULE_FILE_REC *file;
+ char *rootmodule, *submodule;
+ void *free_arg;
++ GSList *tmp;
++ int all_dynamic;
+
+ g_return_if_fail(data != NULL);
+
+@@ -204,12 +206,19 @@
+
+ module = module_find(rootmodule);
+ if (module != NULL) {
+- if (*submodule == '\0')
+- module_unload(module);
++ if (*submodule == '\0') {
++ all_dynamic = 1;
++ for (tmp = module->files; tmp != NULL; tmp = tmp->next)
++ all_dynamic &= !MODULE_IS_STATIC((MODULE_FILE_REC*) tmp->data);
++ if (all_dynamic)
++ module_unload(module);
++ }
+ else {
+ file = module_file_find(module, submodule);
+- if (file != NULL)
+- module_file_unload(file);
++ if (file != NULL) {
++ if (!MODULE_IS_STATIC(file))
++ module_file_unload(file);
++ }
+ else
+ module = NULL;
+ }
diff --git a/main/irssi/irssi-0.8.16-format-security.patch b/main/irssi/irssi-0.8.16-format-security.patch
new file mode 100644
index 0000000000..34fca6cce7
--- /dev/null
+++ b/main/irssi/irssi-0.8.16-format-security.patch
@@ -0,0 +1,22 @@
+diff --git a/src/core/network.c b/src/core/network.c
+index d7c1017..5954d1f 100644
+--- a/src/core/network.c
++++ b/src/core/network.c
+@@ -356,7 +356,7 @@ int net_receive(GIOChannel *handle, char *buf, int len)
+
+ status = g_io_channel_read_chars(handle, buf, len, &ret, &err);
+ if (err != NULL) {
+- g_warning(err->message);
++ g_warning("%s", err->message);
+ g_error_free(err);
+ }
+ if (status == G_IO_STATUS_ERROR || status == G_IO_STATUS_EOF)
+@@ -377,7 +377,7 @@ int net_transmit(GIOChannel *handle, const char *data, int len)
+
+ status = g_io_channel_write_chars(handle, (char *) data, len, &ret, &err);
+ if (err != NULL) {
+- g_warning(err->message);
++ g_warning("%s", err->message);
+ g_error_free(err);
+ }
+ if (status == G_IO_STATUS_ERROR)