* [gentoo-commits] repo/gentoo:master commit in: dev-libs/xmlrpc-c/files/, dev-libs/xmlrpc-c/
@ 2022-09-23 1:18 Sam James
0 siblings, 0 replies; only message in thread
From: Sam James @ 2022-09-23 1:18 UTC (permalink / raw
To: gentoo-commits
commit: c9b83345ff0a30dd9625d2220f00867c710705d8
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 23 01:07:09 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Sep 23 01:18:24 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c9b83345
dev-libs/xmlrpc-c: use pkg-config to find deps
Closes: https://bugs.gentoo.org/870253
Thanks-to: Mark Yacoub <markyacoub <AT> chromium.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../xmlrpc-c-1.51.06-pkg-config-libxml2.patch | 225 +++++++++++++++++++++
.../xmlrpc-c-1.51.06-pkg-config-openssl.patch | 46 +++++
dev-libs/xmlrpc-c/xmlrpc-c-1.51.06-r3.ebuild | 88 ++++++++
dev-libs/xmlrpc-c/xmlrpc-c-1.54.05-r1.ebuild | 88 ++++++++
4 files changed, 447 insertions(+)
diff --git a/dev-libs/xmlrpc-c/files/xmlrpc-c-1.51.06-pkg-config-libxml2.patch b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.51.06-pkg-config-libxml2.patch
new file mode 100644
index 000000000000..df8d992c62d8
--- /dev/null
+++ b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.51.06-pkg-config-libxml2.patch
@@ -0,0 +1,225 @@
+https://sourceforge.net/p/xmlrpc-c/code/3151
+https://bugs.gentoo.org/870253
+--- a/common.mk
++++ b/common.mk
+@@ -281,7 +281,7 @@
+ -L$(BLDDIR)/lib/expat/xmlparse -lxmlrpc_xmlparse \
+ -L$(BLDDIR)/lib/expat/xmltok -lxmlrpc_xmltok
+ else
+- LDLIBS_XML = $(shell xml2-config --libs)
++ LDLIBS_XML = $(shell ${PKG_CONFIG} libxml-2.0 --libs)
+ endif
+
+ # LIBXMLRPC_UTIL_LIBDEP is the string of linker options you need on the link
+--- a/configure
++++ b/configure
+@@ -628,9 +628,8 @@
+ CC_WARN_FLAGS
+ CXX_COMPILER_GNU
+ C_COMPILER_GNU
++HAVE_LIBWWW_SSL_DEFINE
+ ENABLE_LIBXML2_BACKEND
+-have_xml2_config
+-HAVE_LIBWWW_SSL_DEFINE
+ HAVE_ABYSS_OPENSSL_DEFINE
+ MUST_BUILD_ABYSS_OPENSSL
+ HAVE_OPENSSL
+@@ -781,8 +780,8 @@
+ enable_cplusplus
+ enable_abyss_threads
+ enable_abyss_openssl
++enable_libxml2_backend
+ with_libwww_ssl
+-enable_libxml2_backend
+ '
+ ac_precious_vars='build_alias
+ host_alias
+@@ -6053,62 +6053,39 @@
+ fi
+
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Libxml2 library" >&5
++$as_echo_n "checking for Libxml2 library... " >&6; }
++
++if ${PKG_CONFIG} libxml-2.0; then
++ HAVE_LIBXML2=yes
++else
++ HAVE_LIBXML2=no
++fi
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAVE_LIBXML2" >&5
++$as_echo "$HAVE_LIBXML2" >&6; }
++
++# Check whether --enable-libxml2-backend was given.
++if test "${enable_libxml2_backend+set}" = set; then :
++ enableval=$enable_libxml2_backend;
++else
++ enable_libxml2_backend=no
++fi
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the libxml2 backend" >&5
++$as_echo_n "checking whether to build the libxml2 backend... " >&6; }
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_libxml2_backend" >&5
++$as_echo "$enable_libxml2_backend" >&6; }
++
++if test $enable_libxml2_backend = yes; then
++ if test $HAVE_LIBXML2 = no; then
++ as_fn_error $? "You specified --enable-libxml2_backend, but don't appear to have libxml2 installed (no pkg-config file for it in your pkg-config search path), so we cannot not build for libxml2" "$LINENO" 5
++ fi
++fi
++
++ENABLE_LIBXML2_BACKEND=$enable_libxml2_backend
++
++
+-# Check whether --enable-libxml2-backend was given.
+-if test "${enable_libxml2_backend+set}" = set; then :
+- enableval=$enable_libxml2_backend;
+-else
+- enable_libxml2_backend=no
+-fi
+-
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the libxml2 backend" >&5
+-$as_echo_n "checking whether to build the libxml2 backend... " >&6; }
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_libxml2_backend" >&5
+-$as_echo "$enable_libxml2_backend" >&6; }
+-
+-if test $enable_libxml2_backend = yes; then
+- # Extract the first word of "xml2-config", so it can be a program name with args.
+-set dummy xml2-config; ac_word=$2
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+-$as_echo_n "checking for $ac_word... " >&6; }
+-if ${ac_cv_prog_have_xml2_config+:} false; then :
+- $as_echo_n "(cached) " >&6
+-else
+- if test -n "$have_xml2_config"; then
+- ac_cv_prog_have_xml2_config="$have_xml2_config" # Let the user override the test.
+-else
+-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- for ac_exec_ext in '' $ac_executable_extensions; do
+- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_prog_have_xml2_config="yes"
+- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+- break 2
+- fi
+-done
+- done
+-IFS=$as_save_IFS
+-
+- test -z "$ac_cv_prog_have_xml2_config" && ac_cv_prog_have_xml2_config="no"
+-fi
+-fi
+-have_xml2_config=$ac_cv_prog_have_xml2_config
+-if test -n "$have_xml2_config"; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_xml2_config" >&5
+-$as_echo "$have_xml2_config" >&6; }
+-else
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+-$as_echo "no" >&6; }
+-fi
+-
+-
+- if test $have_xml2_config = no; then
+- as_fn_error $? "You specified --enable-libxml2_backend, but don't appear to have libxml2 installed (no working xml2-config in your command search path), so we cannot not build for libxml2" "$LINENO" 5
+- fi
+-fi
+-ENABLE_LIBXML2_BACKEND=$enable_libxml2_backend
+
+
+ C_COMPILER_GNU=$ac_cv_c_compiler_gnu
+--- a/configure.in
++++ b/configure.in
+@@ -742,6 +742,36 @@
+
+
+ dnl =======================================================================
++dnl Finding Libxml2
++dnl =======================================================================
++
++AC_MSG_CHECKING(for Libxml2 library)
++
++if ${PKG_CONFIG} libxml-2.0; then
++ HAVE_LIBXML2=yes
++else
++ HAVE_LIBXML2=no
++fi
++
++AC_MSG_RESULT($HAVE_LIBXML2)
++
++AC_ARG_ENABLE(libxml2-backend,
++ [ --enable-libxml2-backend Use libxml2 instead of built-in expat], ,
++enable_libxml2_backend=no)
++AC_MSG_CHECKING(whether to build the libxml2 backend)
++AC_MSG_RESULT($enable_libxml2_backend)
++
++if test $enable_libxml2_backend = yes; then
++ if test $HAVE_LIBXML2 = no; then
++ AC_MSG_ERROR([You specified --enable-libxml2_backend, but don't appear to have libxml2 installed (no pkg-config file for it in your pkg-config search path), so we cannot not build for libxml2])
++ fi
++fi
++
++ENABLE_LIBXML2_BACKEND=$enable_libxml2_backend
++AC_SUBST(ENABLE_LIBXML2_BACKEND)
++
++
++dnl =======================================================================
+ dnl Checks for build options.
+ dnl =======================================================================
+
+@@ -763,22 +793,6 @@
+ fi
+ AC_SUBST(HAVE_LIBWWW_SSL_DEFINE)
+
+-dnl Check to see if we should build the libxml2 backend.
+-AC_ARG_ENABLE(libxml2-backend,
+- [ --enable-libxml2-backend Use libxml2 instead of built-in expat], ,
+-enable_libxml2_backend=no)
+-AC_MSG_CHECKING(whether to build the libxml2 backend)
+-AC_MSG_RESULT($enable_libxml2_backend)
+-
+-if test $enable_libxml2_backend = yes; then
+- AC_CHECK_PROG(have_xml2_config, xml2-config, yes, no)
+- if test $have_xml2_config = no; then
+- AC_MSG_ERROR([You specified --enable-libxml2_backend, but don't appear to have libxml2 installed (no working xml2-config in your command search path), so we cannot not build for libxml2])
+- fi
+-fi
+-ENABLE_LIBXML2_BACKEND=$enable_libxml2_backend
+-AC_SUBST(ENABLE_LIBXML2_BACKEND)
+-
+ dnl =======================================================================
+ dnl Compiler information
+ dnl =======================================================================
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -68,7 +68,7 @@
+
+ ifeq ($(ENABLE_LIBXML2_BACKEND),yes)
+ XMLRPC_XML_PARSER = xmlrpc_libxml2
+- XML_PARSER_LIBDEP = $(shell xml2-config --libs)
++ XML_PARSER_LIBDEP = $(shell ${PKG_CONFIG} libxml-2.0 --libs)
+ XML_PARSER_LIBDEP_DEP =
+ XML_PKGCONFIG_REQ = libxml-2.0
+ else
+@@ -276,7 +276,7 @@
+ -Isrcdir/lib/util/include \
+
+ ifeq ($(ENABLE_LIBXML2_BACKEND),yes)
+- LIBXML_INCLUDES = $(shell xml2-config --cflags)
++ LIBXML_INCLUDES = $(shell ${PKG_CONFIG} libxml-2.0 --cflags)
+ else
+ LIBXML_INCLUDES = -Isrcdir/lib/expat/xmlparse
+ endif
+--- a/src/cpp/Makefile
++++ b/src/cpp/Makefile
+@@ -46,7 +46,7 @@
+ endif
+
+ ifeq ($(ENABLE_LIBXML2_BACKEND),yes)
+- XML_PARSER_LIBDEP = $(shell xml2-config --libs)
++ XML_PARSER_LIBDEP = $(shell ${PKG_CONFIG} libxml-2.0 --libs)
+ else
+ XML_PARSER_LIBDEP = \
+ -L$(BLDDIR)/lib/expat/xmlparse -lxmlrpc_xmlparse \
diff --git a/dev-libs/xmlrpc-c/files/xmlrpc-c-1.51.06-pkg-config-openssl.patch b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.51.06-pkg-config-openssl.patch
new file mode 100644
index 000000000000..b39ae428f29b
--- /dev/null
+++ b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.51.06-pkg-config-openssl.patch
@@ -0,0 +1,46 @@
+https://sourceforge.net/p/xmlrpc-c/code/3152
+https://bugs.gentoo.org/870253
+--- a/configure
++++ b/configure
+@@ -5974,11 +5974,11 @@
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenSSL library" >&5
+ $as_echo_n "checking for OpenSSL library... " >&6; }
+
+-if pkg-config openssl; then
+- HAVE_OPENSSL=yes
+- OPENSSL_LDADD=$(pkg-config openssl --libs)
+-
+- OPENSSL_CFLAGS=$(pkg-config openssl --cflags)
++if ${PKG_CONFIG} openssl; then
++ HAVE_OPENSSL=yes
++ OPENSSL_LDADD=$(${PKG_CONFIG} openssl --libs)
++
++ OPENSSL_CFLAGS=$(${PKG_CONFIG} openssl --cflags)
+
+ else
+ HAVE_OPENSSL=no
+
+--- a/config.mk.in
++++ b/config.mk.in
+@@ -59,6 +59,8 @@
+ C_COMPILER_GNU = @C_COMPILER_GNU@
+ CXX_COMPILER_GNU = @CXX_COMPILER_GNU@
+
++PKG_CONFIG ?= pkg-config
++
+ # Stuff 'configure' figured out via AC_CANONICAL_HOST macro in configure.in
+ # and config.guess program and 'configure' command options:
+
+--- a/lib/openssl/Makefile
++++ b/lib/openssl/Makefile
+@@ -25,8 +25,8 @@
+
+ MAJ := 1
+
+-OPENSSL_INCLUDES := $(shell pkg-config openssl --cflags)
+-OPENSSL_LIBS := $(shell pkg-config openssl --libs)
++OPENSSL_INCLUDES := $(shell $(PKG_CONFIG) openssl --cflags)
++OPENSSL_LIBS := $(shell $(PKG_CONFIG) openssl --libs)
+
+ include $(SRCDIR)/common.mk
+
diff --git a/dev-libs/xmlrpc-c/xmlrpc-c-1.51.06-r3.ebuild b/dev-libs/xmlrpc-c/xmlrpc-c-1.51.06-r3.ebuild
new file mode 100644
index 000000000000..2f376e845193
--- /dev/null
+++ b/dev-libs/xmlrpc-c/xmlrpc-c-1.51.06-r3.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib-minimal toolchain-funcs
+
+# Upstream maintains 3 release channels: http://xmlrpc-c.sourceforge.net/release.html
+# 1. Only the "Super Stable" series is released as a tarball
+# 2. SVN tagging of releases seems spotty: http://svn.code.sf.net/p/xmlrpc-c/code/release_number/
+# Because of this, we are following the "Super Stable" release channel
+
+DESCRIPTION="A lightweight RPC library based on XML and HTTP"
+HOMEPAGE="http://xmlrpc-c.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tgz"
+
+LICENSE="BSD"
+SLOT="0/4.51"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+
+IUSE="abyss +cgi +curl +cxx +libxml2 threads test"
+
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="test? ( abyss curl cxx )"
+
+RDEPEND="
+ sys-libs/ncurses:0=[${MULTILIB_USEDEP}]
+ sys-libs/readline:0=[${MULTILIB_USEDEP}]
+ curl? ( net-misc/curl[${MULTILIB_USEDEP}] )
+ libxml2? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.51.06-pkg-config-libxml2.patch
+ "${FILESDIR}"/${PN}-1.51.06-pkg-config-openssl.patch
+)
+
+pkg_setup() {
+ use curl || ewarn "Curl support disabled: No client library will be built"
+}
+
+src_prepare() {
+ sed -i \
+ -e "/CFLAGS_COMMON/s|-g -O3$||" \
+ -e "/CXXFLAGS_COMMON/s|-g$||" \
+ common.mk || die
+
+ default
+
+ # Out-of-source install phase is broken
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ tc-export PKG_CONFIG
+
+ ECONF_SOURCE="${S}" \
+ econf \
+ --disable-libwww-client \
+ --disable-wininet-client \
+ --without-libwww-ssl \
+ $(use_enable abyss abyss-server) \
+ $(use_enable cgi cgi-server) \
+ $(use_enable curl curl-client) \
+ $(use_enable cxx cplusplus) \
+ $(use_enable libxml2 libxml2-backend) \
+ $(use_enable threads abyss-threads)
+}
+
+multilib_src_compile() {
+ default_src_compile
+ # Tools building is broken in this release
+ #multilib_is_native_abi && use tools && emake -rC "${S}"/tools
+}
+
+multilib_src_test() {
+ # Needed for tests, bug #836469
+ cp "${BUILD_DIR}"/include/xmlrpc-c/config.h "${S}"/include/xmlrpc-c || die
+ default_src_test
+}
+
+#multilib_src_install_all() {
+# # Tools building is broken in this release
+# #use tools && emake DESTDIR="${D}" -rC "${S}"/tools install
+#}
diff --git a/dev-libs/xmlrpc-c/xmlrpc-c-1.54.05-r1.ebuild b/dev-libs/xmlrpc-c/xmlrpc-c-1.54.05-r1.ebuild
new file mode 100644
index 000000000000..c473a0e5f5f2
--- /dev/null
+++ b/dev-libs/xmlrpc-c/xmlrpc-c-1.54.05-r1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib-minimal toolchain-funcs
+
+# Upstream maintains 3 release channels: http://xmlrpc-c.sourceforge.net/release.html
+# 1. Only the "Super Stable" series is released as a tarball
+# 2. SVN tagging of releases seems spotty: http://svn.code.sf.net/p/xmlrpc-c/code/release_number/
+# Because of this, we are following the "Super Stable" release channel
+
+DESCRIPTION="A lightweight RPC library based on XML and HTTP"
+HOMEPAGE="http://xmlrpc-c.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tgz"
+
+LICENSE="BSD"
+SLOT="0/4.54"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+
+IUSE="abyss +cgi +curl +cxx +libxml2 threads test"
+
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="test? ( abyss curl cxx )"
+
+RDEPEND="
+ sys-libs/ncurses:0=[${MULTILIB_USEDEP}]
+ sys-libs/readline:0=[${MULTILIB_USEDEP}]
+ curl? ( net-misc/curl[${MULTILIB_USEDEP}] )
+ libxml2? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.51.06-pkg-config-libxml2.patch
+ "${FILESDIR}"/${PN}-1.51.06-pkg-config-openssl.patch
+)
+
+pkg_setup() {
+ use curl || ewarn "Curl support disabled: No client library will be built"
+}
+
+src_prepare() {
+ sed -i \
+ -e "/CFLAGS_COMMON/s|-g -O3$||" \
+ -e "/CXXFLAGS_COMMON/s|-g$||" \
+ common.mk || die
+
+ default
+
+ # Out-of-source install phase is broken
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ tc-export PKG_CONFIG
+
+ ECONF_SOURCE="${S}" \
+ econf \
+ --disable-libwww-client \
+ --disable-wininet-client \
+ --without-libwww-ssl \
+ $(use_enable abyss abyss-server) \
+ $(use_enable cgi cgi-server) \
+ $(use_enable curl curl-client) \
+ $(use_enable cxx cplusplus) \
+ $(use_enable libxml2 libxml2-backend) \
+ $(use_enable threads abyss-threads)
+}
+
+multilib_src_compile() {
+ default_src_compile
+ # Tools building is broken in this release
+ #multilib_is_native_abi && use tools && emake -rC "${S}"/tools
+}
+
+multilib_src_test() {
+ # Needed for tests, bug #836469
+ cp "${BUILD_DIR}"/include/xmlrpc-c/config.h "${S}"/include/xmlrpc-c || die
+ default_src_test
+}
+
+#multilib_src_install_all() {
+# # Tools building is broken in this release
+# #use tools && emake DESTDIR="${D}" -rC "${S}"/tools install
+#}
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2022-09-23 1:18 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-09-23 1:18 [gentoo-commits] repo/gentoo:master commit in: dev-libs/xmlrpc-c/files/, dev-libs/xmlrpc-c/ Sam James
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox