head 1.30; access; symbols pkgsrc-2026Q1:1.30.0.8 pkgsrc-2026Q1-base:1.30 pkgsrc-2025Q4:1.30.0.6 pkgsrc-2025Q4-base:1.30 pkgsrc-2025Q3:1.30.0.4 pkgsrc-2025Q3-base:1.30 pkgsrc-2025Q2:1.30.0.2 pkgsrc-2025Q2-base:1.30 pkgsrc-2025Q1:1.28.0.10 pkgsrc-2025Q1-base:1.28 pkgsrc-2024Q4:1.28.0.8 pkgsrc-2024Q4-base:1.28 pkgsrc-2024Q3:1.28.0.6 pkgsrc-2024Q3-base:1.28 pkgsrc-2024Q2:1.28.0.4 pkgsrc-2024Q2-base:1.28 pkgsrc-2024Q1:1.28.0.2 pkgsrc-2024Q1-base:1.28 pkgsrc-2023Q4:1.26.0.2 pkgsrc-2023Q4-base:1.26 pkgsrc-2023Q3:1.24.0.2 pkgsrc-2023Q3-base:1.24 pkgsrc-2023Q2:1.23.0.2 pkgsrc-2023Q2-base:1.23 pkgsrc-2023Q1:1.17.0.12 pkgsrc-2023Q1-base:1.17 pkgsrc-2022Q4:1.17.0.10 pkgsrc-2022Q4-base:1.17 pkgsrc-2022Q3:1.17.0.8 pkgsrc-2022Q3-base:1.17 pkgsrc-2022Q2:1.17.0.6 pkgsrc-2022Q2-base:1.17 pkgsrc-2022Q1:1.17.0.4 pkgsrc-2022Q1-base:1.17 pkgsrc-2021Q4:1.17.0.2 pkgsrc-2021Q4-base:1.17 pkgsrc-2021Q3:1.15.0.2 pkgsrc-2021Q3-base:1.15 pkgsrc-2021Q2:1.14.0.22 pkgsrc-2021Q2-base:1.14 pkgsrc-2021Q1:1.14.0.20 pkgsrc-2021Q1-base:1.14 pkgsrc-2020Q4:1.14.0.18 pkgsrc-2020Q4-base:1.14 pkgsrc-2020Q3:1.14.0.16 pkgsrc-2020Q3-base:1.14 pkgsrc-2020Q2:1.14.0.14 pkgsrc-2020Q2-base:1.14 pkgsrc-2020Q1:1.14.0.10 pkgsrc-2020Q1-base:1.14 pkgsrc-2019Q4:1.14.0.12 pkgsrc-2019Q4-base:1.14 pkgsrc-2019Q3:1.14.0.8 pkgsrc-2019Q3-base:1.14 pkgsrc-2019Q2:1.14.0.6 pkgsrc-2019Q2-base:1.14 pkgsrc-2019Q1:1.14.0.4 pkgsrc-2019Q1-base:1.14 pkgsrc-2018Q4:1.14.0.2 pkgsrc-2018Q4-base:1.14 pkgsrc-2018Q3:1.13.0.6 pkgsrc-2018Q3-base:1.13 pkgsrc-2018Q2:1.13.0.4 pkgsrc-2018Q2-base:1.13 pkgsrc-2018Q1:1.13.0.2 pkgsrc-2018Q1-base:1.13 pkgsrc-2017Q4:1.12.0.2 pkgsrc-2017Q4-base:1.12 pkgsrc-2017Q3:1.11.0.6 pkgsrc-2017Q3-base:1.11 pkgsrc-2017Q2:1.11.0.2 pkgsrc-2017Q2-base:1.11 pkgsrc-2017Q1:1.10.0.2 pkgsrc-2017Q1-base:1.10 pkgsrc-2016Q4:1.9.0.10 pkgsrc-2016Q4-base:1.9 pkgsrc-2016Q3:1.9.0.8 pkgsrc-2016Q3-base:1.9 pkgsrc-2016Q2:1.9.0.6 pkgsrc-2016Q2-base:1.9 pkgsrc-2016Q1:1.9.0.4 pkgsrc-2016Q1-base:1.9 pkgsrc-2015Q4:1.9.0.2 pkgsrc-2015Q4-base:1.9 pkgsrc-2015Q3:1.8.0.20 pkgsrc-2015Q3-base:1.8 pkgsrc-2015Q2:1.8.0.18 pkgsrc-2015Q2-base:1.8 pkgsrc-2015Q1:1.8.0.16 pkgsrc-2015Q1-base:1.8 pkgsrc-2014Q4:1.8.0.14 pkgsrc-2014Q4-base:1.8 pkgsrc-2014Q3:1.8.0.12 pkgsrc-2014Q3-base:1.8 pkgsrc-2014Q2:1.8.0.10 pkgsrc-2014Q2-base:1.8 pkgsrc-2014Q1:1.8.0.8 pkgsrc-2014Q1-base:1.8 pkgsrc-2013Q4:1.8.0.6 pkgsrc-2013Q4-base:1.8 pkgsrc-2013Q3:1.8.0.4 pkgsrc-2013Q3-base:1.8 pkgsrc-2013Q2:1.8.0.2 pkgsrc-2013Q2-base:1.8 pkgsrc-2013Q1:1.7.0.18 pkgsrc-2013Q1-base:1.7 pkgsrc-2012Q4:1.7.0.16 pkgsrc-2012Q4-base:1.7 pkgsrc-2012Q3:1.7.0.14 pkgsrc-2012Q3-base:1.7 pkgsrc-2012Q2:1.7.0.12 pkgsrc-2012Q2-base:1.7 pkgsrc-2012Q1:1.7.0.10 pkgsrc-2012Q1-base:1.7 pkgsrc-2011Q4:1.7.0.8 pkgsrc-2011Q4-base:1.7 pkgsrc-2011Q3:1.7.0.6 pkgsrc-2011Q3-base:1.7 pkgsrc-2011Q2:1.7.0.4 pkgsrc-2011Q2-base:1.7 pkgsrc-2011Q1:1.7.0.2 pkgsrc-2011Q1-base:1.7 pkgsrc-2010Q4:1.6.0.8 pkgsrc-2010Q4-base:1.6 pkgsrc-2010Q3:1.6.0.6 pkgsrc-2010Q3-base:1.6 pkgsrc-2010Q2:1.6.0.4 pkgsrc-2010Q2-base:1.6 pkgsrc-2010Q1:1.6.0.2 pkgsrc-2010Q1-base:1.6 pkgsrc-2009Q4:1.5.0.6 pkgsrc-2009Q4-base:1.5 pkgsrc-2009Q3:1.5.0.4 pkgsrc-2009Q3-base:1.5 pkgsrc-2009Q2:1.5.0.2 pkgsrc-2009Q2-base:1.5 pkgsrc-2009Q1:1.4.0.12 pkgsrc-2009Q1-base:1.4 pkgsrc-2008Q4:1.4.0.10 pkgsrc-2008Q4-base:1.4 pkgsrc-2008Q3:1.4.0.8 pkgsrc-2008Q3-base:1.4 cube-native-xorg:1.4.0.6 cube-native-xorg-base:1.4 pkgsrc-2008Q2:1.4.0.4 pkgsrc-2008Q2-base:1.4 cwrapper:1.4.0.2 pkgsrc-2008Q1:1.3.0.6 pkgsrc-2008Q1-base:1.3 pkgsrc-2007Q4:1.3.0.4 pkgsrc-2007Q4-base:1.3 pkgsrc-2007Q3:1.3.0.2 pkgsrc-2007Q3-base:1.3 pkgsrc-2007Q2:1.2.0.4 pkgsrc-2007Q2-base:1.2 pkgsrc-2007Q1:1.2.0.2 pkgsrc-2007Q1-base:1.2 pkgsrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.30 date 2025.04.30.11.43.13; author wiz; state Exp; branches; next 1.29; commitid qcjvvqTya6Luk4TF; 1.29 date 2025.04.28.19.15.19; author tnn; state Exp; branches; next 1.28; commitid ZLUZghFhjZOLTQSF; 1.28 date 2024.01.14.08.41.57; author wiz; state Exp; branches; next 1.27; commitid rQ9Aktdvrd7bvoUE; 1.27 date 2024.01.13.04.25.39; author riastradh; state Exp; branches; next 1.26; commitid SBrUr0sqRcAf7fUE; 1.26 date 2023.12.11.10.11.04; author wiz; state Exp; branches; next 1.25; commitid i4nsBnQ5TgGv52QE; 1.25 date 2023.12.07.18.32.25; author wiz; state Exp; branches; next 1.24; commitid mpo484NE1TDtZyPE; 1.24 date 2023.09.09.20.12.39; author wiz; state Exp; branches; next 1.23; commitid daflcs9s4xEQo8EE; 1.23 date 2023.06.19.20.31.02; author tnn; state Exp; branches; next 1.22; commitid d6sCyj32m2xM8BtE; 1.22 date 2023.06.18.19.37.37; author wiz; state Exp; branches; next 1.21; commitid OftyIs7tgl9tSstE; 1.21 date 2023.06.17.11.25.19; author riastradh; state Exp; branches; next 1.20; commitid BHkojzMK9ncJbitE; 1.20 date 2023.04.20.11.10.26; author tnn; state Exp; branches; next 1.19; commitid d72Ai8m07Nc5YPlE; 1.19 date 2023.04.18.21.31.08; author wiz; state Exp; branches; next 1.18; commitid tEbz5X08DBu7tDlE; 1.18 date 2023.04.18.09.06.25; author wiz; state Exp; branches; next 1.17; commitid 5e6wGfhWnw3BlzlE; 1.17 date 2021.10.26.10.55.50; author nia; state Exp; branches; next 1.16; commitid vzl6zVlmjiF3hjeD; 1.16 date 2021.10.07.14.28.11; author nia; state Exp; branches; next 1.15; commitid wLkpKfebF6VS3TbD; 1.15 date 2021.09.11.23.44.49; author tnn; state Exp; branches; next 1.14; commitid 0IRAIATJoS6eYA8D; 1.14 date 2018.12.02.06.49.24; author wiz; state Exp; branches; next 1.13; commitid Nol8RVMH0sd4Xb2B; 1.13 date 2018.01.03.12.12.07; author jperkin; state Exp; branches; next 1.12; commitid ELAaPRb6lBDArqlA; 1.12 date 2017.11.23.16.15.23; author wiz; state Exp; branches 1.12.2.1; next 1.11; commitid NXiMYbEfnsOM6bgA; 1.11 date 2017.04.23.14.49.27; author taca; state Exp; branches; next 1.10; commitid 1JuACJYyVC0gvFOz; 1.10 date 2017.03.20.13.13.51; author wiz; state Exp; branches 1.10.2.1; next 1.9; commitid tW3UvXBtSWjL4iKz; 1.9 date 2015.11.03.23.33.37; author agc; state Exp; branches; next 1.8; commitid vBzTXDWz0lsAFHHy; 1.8 date 2013.05.26.20.14.48; author wiz; state Exp; branches; next 1.7; commitid UcazEhy2hBiidbRw; 1.7 date 2011.01.11.11.53.13; author drochner; state Exp; branches; next 1.6; 1.6 date 2010.01.15.23.09.28; author tnn; state Exp; branches; next 1.5; 1.5 date 2009.06.07.14.05.04; author wiz; state Exp; branches; next 1.4; 1.4 date 2008.05.05.19.07.08; author drochner; state Exp; branches; next 1.3; 1.3 date 2007.07.17.19.46.31; author drochner; state Exp; branches; next 1.2; 1.2 date 2007.03.13.10.55.12; author drochner; state Exp; branches; next 1.1; 1.1 date 2007.02.22.20.35.38; author drochner; state Exp; branches 1.1.1.1; next ; 1.12.2.1 date 2018.01.04.21.07.13; author spz; state Exp; branches; next ; commitid RjtanasxJiydnBlA; 1.10.2.1 date 2017.04.25.17.39.11; author bsiegert; state Exp; branches; next ; commitid YRkISeYmGxB3oWOz; 1.1.1.1 date 2007.02.22.20.35.38; author drochner; state Exp; branches; next ; desc @@ 1.30 log @nickle: update to 2.103. New in 2.103: Switch 'bool' in %union to 'boolean' for C23 compatibility @ text @$NetBSD: distinfo,v 1.29 2025/04/28 19:15:19 tnn Exp $ BLAKE2s (nickle-2.103.tar.xz) = 69a14501cccdbee6317799edeaaa8e61b044f8030ba81caa55ebd9308acd5c19 SHA512 (nickle-2.103.tar.xz) = e60fa993b0c4d732106fcddfd7139c32bbf8bb443f8032c1344ea668fa0ee3cec1852c9dc674791ddf31220f38da6093d7f7a444341baf107592aef42bd8b9b0 Size (nickle-2.103.tar.xz) = 2190800 bytes SHA1 (patch-meson.build) = 9d3311f4aa3e3e2ffcb6fa0f968fd7e3a8a1368d SHA1 (patch-test_math-tables.sh) = 283036db256dfbc746d6321c1b2902a4cd728bdd @ 1.29 log @nickle: Avoid conflict with C23 bool @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.28 2024/01/14 08:41:57 wiz Exp $ d3 5 a7 4 BLAKE2s (nickle-2.97.tar.gz) = e250335262308dc00ee5c2b0e0d7dcedcb58a4ad244106bfa0d5debcc1514f12 SHA512 (nickle-2.97.tar.gz) = 8add9b0b908a3273fecc00d76aaaabfb3b86872c3dab9a9fe7dae45c98c2c45dca16c2234887c195733360db6a3377041a8b4428b64686792aa08e9c8c561309 Size (nickle-2.97.tar.gz) = 2553393 bytes SHA1 (patch-gram.y) = f59a2327e4fdd207b96d5f1328914e662e6cc1b8 @ 1.28 log @nickle: update to 2.97. Version 2.97 test: Clean up manually-built math-tables bits bench: Install runbench.sh script with +x mode debian: Add hardening rules to *FLAGS_FOR_BUILD Revert "test: Fix how math-tables is built" Install benchmark bits. Don't put examples in docdir @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.27 2024/01/13 04:25:39 riastradh Exp $ d6 1 @ 1.27 log @math/nickle: Fix cross-build, again. This was fixed last year, and the fix was upstreamed, and the fix was removed when we updated, and then upstream broke it again, so now we have to fix it again. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.26 2023/12/11 10:11:04 wiz Exp $ d3 3 a5 4 BLAKE2s (nickle-2.96.tar.gz) = 2d2e9c761307bbeec656f70ccb75696cc3d9b07375f7c2df1ec8d0d818b710b8 SHA512 (nickle-2.96.tar.gz) = 4d06eb2e62a7c6c322ff9b406cfff2f2e68d0ff0eb3c84240aced618b89aa2a6be8822d7ae4169dc3e42c94527fb587a6c5fd9739bde03098de9f86b2bf11e3a Size (nickle-2.96.tar.gz) = 2552972 bytes SHA1 (patch-test_Makefile.am) = 7238760ee390f7b1d07f267beb1b222f2af9068e @ 1.26 log @nickle: update to 2.96. Version 2.96 Leave LDFLAGS for the build environment @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.25 2023/12/07 18:32:25 wiz Exp $ d6 1 @ 1.25 log @nickle: update to 2.95. Version 2.95 test: Run tests with MALLOC_CHECK_ and MALLOC_PERTURB_ set Initialize SymbolLocal 'code' in allocators json: Handle empty arrays and objects Version 2.94 test: Fix how math-tables is built test: Test true/false/null values in json Add true/false/null and file in/out to json.5c @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.24 2023/09/09 20:12:39 wiz Exp $ d3 3 a5 3 BLAKE2s (nickle-2.95.tar.gz) = c7393d05fc9ec8d12f91d0bf9214c5d3f536a90ca2a975e4d60cdc58e90ddb5b SHA512 (nickle-2.95.tar.gz) = 4a5b84d74ca525361e91f1ebf52773efec8d9b1263702d91095c9a4565871b0432e5aea5c5d35d1c690b8007d3a37d718d8e34e94d7c31f7fe38b5ec518b1a2b Size (nickle-2.95.tar.gz) = 2552741 bytes @ 1.24 log @nickle: update to 2.93. Version 2.93 natural: Fix bug in optimized multiply by one float: optimize addition of zero Adjust printf output precision to show full resolution Use standard C flexible array syntax for natural digits lex.l: Don't use with libedit Clean up --with-libedit help string Ignore a couple more build artifacts test: Test hex float in scanf Add hex float support to scanf debian: Update standards version to 4.6.2 Add %a support to printf Actually use HAVE_RL_CATCH_SIGNALS test: Add math-tables.c to EXTRA_DIST @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.23 2023/06/19 20:31:02 tnn Exp $ d3 3 a5 3 BLAKE2s (nickle-2.93.tar.gz) = 87a6d2eb2c0523987ac31e214cbe1f737e649865bedb3bb3ab6643c4cff7a2cc SHA512 (nickle-2.93.tar.gz) = 0908c12060c66ea8bce1c05e931f555c1fcf0e43637cc5692029e3d4b4cc3a36ac6d367b768598d4e21b7e204dc5247ff3ad80965521a9284d63dd0027790928 Size (nickle-2.93.tar.gz) = 2550308 bytes @ 1.23 log @nickle: put back patch-lex.c which got lost in recent rototil Still needed on macOS. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.22 2023/06/18 19:37:37 wiz Exp $ d3 3 a5 4 BLAKE2s (nickle-2.92.tar.gz) = 21da50baef14a9f35e911d013f48f7217a00b7eb0b80add63fd1056f1b34f68a SHA512 (nickle-2.92.tar.gz) = 27c8607740bba0c034ac2f8aef823c1eeaf7670bf72c983212ad41522fc321bda45478515e9f1e67350fecf1ebe4b9bb29429edeb357e5e1691af9e1720322f6 Size (nickle-2.92.tar.gz) = 2548373 bytes SHA1 (patch-lex.c) = daae8884b02f8de2fa4dbc9050973dbaebcda7a4 @ 1.22 log @nickle: update to 2.92. Version 2.92 debian: Build depend on a couple of packages Use CC_BUILD to generate math test tables Add ctype.h, remove explicit lex func prototypes from lex.l Remove 'const' attribute when assigning to tm_zone field Allow use of libedit in place of readline Check for all readline helper functions separately Define _GNU_SOURCE in edit.c to get asprintf declared Remove redundant box value check in ThreadBoxSetDefault test: Allow "UTC", "GMT", or "NONE" to be returned for GMT time zone Make tm_zone and tm_gmtoff fields optional Autodetect 'significand' function Use base-10 for all float exponents. Use base 2 for base 2/8/16 powers Support C-like hex float values in lexer Add ChaCha implementation @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.21 2023/06/17 11:25:19 riastradh Exp $ d6 1 @ 1.21 log @math/nickle: Make this cross-compile. While here, because for CC_FOR_BUILD it was easiest to just edit configure.ac and autoreconf anyway, move a configure patch to a configure.ac patch for some readline symbol detection. No change to generated file math-tables.5c (which is used only for testing anyway) in native vs cross compilation. `bmake test' passes in native compilation. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.20 2023/04/20 11:10:26 tnn Exp $ d3 3 a5 10 BLAKE2s (nickle-2.91.tar.gz) = 0c68e83c11f48e370c413811804d20dd331ae08b003d65fd26ebded8b1a9d38f SHA512 (nickle-2.91.tar.gz) = 4741cdfad83c84da2c232b965cef52deb7c04f04db9ba1255d420ecd51ba63f9ad249e2e7b5ee4e0be855fdf611d5f5311f2c3cd6631f1211ce65d1e78b0d60f Size (nickle-2.91.tar.gz) = 2505408 bytes SHA1 (patch-aa) = 4cbb563244883f6c9f7a3594875052f8d9a9e9b3 SHA1 (patch-builtin-date.c) = 1aa792b5a91f4b808208e73ee38bd539ab0c12fb SHA1 (patch-configure.ac) = 72bf3392df432bc8cdbd36760aad254acf6fe699 SHA1 (patch-float.c) = f157fc605b617e7b5bdaa192d48e679b596a9228 SHA1 (patch-lex.c) = f9d5f3f282f97a94195730062525e9f6310bb316 SHA1 (patch-main.c) = 3f6d009255cdf51d6e5dcfb8ae3c0d49f6991694 SHA1 (patch-test_Makefile.am) = 17e54a0e2172b0fb65a3d8a8eb615d7cfab5efee @ 1.20 log @nickle: fix configure checks instead This is likely to trip up builtin readline on old NetBSD releases too since macOS base ships a fork of NetBSD readline. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.19 2023/04/18 21:31:08 wiz Exp $ d8 1 a8 1 SHA1 (patch-configure) = fbbe0e41f4b9b3617eeb77879623bcdd48864af2 d12 1 @ 1.19 log @nickle: update to 2.91. test: Add test for sort functions prng: Make randint work for values <= 0 sort: make pivot computation pass positive value to randint edit: Use asprintf when creating file editing command to avoid overflow PRNG: ensure that randint returns evenly distributed values Fix release process @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.18 2023/04/18 09:06:25 wiz Exp $ d8 1 d11 1 @ 1.18 log @nickle: update to 2.90. No release summary found. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.17 2021/10/26 10:55:50 nia Exp $ d3 3 a5 3 BLAKE2s (nickle-2.90.tar.gz) = 1d209a14f6e26b2544077c86ecb474d773497840831511415c2f6e705f1c3c31 SHA512 (nickle-2.90.tar.gz) = 4cb1ff885bba637f5bb44c5f28210ca68c0c35f6becd356ad38d4f54f1bc1984ce7c13cd62f871e3518713642fb7dd063a5b057e928fa4aba00201abd5aef805 Size (nickle-2.90.tar.gz) = 2514923 bytes @ 1.17 log @math: Replace RMD160 checksums with BLAKE2s checksums All checksums have been double-checked against existing RMD160 and SHA512 hashes @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.16 2021/10/07 14:28:11 nia Exp $ d3 3 a5 3 BLAKE2s (nickle-2.84.tar.gz) = 18777c29ae3aabe6a64d09ad4e5b757ba43afe35a259e7ba17189d826203f45c SHA512 (nickle-2.84.tar.gz) = ded33c3b2e6f8234e48148b2590db4a48653f3e85ec8ae7d94f63a6d0a7e03b2990af2ccdbd0982b92a980cecf68f016775f6d6f583918add3ca34d9fa0e7d62 Size (nickle-2.84.tar.gz) = 810473 bytes @ 1.16 log @math: Remove SHA1 hashes for distfiles @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.15 2021/09/11 23:44:49 tnn Exp $ d3 1 a3 1 RMD160 (nickle-2.84.tar.gz) = 4c34eaa038dbae546467c652a02953dccaa128de @ 1.15 log @nickle: mac OS build fix @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.14 2018/12/02 06:49:24 wiz Exp $ a2 1 SHA1 (nickle-2.84.tar.gz) = ce346b5ba0cd0085dfd1a1351d03ffa8faeb3368 @ 1.14 log @nickle: update to 2.84. Bump to version 2.84 Construct a separate case for lexing '0' from other octal numbers This avoids needing code to identify this case within the octal number token generation code. Ignore '_' within numbers so it can be used as a separator Adopted from languages like Rust where this can be used to group digits in thousands for base-10 or power of two for base 2,8,16 to make them easier to read. 123_456_789 = 123456789 0xafff_1212 = 0xafff1212 The patch makes both the lexer and string conversions support this. Add array initalizer tests Ignore SIGTTOU/SIGTTIN. Adjust TSTP processing When run as other than the master of a process group, nickle may not get all of its work done before the controlling shell takes over the tty and resets that control group. This means that any processing of terminal parameters may generate SIGTTOU/SIGTTIN signals, which end up re-entering the stop function and causing general chaos. Only SIG_IGN appears to appease the kernel into dealing with this case correctly. Make assignments to stdin/stdout/stderr affect C code Use values of these variables in the C code. Allow repeat initializers in implicit sized arrays for small dimensions When initializing an implicitly sized multi-dimensional array, permit repeat initializers ("...") to be used to fill out smaller dimensions. This is done by requiring that the maximum number of elements in each dimension be taken from an initalizer without a repeat element. This also requires allowing repeat initializers to be useful for resizable arrays, which required a change to the execution machinery as well. Remove incorrect tree walking in CompileSizeDimensions CompileSizeDimensions was incorrectly interpreting the tree structure for bare value nodes -- it is either passed an ARRAY, or a single expression value, which can either be a comprehension, an empty initializer or a simple expression. The simple expression case was incorrectly looking for a '...' element to the left, which cannot happen. It further recursed if it hadn't reached the end of the dimensions, which is pointless as that case will generate an error when the initializers are compiled later. Debian-bug: #911926 Bump to version 2.83 debian: Run CI tests from installed location (/usr/share/nickle/test) Install tests so they can be run later debian: Bump standards-version to 4.2.1 Sign tarfiles. Check signature in debian/watch file. debian: Add autopkgtest CI script debian: Depend on debhelper version 11 debian: Add debian/watch file Check to make sure debian package is up-to-date with upstream version. debian: Add hardening flag to debian/rules debian: Make debian/copyright conform to standard copyright-format debian: Add Homepage entry in debian/control debian: Bump compat to 11 debian: Remove trailing whitespace from debian/changelog test: Remove spurious printf in check_exp test Spelling fixes in nickle.1.in expresion → expression formating → formatting Add AC_SYS_LARGEFILE to configure.ac This ensures that the correct macros to get large file support enabled are included in the config.h file. Include debian/source/format in tarball The tarball is used to build the debian package and without this file the resulting bits have a lintian warning. Update to version 2.82 Add .gitignore and .dir-locals.el files Add tests for exp/log which cover a range of precisions These check log and exp with mathematical identities to see if they produce reasonable results at a range of precisions. Add Math::e_value. Fix exp and log precision error. e_value computes e to any desired precision. exp was incorrectly truncating the value just before the last computation step, which caused it to lose significant precision. log was range-reducing to 0-1 instead of 2-3, which put it outside the range of rapid convergence. It also needed another newtons method iteration step. Use mktime instead of timelocal timelocal is a glibc alias for mktime and isn't provided by the musl C library. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.13 2018/01/03 12:12:07 jperkin Exp $ d9 1 @ 1.13 log @nickle: Fix build on SunOS and systems without timelocal(). @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.12 2017/11/23 16:15:23 wiz Exp $ d3 4 a6 4 SHA1 (nickle-2.81.tar.gz) = ef9c6de7ad2a544a3245657fbfd46dbfa9675476 RMD160 (nickle-2.81.tar.gz) = 03c8ffbebfd0104b3cd54f748f702de7e6f999f5 SHA512 (nickle-2.81.tar.gz) = b11755f824b3abf74f104db7bfaf58f52fef0b76e194ffd8c562693d5497f9de69121f9ce98777fb0366a7e02be7b32e7d800a31be03f5a5921b9d8bc3502aca Size (nickle-2.81.tar.gz) = 579140 bytes d8 1 a8 1 SHA1 (patch-builtin-date.c) = ca55181a501cfbe3437d38728398852e96b0111a @ 1.12 log @nickle: update to 2.81. Update to version 2.81 test: Can't test for Y2038 fix because 32 bit machines glibc on all 32-bit machines fails the Y2038 test. Change that to use the maximum possible 32-bit value instead (sigh) Remove unused variable in builtin-date.c Add date conversion functions localtime, gmtime, timelocal, timegm These just wrap the C versions, except they report actual years, rather than years since 1900 and January is month 1, not 0. Add JSON tests Add floats to JSON module. Support floating point values in JSON input and output. Make nickle-tutorial.pdf build reproducibly Set TeX dates to RELEASE_DATE. Remove PDF /ID entry. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.11 2017/04/23 14:49:27 taca Exp $ d8 1 @ 1.12.2.1 log @Pullup ticket #5668 - requested by bsiegert math/nickle: build fix Revisions pulled up: - math/nickle/distinfo 1.13 - math/nickle/patches/patch-builtin-date.c 1.1 ------------------------------------------------------------------- Module Name: pkgsrc Committed By: jperkin Date: Wed Jan 3 12:12:07 UTC 2018 Modified Files: pkgsrc/math/nickle: distinfo Added Files: pkgsrc/math/nickle/patches: patch-builtin-date.c Log Message: nickle: Fix build on SunOS and systems without timelocal(). To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 pkgsrc/math/nickle/distinfo cvs rdiff -u -r0 -r1.1 pkgsrc/math/nickle/patches/patch-builtin-date.c @ text @d1 1 a1 1 $NetBSD$ a7 1 SHA1 (patch-builtin-date.c) = ca55181a501cfbe3437d38728398852e96b0111a @ 1.11 log @Fix build problem on NetBSD 6.1_STABLE. * Guard use of rl_catch_signals variable with "#if HAVE_RL_CATCH_SIGNALS". Add comment in patch/patch-aa quote from last commit message. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.10 2017/03/20 13:13:51 wiz Exp $ d3 4 a6 4 SHA1 (nickle-2.79.tar.gz) = 86722b07df9eebf99789b91a0c576f14af8ea739 RMD160 (nickle-2.79.tar.gz) = a6a211cf1171960c0cab45c9d2206d5ae4abd374 SHA512 (nickle-2.79.tar.gz) = 3a98dc0e318a62e48b00cbc7bb1324be5c2461b29637ee77fe8ad3d788fdd32b7d896ca5e457edfd86f580901ffcb543d5f27442def271c267096aa9552f45f3 Size (nickle-2.79.tar.gz) = 581560 bytes @ 1.10 log @Updated nickle to 2.79. Ensure data cache value array is aligned adequately Data caches are used to store pointers and other potentially long values. Make sure that the position of the values portion of the cache is aligned to a suitable address. Fixes a bus error on sparc64 machines. Building nickle on arm64 now, change package names built .deb and .rpm files are now amd64 instead of i386 Update to version 2.78 Also depend on bison and flex newer version of flex doesn't have yyunput This line was just removing a warning about yyunput unused; newer versions of flex don't even have that symbol anymore. Better to have a warning than fail to compile. Adapt tests to new automake requirements Automake now has a separate variable for the program to run the test scripts with, and breaks if you try to embed that in the TESTS_ENVIRONMENT variable, which used to be how this was done. Use 'G' format for elements when printing arrays in 'g' format This restricts array printing to just recurse one level. When using pointer as hash, first cast to intptr_t This avoids a compiler warning when pointers are not the same size as HashValues. Initialize 'replace' in NewTypedBox When left uninitialized, undefined results will occur. This caused a test failure on MIPS when being built with PIE support. Debian bug 857840. Reported-by: James Cowgill Open quote character is a single char, not a string When checking to see if a string needs to be dequoted, check the first character of the string against the quote character, rather than checking the whole string. Probably using strings for the quote markers wasn't the best API choice as this would have been caught by typechecking had the quote characters been an int instead. Define release date in configure.ac and use that instead of build date This avoids encoding the current date into the resulting output so that it can be reproduced. Add JSON input/output code Reverse data written in linked FileChains FileChains are linked in newest-in order, so they need to be written last-first. Add is_hash primitive Checks whether a value is a hash Abort karatsuba multiply in more places removed gratuitous -O2 from Makefile.am to let CFLAGS handle it Added a lightly-optimized choose(n, k) function to math.5c. The lack of a choose operator has continually bugged me; I've constantly rewritten it "the bad way". This is a lightly optimized version of that function that seems to handle most edge cases reasonably. It has only been tested a little bit. added check mode to sudoku solver cleaned up a bunch of sudoku solver stuff added edge cache to sudoku example tutorial: Close a couple of SGML tags nsgmls found a couple of unclosed tags which may make some versions of docbook tools unhappy. Fix release docs to use git log instead of git-log git-log disappeared a long time ago actually added Sudoku example added Sudoku generator example added sudoku example @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.9 2015/11/03 23:33:37 agc Exp $ d7 2 a8 1 SHA1 (patch-aa) = 0b1e03f3e42ea088c5a81109e9534c77efe30659 @ 1.10.2.1 log @Pullup ticket #5356 - requested by sevan math/nickle: build fix Revisions pulled up: - math/nickle/distinfo 1.11 - math/nickle/patches/patch-aa 1.5 - math/nickle/patches/patch-lex.c 1.1 --- Module Name: pkgsrc Committed By: taca Date: Sun Apr 23 14:49:27 UTC 2017 Modified Files: pkgsrc/math/nickle: distinfo pkgsrc/math/nickle/patches: patch-aa Added Files: pkgsrc/math/nickle/patches: patch-lex.c Log Message: Fix build problem on NetBSD 6.1_STABLE. * Guard use of rl_catch_signals variable with "#if HAVE_RL_CATCH_SIGNALS". Add comment in patch/patch-aa quote from last commit message. @ text @d1 1 a1 1 $NetBSD$ d7 1 a7 2 SHA1 (patch-aa) = 4cbb563244883f6c9f7a3594875052f8d9a9e9b3 SHA1 (patch-lex.c) = f9d5f3f282f97a94195730062525e9f6310bb316 @ 1.9 log @Add SHA512 digests for distfiles for math category Problems found locating distfiles: Package dfftpack: missing distfile dfftpack-20001209.tar.gz Package eispack: missing distfile eispack-20001130.tar.gz Package fftpack: missing distfile fftpack-20001130.tar.gz Package linpack: missing distfile linpack-20010510.tar.gz Package minpack: missing distfile minpack-20001130.tar.gz Package odepack: missing distfile odepack-20001130.tar.gz Package py-networkx: missing distfile networkx-1.10.tar.gz Package py-sympy: missing distfile sympy-0.7.6.1.tar.gz Package quadpack: missing distfile quadpack-20001130.tar.gz Otherwise, existing SHA1 digests verified and found to be the same on the machine holding the existing distfiles (morden). All existing SHA1 digests retained for now as an audit trail. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.8 2013/05/26 20:14:48 wiz Exp $ d3 4 a6 4 SHA1 (nickle-2.77.tar.gz) = b391e9fdc4e1bf48edeb10e587f472f04f571f29 RMD160 (nickle-2.77.tar.gz) = e7ded0e5807c1c85f96d76aaf7183c8f29f936a9 SHA512 (nickle-2.77.tar.gz) = 05893f5979df2e09aedec1d0003a35a2591c6d9282452412ee0602f2d5f203b3e230a1cba75e8d07c946864bc517c812fd683eff6cd354d76bdf525897b9665f Size (nickle-2.77.tar.gz) = 553206 bytes @ 1.8 log @Update to 2.77: Update to version 2.77 Fix RPM spec file to not install tutorial twice By default, the tutorial gets stuck in /usr/share/doc/nickle, while rpm wants it in /usr/shar/doc/nickle-. Ignore the one in /usr/share/doc/nickle. doc: Expand tabs to spaces in .sgml files Makes code examples readable. Build tutorial when docbook2pdf is available And build it on debian tutorial: Use sgml entities instead of < and > Tutorial: twixt doesn't have an optional 'else' block This was a proposed feature that was removed Rename nickle tutorial to nickle-tutorial Makes any built files include 'nickle' by default corrected some Nickle Tour nits Handle OpFarJump in CompileReachable A FarJump within a catch block references instructions one or more frames outside of the instruction context. When checking for reachable code, look down inside the catch blocks to see if any of the FarJumps within them touch the target instruction. Fixes this example: void foo() { for (;;) try { } catch uninitialized_value(string x) { break; } } Without this fix, the 'break' will not get noticed and no ReturnVoid will be appended to the object code for 'foo', leaving the break dangling in space. New instructions IsType and HasMember need entries in OpNames Otherwise, the array no longer matches the enum Fix VALIDATE_EXECUTION test code Needed ObjType defined. Update to 2.76 Don't erase twixt pointer during JumpContinue until after stack copy Otherwise, if MemCollect occurs during the stack copy, the twixt's stack copy can get collected. Check for lost stack chunks If a stack chunk gets collected, the 'type' field will get cleared. Check to see if this has happened and abort. Add debug code to check thread validity during execution If something gets corrupted, it's useful to have this code to help track it down. Handle initializers with undefined types. Emit an error instead of crashing. Handle systems which don't define PATH_MAX (Hurd) This is a hack; a correct fix would involve actually allocating the correct length object. Version 2.75 Delete ancient .cvsignore files Not exactly useful anymore Examples shouldn't be executable Fix Source URL in nickle.spec file Point at nickle.org, as appropriate. Make 'G' format limit array and struct recursion This makes stack traces tractable. Switch to dh for debian builds Vastly simplifies debian/rules... Stop printing recursive structs with 'g' format. This gets annoying really quickly, so just terminate the recursive struct printing right away. Handle ref types in &foo->bar operations For some reason, this case was left out of the usual ref type hacks Version 2.74 Switch from debuild to pdebuild Catch more package building problems by using pbuilder. Fix Semaphore::wait logic (again) - partial means we've woken up The only way to run do_Semaphore::wait with 'partial' set to true is if the thread is waking up; in this case, the semaphore count may well be negative if other threads are also waiting. Ignore the count in this case and just complete the operation. Add explicit debian source format 3.0 (native) Keep lintian happy Clean up some debian lintian warnings Fix new FileVPrintf 'G' format comparison Was comparing the pointer to the representation enum. oops. Update debian/changelog for eventual 2.73 release git-log has become git log Needed to build ChangeLog Back autoconf requirement to 2.64 so debian stable can run it Shorten backtrace display Don't display composite values in backtraces so that the backtrace doesn't get flooded with giant values. Typecheck switch expressions Make sure switch expression and case expresssions are all type compatible. Add is_type and has_member built-ins These provide the ability to do run-time type comparisons without needing full introspection in the language. Add list.5c A useful data type add 'millis' function to return a clock in milliseconds. Useful when doing things with sleep Add Semaphore::count Useful for checking current semaphore value without modifying it. Clean up do_Semaphore_wait Make it clear that the semaphore count gets bumped down the first time into this function. Check for thread switch even if current thread is last Threads can switch due to semaphores or other signals; that can leave the current thread last in the run queue. Check for any case where running changes instead of only when the current thread isn't last. Make scanf not report valid conversion on blank input. scanf was incorrectly accepting " " as a valid number, returning a conversion of 0. Fix this by checking for empty strings in any numeric conversion. Add tests for scanf function Scanf incorrectly accepts blank strings for numbers; here's a pile of tests to validate various numeric input. Add sort and skiplist to standard nickle library These are too useful to just be examples Add gamma function Printing rational 0 in 'e' format doesn't need an exponent Computing a negative exponent requires a non-zero value, so just skip that if the value is zero NaturalGcd must return a Natural* when aborting It was returning One (an Integer) instead of one_natural; floor() and ceil() should work on imprecise floats They should return an approximate integer value instead of raising an exception. Set version to 2.73 in prepartion for eventually release Only call readline tty cleanup on signal readline is active If readline isn't active, the cleanup functions tend to make a mess of the tty state, so don't call them. This really only matters when handling SIGTSTP. Update to version 2.72 Keep readline from catching signals This stops readline from catching signals, letting nickle handle them all by itself. Block in select instead of sigsuspend when waiting for I/O The kernel doesn't appear to reliably deliver SIGIO while the application is blocked, so sit in select instead of sigsuspend to make sure we hear about pending I/O. rename configure.in to configure.ac Switch version to 2.72 in preparation for an eventual release wait3 returns 0 when there's nothing left to do Don't keep looping when wait3 is done Update to version 2.71 Clean up a pile of build warnings Signal return types, unused return values and stepping off the end of the typePrim array (the value of which was unused anyways). Catch attempts to use uninitialized pointer contents Dereferencing a pointer to uninitialized storage is an error, instead of passing this value along to callers, catch it immediately and raise an exception. Check for this case in the ++ and -- operators to generate a better error message (otherwise, we'll pass Void along and generate an error much later). Exit after two consecutive interrupts If the first interrupt isn't received by the nickle code, when the second one comes in, just exit Cleanup struct type changes Replace most parameterized macros with static inline functions Typechecking, decent compiler warnings and smaller code. Replace macros with static inline functions in value.h Actual type checking, and smaller compiler output to boot. Get rid of old-school variable length struct allocations This confuses the new _FORTIFY_SOURCE bits in GCC, so use the 'sanctioned' form of placing a zero-length array at the end of the struct. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.7 2011/01/11 11:53:13 drochner Exp $ d5 1 @ 1.7 log @update to 2.70 sorry, no changelog available @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.6 2010/01/15 23:09:28 tnn Exp $ d3 3 a5 3 SHA1 (nickle-2.70.tar.gz) = b967e09816146e2f356c97b4fc5170a33bad2f29 RMD160 (nickle-2.70.tar.gz) = 567028075e57c17a015253d4544a12f140aebb79 Size (nickle-2.70.tar.gz) = 488081 bytes @ 1.6 log @fix build issue with Sun Studio. It doesn't like void values as operators to ternary expressions, even when the result is discarded. While here, update to nickle-2.69. Only difference seems to be that configry is generated with newer autotools. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.5 2009/06/07 14:05:04 wiz Exp $ d3 3 a5 3 SHA1 (nickle-2.69.tar.gz) = 4d81ac4e88b8f4385f7d73c370ad2cbae11e50ed RMD160 (nickle-2.69.tar.gz) = a102e294e183fa008fa1104bcd1891e738faaf25 Size (nickle-2.69.tar.gz) = 484301 bytes @ 1.5 log @Update to 2.68. Set LICENSE to mit. Changes: commit 815ea2aadc2644a426b87f8c4e41d58a01d50de0 Author: Keith Packard Date: Sat Jun 21 02:31:29 2008 -0700 Bump to version 2.68 commit e278cfc926e5cd2ee51c9e45a642b2803d93cceb Author: Keith Packard Date: Sat Jun 21 02:28:53 2008 -0700 Bump debian standards to 3.8.0 commit d69f9ba5dbf231bf2c8ecd5ab55e550d11f5ebae Author: Keith Packard Date: Sat Jun 21 02:28:34 2008 -0700 Add README.release commit 74d032db530e2441f47b68549d18a70956ddf601 Author: Keith Packard Date: Mon May 19 13:22:11 2008 -0700 Non-interactive stdin is always available for reading. Failing to set the 'stdinOwned' flag meant that you could never read from stdin which wasn't a terminal. Oops. commit d0604e797cf194eb025a1784766ebea8cf38ec87 Author: Keith Packard Date: Wed Mar 26 23:21:41 2008 -0700 Allow background nickle to not poll on tty ownership When stdin is connected to a terminal but nickle is not the foreground process on that terminal, the io code would poll to wait for ownership to flip back to nickle so that reads could be performed without generating a signal. Now, nickle waits until someone actually tries to read from the terminal before starting to poll. This means that simple background processing nickle programs will not poll every 100ms. commit fd8d02af5bf2884858108421fec40b8c7ca9863b Author: Keith Packard Date: Wed Mar 26 16:22:44 2008 -0700 Remove support for non-SIGIO pipes Older version of the kernel (before 2001) failed to generate SIGIO on pipes, so nickle had code to poll instead. I think we can safely remove that code now. commit 5106300e425315c5f753dd4e1bf2c1ff6d19db64 Author: Keith Packard Date: Fri Mar 21 12:31:00 2008 -0700 Fix floating point printing to correctly round output commit e7f78ce3e66259f0a08c0099de4b89ad739c03c8 Author: Keith Packard Date: Thu Mar 20 10:56:38 2008 -0700 Fix divide_by_zero exception type in fourfours.5c example commit e00e48546d26c6e0c22c70cb7eb14e81c897c61e Author: Keith Packard Date: Thu Mar 20 10:20:52 2008 -0700 Make SRPM + RPM build work by serializing dependencies. $(SRPM) $(RPM): ... build fails as it does 'build' twice. commit 48e852689a43de236f93aa13172d31c8eb536fc1 Author: Keith Packard Date: Wed Mar 19 23:24:45 2008 -0700 Makefile fixes: make main.o depend on Makefile, ensure debuild actually does commit 27ace3a23d90e8e5fe16b943743a8d9144cca7e6 Author: Keith Packard Date: Wed Mar 19 23:12:13 2008 -0700 Avoid having the 'pretty_print' builtin show two error messages. NamespaceLocate takes a 'complain' boolean that will print out an error message, but the pretty_print command also raises an exception when it fails to find the name. Two errors is at least one too many here. commit 31e633b55cece8a6e46d763b2e51c974b450a12f Author: Keith Packard Date: Wed Mar 19 22:38:18 2008 -0700 Rename the builtin Process namespace to PID to not conflict with the Process library commit ffc553a721015347939cc07da4a81577d86093d0 Author: Keith Packard Date: Wed Mar 19 22:37:49 2008 -0700 FileGetErrorMessage returns a Value, not a char * @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.4 2008/05/05 19:07:08 drochner Exp $ d3 4 a6 3 SHA1 (nickle-2.68.tar.gz) = 226afe1503557a746672fccfa464cfaafd3bb058 RMD160 (nickle-2.68.tar.gz) = 9d9d6b5fb79b65a8a0cd922e4322d7d91c58065b Size (nickle-2.68.tar.gz) = 469027 bytes @ 1.4 log @update to 2.67 changes: some fixes and cleanup @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.3 2007/07/17 19:46:31 drochner Exp $ d3 3 a5 3 SHA1 (nickle-2.67.tar.gz) = f8c494e38fd8c9fd57f87f6296ba7ced426334c6 RMD160 (nickle-2.67.tar.gz) = f8feec6f2538d5fde352ac5ccf733b4e0845cdfc Size (nickle-2.67.tar.gz) = 467437 bytes @ 1.3 log @update to 2.58 changes: * CCITT/ITU CRC-32 computation example * changed import PRNG to autoimport * get rid of archaic "v" print and scan functions * fixed signededness bug in integer carry calculation (which was patched in pkgsrc) @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.2 2007/03/13 10:55:12 drochner Exp $ d3 3 a5 3 SHA1 (nickle-2.58.tar.gz) = 9aa68cecb7c8a9a02e2221dc06e1b50dd68489b4 RMD160 (nickle-2.58.tar.gz) = d66c397fda101af784c89561738827bd2ee8b05a Size (nickle-2.58.tar.gz) = 387606 bytes @ 1.2 log @modify a fix (about signed integer overflow non-portability) so that it matches the upstream version, to ease future updates (no functional change) @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.1.1.1 2007/02/22 20:35:38 drochner Exp $ d3 3 a5 4 SHA1 (nickle-2.56.tar.gz) = f8672a60c41d21da2fe40eb12beafb485bf14211 RMD160 (nickle-2.56.tar.gz) = 29cb2473764d6d5f80466c1638729e30539da124 Size (nickle-2.56.tar.gz) = 399957 bytes SHA1 (patch-aa) = a28227fc17d71fbfc9a588597ee868b0f662bba2 @ 1.1 log @Initial revision @ text @d1 1 a1 1 $NetBSD$ d6 1 a6 1 SHA1 (patch-aa) = 93a35914f28cff0fb4cbdc1e0fb19efce99c95aa @ 1.1.1.1 log @import nickle-2.56, another command line calculator, with scripting language, can do arbitrary size integer and rational arithmetics @ text @@