Received: by mail.netbsd.org (Postfix, from userid 605) id D945C84ED6; Wed, 26 Apr 2023 18:11:53 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id 11D1884ED3 for ; Wed, 26 Apr 2023 18:11:53 +0000 (UTC) X-Virus-Scanned: amavisd-new at netbsd.org Received: from mail.netbsd.org ([127.0.0.1]) by localhost (mail.netbsd.org [127.0.0.1]) (amavisd-new, port 10025) with ESMTP id H-o2P_BmYcbr for ; Wed, 26 Apr 2023 18:11:51 +0000 (UTC) Received: from cvs.NetBSD.org (ivanova.netbsd.org [199.233.217.197]) by mail.netbsd.org (Postfix) with ESMTP id BCBE984D9B for ; Wed, 26 Apr 2023 18:11:51 +0000 (UTC) Received: by cvs.NetBSD.org (Postfix, from userid 500) id B1084FA87; Wed, 26 Apr 2023 18:11:51 +0000 (UTC) Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_1682532711150610" MIME-Version: 1.0 Date: Wed, 26 Apr 2023 18:11:51 +0000 From: "Nikita" Subject: CVS commit: pkgsrc/lang/chicken5 To: pkgsrc-changes@NetBSD.org Reply-To: nikita@netbsd.org X-Mailer: log_accum Message-Id: <20230426181151.B1084FA87@cvs.NetBSD.org> Sender: pkgsrc-changes-owner@NetBSD.org List-Id: Precedence: bulk List-Unsubscribe: This is a multi-part message in MIME format. --_----------=_1682532711150610 Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="UTF-8" Module Name: pkgsrc Committed By: nikita Date: Wed Apr 26 18:11:51 UTC 2023 Modified Files: pkgsrc/lang/chicken5: Makefile distinfo Added Files: pkgsrc/lang/chicken5/patches: patch-egg-compile.scm Log Message: chicken5: update to version 5.3.0 Changelog (taken from https://code.call-cc.org/releases/5.3.0/NEWS): 5.3.0 - Core libraries - In (chicken process-context posix), the setters for current-user-id, current-effective-user-id and current-group-id now check that the new user/group value is a fixnum instead of blindly passing it on to the C implementation (which would cause bogus user ids to be set). Fixes #1787, thanks to Christopher Brannon. - The srfi-17 module now exports the `getter-with-setter` and `setter` procedures, not just the set! macro (thanks to Lassi Kortela) - Fix hang in chicken-install -update-db on Windows (thanks to Mark Fisher for reporting and Jani Hakala for debugging and patch). - Fixed an inadvertant error during error reporting in the `numerator` and `denominator` procedures when passed non-finite flonums (#1730). - Fixed a bug where optimisations for `irregex-match?` would cause runtime errors due to the inlined specialisations not being fully-expanded (see #1690). - Irregex has been updated to upstream 0.9.10, which fixes behaviour of irregex-replace/all with positive lookbehind so all matches are replaced instead of only the first (reported by Kay Rhodes), and a regression regarding replacing empty matches which was introduced by the fixes in 0.9.7 (reported by Sandra Snan). Also, the http-url shorthand now allows any top-level domain and the old "top-level-domain" now also supports "edu" (fixed by Sandra Snan). Also, a problem was fixed with capturing groups inside a kleene star, which could sometimes return incorrect parts of the match. Finally, "bol" handling was fixed to handle newlines consistently so that multiple matches don't overlap (reported by Sandra Snan). - current-milliseconds has been deprecated in favor of the name current-process-milliseconds, to avoid confusion due to naming of current-milliseconds versus current-seconds, which do something quite different. Also, its definition has been tweaked to guarantee that it returns the time since process startup. On Windows, it will now return sane values after 24 days of uptime. On UNIX, the values returned will be precise to the millisecond instead of rounded down to the nearest second at startup (which would result in erratic startup times). - The default mode for files created by `file-open' has been changed to 0666 (plus whatever change the effective umask applies), rather than 0744 (see #1698). - Fixed type database entry for "log" with second arg (fixes #1725). - Made topological-sort behave better when dependency target is listed multiple times by concatenating dependencies (fixes #1185). - Module system - Reexported macros now work when the reexporting module redefines identifiers from the original (fixes #1757, reported by Sandra Snan). - When using "except" in "import" to omit reexported macros, they are really not imported (#1771, reported by Sandra Snan). - Runtime system - Sleeping primordial thread doesn't forget mutations made to parameters in interrupt handlers anymore. (See #1638. Fix contributed by Sebastien Marie) - A feature corresponding to the word size is available regardless of the word size (#1693) - The default maximum heap size on 64-bit platforms is now the theoretical maximum addressable memory size (#1675). Use -:m if you would like to override this at run-time. - Deprecated C_(a_i_current_)milliseconds in favor of C_(a_i_)current_process_milliseconds to match the Scheme-level deprecation of current-milliseconds. - Officially deprecated C_pair() in favor of C_a_pair(); it has been deprecated for years. - At program cleanup, finalizers are only forced when the live finalizer count is non-zero - The symbol `srfi-87` has been added to the list of built-in feature identifiers. - Garbage collection algorithm has been changed to reduce thrashing when heap is almost full, by growing the heap sooner. A new -:hf option was added to tweak when heap growth should occur. - Added `-:R' runtime option to initialize rand() state deterministically (should help with #1650 and benchmarking). - Compiler - Statically linked programs using built-in libraries are supported again (fixes #1788, a regression from 5.2.0). - Avoid re-using argvector when inline rest operations are being used in CPS calls (#1703, thanks to Jakob L. Keuze). - An `emit-types-file` declaration has been added, which corresponds to the compiler flag of the same name (#1644, thanks to Marco Maggi for the suggestion). - Fixed a bug caused by a bad interaction between two optimizations: argvector rest ops would be applied even if a procedure already got its rest arg consed at the call site (#1756, thanks to Sandra Snan). - Build system - Fix build with tcc. - Fix a few tests on Windows so the suite passes once again. - Auto-configure at build time on most platforms. Cross-compilation still requires PLATFORM to be set, and it can still be provided manually, but it is no longer required in the common case. - Fix Linux to MingW cross-compilation (#1768, thanks to Théo Cavignac) - The `clean' target for make now also removes build configuration files. - The `distclean' target for make has been removed (now `clean' does what `distclean' used to do). - Tools - Fix a problem with egg installation scripts on Windows, where the platform was not correctly identified, depending on the shell used during installation of the core system (thanks again to Mark Fisher for reporting and helping in finding the culprit). - Fixed a bug in chicken-install (#1744) that would cause `Error: (string->number) bad argument type: #!eof` in some cases. - If chicken-install has a program prefix/suffix, it now writes to a cache directory matching its program name (#1713, thanks to Alice Maz) - Fixed bug in chicken-install regarding variable quotation on UNIX-like systems which prevented installation into paths with spaces (#1685). - Fixed a similar bug in chicken-install for paths with spaces on mingw and mingw-msys (#1727, thanks to Josh Helzer for reporting and Vasilij Schneidermann for the patch). - Module system - Fixed a memory leak when calling (import) multiple times in a row on the same module (#1772; reported by "plugd" on IRC). To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 pkgsrc/lang/chicken5/Makefile cvs rdiff -u -r1.5 -r1.6 pkgsrc/lang/chicken5/distinfo cvs rdiff -u -r0 -r1.1 pkgsrc/lang/chicken5/patches/patch-egg-compile.scm Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. --_----------=_1682532711150610 Content-Disposition: inline Content-Length: 5019 Content-Transfer-Encoding: binary Content-Type: text/x-diff; charset=us-ascii Modified files: Index: pkgsrc/lang/chicken5/Makefile diff -u pkgsrc/lang/chicken5/Makefile:1.6 pkgsrc/lang/chicken5/Makefile:1.7 --- pkgsrc/lang/chicken5/Makefile:1.6 Sat May 16 20:01:56 2020 +++ pkgsrc/lang/chicken5/Makefile Wed Apr 26 18:11:51 2023 @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.6 2020/05/16 20:01:56 nikita Exp $ +# $NetBSD: Makefile,v 1.7 2023/04/26 18:11:51 nikita Exp $ -DISTNAME= chicken-5.2.0 +DISTNAME= chicken-5.3.0 CATEGORIES= lang MASTER_SITES= http://code.call-cc.org/releases/${PKGVERSION_NOREV}/ @@ -26,7 +26,7 @@ BUILD_TARGET= all .include "../../mk/bsd.prefs.mk" # PLATFORM detection: -.if !empty(OPSYS:M*BSD) || ${OPSYS} == "DragonFly" +.if ${OPSYS:M*BSD} || ${OPSYS} == "DragonFly" PLATFORM= bsd .elif ${OPSYS} == "Linux" PLATFORM= linux @@ -48,11 +48,14 @@ MAKE_ENV+= C_COMPILER=${CC:Q} MAKE_ENV+= HOST= # fix ${HOST} prepending ${CC} # Need to have these in MAKE_FLAGS, MAKE_ENV is not enough due to the # way the build system overrides them. -MAKE_FLAGS+= PLATFORM=${PLATFORM:Q} PREFIX=${PREFIX:Q} DESTDIR=${DESTDIR:Q} -MAKE_FLAGS+= MANDIR=${PREFIX:Q}/${PKGMANDIR} -MAKE_FLAGS+= INFODIR=${PREFIX:Q}/${PKGINFODIR:Q} -MAKE_FLAGS+= DOCDIR=${PREFIX:Q}/share/doc/${PKGNAME_NOREV} +MAKE_FLAGS+= PLATFORM=${PLATFORM:Q} PREFIX=${PREFIX} DESTDIR=${DESTDIR} +MAKE_FLAGS+= MANDIR=${PREFIX}/${PKGMANDIR} +MAKE_FLAGS+= INFODIR=${PREFIX}/${PKGINFODIR} +MAKE_FLAGS+= DOCDIR=${PREFIX}/share/doc/${PKGNAME_NOREV} MAKE_FLAGS+= INSTALL_PROGRAM=${INSTALL:Q} +MAKE_FLAGS+= LINKER_OPTIONS=${LDFLAGS:Q} +MAKE_FLAGS+= C_COMPILER_OPTIMIZATION_OPTIONS=${CFLAGS:Q} +MAKE_FLAGS+= CHICKEN="${BUILDLINK_PREFIX.chicken5-boot}/libexec/chicken-bootstrap" TEST_TARGET= check @@ -60,4 +63,5 @@ PLIST_SUBST+= CHICKEN_BINARY_VERSION=${ PRINT_PLIST_AWK+= { sub("/${CHICKEN_BINARY_VERSION}/", "/$${CHICKEN_BINARY_VERSION}/") } PRINT_PLIST_AWK+= { sub(".so.${CHICKEN_BINARY_VERSION}$$", ".so.$${CHICKEN_BINARY_VERSION}") } +.include "../../lang/chicken5-boot/buildlink3.mk" .include "../../mk/bsd.pkg.mk" Index: pkgsrc/lang/chicken5/distinfo diff -u pkgsrc/lang/chicken5/distinfo:1.5 pkgsrc/lang/chicken5/distinfo:1.6 --- pkgsrc/lang/chicken5/distinfo:1.5 Tue Oct 26 10:51:31 2021 +++ pkgsrc/lang/chicken5/distinfo Wed Apr 26 18:11:51 2023 @@ -1,6 +1,7 @@ -$NetBSD: distinfo,v 1.5 2021/10/26 10:51:31 nia Exp $ +$NetBSD: distinfo,v 1.6 2023/04/26 18:11:51 nikita Exp $ -BLAKE2s (chicken-5.2.0.tar.gz) = d15f9ce8a36b7981008a3b0fd881acd7f763ff8090f7a4beb1daac671173310e -SHA512 (chicken-5.2.0.tar.gz) = 0290362900a5be0004774a73756c2b0f617152004571a3e5e5bf43ea55343e694f98bf7fb328f24d4fc50cc33377b25af382b9ec9e8a790c5d873d2eaf0cc2ce -Size (chicken-5.2.0.tar.gz) = 4052305 bytes +BLAKE2s (chicken-5.3.0.tar.gz) = 5d64daeded1ddebaeea8118937c563160ae426138ffcc6268f5ad49b77ca6fc3 +SHA512 (chicken-5.3.0.tar.gz) = 8fcc08a1ba44cde42c95820695a11858a3b7ff39a4b577bc5afb894c53513661aab2dc5b8e608e1d9d26648e314551052041626c4c8e519fcb9f8af324386e02 +Size (chicken-5.3.0.tar.gz) = 4069549 bytes +SHA1 (patch-egg-compile.scm) = b96b3fbcbef0dd2fd35b8955a66e4a124f1ab499 SHA1 (patch-tests_runtests.sh) = c2bcee720a56cc399c6acdb1e002dbcd82ea272e Added files: Index: pkgsrc/lang/chicken5/patches/patch-egg-compile.scm diff -u /dev/null pkgsrc/lang/chicken5/patches/patch-egg-compile.scm:1.1 --- /dev/null Wed Apr 26 18:11:51 2023 +++ pkgsrc/lang/chicken5/patches/patch-egg-compile.scm Wed Apr 26 18:11:51 2023 @@ -0,0 +1,55 @@ +$NetBSD: patch-egg-compile.scm,v 1.1 2023/04/26 18:11:51 nikita Exp $ + +Fix CVE-2022-45145 by backporting commit a08f8f548d772ef410c672ba33a27108d8d434f3. + +See: https://lists.nongnu.org/archive/html/chicken-announce/2022-11/msg00000.html + +Taken from OpenBSD ports. + +Index: egg-compile.scm +--- egg-compile.scm.orig ++++ egg-compile.scm +@@ -1191,7 +1191,7 @@ EOF + + ~a ~a~a + ~a ~a~a +-cat >~a~a <~a~a <<'ENDINFO' + ~aENDINFO~% + EOF + mkdir ddir qdir +@@ -1201,11 +1201,18 @@ EOF + (printf #<~a~a~% ++copy /y nul ~a~a~% ++~a + EOF + mkdir ddir qdir +- (string-intersperse (string-split infostr "\n") "^\n\n") +- ddir dest))))) ++ ddir dest ++ (string-intersperse (map (lambda (line) ++ (ensure-line-limit ++ (caretize (format "echo ~a >>~a~a" ++ line ddir dest)) ++ 8191 )) ++ (string-split infostr "\n")) ++ "\n")))))) + + ;;; some utilities for mangling + quoting + +@@ -1277,3 +1284,12 @@ EOF + (define (joins strs) (string-intersperse strs " ")) + + (define (maybe f x) (if f (list x) '())) ++ ++(define (caretize str) ++ (string-translate* str '(("&" . "^&") ("^" . "^^") ("|" . "^|") ++ ("<" . "^<") (">" . "^>")))) ++ ++(define (ensure-line-limit str lim) ++ (when (>= (string-length str) lim) ++ (error "line length exceeds platform limit: " str)) ++ str) --_----------=_1682532711150610--