commit: 301464a78f7b7ab198117d596b7d14b64455555a Author: Alfred Wingate <parona <AT> protonmail <DOT> com> AuthorDate: Thu Jul 4 15:00:32 2024 +0000 Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org> CommitDate: Thu Jul 4 17:26:03 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=301464a7
media-libs/raptor: add 2.0.16 Libxml2 is going to remove nanohttp so use the curl backend unconditionally. Similarily fix patch for curl-config so that curl use flag actually works. Bug: https://bugs.gentoo.org/935487 Signed-off-by: Alfred Wingate <parona <AT> protonmail.com> Closes: https://github.com/gentoo/gentoo/pull/37434 Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org> media-libs/raptor/Manifest | 1 + .../files/raptor-2.0.16-dont_use_curl-config.patch | 70 ++++++++++++++++++++ .../raptor-2.0.16-libxml2-2.11-compatibility.patch | 27 ++++++++ media-libs/raptor/raptor-2.0.16.ebuild | 77 ++++++++++++++++++++++ 4 files changed, 175 insertions(+) diff --git a/media-libs/raptor/Manifest b/media-libs/raptor/Manifest index d4d6c5b1e631..3c5ab4ee0c47 100644 --- a/media-libs/raptor/Manifest +++ b/media-libs/raptor/Manifest @@ -1 +1,2 @@ DIST raptor2-2.0.15.tar.gz 1886657 BLAKE2B 0a39c7b5705bfbf2daa0ca633f79693953b4dfe24c144008d1646a9840a36d4d7ce153b527450647127ec2522047dbd0a6e71f307ee5656951f7e4b610adfd22 SHA512 563dd01869eb4df8524ec12e2c0a541653874dcd834bd1eb265bc2943bb616968f624121d4688579cdce11b4f00a8ab53b7099f1a0850e256bb0a2c16ba048ee +DIST raptor2-2.0.16.tar.gz 1750726 BLAKE2B 1e5e5742ba4cdaacb98a9ba77a9352589df0da60869e7721ee140c81ed4886bf909b37b247bd925c82a4ac44b3c11a909c913f0851d49a1d9d91c9293189266d SHA512 9bd5cff36390e1e0ef15ac56e5413ecfceb4018cb531a4da8850d3623615f12a93690a78be61f9d9ae7a24e16f6446e356bc2b7f34051ddc077761d85a9b7c44 diff --git a/media-libs/raptor/files/raptor-2.0.16-dont_use_curl-config.patch b/media-libs/raptor/files/raptor-2.0.16-dont_use_curl-config.patch new file mode 100644 index 000000000000..a53edc81a5c1 --- /dev/null +++ b/media-libs/raptor/files/raptor-2.0.16-dont_use_curl-config.patch @@ -0,0 +1,70 @@ +https://bugs.gentoo.org/552474 + +diff --git a/configure.ac b/configure.ac +index da048901..6028f4a2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -596,49 +596,12 @@ else + PKG_CHECK_MODULES([XSLT], [libxslt > $libxslt_min_version], [have_libxslt=1], [have_libxslt=0]) + fi + +-dnl curl +-AC_ARG_WITH(curl-config, [ --with-curl-config=PATH Location of libcurl curl-config []], curl_config="$withval", curl_config="") +- +-if test "X$curl_config" != "Xno" ; then +- if test "X$curl_config" != "X" ; then +- AC_MSG_CHECKING(for $curl_config) +- +- if test -f $curl_config ; then +- CURL_CONFIG=$curl_config +- AC_MSG_RESULT(yes) +- else +- AC_MSG_RESULT(no - searching PATH) +- fi +- fi +- if test "X$CURL_CONFIG" = "X" ; then +- AC_CHECK_PROGS(CURL_CONFIG, curl-config) +- fi +-fi +- + libcurl_source=no +-if test "X$CURL_CONFIG" != "X"; then +- LIBCURL_CFLAGS=`$CURL_CONFIG --cflags` +- LIBCURL_LIBS=`$CURL_CONFIG --libs` +- +- CPPFLAGS="$LIBCURL_CFLAGS $CPPFLAGS" +- LIBS="$LIBS $LIBCURL_LIBS" +- AC_CHECK_HEADER(curl/curl.h) +- AC_CHECK_FUNC(curl_easy_init, have_curl_easy_init=yes, have_curl_easy_init=no) +- +- AC_MSG_CHECKING(for libcurl via curl-config) +- if test $have_curl_easy_init = yes; then +- libcurl_source="curl-config" +- LIBCURL_VERSION=`$CURL_CONFIG --version | sed -e 's/^libcurl *//'` +- fi +- CPPFLAGS="$oCPPFLAGS" +- LIBS="$oLIBS" +-else +- PKG_CHECK_MODULES([LIBCURL],[libcurl],[ +- LIBCURL_VERSION=`$PKG_CONFIG libcurl --modversion` +- libcurl_source="pkg-config" +- ], [:]) +- AC_MSG_CHECKING(for libcurl via pkg-config) +-fi ++PKG_CHECK_MODULES([LIBCURL],[libcurl],[ ++ LIBCURL_VERSION=`$PKG_CONFIG libcurl --modversion` ++ libcurl_source="pkg-config" ++], [:]) ++AC_MSG_CHECKING(for libcurl via pkg-config) + + if test "$libcurl_source" = "no"; then + AC_MSG_RESULT(no - not found) +@@ -1033,7 +996,7 @@ need_libcurl=0 + need_libxml_www=0 + need_libfetch=0 + +-if test "X$CURL_CONFIG" != X; then ++if test "$libcurl_source" != "no"; then + CPPFLAGS="$CPPFLAGS $LIBCURL_CFLAGS" + LIBS="$LIBS $LIBCURL_LIBS" + AC_CHECK_HEADER(curl/curl.h) diff --git a/media-libs/raptor/files/raptor-2.0.16-libxml2-2.11-compatibility.patch b/media-libs/raptor/files/raptor-2.0.16-libxml2-2.11-compatibility.patch new file mode 100644 index 000000000000..17babfe521d2 --- /dev/null +++ b/media-libs/raptor/files/raptor-2.0.16-libxml2-2.11-compatibility.patch @@ -0,0 +1,27 @@ +https://github.com/dajobe/raptor/commit/4dbc4c1da2a033c497d84a1291c46f416a9cac51 + +From 4dbc4c1da2a033c497d84a1291c46f416a9cac51 Mon Sep 17 00:00:00 2001 +From: David Anes <[email protected]> +Date: Thu, 4 May 2023 11:54:02 +0200 +Subject: [PATCH] Remove the access to entities 'checked' private symbol for + libxml2 2.11.0 + +Since version 2.11.0, some private symbols that were never intended +as public API/ABI have been removed from libxml2, therefore the field +'checked' is no longer present and raptor fails to build in this +scenario. +--- a/src/raptor_libxml.c ++++ b/src/raptor_libxml.c +@@ -246,10 +246,11 @@ raptor_libxml_getEntity(void* user_data, const xmlChar *name) + + ret->owner = 1; + +-#if LIBXML_VERSION >= 20627 ++#if LIBXML_VERSION >= 20627 && LIBXML_VERSION < 21100 + /* Checked field was released in 2.6.27 on 2006-10-25 + * http://git.gnome.org/browse/libxml2/commit/?id=a37a6ad91a61d168ecc4b29263def3363fff4da6 + * ++ * and was later removed in version 2.11.0 + */ + + /* Mark this entity as having been checked - never do this again */ diff --git a/media-libs/raptor/raptor-2.0.16.ebuild b/media-libs/raptor/raptor-2.0.16.ebuild new file mode 100644 index 000000000000..49417e1008e1 --- /dev/null +++ b/media-libs/raptor/raptor-2.0.16.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools multilib-minimal + +MY_PN=${PN}2 +MY_P=${MY_PN}-${PV} + +DESCRIPTION="The RDF Parser Toolkit" +HOMEPAGE="https://librdf.org/raptor/" +SRC_URI="https://download.librdf.org/source/${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="Apache-2.0 GPL-2 LGPL-2.1" +SLOT="2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="debug json static-libs" + +DEPEND=" + dev-libs/libxml2[${MULTILIB_USEDEP}] + dev-libs/libxslt[${MULTILIB_USEDEP}] + dev-libs/icu:=[${MULTILIB_USEDEP}] + net-misc/curl[${MULTILIB_USEDEP}] + sys-libs/zlib[${MULTILIB_USEDEP}] + json? ( dev-libs/yajl[${MULTILIB_USEDEP}] ) +" +RDEPEND="${DEPEND} + !media-libs/raptor:0 +" +BDEPEND=" + >=sys-devel/bison-3 + app-alternatives/lex + virtual/pkgconfig +" + +DOCS=( AUTHORS ChangeLog NEWS NOTICE README ) +HTML_DOCS=( {NEWS,README,RELEASE,UPGRADING}.html ) + +PATCHES=( + "${FILESDIR}/raptor-2.0.16-dont_use_curl-config.patch" #552474 + "${FILESDIR}/raptor-2.0.16-libxml2-2.11-compatibility.patch" +) + +src_prepare() { + default + + # bug #552474 + eautoreconf + + multilib_copy_sources +} + +multilib_src_configure() { + # FIXME: It should be possible to use net-nntp/inn for libinn.h and -linn! + + local myeconfargs=( + --with-html-dir="${EPREFIX}"/usr/share/gtk-doc/html + --with-www=curl + $(use_enable debug) + $(use_with json yajl) + $(use_enable static-libs static) + ) + + econf "${myeconfargs[@]}" +} + +multilib_src_test() { + emake -j1 test +} + +multilib_src_install() { + default + + find "${ED}" -name '*.la' -delete || die +}
