xmlrpc-c: Import from oldpackages, add myself as pkg maintainer, update license info. 375/head
authorTed Hess <thess@kitschensync.net>
Mon, 29 Sep 2014 16:19:28 +0000 (12:19 -0400)
committerTed Hess <thess@kitschensync.net>
Mon, 29 Sep 2014 16:22:38 +0000 (12:22 -0400)
- remove (marked BROKEN) abyss and libxml2 variants.
- build internal expat variant only.

Signed-off-by: Ted Hess <thess@kitschensync.net>
libs/xmlrpc-c/Makefile [new file with mode: 0644]
libs/xmlrpc-c/patches/001-config.mk.in.patch [new file with mode: 0644]
libs/xmlrpc-c/patches/002-automake-compat.patch [new file with mode: 0644]

diff --git a/libs/xmlrpc-c/Makefile b/libs/xmlrpc-c/Makefile
new file mode 100644 (file)
index 0000000..0e6be0f
--- /dev/null
@@ -0,0 +1,226 @@
+#
+# Copyright (C) 2007-2014 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=xmlrpc-c
+PKG_REV:=2640
+PKG_VERSION:=1.39.0
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://svn.code.sf.net/p/xmlrpc-c/code/advanced
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE_VERSION:=$(PKG_REV)
+PKG_SOURCE_PROTO:=svn
+
+PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
+PKG_LICENSE:=VARIOUS
+PKG_LICENSE_FILE:=doc/COPYING
+
+PKG_FIXUP:=autoreconf
+PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=0
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/xmlrpc-c/Default
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE:=XML-RPC library
+  URL:=http://xmlrpc-c.sourceforge.net/
+endef
+
+define Package/xmlrpc-c-common
+  $(call Package/xmlrpc-c/Default)
+  TITLE+= - common
+  DEPENDS+= +libpthread
+  HIDDEN:=1
+endef
+
+define Package/xmlrpc-c-internal
+  $(call Package/xmlrpc-c/Default)
+  TITLE+= (uses internal expat variant)
+  DEPENDS:=+xmlrpc-c-common
+#  PROVIDES:=xmlrpc-c
+  VARIANT:=internal
+  HIDDEN:=1
+endef
+
+define Package/xmlrpc-c
+  $(call Package/xmlrpc-c/Default)
+  TITLE+= (uses internal expat variant)
+  DEPENDS:=+xmlrpc-c-internal
+endef
+
+define Package/xmlrpc-c-libxml2
+  $(call Package/xmlrpc-c/Default)
+  TITLE+= (uses libxml2)
+  DEPENDS:=+xmlrpc-c-common +libxml2 @BROKEN
+#  PROVIDES:=xmlrpc-c
+  VARIANT:=libxml2
+endef
+
+define Package/xmlrpc-c-client
+  $(call Package/xmlrpc-c/Default)
+  TITLE+= - client
+  DEPENDS:=+xmlrpc-c +libcurl
+endef
+
+define Package/xmlrpc-c-server
+  $(call Package/xmlrpc-c/Default)
+  TITLE+= - server
+  DEPENDS:=+xmlrpc-c
+endef
+
+define Package/xmlrpc-c-abyss
+  $(call Package/xmlrpc-c/Default)
+  TITLE+= - abyss
+  DEPENDS:=+xmlrpc-c-common @BROKEN
+endef
+
+define Package/xmlrpc-c-server-abyss
+  $(call Package/xmlrpc-c/Default)
+  TITLE+= - abyss server
+  DEPENDS:=+xmlrpc-c-server +xmlrpc-c-abyss
+endef
+
+define Package/xmlrpc-c/description/Default
+    Programming library for writing an XML-RPC server or client in C or C++.
+    XML-RPC is a standard network protocol to allow a client program to make
+    a simple remote procedure call (RPC) type request of a server.
+endef
+
+Package/xmlrpc-c-common/description = $(Package/xmlrpc-c/description/Default)
+Package/xmlrpc-c-libxml2/description = $(Package/xmlrpc-c/description/Default)
+Package/xmlrpc-c-internal/description = $(Package/xmlrpc-c/description/Default)
+
+Package/xmlrpc-c-libxml2/description += Uses external libxml2 library (quite big)
+Package/xmlrpc-c-internal/description += Uses internal expat variant (stripped down)
+
+CONFIGURE_ARGS+= \
+       --disable-wininet-client \
+       --disable-libwww-client \
+       --disable-abyss-server \
+       --disable-cplusplus \
+       --disable-abyss-threads \
+       --disable-cgi-server
+
+ifeq ($(BUILD_VARIANT),libxml2)
+       CONFIGURE_ARGS += \
+               --enable-libxml2-backend
+endif
+
+ifeq ($(BUILD_VARIANT),internal)
+       CONFIGURE_ARGS += \
+               --disable-libxml2-backend
+endif
+
+define Build/Compile
+       ( cd $(PKG_BUILD_DIR)/lib/expat/gennmtab && cc -I$(PKG_BUILD_DIR) -c gennmtab.c -o gennmtab.o && cc -o gennmtab  gennmtab.o )
+       $(call Build/Compile/Default)
+endef
+
+define Build/InstallDev
+       $(INSTALL_DIR) \
+               $(1)/usr/include \
+               $(1)/usr/lib \
+               $(1)/usr/bin \
+               $(2)/bin
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/include/* \
+               $(1)/usr/include/
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc*.{a,so*} \
+               $(1)/usr/lib/
+       $(INSTALL_BIN) \
+               $(PKG_INSTALL_DIR)/usr/bin/xmlrpc-c-config \
+               $(2)/bin/
+       $(SED) \
+               's,HEADERINST_DIR="/usr/include",HEADERINST_DIR="$(STAGING_DIR)/usr/include",g' \
+               $(2)/bin/xmlrpc-c-config
+       $(SED) \
+               's,LIBINST_DIR="/usr/lib",LIBINST_DIR="$(STAGING_DIR)/usr/lib",g' \
+               $(2)/bin/xmlrpc-c-config
+endef
+
+define Package/xmlrpc-c-libxml2/install
+       $(INSTALL_DIR) \
+               $(1)/usr/lib
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc.so* \
+               $(1)/usr/lib/
+endef
+
+define Package/xmlrpc-c-internal/install
+       $(INSTALL_DIR) \
+               $(1)/usr/lib
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc.so* \
+               $(1)/usr/lib/
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_xmltok.so* \
+               $(1)/usr/lib/
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_xmlparse.so* \
+               $(1)/usr/lib/
+endef
+
+define Package/xmlrpc-c-server/install
+       $(INSTALL_DIR) \
+               $(1)/usr/lib
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_server.so* \
+               $(1)/usr/lib/
+endef
+
+define Package/xmlrpc-c-abyss/install
+       $(INSTALL_DIR) \
+               $(1)/usr/lib
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_abyss.so* \
+               $(1)/usr/lib/
+endef
+
+define Package/xmlrpc-c-server-abyss/install
+       $(INSTALL_DIR) \
+               $(1)/usr/lib
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_server_abyss.so* \
+               $(1)/usr/lib/
+endef
+
+define Package/xmlrpc-c-client/install
+       $(INSTALL_DIR) \
+               $(1)/usr/lib
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_client* \
+               $(1)/usr/lib/
+endef
+
+define Package/xmlrpc-c-common/install
+       $(INSTALL_DIR) \
+               $(1)/usr/lib
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_util.so* \
+               $(1)/usr/lib/
+endef
+
+define Package/xmlrpc-c/install
+       true
+endef
+
+$(eval $(call BuildPackage,xmlrpc-c))
+$(eval $(call BuildPackage,xmlrpc-c-common))
+#$(eval $(call BuildPackage,xmlrpc-c-libxml2))
+$(eval $(call BuildPackage,xmlrpc-c-internal))
+$(eval $(call BuildPackage,xmlrpc-c-server))
+#$(eval $(call BuildPackage,xmlrpc-c-abyss))
+#$(eval $(call BuildPackage,xmlrpc-c-server-abyss))
+$(eval $(call BuildPackage,xmlrpc-c-client))
diff --git a/libs/xmlrpc-c/patches/001-config.mk.in.patch b/libs/xmlrpc-c/patches/001-config.mk.in.patch
new file mode 100644 (file)
index 0000000..e190ebb
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/config.mk.in
++++ b/config.mk.in
+@@ -175,7 +175,7 @@ ifeq ($(patsubst linux-gnu%,linux-gnu,$(
+   shlibfn = $(1:%=%.$(SHLIB_SUFFIX).$(MAJ).$(MIN))
+   shliblefn = $(1:%=%.$(SHLIB_SUFFIX))
+ #  SHLIB_CLIB = -lc
+-  LDFLAGS_SHLIB = -shared -Wl,-soname,$(SONAME) $(SHLIB_CLIB)
++  LDFLAGS_SHLIB = -shared -Wl,-soname,$(SONAME) $(SHLIB_CLIB) $(LDFLAGS)
+   CFLAGS_SHLIB=-fPIC
+ endif
diff --git a/libs/xmlrpc-c/patches/002-automake-compat.patch b/libs/xmlrpc-c/patches/002-automake-compat.patch
new file mode 100644 (file)
index 0000000..be69611
--- /dev/null
@@ -0,0 +1,13 @@
+--- a/configure.in
++++ b/configure.in
+@@ -224,9 +224,7 @@ dnl Checks for programs.
+ dnl =======================================================================
+ AC_PROG_CC
+-if test x"$enable_cplusplus" != xno; then
+-    AC_PROG_CXX
+-fi
++AC_PROG_CXX
+ dnl =======================================================================