summaryrefslogtreecommitdiff
path: root/extra/w3m
diff options
context:
space:
mode:
Diffstat (limited to 'extra/w3m')
-rw-r--r--extra/w3m/PKGBUILD20
-rw-r--r--extra/w3m/file_handle.patch60
-rw-r--r--extra/w3m/gc72.patch13
-rw-r--r--extra/w3m/https.patch19
4 files changed, 103 insertions, 9 deletions
diff --git a/extra/w3m/PKGBUILD b/extra/w3m/PKGBUILD
index ac7d8c12e..f9660f6d6 100644
--- a/extra/w3m/PKGBUILD
+++ b/extra/w3m/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 149346 2012-02-07 01:25:49Z bisson $
+# $Id: PKGBUILD 175136 2013-01-15 01:58:54Z bisson $
# Contributor: dorphell <dorphell@archlinux.org>
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
pkgname=w3m
pkgver=0.5.3
-pkgrel=3.1
+pkgrel=4
pkgdesc='Text-based Web browser, as well as pager'
url='http://w3m.sourceforge.net/'
license=('custom')
@@ -13,18 +13,20 @@ makedepends=('imlib2')
optdepends=('imlib2: for graphics support')
depends=('openssl' 'gc' 'ncurses')
source=("http://downloads.sourceforge.net/sourceforge/w3m/${pkgname}-${pkgver}.tar.gz"
- 'https-segfault.patch'
- 'GC_set_warn_proc.patch')
+ 'file_handle.patch'
+ 'https.patch'
+ 'gc72.patch')
sha1sums=('444b6c8cf7094ee95f8e9de96b37f814b9d83237'
+ '457de43be7eabc652614461a7ab25e3ba76b2aff'
'66affb2f695fe0bdde25cf774642bfd6a9404e88'
- '8bf1eae3241f5781d121319c8ee9bcda32d1f7bd')
+ '7baa06ca684fd140503a2adc65e2d606970c4662')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- sed 's/file_handle/file_handle_rofl/g' -i istream.*
- patch -p1 -i ../https-segfault.patch
- patch -Np0 -i "${srcdir}/GC_set_warn_proc.patch"
+ patch -p1 -i ../file_handle.patch
+ patch -p1 -i ../https.patch
+ patch -p1 -i ../gc72.patch
./configure \
--prefix=/usr \
@@ -42,6 +44,6 @@ package() {
make DESTDIR="${pkgdir}" install
install -d "${pkgdir}"/usr/share/{doc,licenses}/"${pkgname}"
- find doc/* | grep -v CVS | xargs -i install "{}" "${pkgdir}/usr/share/doc/${pkgname}"
+ find doc/* | grep -v CVS | xargs -i install -m644 "{}" "${pkgdir}/usr/share/doc/${pkgname}"
ln -s ../../doc/"${pkgname}"/README "${pkgdir}/usr/share/licenses/${pkgname}"
}
diff --git a/extra/w3m/file_handle.patch b/extra/w3m/file_handle.patch
new file mode 100644
index 000000000..15422294f
--- /dev/null
+++ b/extra/w3m/file_handle.patch
@@ -0,0 +1,60 @@
+diff -Naur old/istream.c new/istream.c
+--- old/istream.c 2011-01-04 20:22:22.000000000 +1100
++++ new/istream.c 2012-07-04 21:50:51.529661517 +1000
+@@ -22,8 +22,8 @@
+ static void basic_close(int *handle);
+ static int basic_read(int *handle, char *buf, int len);
+
+-static void file_close(struct file_handle *handle);
+-static int file_read(struct file_handle *handle, char *buf, int len);
++static void file_close(struct file_handle_rofl *handle);
++static int file_read(struct file_handle_rofl *handle, char *buf, int len);
+
+ static int str_read(Str handle, char *buf, int len);
+
+@@ -114,7 +114,7 @@
+ stream = New(union input_stream);
+ init_base_stream(&stream->base, STREAM_BUF_SIZE);
+ stream->file.type = IST_FILE;
+- stream->file.handle = New(struct file_handle);
++ stream->file.handle = New(struct file_handle_rofl);
+ stream->file.handle->f = f;
+ if (closep)
+ stream->file.handle->close = closep;
+@@ -658,13 +658,13 @@
+ }
+
+ static void
+-file_close(struct file_handle *handle)
++file_close(struct file_handle_rofl *handle)
+ {
+ handle->close(handle->f);
+ }
+
+ static int
+-file_read(struct file_handle *handle, char *buf, int len)
++file_read(struct file_handle_rofl *handle, char *buf, int len)
+ {
+ return fread(buf, 1, len, handle->f);
+ }
+diff -Naur old/istream.h new/istream.h
+--- old/istream.h 2003-10-21 02:41:56.000000000 +1000
++++ new/istream.h 2012-07-04 21:50:51.529661517 +1000
+@@ -20,7 +20,7 @@
+
+ typedef struct stream_buffer *StreamBuffer;
+
+-struct file_handle {
++struct file_handle_rofl {
+ FILE *f;
+ void (*close) ();
+ };
+@@ -53,7 +53,7 @@
+
+ struct file_stream {
+ struct stream_buffer stream;
+- struct file_handle *handle;
++ struct file_handle_rofl *handle;
+ char type;
+ char iseos;
+ int (*read) ();
diff --git a/extra/w3m/gc72.patch b/extra/w3m/gc72.patch
new file mode 100644
index 000000000..47bd4c85c
--- /dev/null
+++ b/extra/w3m/gc72.patch
@@ -0,0 +1,13 @@
+diff -Naur old/main.c new/main.c
+--- old/main.c 2011-01-04 20:42:19.000000000 +1100
++++ new/main.c 2012-07-04 21:49:10.136212236 +1000
+@@ -833,7 +833,8 @@
+ mySignal(SIGPIPE, SigPipe);
+ #endif
+
+- orig_GC_warn_proc = GC_set_warn_proc(wrap_GC_warn_proc);
++ orig_GC_warn_proc = GC_get_warn_proc();
++ GC_set_warn_proc(wrap_GC_warn_proc);
+ err_msg = Strnew();
+ if (load_argc == 0) {
+ /* no URL specified */
diff --git a/extra/w3m/https.patch b/extra/w3m/https.patch
new file mode 100644
index 000000000..31286a70d
--- /dev/null
+++ b/extra/w3m/https.patch
@@ -0,0 +1,19 @@
+Fedora patch; see https://bugzilla.redhat.com/show_bug.cgi?id=707994
+
+--- old/url.c 2011-01-04 14:52:24.000000000 +0530
++++ new/url.c 2011-09-02 18:25:43.305652690 +0530
+@@ -82,11 +82,11 @@
+ {"ftp", SCM_FTP},
+ {"local", SCM_LOCAL},
+ {"file", SCM_LOCAL},
+- /* {"exec", SCM_EXEC}, */
++ {"exec", SCM_EXEC},
+ {"nntp", SCM_NNTP},
+- /* {"nntp", SCM_NNTP_GROUP}, */
++ {"nntp", SCM_NNTP_GROUP},
+ {"news", SCM_NEWS},
+- /* {"news", SCM_NEWS_GROUP}, */
++ {"news", SCM_NEWS_GROUP},
+ {"data", SCM_DATA},
+ #ifndef USE_W3MMAILER
+ {"mailto", SCM_MAILTO},