commit:     7075f280b4f20029ad6fdab4b343767efe549972
Author:     Haelwenn (lanodan) Monnier <contact <AT> hacktivis <DOT> me>
AuthorDate: Mon May 12 20:15:30 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed May 21 21:01:08 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7075f280

dev-libs/gumbo: add 0.13.1

Signed-off-by: Haelwenn (lanodan) Monnier <contact <AT> hacktivis.me>
Part-of: https://github.com/gentoo/gentoo/pull/42061
Closes: https://github.com/gentoo/gentoo/pull/42061
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-libs/gumbo/Manifest                            |  1 +
 .../files/gumbo-0.13.1-PR12-default_library.patch  | 37 +++++++++++++++++
 dev-libs/gumbo/gumbo-0.13.1.ebuild                 | 48 ++++++++++++++++++++++
 3 files changed, 86 insertions(+)

diff --git a/dev-libs/gumbo/Manifest b/dev-libs/gumbo/Manifest
index c53dcbb2a91e..1508b0f77074 100644
--- a/dev-libs/gumbo/Manifest
+++ b/dev-libs/gumbo/Manifest
@@ -1 +1,2 @@
 DIST gumbo-0.13.0.tar.gz 2114279 BLAKE2B 
21dd11312b4c8043810d03b62949313f5e69abbef2cc032c5d2a5d5d9a65d4711a7473dc7d4e3fcde7b15ad5b9df8d18d2eb2b1bdae4ec0ed236092ac3331bdf
 SHA512 
b87694179f35490fc25c6100c3bd81019926954e4838886d50698158e2a5bbb36f119cb086dfad05ff867a80b7bed8ada8bcbbf83bd1a151fb43921b66d9b61e
+DIST gumbo-0.13.1.tar.gz 2115080 BLAKE2B 
f6fd8fa818b58adbf6ed9d7ffe1d44a2d9902570addd6fe1c384273c965d345ba04f7a09ccb7860c2d065f5ee2a9193140ea753b08261bf8f3077d69a90bfc85
 SHA512 
22bdaac728e79fb176ea82d40bfab77500a85952d731f832ffa6defb48264a1f108a9bbde19fd60e9d829d23059feab0744b4dabf887997596892b815cb26f17

diff --git a/dev-libs/gumbo/files/gumbo-0.13.1-PR12-default_library.patch 
b/dev-libs/gumbo/files/gumbo-0.13.1-PR12-default_library.patch
new file mode 100644
index 000000000000..cff11c61287e
--- /dev/null
+++ b/dev-libs/gumbo/files/gumbo-0.13.1-PR12-default_library.patch
@@ -0,0 +1,37 @@
+From 3cd89bccda2b2e788f6489dcc84bc7e331caf800 Mon Sep 17 00:00:00 2001
+From: "Haelwenn (lanodan) Monnier" <[email protected]>
+Date: Mon, 12 May 2025 22:38:56 +0200
+Subject: [PATCH] meson.build: Use default_library=both instead of
+ both_libraries
+
+Allows distros to set -Ddefault_library=shared when a static
+library isn't warranted.
+---
+ meson.build | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 1f79aae..39a6c9a 100644
+--- a/meson.build
++++ b/meson.build
+@@ -2,7 +2,7 @@ project(
+       'gumbo-parser',
+       'c',
+       version: '0.13.1',
+-      default_options: ['c_std=c99', 'cpp_std=c++14']
++      default_options: ['c_std=c99', 'cpp_std=c++14', 'default_library=both']
+ )
+ 
+ gumbo_src = files(
+@@ -19,7 +19,7 @@ gumbo_src = files(
+       'src/vector.c',
+ )
+ 
+-libgumbo = both_libraries('gumbo', gumbo_src, version: '3.0.0', install: true)
++libgumbo = library('gumbo', gumbo_src, version: '3.0.0', install: true)
+ 
+ install_headers('src/gumbo.h', 'src/tag_enum.h')
+ 
+-- 
+2.45.2
+

diff --git a/dev-libs/gumbo/gumbo-0.13.1.ebuild 
b/dev-libs/gumbo/gumbo-0.13.1.ebuild
new file mode 100644
index 000000000000..a8147785955a
--- /dev/null
+++ b/dev-libs/gumbo/gumbo-0.13.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="The HTML5 parsing algorithm implemented as a pure C99 library"
+HOMEPAGE="https://codeberg.org/grisha/gumbo-parser";
+SRC_URI="https://codeberg.org/grisha/gumbo-parser/archive/${PV}.tar.gz -> 
${P}.tar.gz"
+S="${WORKDIR}/gumbo-parser"
+
+LICENSE="Apache-2.0"
+SLOT="0/3" # gumbo SONAME
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv 
~s390 ~sparc ~x86 ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( dev-cpp/gtest )"
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+       "${FILESDIR}/gumbo-0.13.1-PR12-default_library.patch"
+)
+
+src_configure() {
+       local emesonargs=(
+               $(meson_use test tests)
+               -Ddefault_library=shared
+       )
+
+       meson_src_configure
+}
+
+src_compile() {
+       meson_src_compile
+
+       if use doc; then
+               doxygen || die "doxygen failed"
+               HTML_DOCS=( docs/html/. )
+       fi
+}
+
+src_install() {
+       meson_src_install
+
+       use doc && doman docs/man/man3/*
+}

Reply via email to