Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/xmlrpc-c/files/, dev-libs/xmlrpc-c/
Date: Fri, 23 Sep 2022 01:18:42
Message-Id: 1663895904.c9b83345ff0a30dd9625d2220f00867c710705d8.sam@gentoo
1 commit: c9b83345ff0a30dd9625d2220f00867c710705d8
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Fri Sep 23 01:07:09 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Fri Sep 23 01:18:24 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c9b83345
7
8 dev-libs/xmlrpc-c: use pkg-config to find deps
9
10 Closes: https://bugs.gentoo.org/870253
11 Thanks-to: Mark Yacoub <markyacoub <AT> chromium.org>
12 Signed-off-by: Sam James <sam <AT> gentoo.org>
13
14 .../xmlrpc-c-1.51.06-pkg-config-libxml2.patch | 225 +++++++++++++++++++++
15 .../xmlrpc-c-1.51.06-pkg-config-openssl.patch | 46 +++++
16 dev-libs/xmlrpc-c/xmlrpc-c-1.51.06-r3.ebuild | 88 ++++++++
17 dev-libs/xmlrpc-c/xmlrpc-c-1.54.05-r1.ebuild | 88 ++++++++
18 4 files changed, 447 insertions(+)
19
20 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
21 new file mode 100644
22 index 000000000000..df8d992c62d8
23 --- /dev/null
24 +++ b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.51.06-pkg-config-libxml2.patch
25 @@ -0,0 +1,225 @@
26 +https://sourceforge.net/p/xmlrpc-c/code/3151
27 +https://bugs.gentoo.org/870253
28 +--- a/common.mk
29 ++++ b/common.mk
30 +@@ -281,7 +281,7 @@
31 + -L$(BLDDIR)/lib/expat/xmlparse -lxmlrpc_xmlparse \
32 + -L$(BLDDIR)/lib/expat/xmltok -lxmlrpc_xmltok
33 + else
34 +- LDLIBS_XML = $(shell xml2-config --libs)
35 ++ LDLIBS_XML = $(shell ${PKG_CONFIG} libxml-2.0 --libs)
36 + endif
37 +
38 + # LIBXMLRPC_UTIL_LIBDEP is the string of linker options you need on the link
39 +--- a/configure
40 ++++ b/configure
41 +@@ -628,9 +628,8 @@
42 + CC_WARN_FLAGS
43 + CXX_COMPILER_GNU
44 + C_COMPILER_GNU
45 ++HAVE_LIBWWW_SSL_DEFINE
46 + ENABLE_LIBXML2_BACKEND
47 +-have_xml2_config
48 +-HAVE_LIBWWW_SSL_DEFINE
49 + HAVE_ABYSS_OPENSSL_DEFINE
50 + MUST_BUILD_ABYSS_OPENSSL
51 + HAVE_OPENSSL
52 +@@ -781,8 +780,8 @@
53 + enable_cplusplus
54 + enable_abyss_threads
55 + enable_abyss_openssl
56 ++enable_libxml2_backend
57 + with_libwww_ssl
58 +-enable_libxml2_backend
59 + '
60 + ac_precious_vars='build_alias
61 + host_alias
62 +@@ -6053,62 +6053,39 @@
63 + fi
64 +
65 +
66 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Libxml2 library" >&5
67 ++$as_echo_n "checking for Libxml2 library... " >&6; }
68 ++
69 ++if ${PKG_CONFIG} libxml-2.0; then
70 ++ HAVE_LIBXML2=yes
71 ++else
72 ++ HAVE_LIBXML2=no
73 ++fi
74 ++
75 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAVE_LIBXML2" >&5
76 ++$as_echo "$HAVE_LIBXML2" >&6; }
77 ++
78 ++# Check whether --enable-libxml2-backend was given.
79 ++if test "${enable_libxml2_backend+set}" = set; then :
80 ++ enableval=$enable_libxml2_backend;
81 ++else
82 ++ enable_libxml2_backend=no
83 ++fi
84 ++
85 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the libxml2 backend" >&5
86 ++$as_echo_n "checking whether to build the libxml2 backend... " >&6; }
87 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_libxml2_backend" >&5
88 ++$as_echo "$enable_libxml2_backend" >&6; }
89 ++
90 ++if test $enable_libxml2_backend = yes; then
91 ++ if test $HAVE_LIBXML2 = no; then
92 ++ 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
93 ++ fi
94 ++fi
95 ++
96 ++ENABLE_LIBXML2_BACKEND=$enable_libxml2_backend
97 ++
98 ++
99 +-# Check whether --enable-libxml2-backend was given.
100 +-if test "${enable_libxml2_backend+set}" = set; then :
101 +- enableval=$enable_libxml2_backend;
102 +-else
103 +- enable_libxml2_backend=no
104 +-fi
105 +-
106 +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the libxml2 backend" >&5
107 +-$as_echo_n "checking whether to build the libxml2 backend... " >&6; }
108 +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_libxml2_backend" >&5
109 +-$as_echo "$enable_libxml2_backend" >&6; }
110 +-
111 +-if test $enable_libxml2_backend = yes; then
112 +- # Extract the first word of "xml2-config", so it can be a program name with args.
113 +-set dummy xml2-config; ac_word=$2
114 +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
115 +-$as_echo_n "checking for $ac_word... " >&6; }
116 +-if ${ac_cv_prog_have_xml2_config+:} false; then :
117 +- $as_echo_n "(cached) " >&6
118 +-else
119 +- if test -n "$have_xml2_config"; then
120 +- ac_cv_prog_have_xml2_config="$have_xml2_config" # Let the user override the test.
121 +-else
122 +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
123 +-for as_dir in $PATH
124 +-do
125 +- IFS=$as_save_IFS
126 +- test -z "$as_dir" && as_dir=.
127 +- for ac_exec_ext in '' $ac_executable_extensions; do
128 +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
129 +- ac_cv_prog_have_xml2_config="yes"
130 +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
131 +- break 2
132 +- fi
133 +-done
134 +- done
135 +-IFS=$as_save_IFS
136 +-
137 +- test -z "$ac_cv_prog_have_xml2_config" && ac_cv_prog_have_xml2_config="no"
138 +-fi
139 +-fi
140 +-have_xml2_config=$ac_cv_prog_have_xml2_config
141 +-if test -n "$have_xml2_config"; then
142 +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_xml2_config" >&5
143 +-$as_echo "$have_xml2_config" >&6; }
144 +-else
145 +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
146 +-$as_echo "no" >&6; }
147 +-fi
148 +-
149 +-
150 +- if test $have_xml2_config = no; then
151 +- 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
152 +- fi
153 +-fi
154 +-ENABLE_LIBXML2_BACKEND=$enable_libxml2_backend
155 +
156 +
157 + C_COMPILER_GNU=$ac_cv_c_compiler_gnu
158 +--- a/configure.in
159 ++++ b/configure.in
160 +@@ -742,6 +742,36 @@
161 +
162 +
163 + dnl =======================================================================
164 ++dnl Finding Libxml2
165 ++dnl =======================================================================
166 ++
167 ++AC_MSG_CHECKING(for Libxml2 library)
168 ++
169 ++if ${PKG_CONFIG} libxml-2.0; then
170 ++ HAVE_LIBXML2=yes
171 ++else
172 ++ HAVE_LIBXML2=no
173 ++fi
174 ++
175 ++AC_MSG_RESULT($HAVE_LIBXML2)
176 ++
177 ++AC_ARG_ENABLE(libxml2-backend,
178 ++ [ --enable-libxml2-backend Use libxml2 instead of built-in expat], ,
179 ++enable_libxml2_backend=no)
180 ++AC_MSG_CHECKING(whether to build the libxml2 backend)
181 ++AC_MSG_RESULT($enable_libxml2_backend)
182 ++
183 ++if test $enable_libxml2_backend = yes; then
184 ++ if test $HAVE_LIBXML2 = no; then
185 ++ 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])
186 ++ fi
187 ++fi
188 ++
189 ++ENABLE_LIBXML2_BACKEND=$enable_libxml2_backend
190 ++AC_SUBST(ENABLE_LIBXML2_BACKEND)
191 ++
192 ++
193 ++dnl =======================================================================
194 + dnl Checks for build options.
195 + dnl =======================================================================
196 +
197 +@@ -763,22 +793,6 @@
198 + fi
199 + AC_SUBST(HAVE_LIBWWW_SSL_DEFINE)
200 +
201 +-dnl Check to see if we should build the libxml2 backend.
202 +-AC_ARG_ENABLE(libxml2-backend,
203 +- [ --enable-libxml2-backend Use libxml2 instead of built-in expat], ,
204 +-enable_libxml2_backend=no)
205 +-AC_MSG_CHECKING(whether to build the libxml2 backend)
206 +-AC_MSG_RESULT($enable_libxml2_backend)
207 +-
208 +-if test $enable_libxml2_backend = yes; then
209 +- AC_CHECK_PROG(have_xml2_config, xml2-config, yes, no)
210 +- if test $have_xml2_config = no; then
211 +- 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])
212 +- fi
213 +-fi
214 +-ENABLE_LIBXML2_BACKEND=$enable_libxml2_backend
215 +-AC_SUBST(ENABLE_LIBXML2_BACKEND)
216 +-
217 + dnl =======================================================================
218 + dnl Compiler information
219 + dnl =======================================================================
220 +--- a/src/Makefile
221 ++++ b/src/Makefile
222 +@@ -68,7 +68,7 @@
223 +
224 + ifeq ($(ENABLE_LIBXML2_BACKEND),yes)
225 + XMLRPC_XML_PARSER = xmlrpc_libxml2
226 +- XML_PARSER_LIBDEP = $(shell xml2-config --libs)
227 ++ XML_PARSER_LIBDEP = $(shell ${PKG_CONFIG} libxml-2.0 --libs)
228 + XML_PARSER_LIBDEP_DEP =
229 + XML_PKGCONFIG_REQ = libxml-2.0
230 + else
231 +@@ -276,7 +276,7 @@
232 + -Isrcdir/lib/util/include \
233 +
234 + ifeq ($(ENABLE_LIBXML2_BACKEND),yes)
235 +- LIBXML_INCLUDES = $(shell xml2-config --cflags)
236 ++ LIBXML_INCLUDES = $(shell ${PKG_CONFIG} libxml-2.0 --cflags)
237 + else
238 + LIBXML_INCLUDES = -Isrcdir/lib/expat/xmlparse
239 + endif
240 +--- a/src/cpp/Makefile
241 ++++ b/src/cpp/Makefile
242 +@@ -46,7 +46,7 @@
243 + endif
244 +
245 + ifeq ($(ENABLE_LIBXML2_BACKEND),yes)
246 +- XML_PARSER_LIBDEP = $(shell xml2-config --libs)
247 ++ XML_PARSER_LIBDEP = $(shell ${PKG_CONFIG} libxml-2.0 --libs)
248 + else
249 + XML_PARSER_LIBDEP = \
250 + -L$(BLDDIR)/lib/expat/xmlparse -lxmlrpc_xmlparse \
251
252 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
253 new file mode 100644
254 index 000000000000..b39ae428f29b
255 --- /dev/null
256 +++ b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.51.06-pkg-config-openssl.patch
257 @@ -0,0 +1,46 @@
258 +https://sourceforge.net/p/xmlrpc-c/code/3152
259 +https://bugs.gentoo.org/870253
260 +--- a/configure
261 ++++ b/configure
262 +@@ -5974,11 +5974,11 @@
263 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenSSL library" >&5
264 + $as_echo_n "checking for OpenSSL library... " >&6; }
265 +
266 +-if pkg-config openssl; then
267 +- HAVE_OPENSSL=yes
268 +- OPENSSL_LDADD=$(pkg-config openssl --libs)
269 +-
270 +- OPENSSL_CFLAGS=$(pkg-config openssl --cflags)
271 ++if ${PKG_CONFIG} openssl; then
272 ++ HAVE_OPENSSL=yes
273 ++ OPENSSL_LDADD=$(${PKG_CONFIG} openssl --libs)
274 ++
275 ++ OPENSSL_CFLAGS=$(${PKG_CONFIG} openssl --cflags)
276 +
277 + else
278 + HAVE_OPENSSL=no
279 +
280 +--- a/config.mk.in
281 ++++ b/config.mk.in
282 +@@ -59,6 +59,8 @@
283 + C_COMPILER_GNU = @C_COMPILER_GNU@
284 + CXX_COMPILER_GNU = @CXX_COMPILER_GNU@
285 +
286 ++PKG_CONFIG ?= pkg-config
287 ++
288 + # Stuff 'configure' figured out via AC_CANONICAL_HOST macro in configure.in
289 + # and config.guess program and 'configure' command options:
290 +
291 +--- a/lib/openssl/Makefile
292 ++++ b/lib/openssl/Makefile
293 +@@ -25,8 +25,8 @@
294 +
295 + MAJ := 1
296 +
297 +-OPENSSL_INCLUDES := $(shell pkg-config openssl --cflags)
298 +-OPENSSL_LIBS := $(shell pkg-config openssl --libs)
299 ++OPENSSL_INCLUDES := $(shell $(PKG_CONFIG) openssl --cflags)
300 ++OPENSSL_LIBS := $(shell $(PKG_CONFIG) openssl --libs)
301 +
302 + include $(SRCDIR)/common.mk
303 +
304
305 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
306 new file mode 100644
307 index 000000000000..2f376e845193
308 --- /dev/null
309 +++ b/dev-libs/xmlrpc-c/xmlrpc-c-1.51.06-r3.ebuild
310 @@ -0,0 +1,88 @@
311 +# Copyright 1999-2022 Gentoo Authors
312 +# Distributed under the terms of the GNU General Public License v2
313 +
314 +EAPI=7
315 +
316 +inherit multilib-minimal toolchain-funcs
317 +
318 +# Upstream maintains 3 release channels: http://xmlrpc-c.sourceforge.net/release.html
319 +# 1. Only the "Super Stable" series is released as a tarball
320 +# 2. SVN tagging of releases seems spotty: http://svn.code.sf.net/p/xmlrpc-c/code/release_number/
321 +# Because of this, we are following the "Super Stable" release channel
322 +
323 +DESCRIPTION="A lightweight RPC library based on XML and HTTP"
324 +HOMEPAGE="http://xmlrpc-c.sourceforge.net/"
325 +SRC_URI="mirror://sourceforge/${PN}/${P}.tgz"
326 +
327 +LICENSE="BSD"
328 +SLOT="0/4.51"
329 +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"
330 +
331 +IUSE="abyss +cgi +curl +cxx +libxml2 threads test"
332 +
333 +RESTRICT="!test? ( test )"
334 +
335 +REQUIRED_USE="test? ( abyss curl cxx )"
336 +
337 +RDEPEND="
338 + sys-libs/ncurses:0=[${MULTILIB_USEDEP}]
339 + sys-libs/readline:0=[${MULTILIB_USEDEP}]
340 + curl? ( net-misc/curl[${MULTILIB_USEDEP}] )
341 + libxml2? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
342 +"
343 +DEPEND="${RDEPEND}"
344 +BDEPEND="virtual/pkgconfig"
345 +
346 +PATCHES=(
347 + "${FILESDIR}"/${PN}-1.51.06-pkg-config-libxml2.patch
348 + "${FILESDIR}"/${PN}-1.51.06-pkg-config-openssl.patch
349 +)
350 +
351 +pkg_setup() {
352 + use curl || ewarn "Curl support disabled: No client library will be built"
353 +}
354 +
355 +src_prepare() {
356 + sed -i \
357 + -e "/CFLAGS_COMMON/s|-g -O3$||" \
358 + -e "/CXXFLAGS_COMMON/s|-g$||" \
359 + common.mk || die
360 +
361 + default
362 +
363 + # Out-of-source install phase is broken
364 + multilib_copy_sources
365 +}
366 +
367 +multilib_src_configure() {
368 + tc-export PKG_CONFIG
369 +
370 + ECONF_SOURCE="${S}" \
371 + econf \
372 + --disable-libwww-client \
373 + --disable-wininet-client \
374 + --without-libwww-ssl \
375 + $(use_enable abyss abyss-server) \
376 + $(use_enable cgi cgi-server) \
377 + $(use_enable curl curl-client) \
378 + $(use_enable cxx cplusplus) \
379 + $(use_enable libxml2 libxml2-backend) \
380 + $(use_enable threads abyss-threads)
381 +}
382 +
383 +multilib_src_compile() {
384 + default_src_compile
385 + # Tools building is broken in this release
386 + #multilib_is_native_abi && use tools && emake -rC "${S}"/tools
387 +}
388 +
389 +multilib_src_test() {
390 + # Needed for tests, bug #836469
391 + cp "${BUILD_DIR}"/include/xmlrpc-c/config.h "${S}"/include/xmlrpc-c || die
392 + default_src_test
393 +}
394 +
395 +#multilib_src_install_all() {
396 +# # Tools building is broken in this release
397 +# #use tools && emake DESTDIR="${D}" -rC "${S}"/tools install
398 +#}
399
400 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
401 new file mode 100644
402 index 000000000000..c473a0e5f5f2
403 --- /dev/null
404 +++ b/dev-libs/xmlrpc-c/xmlrpc-c-1.54.05-r1.ebuild
405 @@ -0,0 +1,88 @@
406 +# Copyright 1999-2022 Gentoo Authors
407 +# Distributed under the terms of the GNU General Public License v2
408 +
409 +EAPI=7
410 +
411 +inherit multilib-minimal toolchain-funcs
412 +
413 +# Upstream maintains 3 release channels: http://xmlrpc-c.sourceforge.net/release.html
414 +# 1. Only the "Super Stable" series is released as a tarball
415 +# 2. SVN tagging of releases seems spotty: http://svn.code.sf.net/p/xmlrpc-c/code/release_number/
416 +# Because of this, we are following the "Super Stable" release channel
417 +
418 +DESCRIPTION="A lightweight RPC library based on XML and HTTP"
419 +HOMEPAGE="http://xmlrpc-c.sourceforge.net/"
420 +SRC_URI="mirror://sourceforge/${PN}/${P}.tgz"
421 +
422 +LICENSE="BSD"
423 +SLOT="0/4.54"
424 +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"
425 +
426 +IUSE="abyss +cgi +curl +cxx +libxml2 threads test"
427 +
428 +RESTRICT="!test? ( test )"
429 +
430 +REQUIRED_USE="test? ( abyss curl cxx )"
431 +
432 +RDEPEND="
433 + sys-libs/ncurses:0=[${MULTILIB_USEDEP}]
434 + sys-libs/readline:0=[${MULTILIB_USEDEP}]
435 + curl? ( net-misc/curl[${MULTILIB_USEDEP}] )
436 + libxml2? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
437 +"
438 +DEPEND="${RDEPEND}"
439 +BDEPEND="virtual/pkgconfig"
440 +
441 +PATCHES=(
442 + "${FILESDIR}"/${PN}-1.51.06-pkg-config-libxml2.patch
443 + "${FILESDIR}"/${PN}-1.51.06-pkg-config-openssl.patch
444 +)
445 +
446 +pkg_setup() {
447 + use curl || ewarn "Curl support disabled: No client library will be built"
448 +}
449 +
450 +src_prepare() {
451 + sed -i \
452 + -e "/CFLAGS_COMMON/s|-g -O3$||" \
453 + -e "/CXXFLAGS_COMMON/s|-g$||" \
454 + common.mk || die
455 +
456 + default
457 +
458 + # Out-of-source install phase is broken
459 + multilib_copy_sources
460 +}
461 +
462 +multilib_src_configure() {
463 + tc-export PKG_CONFIG
464 +
465 + ECONF_SOURCE="${S}" \
466 + econf \
467 + --disable-libwww-client \
468 + --disable-wininet-client \
469 + --without-libwww-ssl \
470 + $(use_enable abyss abyss-server) \
471 + $(use_enable cgi cgi-server) \
472 + $(use_enable curl curl-client) \
473 + $(use_enable cxx cplusplus) \
474 + $(use_enable libxml2 libxml2-backend) \
475 + $(use_enable threads abyss-threads)
476 +}
477 +
478 +multilib_src_compile() {
479 + default_src_compile
480 + # Tools building is broken in this release
481 + #multilib_is_native_abi && use tools && emake -rC "${S}"/tools
482 +}
483 +
484 +multilib_src_test() {
485 + # Needed for tests, bug #836469
486 + cp "${BUILD_DIR}"/include/xmlrpc-c/config.h "${S}"/include/xmlrpc-c || die
487 + default_src_test
488 +}
489 +
490 +#multilib_src_install_all() {
491 +# # Tools building is broken in this release
492 +# #use tools && emake DESTDIR="${D}" -rC "${S}"/tools install
493 +#}