summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick McLean <patrick.mclean@sony.com>2020-11-09 12:18:22 -0800
committerPatrick McLean <chutzpah@gentoo.org>2020-11-09 12:18:22 -0800
commitcb2f5a4d95770eca81da013a1d6c9e1386d56433 (patch)
tree2b1ac36364e743ddb16cb495ce661b498236601e /app-misc/jq
parentdev-lang/spidermonkey: security cleanup (diff)
downloadgentoo-cb2f5a4d95770eca81da013a1d6c9e1386d56433.tar.gz
gentoo-cb2f5a4d95770eca81da013a1d6c9e1386d56433.tar.bz2
gentoo-cb2f5a4d95770eca81da013a1d6c9e1386d56433.zip
app-misc/jq-1.7_pre20201109: Version bump to snapshot version
- Enable USE=oniguruma by default - Add patch to make the default colour of null grey rather than black Copyright: Sony Interactive Entertainment Inc. Package-Manager: Portage-3.0.9, Repoman-3.0.2 Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
Diffstat (limited to 'app-misc/jq')
-rw-r--r--app-misc/jq/Manifest1
-rw-r--r--app-misc/jq/files/jq-1.7-runpath.patch17
-rw-r--r--app-misc/jq/files/jq-1.7-visible-null.patch41
-rw-r--r--app-misc/jq/files/jq-1.7-warnings.patch44
-rw-r--r--app-misc/jq/jq-1.7_pre20201109.ebuild85
5 files changed, 188 insertions, 0 deletions
diff --git a/app-misc/jq/Manifest b/app-misc/jq/Manifest
index a96abba55084..160ab21536e4 100644
--- a/app-misc/jq/Manifest
+++ b/app-misc/jq/Manifest
@@ -1 +1,2 @@
DIST jq-1.6.tar.gz 1750584 BLAKE2B c9be1314e9d027247de63492ee362e996ef85faf45a47ee421cad95ebde9188bff8d3fc7db64e717ab922e1052f3b1c1500f5589fc5b2199ab66effb000e442d SHA512 5da71f53c325257f1f546a2520fe47828b495c953270df25ea0e37741463fdda72f0ba4d5b05b25114ec30f27a559344c2b024bacabf610759f4e3e9efadb480
+DIST jq-1.7_pre20201109.tar.gz 1181867 BLAKE2B 9db187ab927b635c43fbc6191aeffa00451b12253ae023bbabe6fba5fdf8fb393f8450ee2011ef58cb93e2f27994d454fac967984a721439aaac93259c02f7f1 SHA512 f2997d70edb36d0a23b71a7d933a763cedd7c74ffa3129c2a6cb7189aaff1c5095cdc51062b7cd119324ec2c83ebae6ff0b7da3941315303b7a31146b9eb285a
diff --git a/app-misc/jq/files/jq-1.7-runpath.patch b/app-misc/jq/files/jq-1.7-runpath.patch
new file mode 100644
index 000000000000..a8f76f7c90e1
--- /dev/null
+++ b/app-misc/jq/files/jq-1.7-runpath.patch
@@ -0,0 +1,17 @@
+diff --git a/configure.ac b/configure.ac
+index 0441d4a..8f1aa23 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -283,4 +283,11 @@ AC_SUBST([BUNDLER], ["$bundle_cmd"])
+ AC_CONFIG_MACRO_DIR([config/m4])
+ AC_CONFIG_FILES([Makefile libjq.pc])
+ AC_OUTPUT
+-
++AC_ARG_ENABLE([rpathhack],
++ [AC_HELP_STRING([--enable-rpathhack], [patch libtool to remove RPATH])],
++ [
++AC_MSG_RESULT([patching libtool to fix rpath])
++sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
++sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
++ ],
++ [])
diff --git a/app-misc/jq/files/jq-1.7-visible-null.patch b/app-misc/jq/files/jq-1.7-visible-null.patch
new file mode 100644
index 000000000000..41e55df72111
--- /dev/null
+++ b/app-misc/jq/files/jq-1.7-visible-null.patch
@@ -0,0 +1,41 @@
+diff --git a/src/jv_print.c b/src/jv_print.c
+index 2e781bb..e621b31 100644
+--- a/src/jv_print.c
++++ b/src/jv_print.c
+@@ -32,7 +32,7 @@ static const jv_kind color_kinds[] =
+ static char color_bufs[sizeof(color_kinds)/sizeof(color_kinds[0])][16];
+ static const char *color_bufps[8];
+ static const char* def_colors[] =
+- {COL("1;30"), COL("0;37"), COL("0;37"), COL("0;37"),
++ {COL("1;90"), COL("0;37"), COL("0;37"), COL("0;37"),
+ COL("0;32"), COL("1;37"), COL("1;37")};
+ #define FIELD_COLOR COL("34;1")
+
+diff --git a/tests/shtest b/tests/shtest
+index 8ed62b2..2d3f0da 100755
+--- a/tests/shtest
++++ b/tests/shtest
+@@ -280,12 +280,12 @@ fi
+
+ # Check $JQ_COLORS
+ $JQ -Ccn . > $d/color
+-printf '\033[1;30mnull\033[0m\n' > $d/expect
++printf '\033[1;90mnull\033[0m\n' > $d/expect
+ cmp $d/color $d/expect
+ JQ_COLORS='4;31' $JQ -Ccn . > $d/color
+ printf '\033[4;31mnull\033[0m\n' > $d/expect
+ cmp $d/color $d/expect
+-JQ_COLORS='1;30:0;31:0;32:0;33:0;34:1;35:1;36' \
++JQ_COLORS='1;90:0;31:0;32:0;33:0;34:1;35:1;36' \
+ $JQ -Ccn '[{"a":true,"b":false},123,null]' > $d/color
+ (
+ printf '\033[1;35m[\033[1;36m{'
+@@ -298,7 +298,7 @@ printf '[0m\033[0;31mfalse\033'
+ printf '[0m\033[1;36m\033[1;36'
+ printf 'm}\033[0m\033[1;35m,\033['
+ printf '0;33m123\033[0m\033[1;'
+-printf '35m,\033[1;30mnull\033'
++printf '35m,\033[1;90mnull\033'
+ printf '[0m\033[1;35m\033[1;35'
+ printf 'm]\033[0m\n'
+ ) > $d/expect
diff --git a/app-misc/jq/files/jq-1.7-warnings.patch b/app-misc/jq/files/jq-1.7-warnings.patch
new file mode 100644
index 000000000000..0047ca391cae
--- /dev/null
+++ b/app-misc/jq/files/jq-1.7-warnings.patch
@@ -0,0 +1,44 @@
+diff --git a/src/builtin.c b/src/builtin.c
+index bf80c7b..12db573 100644
+--- a/src/builtin.c
++++ b/src/builtin.c
+@@ -1,5 +1,6 @@
+ #define _BSD_SOURCE
+ #define _GNU_SOURCE
++#define _DEFAULT_SOURCE
+ #ifndef __sun__
+ # define _XOPEN_SOURCE
+ # define _XOPEN_SOURCE_EXTENDED 1
+diff --git a/src/jv_dtoa.c b/src/jv_dtoa.c
+index 33feb99..fcbd902 100644
+--- a/src/jv_dtoa.c
++++ b/src/jv_dtoa.c
+@@ -2327,7 +2327,7 @@ retlow1:
+ jvp_strtod
+ (struct dtoa_context* C, const char *s00, char **se)
+ {
+- int bb2, bb5, bbe, bd2, bd5, bbbits, bs2, c, e, e1, test_scale;
++ int bb2, bb5, bbe, bd2, bd5, bbbits, bs2, c, e, e1;
+ int esign, i, j, k, nd, nd0, nf, nz, nz0, nz1, sign;
+ CONST char *s, *s0, *s1;
+ double aadj, aadj1;
+diff --git a/src/jv_dtoa_tsd.c b/src/jv_dtoa_tsd.c
+index 0f95df4..e5209dd 100644
+--- a/src/jv_dtoa_tsd.c
++++ b/src/jv_dtoa_tsd.c
+@@ -24,7 +24,7 @@ static void tsd_dtoa_ctx_fini() {
+ }
+
+ static void tsd_dtoa_ctx_init() {
+- if (pthread_key_create(&dtoa_ctx_key, tsd_dtoa_ctx_dtor) != 0) {
++ if (pthread_key_create(&dtoa_ctx_key, (void (*)(void *))tsd_dtoa_ctx_dtor) != 0) {
+ fprintf(stderr, "error: cannot create thread specific key");
+ abort();
+ }
+@@ -43,4 +43,4 @@ inline struct dtoa_context *tsd_dtoa_context_get() {
+ }
+ }
+ return ctx;
+-}
+\ No newline at end of file
++}
diff --git a/app-misc/jq/jq-1.7_pre20201109.ebuild b/app-misc/jq/jq-1.7_pre20201109.ebuild
new file mode 100644
index 000000000000..fa0a2415e13b
--- /dev/null
+++ b/app-misc/jq/jq-1.7_pre20201109.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+COMMIT_HASH="a17dd3248a666d01be75f6b16be37e80e20b0954"
+
+DESCRIPTION="A lightweight and flexible command-line JSON processor"
+HOMEPAGE="https://stedolan.github.io/jq/"
+#SRC_URI="https://github.com/stedolan/jq/releases/download/${P}/${P}.tar.gz"
+SRC_URI="https://github.com/stedolan/jq/archive/${COMMIT_HASH}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${COMMIT_HASH}"
+
+LICENSE="MIT CC-BY-3.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
+IUSE="+oniguruma static-libs test"
+
+ONIGURUMA_MINPV='>=dev-libs/oniguruma-6.1.3' # Keep this in sync with bundled modules/oniguruma/
+DEPEND="
+ >=sys-devel/bison-3.0
+ sys-devel/flex
+ 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
+ "${FILESDIR}"/jq-1.7-warnings.patch
+ "${FILESDIR}"/jq-1.7-visible-null.patch
+)
+
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( oniguruma )"
+
+src_prepare() {
+ sed -e '/^dist_doc_DATA/d; s:-Wextra ::' -i Makefile.am || die
+ sed -r -e "s:(m4_define\(\[jq_version\],) .+\):\1 \[${PV}\]):" \
+ -i configure.ac || 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
+ 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 README.md )
+ default
+
+ use static-libs || { find "${D}" -name '*.la' -delete || die; }
+}