summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-misc/jq/jq-1.7.1.ebuild')
-rw-r--r--app-misc/jq/jq-1.7.1.ebuild84
1 files changed, 84 insertions, 0 deletions
diff --git a/app-misc/jq/jq-1.7.1.ebuild b/app-misc/jq/jq-1.7.1.ebuild
new file mode 100644
index 000000000000..81be3fadd8dc
--- /dev/null
+++ b/app-misc/jq/jq-1.7.1.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+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 CC-BY-3.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~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.3' # Keep this in sync with bundled modules/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
+ "${FILESDIR}"/jq-1.7-runpath.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 '/modules\/oniguruma/d' -i Makefile.am || die
+ rm -rf "${S}"/modules/oniguruma || die
+
+ default
+
+ sed -i "s/\[jq_version\]/[${MY_PV}]/" configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local econfargs=(
+ # don't try to rebuild docs
+ --disable-docs
+ --disable-valgrind
+ --disable-maintainer-mode
+ --enable-rpathhack
+ $(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; }
+}