summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu-system.am2
-rw-r--r--gnu/packages/patches/w3m-fix-compile.patch15
-rw-r--r--gnu/packages/patches/w3m-libgc.patch28
-rw-r--r--gnu/packages/w3m.scm4
4 files changed, 31 insertions, 18 deletions
diff --git a/gnu-system.am b/gnu-system.am
index 3dd49fe945..bed041a946 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -698,7 +698,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/valgrind-enable-arm.patch		\
   gnu/packages/patches/vpnc-script.patch			\
   gnu/packages/patches/vtk-mesa-10.patch			\
-  gnu/packages/patches/w3m-fix-compile.patch			\
+  gnu/packages/patches/w3m-libgc.patch				\
   gnu/packages/patches/webkitgtk-2.4-sql-init-string.patch	\
   gnu/packages/patches/weechat-python.patch			\
   gnu/packages/patches/weex-vacopy.patch			\
diff --git a/gnu/packages/patches/w3m-fix-compile.patch b/gnu/packages/patches/w3m-fix-compile.patch
deleted file mode 100644
index 5604052f67..0000000000
--- a/gnu/packages/patches/w3m-fix-compile.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-https://bugs.archlinux.org/task/33397
-
-diff -aur old/main.c new/main.c
---- main.c	2013-01-14 18:16:14.216210053 -0600
-+++ main.c	2013-01-14 18:17:28.816220559 -0600
-@@ -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/gnu/packages/patches/w3m-libgc.patch b/gnu/packages/patches/w3m-libgc.patch
new file mode 100644
index 0000000000..0dc6a4027c
--- /dev/null
+++ b/gnu/packages/patches/w3m-libgc.patch
@@ -0,0 +1,28 @@
+This patch fixes w3m compilation with libgc > 7.2.
+
+Reported:
+https://bugs.archlinux.org/task/33397
+
+Patch with explanation:
+http://anonscm.debian.org/cgit/collab-maint/w3m.git/commit/?id=770eec8304bdbe458
+---
+ main.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/main.c b/main.c
+index b421943..249eb1a 100644
+--- a/main.c
++++ b/main.c
+@@ -833,7 +833,8 @@ main(int argc, char **argv, char **envp)
+     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 */
+-- 
+2.6.4
+
diff --git a/gnu/packages/w3m.scm b/gnu/packages/w3m.scm
index d114d0a69e..113bfc484c 100644
--- a/gnu/packages/w3m.scm
+++ b/gnu/packages/w3m.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
+;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -43,8 +44,7 @@
                "1qx9f0kprf92r1wxl3sacykla0g04qsi0idypzz24b7xy9ix5579"))
 
              ;; cf. https://bugs.archlinux.org/task/33397
-             (patches (list (search-patch "w3m-fix-compile.patch")))
-             (patch-flags '("-p0"))))
+             (patches (list (search-patch "w3m-libgc.patch")))))
     (build-system gnu-build-system)
     (arguments `(#:tests? #f  ; no check target
                  #:phases (alist-cons-before