aboutsummaryrefslogtreecommitdiffstats
path: root/devel/gearmand
diff options
context:
space:
mode:
authorglarkin <glarkin@FreeBSD.org>2012-02-04 05:40:00 +0800
committerglarkin <glarkin@FreeBSD.org>2012-02-04 05:40:00 +0800
commit09ad7d5514db5a066de0aca734a0737541aab220 (patch)
tree6705bfbe87222f9a39b9e75994b137e936eeaa96 /devel/gearmand
parentf9b47982a73cee8760b54a7a95be424b73a090a9 (diff)
downloadfreebsd-ports-gnome-09ad7d5514db5a066de0aca734a0737541aab220.tar.gz
freebsd-ports-gnome-09ad7d5514db5a066de0aca734a0737541aab220.tar.zst
freebsd-ports-gnome-09ad7d5514db5a066de0aca734a0737541aab220.zip
- Unbreak on 7.x due to missing sigignore()
Submitted by: pointyhat (via pav)
Diffstat (limited to 'devel/gearmand')
-rw-r--r--devel/gearmand/Makefile6
-rw-r--r--devel/gearmand/files/extra-patch-libtest__test.cc14
2 files changed, 18 insertions, 2 deletions
diff --git a/devel/gearmand/Makefile b/devel/gearmand/Makefile
index b6f4fb146195..372bc6e4cd3c 100644
--- a/devel/gearmand/Makefile
+++ b/devel/gearmand/Makefile
@@ -191,8 +191,10 @@ MAN8= gearmand.8
.include <bsd.port.pre.mk>
-.if ${OSVERSION} < 800000
-BROKEN= does not compile on FreeBSD 7.X
+# Workaround for missing sigignore that wasn't introduced until
+# FreeBSD 8.0
+.if ${OSVERSION} < 800500
+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-libtest__test.cc
.endif
# This hack is required for the test programs invoked by configure,
diff --git a/devel/gearmand/files/extra-patch-libtest__test.cc b/devel/gearmand/files/extra-patch-libtest__test.cc
new file mode 100644
index 000000000000..c4098399716e
--- /dev/null
+++ b/devel/gearmand/files/extra-patch-libtest__test.cc
@@ -0,0 +1,14 @@
+--- ./libtest/test.cc.orig 2012-01-27 17:12:33.000000000 -0500
++++ ./libtest/test.cc 2012-01-27 17:14:02.000000000 -0500
+@@ -113,7 +113,10 @@
+ return EXIT_FAILURE;
+ }
+
+- assert(sigignore(SIGPIPE) == 0);
++ struct sigaction ignore_action;
++ ignore_action.sa_handler = SIG_IGN;
++ ignore_action.sa_flags = SA_RESTART;
++ assert(sigaction(SIGPIPE, &ignore_action, NULL) == 0);
+
+ libtest::SignalThread signal;
+ if (not signal.setup())