commit:     4d3277c4aa0d2761cf982c9bb6f057e016871749
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Mon Jun  2 16:35:16 2025 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Mon Jun  2 16:36:01 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4d3277c4

app-misc/jq: add 1.8.0

Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 app-misc/jq/Manifest        |  1 +
 app-misc/jq/jq-1.8.0.ebuild | 86 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 87 insertions(+)

diff --git a/app-misc/jq/Manifest b/app-misc/jq/Manifest
index cb0502875c76..7871bb9e9faa 100644
--- a/app-misc/jq/Manifest
+++ b/app-misc/jq/Manifest
@@ -1 +1,2 @@
 DIST jq-1.7.1.gh.tar.gz 1323338 BLAKE2B 
17e3b68e23f9a7f1aa8749ede6c0b8fe435990899886f0c96da36d130c17d13609ba7f910321316f0c3b35985360f8cb5e6a3b12caea5e9bc7792e128798f137
 SHA512 
af9c444e5306423182f467a53acdf45bb8aefa058a47f490ce16395f0aebfb7627e3843f65e96f41cd9d4b72b8ad274ab0bdb061abc6990b1158f86d2256d4ec
+DIST jq-1.8.0.gh.tar.gz 1355079 BLAKE2B 
0d98ed6ccf90d2d110cb3e04aa3058237f1650f246860c60a33528886374d247ba774ed64a0cf8f06b8c135ce0281b7b183732c0dfb9c267a9858df2e18b9740
 SHA512 
36c4035fbb5c7a6523c98d09cf8ba9636e79919f1620eb3934f4dec7ea42009ad5cce49ed67e516880911b98eb2d7188f58c75aa88359a20f848815b3c9032ee

diff --git a/app-misc/jq/jq-1.8.0.ebuild b/app-misc/jq/jq-1.8.0.ebuild
new file mode 100644
index 000000000000..7e90dc1a78a5
--- /dev/null
+++ b/app-misc/jq/jq-1.8.0.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+MY_PV="${PV/_/}"
+MY_P="${PN}-${MY_PV}"
+DESCRIPTION="A lightweight and flexible command-line JSON processor"
+HOMEPAGE="https://stedolan.github.io/jq/";
+SRC_URI="https://github.com/jqlang/jq/archive/refs/tags/${MY_P}.tar.gz -> 
${P}.gh.tar.gz"
+S="${WORKDIR}/${PN}-${MY_P}"
+
+LICENSE="MIT icu CC-BY-3.0"
+SLOT="0/1"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 
~amd64-linux ~arm64-macos ~x64-macos ~x64-solaris"
+IUSE="+oniguruma static-libs test"
+
+ONIGURUMA_MINPV='>=dev-libs/oniguruma-6.9.10' # Keep this in sync with bundled 
vendor/oniguruma/
+DEPEND="
+       >=sys-devel/bison-3.0
+       app-alternatives/lex
+       oniguruma? ( ${ONIGURUMA_MINPV}:=[static-libs?] )
+"
+RDEPEND="
+       !static-libs? (
+               oniguruma? ( ${ONIGURUMA_MINPV}[static-libs?] )
+       )
+"
+PATCHES=(
+       "${FILESDIR}"/jq-1.6-r3-never-bundle-oniguruma.patch
+)
+
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( oniguruma )"
+
+src_prepare() {
+       sed -e '/^dist_doc_DATA/d; s:-Wextra ::' -i Makefile.am || die
+       printf "#!/bin/sh\\nprintf '%s'\\n\n" "${MY_PV}" > scripts/version || 
die
+
+       # jq-1.6-r3-never-bundle-oniguruma makes sure we build with the system 
oniguruma,
+       # but the bundled copy of oniguruma still gets eautoreconf'd since it
+       # exists; save the cycles by nuking it.
+       sed -e '/vendor\/oniguruma/d' -i Makefile.am || die
+       rm -rf "${S}"/vendor/oniguruma || die
+
+       default
+
+       sed -i "s/\[jq_version\]/[${MY_PV}]/" configure.ac || die
+
+       eautoreconf
+}
+
+src_configure() {
+       # TODO: Drop on next release > 1.7.1
+       # bug #944014
+       append-cflags -std=gnu17
+
+       local econfargs=(
+               # don't try to rebuild docs
+               --disable-docs
+               --enable-valgrind=no
+               --disable-maintainer-mode
+               $(use_enable static-libs static)
+               $(use_with oniguruma oniguruma yes)
+       )
+       econf "${econfargs[@]}"
+}
+
+src_test() {
+       if ! LD_LIBRARY_PATH="${S}/.libs" nonfatal emake check; then
+               if [[ -r "${S}/test-suite.log" ]]; then
+                       eerror "Tests failed, outputting testsuite log"
+                       cat "${S}/test-suite.log"
+               fi
+               die "Tests failed"
+       fi
+}
+
+src_install() {
+       local DOCS=( AUTHORS NEWS.md README.md SECURITY.md )
+       default
+
+       use static-libs || { find "${D}" -name '*.la' -delete || die; }
+}

Reply via email to