Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id 6170184D82 for ; Sat, 9 Sep 2023 19:52:55 +0000 (UTC) X-Virus-Scanned: amavisd-new at netbsd.org Received: from mail.netbsd.org ([IPv6:::1]) by localhost (mail.netbsd.org [IPv6:::1]) (amavisd-new, port 10025) with ESMTP id VJC-x-kjlhdG for ; Sat, 9 Sep 2023 19:52:54 +0000 (UTC) Received: from cvs.NetBSD.org (ivanova.NetBSD.org [IPv6:2001:470:a085:999:28c:faff:fe03:5984]) by mail.netbsd.org (Postfix) with ESMTP id 14D7184CFA for ; Sat, 9 Sep 2023 19:52:54 +0000 (UTC) Received: by cvs.NetBSD.org (Postfix, from userid 500) id 0E509FBDB; Sat, 9 Sep 2023 19:52:54 +0000 (UTC) Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_1694289174107210" MIME-Version: 1.0 Date: Sat, 9 Sep 2023 19:52:54 +0000 From: "Thomas Klausner" Subject: CVS commit: pkgsrc/devel/jq To: pkgsrc-changes@NetBSD.org Approved: commit_and_comment Reply-To: wiz@netbsd.org X-Mailer: log_accum Message-Id: <20230909195254.0E509FBDB@cvs.NetBSD.org> This is a multi-part message in MIME format. --_----------=_1694289174107210 Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" Module Name: pkgsrc Committed By: wiz Date: Sat Sep 9 19:52:53 UTC 2023 Modified Files: pkgsrc/devel/jq: Makefile PLIST distinfo Added Files: pkgsrc/devel/jq/patches: patch-Makefile.in Removed Files: pkgsrc/devel/jq/patches: patch-Makefile.am patch-builtin.c patch-compile.c patch-configure.ac patch-inject__errors.c patch-util.c Log Message: jq: update to 1.7. # 1.7 Since the last stable release many things have happened: - jq now lives at Full commit log can be found at but here are some highlights: ## CLI changes - Make object key color configurable using `JQ_COLORS` environment variable. @itchyny @haguenau @ericpruitt #2703 ```sh # this would make "field" bold yellow (`1;33`, the last value) $ JQ_COLORS="0;90:0;37:0;37:0;37:0;32:1;37:1;37:1;33" ./jq -n '{field: 123}' { "field": 123 } ``` - Change the default color of null to Bright Black. @itchyny #2824 - Respect `NO_COLOR` environment variable to disable color output. See for details. @itchyny #2728 - Improved `--help` output. Now mentions all options and nicer order. @itchyny @wader #2747 #2766 #2799 - Fix multiple issues of exit code using `--exit-code`/`-e` option. @ryo1kato #1697 ```sh # true-ish last output value exits with zero $ jq -ne true ; echo $? true 0 # false-ish last output value (false and null) exits with 1 $ jq -ne false ; echo $? false 1 # no output value exists with 4 $ jq -ne empty ; echo $? 4 ``` - Add `--binary`/`-b` on Windows for binary output. To get `\n` instead of `\r\n` line endings. @nicowilliams 0dab2b1 - Add `--raw-output0` for NUL (zero byte) separated output. @asottile @pabs3 @itchyny #1990 #2235 #2684 ```sh # will output a zero byte after each output $ jq -n --raw-output0 '1,2,3' | xxd 00000000: 3100 3200 3300 1.2.3. # can be used with xargs -0 $ jq -n --raw-output0 '"a","b","c"' | xargs -0 -n1 a b c $ jq -n --raw-output0 '"a b c", "d\ne\nf"' | xargs -0 printf '[%s]\n' [a b c] [d e f] # can be used with read -d '' $ while IFS= read -r -d '' json; do > jq '.name' <<< "$json" > done < <(jq -n --raw-output0 '{name:"a b c"},{name:"d\ne\nf"}') "a b c" "d\ne\nf" # also it's an error to output a string containing a NUL when using NUL separator $ jq -n --raw-output0 '"\u0000"' jq: error (at ): Cannot dump a string containing NUL with --raw-output0 option ``` - Fix assert crash and validate JSON for `--jsonarg`. @wader #2658 - Remove deprecated `--argfile` option. @itchyny #2768 - Enable stack protection. @nicowilliams #2801 ## Language changes - Use decimal number literals to preserve precision. Comparison operations respects precision but arithmetic operations might truncate. @leonid-s-usov #1752 ```sh # precision is preserved $ echo '100000000000000000' | jq . 100000000000000000 # comparison respects precision (this is false in JavaScript) $ jq -n '100000000000000000 < 100000000000000001' true # sort/0 works $ jq -n -c '[100000000000000001, 100000000000000003, 100000000000000004, 100000000000000002] | sort' [100000000000000001,100000000000000002,100000000000000003,100000000000000004] # arithmetic operations might truncate (same as JavaScript) $ jq -n '100000000000000000 + 10' 100000000000000020 ``` - Adds new builtin `pick(stream)` to emit a projection of the input object or array. @pkoppstein #2656 #2779 ```sh $ jq -n '{"a": 1, "b": {"c": 2, "d": 3}, "e": 4} | pick(.a, .b.c, .x)' { "a": 1, "b": { "c": 2 }, "x": null } ``` - Adds new builtin `debug(msgs)` that works like `debug` but applies a filter on the input before writing to stderr. @pkoppstein #2710 ```sh $ jq -n '1 as $x | 2 | debug("Entering function foo with $x == \($x)", .) | (.+1)' ["DEBUG:","Entering function foo with $x == 1"] ["DEBUG:",2] 3 $ jq -n '{a: 1, b: 2, c: 3} | debug({a, b, sum: (.a+.b)})' ["DEBUG:",{"a":1,"b":2,"sum":3}] { "a": 1, "b": 2, "c": 3 } ``` - Adds new builtin `scan($re; $flags)`. Was documented but not implemented. @itchyny #1961 ```sh # look for pattern "ab" in "abAB" ignoring casing $ jq -n '"abAB" | scan("ab"; "i")' "ab" "AB" ``` - Adds new builtin `abs` to get absolute value. This potentially allows the literal value of numbers to be preserved as `length` and `fabs` convert to float. @pkoppstein #2767 - Allow `if` without `else`-branch. When skipped the `else`-branch will be `.` (identity). @chancez @wader #1825 #2481 ```sh # convert 1 to "one" otherwise keep as is $ jq -n '1,2 | if . == 1 then "one" end' "one" 2 # behaves the same as $ jq -n '1,2 | if . == 1 then "one" else . end' "one" 2 # also works with elif $ jq -n '1,2,3 | if . == 1 then "one" elif . == 2 then "two" end "one" "two" 3 ``` - Allow use of `$binding` as key in object literals. @nicowilliams 8ea4a55 ```sh $ jq -n '"a" as $key | {$key: 123}' { "a": 123 } # previously parentheses were needed $ jq -n '"a" as $key | {($key): 123}' { "a": 123 } ``` - Allow dot between chained indexes when using `.["index"]` @nicowilliams #1168 ```sh $ jq -n '{"a": {"b": 123}} | .a["b"]' 123 # now this also works $ jq -n '{"a": {"b": 123}} | .a.["b"]' 123 ``` - Allow dot for chained value iterator `.[]`, `.[]?` @wader #2650 ```sh $ jq -n '{"a": [123]} | .a[]' 123 # now this also works $ jq -n '{"a": [123]} | .a.[]' 123 ``` - Fix try/catch catches more than it should. @nicowilliams #2750 - Speed up and refactor some builtins, also remove `scalars_or_empty/0`. @muhmuhten #1845 - Now `halt` and `halt_error` exit immediately instead of continuing to the next input. @emanuele6 #2667 - Fix issue converting string to number after previous convert error. @thalman #2400 - Fix issue representing large numbers on some platforms causing invalid JSON output. @itchyny #2661 - Fix deletion using assigning empty against arrays. @itchyny #2133 ```sh # now this works as expected, filter out all values over 2 by assigning empty $ jq -c '(.[] | select(. >= 2)) |= empty' <<< '[1,5,3,0,7]' [1,0] ``` - Allow keywords to be used as binding name in more places. @emanuele6 #2681 - Allow using `nan` as NaN in JSON. @emanuele6 #2712 - Expose a module's function names in `modulemeta`. @mrwilson #2837 - Fix `contains/1` to handle strings with NUL. @nicowilliams 61cd6db - Fix `stderr/0` to output raw text without any decoration. @itchyny #2751 - Fix `nth/2` to emit empty on index out of range. @itchyny #2674 - Fix `implode` to not assert and instead replace invalid unicode codepoints. @wader #2646 - Fix `indices/1` and `rindex/1` in case of overlapping matches in strings. @emanuele6 #2718 - Fix `sub/3` to resolve issues involving global search-and-replace (gsub) operations. @pkoppstein #2641 - Fix `significand/0`, `gamma/0` and `drem/2` to be available on macOS. @itchyny #2756 #2775 - Fix empty regular expression matches. @itchyny #2677 - Fix overflow exception of the modulo operator. @itchyny #2629 - Fix string multiplication by 0 (and less than 1) to emit empty string. @itchyny #2142 - Fix segfault when using libjq and threads. @thalman #2546 - Fix constant folding of division and reminder with zero divisor. @itchyny #2797 - Fix `error/0`, `error/1` to throw null error. @emanuele6 #2823 - Simpler and faster `transpose`. @pkoppstein #2758 - Simple and efficient implementation of `walk/1`. @pkoppstein #2795 - Remove deprecated filters `leaf_paths`, `recurse_down`. @itchyny #2666 To generate a diff of this commit: cvs rdiff -u -r1.18 -r1.19 pkgsrc/devel/jq/Makefile cvs rdiff -u -r1.4 -r1.5 pkgsrc/devel/jq/PLIST cvs rdiff -u -r1.15 -r1.16 pkgsrc/devel/jq/distinfo cvs rdiff -u -r1.2 -r0 pkgsrc/devel/jq/patches/patch-Makefile.am \ pkgsrc/devel/jq/patches/patch-builtin.c \ pkgsrc/devel/jq/patches/patch-compile.c \ pkgsrc/devel/jq/patches/patch-inject__errors.c \ pkgsrc/devel/jq/patches/patch-util.c cvs rdiff -u -r0 -r1.3 pkgsrc/devel/jq/patches/patch-Makefile.in cvs rdiff -u -r1.4 -r0 pkgsrc/devel/jq/patches/patch-configure.ac Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. --_----------=_1694289174107210 Content-Disposition: inline Content-Length: 3920 Content-Transfer-Encoding: binary Content-Type: text/x-diff; charset=us-ascii Modified files: Index: pkgsrc/devel/jq/Makefile diff -u pkgsrc/devel/jq/Makefile:1.18 pkgsrc/devel/jq/Makefile:1.19 --- pkgsrc/devel/jq/Makefile:1.18 Sat Apr 23 21:05:18 2022 +++ pkgsrc/devel/jq/Makefile Sat Sep 9 19:52:53 2023 @@ -1,26 +1,24 @@ -# $NetBSD: Makefile,v 1.18 2022/04/23 21:05:18 tnn Exp $ +# $NetBSD: Makefile,v 1.19 2023/09/09 19:52:53 wiz Exp $ -DISTNAME= jq-1.6 -PKGREVISION= 1 -DIST_SUBDIR= ${DISTNAME} # remove on next update +DISTNAME= jq-1.7 CATEGORIES= devel -MASTER_SITES= ${MASTER_SITE_GITHUB:=stedolan/} +MASTER_SITES= ${MASTER_SITE_GITHUB:=jqlang/} GITHUB_RELEASE= ${DISTNAME} MAINTAINER= leot@NetBSD.org -HOMEPAGE= https://github.com/stedolan/jq/ +HOMEPAGE= https://github.com/jqlang/jq COMMENT= Command-line JSON processor LICENSE= mit -USE_LANGUAGES= c99 +USE_LANGUAGES= c USE_LIBTOOL= yes -USE_TOOLS+= autoreconf autoconf automake bison flex gmake +USE_TOOLS+= bison flex gmake GNU_CONFIGURE= yes -TEST_TARGET= check +USE_CC_FEATURES= c99 +PKGCONFIG_OVERRIDE= libjq.pc.in -pre-configure: - cd ${WRKSRC} && autoreconf -fi +TEST_TARGET= check .include "options.mk" Index: pkgsrc/devel/jq/PLIST diff -u pkgsrc/devel/jq/PLIST:1.4 pkgsrc/devel/jq/PLIST:1.5 --- pkgsrc/devel/jq/PLIST:1.4 Fri Jul 31 13:14:20 2015 +++ pkgsrc/devel/jq/PLIST Sat Sep 9 19:52:53 2023 @@ -1,10 +1,11 @@ -@comment $NetBSD: PLIST,v 1.4 2015/07/31 13:14:20 ryoon Exp $ +@comment $NetBSD: PLIST,v 1.5 2023/09/09 19:52:53 wiz Exp $ bin/jq include/jq.h include/jv.h lib/libjq.la +lib/pkgconfig/libjq.pc man/man1/jq.1 share/doc/jq/AUTHORS share/doc/jq/COPYING -share/doc/jq/README +share/doc/jq/NEWS.md share/doc/jq/README.md Index: pkgsrc/devel/jq/distinfo diff -u pkgsrc/devel/jq/distinfo:1.15 pkgsrc/devel/jq/distinfo:1.16 --- pkgsrc/devel/jq/distinfo:1.15 Sat Apr 23 21:05:18 2022 +++ pkgsrc/devel/jq/distinfo Sat Sep 9 19:52:53 2023 @@ -1,11 +1,6 @@ -$NetBSD: distinfo,v 1.15 2022/04/23 21:05:18 tnn Exp $ +$NetBSD: distinfo,v 1.16 2023/09/09 19:52:53 wiz Exp $ -BLAKE2s (jq-1.6/jq-1.6.tar.gz) = 91d3271bcfea48d2d313f0e92ed99f8f9a80619d939c6f7be31c135aa0929078 -SHA512 (jq-1.6/jq-1.6.tar.gz) = 5da71f53c325257f1f546a2520fe47828b495c953270df25ea0e37741463fdda72f0ba4d5b05b25114ec30f27a559344c2b024bacabf610759f4e3e9efadb480 -Size (jq-1.6/jq-1.6.tar.gz) = 1750584 bytes -SHA1 (patch-Makefile.am) = 5392763bd46b27f4e6c2048f497778ce0ed6c7a8 -SHA1 (patch-builtin.c) = b3ac3e4b98637ff6bcd4e28332e8b98a65864401 -SHA1 (patch-compile.c) = 0c58c5755857475deb613934140733eefa10f857 -SHA1 (patch-configure.ac) = a140c21a1a0268abf4b1f9bfc17a2c95099e1e2c -SHA1 (patch-inject__errors.c) = a325a3206dd738d4b3f4b2e1f30bb6db74a7e2bc -SHA1 (patch-util.c) = 49483951ae96e9b672f38b84aea955c0d189f822 +BLAKE2s (jq-1.7.tar.gz) = 185d736bb910d644bd3075806bbc7239e71ab9fac04455d3c1c138d2e538e201 +SHA512 (jq-1.7.tar.gz) = 4f8a6b0401e6c881dcb97d948fe38871062599a43fff667ede21cf185ec9de33e61878f0a6ea12786d0a632eea592ea0ff860520ba02dbb32f2fa2d2b5db7a0a +Size (jq-1.7.tar.gz) = 1905863 bytes +SHA1 (patch-Makefile.in) = b07a388dc5ca2cd966a41b5bb1ebae07c5c10aa8 Added files: Index: pkgsrc/devel/jq/patches/patch-Makefile.in diff -u /dev/null pkgsrc/devel/jq/patches/patch-Makefile.in:1.3 --- /dev/null Sat Sep 9 19:52:54 2023 +++ pkgsrc/devel/jq/patches/patch-Makefile.in Sat Sep 9 19:52:53 2023 @@ -0,0 +1,16 @@ +$NetBSD: patch-Makefile.in,v 1.3 2023/09/09 19:52:53 wiz Exp $ + +Do dynamic linking of libtool libraries too (otherwise bin/jq can +end up being statically linked). + +--- Makefile.in.orig 2023-09-06 20:00:52.000000000 +0000 ++++ Makefile.in +@@ -761,7 +761,7 @@ generate_ver = ver="`{ $(srcdir)/scripts + CLEANFILES = src/version.h .remake-version-h src/builtin.inc \ + src/config_opts.inc jq.1 + jq_SOURCES = src/main.c src/version.h +-jq_LDFLAGS = -static-libtool-libs $(am__append_9) ++jq_LDFLAGS = $(am__append_9) + jq_LDADD = libjq.la -lm $(am__append_8) + + ### Tests (make check) --_----------=_1694289174107210--