summaryrefslogtreecommitdiff
path: root/textproc/xmlrpc-c
diff options
context:
space:
mode:
authorbsiegert <bsiegert@pkgsrc.org>2013-12-01 23:25:31 +0000
committerbsiegert <bsiegert@pkgsrc.org>2013-12-01 23:25:31 +0000
commitc790cddeeec1f457ded5371f375c2600d4792ba5 (patch)
tree9ef344349bf6bd2596733c96fddd2cdcbdcea880 /textproc/xmlrpc-c
parent51fa50e3f8cf2c62755633a77baff465b5c62a74 (diff)
downloadpkgsrc-c790cddeeec1f457ded5371f375c2600d4792ba5.tar.gz
Fix build on MirBSD.
Remove all "#define _XOPEN_SOURCE" lines, as they break things horribly on MirBSD for some reason. Sprinkle a few <sys/types.h> includes. Add support for generating shared libraries on MirBSD.
Diffstat (limited to 'textproc/xmlrpc-c')
-rw-r--r--textproc/xmlrpc-c/Makefile20
-rw-r--r--textproc/xmlrpc-c/distinfo5
-rw-r--r--textproc/xmlrpc-c/patches/patch-config.mk.in24
-rw-r--r--textproc/xmlrpc-c/patches/patch-src_cpp_server_pstream.cpp14
4 files changed, 55 insertions, 8 deletions
diff --git a/textproc/xmlrpc-c/Makefile b/textproc/xmlrpc-c/Makefile
index 683a470d471..dd758b39538 100644
--- a/textproc/xmlrpc-c/Makefile
+++ b/textproc/xmlrpc-c/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.34 2013/11/14 08:01:11 adam Exp $
+# $NetBSD: Makefile,v 1.35 2013/12/01 23:25:31 bsiegert Exp $
DISTNAME= xmlrpc-c-1.25.26
# the "super stable" branch
@@ -36,7 +36,25 @@ SUBST_FILES.pthread= xmlrpc-c-config.* xmlrpc-c-config.test.*
SUBST_SED.pthread= -e 's/-lpthread/${PTHREAD_LINKFLAGS:Q}/'
SUBST_SED.pthread+= -e 's/-L\(.\)libdir/-L\1libdir ${COMPILER_RPATH_FLAG}\1libdir/'
+.include "../../mk/bsd.prefs.mk"
+.if ${OPSYS} == "MirBSD"
+SUBST_CLASSES+= xopen
+SUBST_STAGE.xopen= pre-configure
+SUBST_MESSAGE.xopen= Removing _XOPEN_SOURCE lines.
+SUBST_FILES.xopen+= lib/abyss/src/data.c lib/abyss/src/response.c lib/abyss/src/conf.c
+SUBST_FILES.xopen+= lib/abyss/src/http.c lib/abyss/src/server.c lib/abyss/src/handler.c
+SUBST_FILES.xopen+= lib/curl_transport/curltransaction.c lib/curl_transport/curlmulti.c
+SUBST_FILES.xopen+= lib/curl_transport/xmlrpc_curl_transport.c lib/libutil/select.c
+SUBST_FILES.xopen+= lib/libutil/error.c lib/libutil/make_printable.c lib/libutil/asprintf.c
+SUBST_FILES.xopen+= lib/util/cmdline_parser.c lib/expat/xmlwf/xmlfile.c src/xmlrpc_datetime.c
+SUBST_FILES.xopen+= src/method.c src/xmlrpc_parse.c src/test/value_datetime.c src/xmlrpc_client.c
+SUBST_FILES.xopen+= src/xmlrpc_server_info.c src/xmlrpc_server_abyss.c tools/lib/dumpvalue.c
+SUBST_FILES.xopen+= tools/xmlrpc/xmlrpc.c tools/xmlrpc_transport/xmlrpc_transport.c
+SUBST_SED.xopen= -e '/^\#define _XOPEN_SOURCE/d'
+.endif
+
LDFLAGS.OpenBSD+= ${PTHREAD_LINKFLAGS}
+LDFLAGS.MirBSD+= ${PTHREAD_LINKFLAGS}
.include "../../www/curl/buildlink3.mk"
.include "../../www/libwww/buildlink3.mk"
diff --git a/textproc/xmlrpc-c/distinfo b/textproc/xmlrpc-c/distinfo
index 9da6f80de1c..3a98e03055f 100644
--- a/textproc/xmlrpc-c/distinfo
+++ b/textproc/xmlrpc-c/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.30 2013/11/14 08:01:11 adam Exp $
+$NetBSD: distinfo,v 1.31 2013/12/01 23:25:31 bsiegert Exp $
SHA1 (xmlrpc-c-1.25.26.tgz) = 62b8b7b76b2937b2f3d51be045cbf17476302d39
RMD160 (xmlrpc-c-1.25.26.tgz) = 86096117f8e26321c38539eff83cdf0f64055e47
@@ -9,4 +9,5 @@ SHA1 (patch-ae) = 52f826d292869be44886881c48aa7707a4af2df3
SHA1 (patch-ai) = 8d7ddc541779129de1e03a3cee81505ffbfb4171
SHA1 (patch-aj) = e65acd3d49be3486f70cda935a8b2aae3f8af3e8
SHA1 (patch-ak) = 4525977b51a25f115c1266dccf0e2cc754dc80d3
-SHA1 (patch-config.mk.in) = ddb63b60b40fb739700e3808336199f848c25904
+SHA1 (patch-config.mk.in) = e3eef60ab28b92d1e903ac84997617dfafe1689c
+SHA1 (patch-src_cpp_server_pstream.cpp) = 2a6b2f30ab5f9df1953f874ede41b91bd60a005a
diff --git a/textproc/xmlrpc-c/patches/patch-config.mk.in b/textproc/xmlrpc-c/patches/patch-config.mk.in
index 7dd56f4e8b7..1c3cc54c954 100644
--- a/textproc/xmlrpc-c/patches/patch-config.mk.in
+++ b/textproc/xmlrpc-c/patches/patch-config.mk.in
@@ -1,9 +1,11 @@
-$NetBSD: patch-config.mk.in,v 1.3 2013/09/12 18:52:54 adam Exp $
+$NetBSD: patch-config.mk.in,v 1.4 2013/12/01 23:25:31 bsiegert Exp $
Do not use -Bdynamic -G when using GCC on Solaris, it creates non-PIC
libraries.
---- config.mk.in.orig 2013-03-29 06:38:36.000000000 +0000
+Support for shared libraries on OpenBSD and MirBSD.
+
+--- config.mk.in.orig Fri Mar 29 06:38:11 2013
+++ config.mk.in
@@ -193,10 +193,15 @@ ifeq ($(patsubst solaris%,solaris,$(HOST
# linker, it's even more complicated: we need an rpath option of the
@@ -25,10 +27,21 @@ libraries.
NEED_RPATH=yes
endif
-@@ -242,6 +247,18 @@ ifeq ($(patsubst netbsd%,netbsd,$(HOST_O
- NEED_WL_RPATH=yes
+@@ -231,6 +236,30 @@ ifeq ($(patsubst osf%,osf,$(HOST_OS)),os
endif
+ ifeq ($(patsubst netbsd%,netbsd,$(HOST_OS)),netbsd)
++ SHARED_LIB_TYPE = unix
++ SHLIB_SUFFIX = so
++ MUST_BUILD_SHLIB = Y
++ MUST_BUILD_SHLIBLE = Y
++ shlibfn = $(1:%=%.$(SHLIB_SUFFIX).$(MAJ).$(MIN))
++ shliblefn = $(1:%=%.$(SHLIB_SUFFIX))
++ CFLAGS_SHLIB = -fpic
++ LDFLAGS_SHLIB = -shared -Wl,-soname,$(SONAME) $(SHLIB_CLIB)
++ NEED_WL_RPATH=yes
++endif
++
+ifeq ($(patsubst openbsd%,openbsd,$(HOST_OS)),openbsd)
+ SHARED_LIB_TYPE = unix
+ SHLIB_SUFFIX = so
@@ -41,6 +54,7 @@ libraries.
+ NEED_WL_RPATH=yes
+endif
+
- ifeq ($(patsubst freebsd%,freebsd,$(HOST_OS)),freebsd)
++ifeq ($(patsubst mirbsd%,mirbsd,$(HOST_OS)),mirbsd)
SHARED_LIB_TYPE = unix
SHLIB_SUFFIX = so
+ MUST_BUILD_SHLIB = Y
diff --git a/textproc/xmlrpc-c/patches/patch-src_cpp_server_pstream.cpp b/textproc/xmlrpc-c/patches/patch-src_cpp_server_pstream.cpp
new file mode 100644
index 00000000000..586898954f7
--- /dev/null
+++ b/textproc/xmlrpc-c/patches/patch-src_cpp_server_pstream.cpp
@@ -0,0 +1,14 @@
+$NetBSD: patch-src_cpp_server_pstream.cpp,v 1.1 2013/12/01 23:25:31 bsiegert Exp $
+
+Socket functions need sys/types.h on MirBSD.
+
+--- src/cpp/server_pstream.cpp.orig Thu Sep 19 12:47:06 2013
++++ src/cpp/server_pstream.cpp
+@@ -22,6 +22,7 @@
+ #include <winsock.h>
+ typedef int socklen_t;
+ #else
++#include <sys/types.h>
+ #include <sys/socket.h>
+ #endif
+ #include <errno.h>