Commit graph

14845 commits

Author SHA1 Message Date
adam b56f4763be nodejs: updated to 21.4.0
Version 21.4.0 (Current)

Notable Changes

This release fixes a regression introduced in v21.3.0 that caused the fs.writeFileSync method to throw when called with 'utf8' encoding, no flag option, and if the target file didn't exist yet.
2023-12-07 12:23:22 +00:00
nia 67ff3b5441 mujs: Update to 1.3.4
Changes:

- Allow disabling readline support in Makefile.
- Handle sign when converting integer strings to numbers.
- Fix bug when cleaning up after allocation error.
- Finalize user data if object allocation fails.
2023-12-07 09:21:34 +00:00
wiz 035d3c5b0c py-pygls: update to 1.2.1.
What's Changed

    chore: clean CHANGELOG by @tombh in #415
    handle ResponseErrors correctly by @dimbleby in #416
    build: v1.2.1 by @tombh in #419
2023-12-07 08:43:32 +00:00
tnn f50b9ebb86 openjdk21: add missing PLIST bits for x11 and debug options 2023-12-06 17:53:00 +00:00
tnn e8c726c6dd openjdk21: add PKG_OPTION for bundled zlib and suggest on NetBSD <10
jlink(1) produces corrupt binaries when compiled against system
zlib-1.2.10 as found on NetBSD 9. System zlib-1.2.13 works OK.

TODO revbump after bootstrap regen
2023-12-06 12:51:24 +00:00
bsiegert 416156544a Revbump all Go packages after go121 update 2023-12-05 19:46:02 +00:00
wiz 3dc947e3ea perl: update to 5.38.2.
This document describes differences between the 5.38.0 release and the 5.38.2
release.  B<Please note:> This document ignores Perl 5.38.1, a broken release
which existed for a couple of days only.

Security

This release fixes the following security issues.

CVE-2023-47038 - Write past buffer end via illegal user-defined Unicode property

This vulnerability was reported directly to the Perl security team by
Nathan Mills C<the.true.nathan.mills@gmail.com>.

A crafted regular expression when compiled by perl 5.30.0 through
5.38.0 can cause a one-byte attacker controlled buffer overflow in a
heap allocated buffer.

CVE-2023-47039 - Perl for Windows binary hijacking vulnerability

This vulnerability was reported to the Intel Product Security Incident
Response Team (PSIRT) by GitHub user ycdxsb
L<https://github.com/ycdxsb/WindowsPrivilegeEscalation>. PSIRT then
reported it to the Perl security team.

Perl for Windows relies on the system path environment variable to
find the shell (C<cmd.exe>). When running an executable which uses
Windows Perl interpreter, Perl attempts to find and execute C<cmd.exe>
within the operating system. However, due to path search order issues,
Perl initially looks for cmd.exe in the current working directory.

An attacker with limited privileges can exploit this behavior by
placing C<cmd.exe> in locations with weak permissions, such as
C<C:\ProgramData>. By doing so, when an administrator attempts to use
this executable from these compromised locations, arbitrary code can
be executed.
2023-12-05 19:36:26 +00:00
bsiegert 7bdbb8e80e go121: update to 1.21.5 (security)
This minor release includes 3 security fixes following the security policy:

- net/http: limit chunked data overhead

  A malicious HTTP sender can use chunk extensions to cause a receiver reading
  from a request or response body to read many more bytes from the network than
  are in the body.

  A malicious HTTP client can further exploit this to cause a server to
  automatically read a large amount of data (up to about 1GiB) when a handler
  fails to read the entire body of a request.

  Chunk extensions are a little-used HTTP feature which permit including
  additional metadata in a request or response body sent using the chunked
  encoding. The net/http chunked encoding reader discards this metadata. A
  sender can exploit this by inserting a large metadata segment with each byte
  transferred. The chunk reader now produces an error if the ratio of real body
  to encoded bytes grows too small.

  Thanks to Bartek Nowotarski for reporting this issue.
  This is CVE-2023-39326 and Go issue https://go.dev/issue/64433.

- cmd/go: go get may unexpectedly fallback to insecure git

  Using go get to fetch a module with the ".git" suffix may unexpectedly
  fallback to the insecure "git://" protocol if the module is unavailable via
  the secure "https://" and "git+ssh://" protocols, even if GOINSECURE is not
  set for said module. This only affects users who are not using the module
  proxy and are fetching modules directly (i.e. GOPROXY=off).

  Thanks to David Leadbeater for reporting this issue.
  This is CVE-2023-45285 and Go issue https://go.dev/issue/63845.

- path/filepath: retain trailing \ when cleaning paths like \\?\c:\

  Go 1.20.11 and Go 1.21.4 inadvertently changed the definition of the volume
  name in Windows paths starting with \\?\, resulting in
  filepath.Clean(\\?\c:\) returning \\?\c: rather than \\?\c:\ (among other
  effects). The previous behavior has been restored.

  This is an update to CVE-2023-45283 and Go issue https://go.dev/issue/64028.
2023-12-05 19:28:26 +00:00
bsiegert a69d8d7b5d go120: update to 1.20.12 (security)
This minor release includes 3 security fixes following the security policy:

- net/http: limit chunked data overhead

  A malicious HTTP sender can use chunk extensions to cause a receiver reading
  from a request or response body to read many more bytes from the network than
  are in the body.

  A malicious HTTP client can further exploit this to cause a server to
  automatically read a large amount of data (up to about 1GiB) when a handler
  fails to read the entire body of a request.

  Chunk extensions are a little-used HTTP feature which permit including
  additional metadata in a request or response body sent using the chunked
  encoding. The net/http chunked encoding reader discards this metadata. A
  sender can exploit this by inserting a large metadata segment with each byte
  transferred. The chunk reader now produces an error if the ratio of real body
  to encoded bytes grows too small.

  Thanks to Bartek Nowotarski for reporting this issue.
  This is CVE-2023-39326 and Go issue https://go.dev/issue/64433.

- cmd/go: go get may unexpectedly fallback to insecure git

  Using go get to fetch a module with the ".git" suffix may unexpectedly
  fallback to the insecure "git://" protocol if the module is unavailable via
  the secure "https://" and "git+ssh://" protocols, even if GOINSECURE is not
  set for said module. This only affects users who are not using the module
  proxy and are fetching modules directly (i.e. GOPROXY=off).

  Thanks to David Leadbeater for reporting this issue.
  This is CVE-2023-45285 and Go issue https://go.dev/issue/63845.

- path/filepath: retain trailing \ when cleaning paths like \\?\c:\

  Go 1.20.11 and Go 1.21.4 inadvertently changed the definition of the volume
  name in Windows paths starting with \\?\, resulting in
  filepath.Clean(\\?\c:\) returning \\?\c: rather than \\?\c:\ (among other
  effects). The previous behavior has been restored.

  This is an update to CVE-2023-45283 and Go issue https://go.dev/issue/64028.
2023-12-05 19:17:57 +00:00
adam 9799614c68 nodejs: updated to 21.3.0
Version 21.3.0 (Current)

New --disable-warning flag
Update Root Certificates to NSS 3.95
Fast fs.writeFileSync with UTF-8 Strings
2023-12-04 08:24:06 +00:00
tnn 7ef40020e2 openjdk*: try hw.physmem64 before hw.physmem in configure 2023-12-04 01:08:16 +00:00
he 4631e2b238 rust-bin: fix checksum for NetBSD/aarch64, and new bits for NetBSD/powerpc.
I admit that I cannot fully explain how the NetBSD/aarch64 checksum
managed to mismatch, but at least the bits on ftp.netbsd.org and
cdn.netbsd.org agree, also with the local build results I had for
the cross-compiled bits.

Deal with NetBSD/powerpc: 1.74.0 revealed that the bootstrap
kit from rust 1.73.0 (also used here) mis-compiles, ref.
  https://github.com/rust-lang/rust/issues/118099
The new powerpc bootstrap kit is therefore natively compiled, with
an external LLVM (therefore has an exteranl dependency on LLVM)
instead of the rust-supplied internal one / cross-compiled.  Also,
remove vestiges of hints of being able to use this package on
NetBSD/powerpc 8.x, ref. note to tech-pkg of November 28; newer
rust's embedded LLVM uses newer C++ features than what netbsd-8
supports "out of the box".

Bump PKGREVISION, even though this only fixes buildability for
NetBSD/aarch64 and changes contents for NetBSD/powerpc.
2023-12-02 21:32:39 +00:00
rhialto a7f008bbf5 lang/algol68g: update to 3.4.4.
Version 3.4.0-4, October 2023
* Fix Darwin configuration issue.
* Enable plugin compiler on Apple Silicon Macs.
* C17 compliant code.
* Procedure "http content" now requires libcurl.
* Procedure "tcp request" is deprecated.
* Minor fixes.

Version 3.3.1-24, August/September 2023
* Fix configuration issue for 32-bit systems.
* Minor fixes.
* Distribution updates.
2023-12-01 18:35:11 +00:00
jperkin e48fe7f69e libunwind: Use correct flags to link.
The configure script only tests if CXX supports various flags, but then uses
CC to compile and link various objects.  While compiling only issues warnings
about incorrect flags, attempting to link with the wrong front end causes
fatal errors.

Specifically fixes trying to link with gcc using "-nostdlib++".
2023-12-01 18:27:22 +00:00
adam 58d2630a5c qt6: updated to 6.6.1
As a patch release, Qt 6.6.1 does not introduce any new features but contains more than 400 bug fixes, security updates, and other improvements to the top of the Qt 6.6.0 release. See more information about the most important changes and bug fixes from Qt 6.6.1 release note.
2023-11-30 20:11:26 +00:00
jperkin 3150191f80 ghc96: Build with LC_ALL=en_US.UTF-8.
There appear to be a number of UTF-8 issues in ghc, some of which are patched
in this package and the resulting binaries, but there are others that may be
caused by the bootstrap kit.  Package now builds correctly on SunOS.
2023-11-30 16:23:59 +00:00
jperkin 733093fcfc ghc96: Remove more SunOS hacks. 2023-11-30 16:20:48 +00:00
taca 65e2ff5ba5 lang/Makefile: add and enable php83 2023-11-30 16:16:17 +00:00
taca 8b23f75e9c lang/php83: add version 8.3.0
PHP is a widely-used open source general-purpose scripting language
that is especially suited for web development and can be embedded
into HTML.  It is modular, and object-oriented.  Much of its syntax
is borrowed from C, Java and Perl with a couple of unique PHP-specific
features thrown in.  The language is designed to allow web developers
to write dynamically generated pages quickly.

PHP 8.3 comes with numerous improvements and new features such as

* Typed Class Constants
* Fetch class constant dynamically syntax
* Readonly Amendments
* Override Attribute
* New Randomizer method Random\Randomizer::getBytesFromString
* New function json_validate
* And much much more...
2023-11-30 16:14:50 +00:00
taca b59fbe3303 lang/php: add PHP 8.3 support
Remove unnecessary double quote for numeric, too.
2023-11-30 16:14:00 +00:00
taca 651d55a684 lang/ruby: add support for Ruby on Rails 7.1 2023-11-30 15:05:10 +00:00
jperkin 2af34ca013 ghc96: Switch to updated SunOS bootstrap kit.
Generated using the same version as others, and modified to use self-contained
libiconv and ncurses libraries.
2023-11-30 13:36:05 +00:00
taca 93ce622757 lang/ruby: fix comment for GEM_BUILD
Fix comment for GEM_BUILD,  Its default is gemspec but comment said rake.

Thanks J. Lewis Muir for reporting this.
2023-11-30 00:21:12 +00:00
taca 8d2d755772 lang/pear: update to 1.10.14
1.10.14 (2023-11-26)

Changelog:

* PR #112: Put glue and pieces parameters to implode in correct order for
  PHP 7.4+
* PR #121: Fix PHP bug 81653: Typo in install-pear-nozlib.phar
* PR #122: add %S EXPECTF capability
* PR #124: Fix: Creation of dynamic property PEAR_Error::$callback is
  deprecated
* PR #125: Fixed extension loaded check for pecl binaries
* PR #126: Remove -n option from pecl.bat for shared extensions
* PR #127: fix Using ${var} in strings is deprecated
* PR #128: fix lingering license references to PHP license
* PR #129: Exclude tests from composer classmap
* PR #131: fix private lastError name
2023-11-29 16:02:12 +00:00
jperkin 04bd671980 python: Exclude dependencies for build.
When python bl3 files are included with PYTHON_FOR_BUILD_ONLY=yes, their
DEPMETHOD is set to "build", in which case we do not want to include
indirect dependencies as they will then be tagged as "build" also.  Fixes
potential runtime issues exposed by indirect dependency checks.
2023-11-29 11:02:40 +00:00
rjs 6213608927 Update to sbcl-2.3.11.
Enable NetBSD/i386 build again.

Changes in sbcl-2.3.11 relative to sbcl-2.3.10

    * minor incompatible change: streams with an external-format
      specified with :REPLACEMENT will use their replacement data once
      per stream unit that causes a decoding error (rather than, in
      some cases, once for a sequence of bytes none of which is a
      valid character start position for that external-format).
    * minor incompatible change: external-format designators with
      unsupported or unrecognized options now signal an error when
      used.
    * enhancement: During generic function dispatch, for a generic
      function using standard- or short-method-combination, if there
      are no applicable primary methods the system will call the
      generic function SB-PCL:NO-PRIMARY-METHOD, whose default
      behaviour is to signal an error. Users may define methods on
      this generic function.
    * enhancement: external formats for unibyte encodings and utf-8
      now support newline variants.
    * enhancement: character decoding and encoding errors signalled by
      stream or octet functions now provide a USE-VALUE restart for
      handlers to provide replacement input or output.
    * enhancement: READ-SEQUENCE and WRITE-SEQUENCE support
      user-defined sequences; the default implementation proceeds
      element-by-element, reading or writing single bytes or
      characters to or from the stream as appropriate.
    * bug fix: OCTETS-TO-STRING using unibyte external formats with
      unallocated codepoints (e.g. iso-8859-3) correctly signal or use
      replacements rather than taking bits from the address of NIL and
      converting those bits to a character.
    * bug fix: FILE-STRING-LENGTH now returns NIL if the input datum
      is not encodable in the stream's external format.
    * bug fix: table-based multibyte external formats (EUC-JP,
      Shift-JIS, GBK) now honour a replacement character (in the
      external format or through restarts) when encoding to octets.
    * bug fix: converting from octets using the UCS-2, UCS-4 and
      UTF-32 external formats no longer reads past the end of an octet
      array with a non-integral number of two- or four-byte units.
    * bug fix: converting from octets using the UCS-2, UCS-4, UTF-16
      or UTF-32 external formats now returns a simple string, as
      required by the type declaration of OCTETS-TO-STRING.
    * bug fix: providing an invalid external format argument to OPEN
      or WITH-OPEN-FILE (or the internal MAKE-FD-STREAM) no longer
      leaks a file descriptor.
    * bug fix: SB-ROTATE-BYTE recognizes out-of-relevant-range BYTE
      specifications for integers before attempting to cons up
      enormous bignums for masking and shifting. (#2042937)
    * bug fix: fix type derivation on compiling SB-ROTATE-BYTE forms
      with non-zero POSITION in the byte specifier. (#2042775)
    * bug fix: fix multiple assembler errors when compiling
      MAKE-ARRAY, MAKE-STRING and similar with a large constant
      size. (#2037347, #2038744)
    * bug fix: fix internal error when compiling (SETF SBIT) with a
      large constant index. (#2037415)
    * bug fix: fix internal compiler error on invalid lambda list
      parameters in LABELS. (#2040334)
    * bug fix: fix internal compiler error when compiling some
      infinitely-recursive LABELS forms. (#2042704)
    * bug fix: fix internal compiler error when attempting to inline a
      jump to a label that has been deleted. (#2043262)
    * bug fix: FILL-POINTER should never be made to go negative. (#2042452)
    * optimization: external formats with :REPLACEMENT no longer bind
      handlers for coding errors around conversion functions, and so
      should cons less and be faster.
    * optimization: when the :EXTERNAL-FORMAT argument to
      STRING-TO-OCTETS or OCTETS-TO-STRING is a compile-time constant,
      the external format is resolved at load time rather than on each
      call.
    * optimization: the compiler is able to constrain the types of
      inputs to some functions given a derived or asserted type of the
      function's return value.
    * optimization: the compiler performs fewer redundant type checks
      in ASSOC, GETF and similar functions.

Changes in sbcl-2.3.10 relative to sbcl-2.3.9

    * enhancement: The compiler now allows stack allocating vectors of
      any size on all safety levels, not just those which it can prove
      are of sub-page sizes. It can do this because it now inserts
      code to check for stack overflow explicitly on higher safety
      levels.
    * enhancements to the disassembler:
        * on arm64, x86-64, DISASSEMBLE annotates references to static
          symbols.
    * bug fix: calls to generic functions now detect erroneous
      keywords (in the sense of CLHS 7.6.5) passed as arguments even
      when auxiliary methods are applicable.
    * bug fix: the standard method on SB-MOP:COMPUTE-EFFECTIVE-METHOD
      no longer inserts calls to implementation-defined local
      macros. (reported by Daniel Kochmański)
    * bug fix: compiler error from state-machine-like LABELS forms in
      some circumstances. (#2037318)
    * bug fix: fix compile-time error in constant-folding RATIONAL on
      literal float infinities. (#2037455)
    * bug fix: failure on x86-64 to assemble code for EQL tests of
      comparisons with immediates. (#2037456)
    * bug fix: infinite loop in the compiler for simplification of
      type tests of complicated union types. (#2038112, reported by
      Paul M. Rodriguez)
    * bug fix: inability to dump a literal displaced array containing
      copies of its displacement target. (#2038233, reported by James
      Kalenius)
    * bug fix: compiler error in LOGBITP type derivation. (#2038241)
    * bug fix: compiler error in AREF type derivation. (#2038659)
    * bug fix: compiler internal consistency failure in overflow type
      checks. (#2038736)
    * bug fix: work around an infinite loop in type simplification by
      not providing such types from the compiler. (#2038980, reported
      by Richard Holcombe)
    * bug fix: spurious run-time argument count errors from generic
      function calls on arm64. (#2039006, reported by fiddlerwoaroof)
    * bug fix: errors in SCALE-FLOAT on floating-point
      infinities. (#2039613)
    * bug fix: ROOM is slightly more robust to
      incompletely-initialized instances at the point of running
      ROOM. (Reported by Andreas Franke)
    * bug fix: finalizers saved through SAVE-LISP-AND-DIE and
      subsequently executed do not trigger memory faults. (Reported by
      Bohong Huang)
    * optimization: improvements to type derivation for ISQRT,
      INTEGER-LENGTH, LOGCOUNT, LOG, DENOMINATOR.

Changes in sbcl-2.3.9 relative to sbcl-2.3.8

    * enhancement: stack allocation via DYNAMIC-EXTENT now applies to
      all values that a variable can take on (for example via SETQ),
      not just the initial binding. This permits for example building
      complex or recursive structures on the stack more easily via
      iteration. See the updated manual entry for more details.
    * minor incompatible change: some interfaces in the SB-POSIX
      contrib module adhere to the spec that a NULL result from the C
      library is an error if and only if errno was altered by the
      call. SYSCALL-ERROR will be signaled if so.
    * enhancement: the SB-POSIX contrib module provides DO-PASSWDS and
      DO-GROUPS to allow users to iterate over password and group
      databases safely.
    * platform support:
        * support for Darwin on x86 and PowerPC has been
          restored. (#2033287, thanks to Kirill A. Korinsky, Sergey
          Fedorov and barracuda156)
    * bug fix: miscompilation due to erroneous type derivation in the
      presence of multiplication of fixnums by ratios. (#2033695,
      reported by Patrick Dussud)
    * bug fix: compiler error when compiling signed- and unsigned
      64-bit type checks in some cases. (#2033997, reported by Eric
      Smith)
    * bug fix: compiler error when the :INITIAL-CONTENTS argument to
      MAKE-ARRAY is a constant non-sequence. (#2037328)
    * bug fix: compiler error when constant-folding sequence functions
      with :TEST or :KEY functions erroring on the given
      sequence. (#2037341)
    * bug fix: compiler error when arguments to array or sequence
      functions imply a very large sequence size. (#2037443, #2037348)
    * bug fix: compiler error when the return value of ADJUST-ARRAY is
      not used. (#2037450)
    * optimization: function types derived by the compiler can in some
      cases be propagated backwards through the intermediate
      representation.
    * optimization: better type derivations for LDB, LOGBITP, RATIO.
    * optimization: eliminate bound checks in more cases involving
      transitive comparisons.
2023-11-28 15:03:55 +00:00
jperkin 830affad22 gcc12: Stop subverting buildlink with LDFLAGS.
It's not clear why this was ever added in the first place (back in gcc46),
but it results in the build gcc finding libraries in PREFIX that aren't
buildlinked.

Discovered on macOS with the indirect DEPENDS checks where iconv was being
pulled in directly from PREFIX.  While here fix a non-ASCII space.
2023-11-27 14:45:40 +00:00
jperkin d38f6bbfff *: Simplify vala buildlink3.
The default DEPMETHOD for vala's bl3 is "build", so there's no point
duplicating that in each package.  Given that it is only ever a build
dependency, completely remove the indirect dependencies as they should not
be made available.  Also remove obsolete BUILDLINK_API_DEPENDS settings.

Tested with a few of the affected packages.
2023-11-27 11:16:40 +00:00
jperkin 50eba2fa14 vala: Limit buildlink3 includes to DEPMETHOD=full.
This file is generally only included when the valac and vapigen tools are
required, and it even defaults to DEPMETHOD=build.  The library dependencies
are not required for running the tools, and this avoids a number of implicit
dependency issues.
2023-11-27 09:45:02 +00:00
tnn c27b4eee8d openjdk21: fix PKG_OPTIONS_VAR 2023-11-26 19:00:51 +00:00
tnn 6b96fe0898 openjdk17: fix mis-merge 2023-11-26 10:48:46 +00:00
adam efdde8c169 nodejs20: updated to 20.10.0
Version 20.10.0 'Iron' (LTS)

--experimental-default-type flag to flip module defaults

The new flag --experimental-default-type can be used to flip the default module system used by Node.js. Input that is already explicitly defined as ES modules or CommonJS, such as by a package.json "type" field or .mjs/.cjs file extension or the --input-type flag, is unaffected. What is currently implicitly CommonJS would instead be interpreted as ES modules under --experimental-default-type=module:

String input provided via --eval or STDIN, if --input-type is unspecified.

Files ending in .js or with no extension, if there is no package.json file present in the same folder or any parent folder.

Files ending in .js or with no extension, if the nearest parent package.json field lacks a type field; unless the folder is inside a node_modules folder.

In addition, extensionless files are interpreted as Wasm if --experimental-wasm-modules is passed and the file contains the "magic bytes" Wasm header.


Detect ESM syntax in ambiguous JavaScript

The new flag --experimental-detect-module can be used to automatically run ES modules when their syntax can be detected. For “ambiguous” files, which are .js or extensionless files with no package.json with a type field, Node.js will parse the file to detect ES module syntax; if found, it will run the file as an ES module, otherwise it will run the file as a CommonJS module. The same applies to string input via --eval or STDIN.

We hope to make detection enabled by default in a future version of Node.js. Detection increases startup time, so we encourage everyone—especially package authors—to add a type field to package.json, even for the default "type": "commonjs". The presence of a type field, or explicit extensions such as .mjs or .cjs, will opt out of detection.


New flush option in file system functions

When writing to files, it is possible that data is not immediately flushed to permanent storage. This allows subsequent read operations to see stale data. This PR adds a 'flush' option to the fs.writeFile family of functions which forces the data to be flushed at the end of a successful write operation.


Experimental WebSocket client

Adds a --experimental-websocket flag that adds a WebSocket global, as standardized by WHATWG.


vm: fix V8 compilation cache support for vm.Script

Previously repeated compilation of the same source code using vm.Script stopped hitting the V8 compilation cache after v16.x when support for importModuleDynamically was added to vm.Script, resulting in a performance regression that blocked users (in particular Jest users) from upgrading from v16.x.

The recent fixes allow the compilation cache to be hit again for vm.Script when --experimental-vm-modules is not used even in the presence of the importModuleDynamically option, so that users affected by the performance regression can now upgrade. Ongoing work is also being done to enable compilation cache support for vm.CompileFunction.
2023-11-26 07:55:53 +00:00
ryoon 50e9dff031 mono: Update 6.12.0.199
Changelog:
mono-6.12.0.199

Bump nuget.exe to v6.6.1

mono-6.12.0.198

Fix xar url again

(cherry picked from commit 3005442)

mono-6.12.0.190

Change download URL for PCL reference assemblies

mono-6.12.0.188

Bump NuGetSdkResolver in msbuild

mono-6.12.0.185

Backport fixes for sharing wrappers when type attributes are involved (…

…#21537)

* [wasm] Fix the handling of i8/u8 in get_wrapper_shared_type_full (). (#19859)

Previously, these were returned verbatim, which caused sharing issues when the type had
attributes.

Fixes #19841.

* [aot] Fix the handling of r4/r8 parameter types with attributes during generic sharing. (#20217)

The attributes need to be ignored as with the other types, otherwise gsharedvt wrappers for signatures with
parameters like double f = default will not be found.

Fixes #20195.

mono-6.12.0.184

Backporting dotnet/runtime#59861 (#21532)

Fixes dotnet/runtime#72181

mono-6.12.0.183

Backport dotnet/runtime#71436 (#21519)

Backport dotnet/runtime#71436
Backport of #21516 to 2020-02
2023-11-24 13:58:45 +00:00
taca 23efe447f5 lang/php81: update to 8.1.26
PHP 8.1.26 (2023-11-23)

- Core:
  . Fixed bug GH-12468 (Double-free of doc_comment when overriding static
    property via trait). (ilutov)
  . Fixed segfault caused by weak references to FFI objects. (sj-i)
  . Fixed max_execution_time: don't delete an unitialized timer. (Kévin Dunglas)

- DOM:
  . Fix registerNodeClass with abstract class crashing. (nielsdos)
  . Add missing NULL pointer error check. (icy17)
  . Fix validation logic of php:function() callbacks. (nielsdos)

- Fiber:
  . Fixed bug GH-11121 (ReflectionFiber segfault). (danog, trowski, bwoebi)

- FPM:
  . Fixed bug GH-9921 (Loading ext in FPM config does not register module
    handlers). (Jakub Zelenka)
  . Fixed bug GH-12232 (FPM: segfault dynamically loading extension without
    opcache). (Jakub Zelenka)

- Intl:
  . Removed the BC break on IntlDateFormatter::construct which threw an
    exception with an invalid locale. (David Carlier)

- Opcache:
  . Added warning when JIT cannot be enabled. (danog)
  . Fixed bug GH-8143 (Crashes in zend_accel_inheritance_cache_find since
    upgrading to 8.1.3 due to corrupt on-disk file cache). (turchanov)

- OpenSSL:
  . Fixed bug GH-12489 (Missing sigbio creation checking in openssl_cms_verify).
    (Jakub Zelenka)

- PCRE:
  . Fixed bug GH-11374 (Backport upstream fix, Different preg_match result
    with -d pcre.jit=0). (mvorisek)

- SOAP:
  . Fixed bug GH-12392 (Segmentation fault on SoapClient::__getTypes).
    (nielsdos)
  . Fixed bug #66150 (SOAP WSDL cache race condition causes Segmentation
    Fault). (nielsdos)
  . Fixed bug #67617 (SOAP leaves incomplete cache file on ENOSPC). (nielsdos)
  . Fix incorrect uri check in SOAP caching. (nielsdos)
  . Fix segfault and assertion failure with refcounted props and arrays.
    (nielsdos)
  . Fix potential crash with an edge case of persistent encoders. (nielsdos)
  . Fixed bug #75306 (Memleak in SoapClient). (nielsdos)

- Streams:
  . Fixed bug #75708 (getimagesize with "&$imageinfo" fails on StreamWrappers).
    (Jakub Zelenka)

- XMLReader:
  . Add missing NULL pointer error check. (icy17)

- XMLWriter:
  . Add missing NULL pointer error check. (icy17)

- XSL:
  . Add missing module dependency. (nielsdos)
  . Fix validation logic of php:function() callbacks. (nielsdos)
2023-11-24 06:03:45 +00:00
taca 61136d4a4e PHP 8.2.13 (2023-11-23)
- Core:
  . Fixed double-free of non-interned enum case name. (ilutov)
  . Fixed bug GH-12457 (Incorrect result of stripos with single character
    needle). (SakiTakamachi)
  . Fixed bug GH-12468 (Double-free of doc_comment when overriding static
    property via trait). (ilutov)
  . Fixed segfault caused by weak references to FFI objects. (sj-i)
  . Fixed max_execution_time: don't delete an unitialized timer. (Kévin Dunglas)
  . Fixed bug GH-12558 (Arginfo soft-breaks with namespaced class return type
    if the class name starts with N). (kocsismate)

- DOM:
  . Fix registerNodeClass with abstract class crashing. (nielsdos)
  . Add missing NULL pointer error check. (icy17)
  . Fix validation logic of php:function() callbacks. (nielsdos)

- Fiber:
  . Fixed bug GH-11121 (ReflectionFiber segfault). (danog, trowski, bwoebi)

- FPM:
  . Fixed bug GH-9921 (Loading ext in FPM config does not register module
    handlers). (Jakub Zelenka)
  . Fixed bug GH-12232 (FPM: segfault dynamically loading extension without
    opcache). (Jakub Zelenka)
  . Fixed bug #76922 (FastCGI terminates conn after FCGI_GET_VALUES).
    (Jakub Zelenka)

- Intl:
  . Removed the BC break on IntlDateFormatter::construct which threw an
    exception with an invalid locale. (David Carlier)

- Opcache:
  . Added warning when JIT cannot be enabled. (danog)
  . Fixed bug GH-8143 (Crashes in zend_accel_inheritance_cache_find since
    upgrading to 8.1.3 due to corrupt on-disk file cache). (turchanov)

- OpenSSL:
  . Fixed bug GH-12489 (Missing sigbio creation checking in openssl_cms_verify).
    (Jakub Zelenka)

- PCRE:
  . Fixed bug GH-11374 (Backport upstream fix, Different preg_match result
    with -d pcre.jit=0). (mvorisek)

- SOAP:
  . Fixed bug GH-12392 (Segmentation fault on SoapClient::__getTypes).
    (nielsdos)
  . Fixed bug #66150 (SOAP WSDL cache race condition causes Segmentation
    Fault). (nielsdos)
  . Fixed bug #67617 (SOAP leaves incomplete cache file on ENOSPC). (nielsdos)
  . Fix incorrect uri check in SOAP caching. (nielsdos)
  . Fix segfault and assertion failure with refcounted props and arrays.
    (nielsdos)
  . Fix potential crash with an edge case of persistent encoders. (nielsdos)
  . Fixed bug #75306 (Memleak in SoapClient). (nielsdos)

- Streams:
  . Fixed bug #75708 (getimagesize with "&$imageinfo" fails on StreamWrappers).
    (Jakub Zelenka)

- XMLReader:
  . Add missing NULL pointer error check. (icy17)

- XMLWriter:
  . Add missing NULL pointer error check. (icy17)

- XSL:
  . Add missing module dependency. (nielsdos)
  . Fix validation logic of php:function() callbacks. (nielsdos)
2023-11-24 06:01:26 +00:00
adam 4a8ff1f18b py-mypy: updated to 1.7.1
1.7.1
Bug fixes
2023-11-23 20:52:09 +00:00
jperkin ded94a18e0 nodejs*: Consolidate and fix python includes.
Ensures that PYTHON_FOR_BUILD_ONLY is set prior to including pyversion.mk,
and ensures python and its dependencies are not buildlinked.
2023-11-23 16:57:37 +00:00
ryoon 6e0a813b41 nim: Update to 2.0.0
Changelog:
# v2.0.0 - 2023-08-01

Version 2.0 is a big milestone with too many changes to list them all here.

For a full list see [details](changelog_2_0_0_details.html).


## New features

### Better tuple unpacking

Tuple unpacking for variables is now treated as syntax sugar that directly
expands into multiple assignments. Along with this, tuple unpacking for
variables can now be nested.

```nim
proc returnsNestedTuple(): (int, (int, int), int, int) = (4, (5, 7), 2, 3)

# Now nesting is supported!
let (x, (_, y), _, z) = returnsNestedTuple()

```

### Improved type inference

A new form of type inference called [top-down inference](https://nim-lang.github.io/Nim/manual_experimental.html#topminusdown-type-inference) has been implemented for a variety of basic cases.

For example, code like the following now compiles:

```nim
let foo: seq[(float, byte, cstring)] = @[(1, 2, "abc")]
```

### Forbidden Tags

[Tag tracking](https://nim-lang.github.io/Nim/manual.html#effect-system-tag-tracking) now supports the definition
of forbidden tags by the `.forbids` pragma which can be used to disable certain effects in proc types.

For example:

```nim

type IO = object ## input/output effect
proc readLine(): string {.tags: [IO].} = discard
proc echoLine(): void = discard

proc no_IO_please() {.forbids: [IO].} =
  # this is OK because it didn't define any tag:
  echoLine()
  # the compiler prevents this:
  let y = readLine()

```

### New standard library modules

The famous `os` module got an overhaul. Several of its features are available
under a new interface that introduces a `Path` abstraction. A `Path` is
a `distinct string`, which improves the type safety when dealing with paths, files
and directories.

Use:

- `std/oserrors` for OS error reporting.
- `std/envvars` for environment variables handling.
- `std/paths` for path handling.
- `std/dirs` for directory creation/deletion/traversal.
- `std/files` for file existence checking, file deletions and moves.
- `std/symlinks` for symlink handling.
- `std/appdirs` for accessing configuration/home/temp directories.
- `std/cmdline` for reading command line parameters.

### Consistent underscore handling

The underscore identifier (`_`) is now generally not added to scope when
used as the name of a definition. While this was already the case for
variables, it is now also the case for routine parameters, generic
parameters, routine declarations, type declarations, etc. This means that the following code now does not compile:

```nim
proc foo(_: int): int = _ + 1
echo foo(1)

proc foo[_](t: typedesc[_]): seq[_] = @[default(_)]
echo foo[int]()

proc _() = echo "_"
_()

type _ = int
let x: _ = 3
```

Whereas the following code now compiles:

```nim
proc foo(_, _: int): int = 123
echo foo(1, 2)

proc foo[_, _](): int = 123
echo foo[int, bool]()

proc foo[T, U](_: typedesc[T], _: typedesc[U]): (T, U) = (default(T), default(U))
echo foo(int, bool)

proc _() = echo "one"
proc _() = echo "two"

type _ = int
type _ = float
```

### JavaScript codegen improvement

The JavaScript backend now uses [BigInt](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt)
for 64-bit integer types (`int64` and `uint64`) by default. As this affects
JS code generation, code using these types to interface with the JS backend
may need to be updated. Note that `int` and `uint` are not affected.

For compatibility with [platforms that do not support BigInt](https://caniuse.com/bigint)
and in the case of potential bugs with the new implementation, the
old behavior is currently still supported with the command line option
`--jsbigint64:off`.


## Docgen improvements

`Markdown` is now the default markup language of doc comments (instead
of the legacy `RstMarkdown` mode). In this release we begin to separate
RST and Markdown features to better follow specification of each
language, with the focus on Markdown development.
See also [the docs](https://nim-lang.github.io/Nim/markdown_rst.html).

* Added a `{.doctype: Markdown | RST | RstMarkdown.}` pragma allowing to
  select the markup language mode in the doc comments of the current `.nim`
  file for processing by `nim doc`:

    1. `Markdown` (default) is basically CommonMark (standard Markdown) +
        some Pandoc Markdown features + some RST features that are missing
        in our current implementation of CommonMark and Pandoc Markdown.
    2. `RST` closely follows the RST spec with few additional Nim features.
    3. `RstMarkdown` is a maximum mix of RST and Markdown features, which
        is kept for the sake of compatibility and ease of migration.

* Added separate `md2html` and `rst2html` commands for processing
  standalone `.md` and `.rst` files respectively (and also `md2tex`/`rst2tex`).

* Added Pandoc Markdown bracket syntax `[...]` for making anchor-less links.
* Docgen now supports concise syntax for referencing Nim symbols:
  instead of specifying HTML anchors directly one can use original
  Nim symbol declarations (adding the aforementioned link brackets
  `[...]` around them).
  * To use this feature across modules, a new `importdoc` directive was added.
    Using this feature for referencing also helps to ensure that links
    (inside one module or the whole project) are not broken.
* Added support for RST & Markdown quote blocks (blocks starting with `>`).
* Added a popular Markdown definition lists extension.
* Added Markdown indented code blocks (blocks indented by >= 4 spaces).
* Added syntax for additional parameters to Markdown code blocks:

       ```nim test="nim c $1"
       ...
       ```


## C++ interop enhancements

Nim 2.0 takes C++ interop to the next level. With the new [virtual](https://nim-lang.github.io/Nim/manual_experimental.html#virtual-pragma) pragma and the extended [constructor](https://nim-lang.github.io/Nim/manual_experimental.html#constructor-pragma) pragma.
Now one can define constructors and virtual procs that maps to C++ constructors and virtual methods, allowing one to further customize
the interoperability. There is also extended support for the [codeGenDecl](https://nim-lang.org/docs/manual.html#implementation-specific-pragmas-codegendecl-pragma) pragma, so that it works on types.

It's a common pattern in C++ to use inheritance to extend a library. Some even use multiple inheritance as a mechanism to make interfaces.

Consider the following example:

```cpp

struct Base {
  int someValue;
  Base(int inValue)  {
    someValue = inValue;
  };
};

class IPrinter {
public:
  virtual void print() = 0;
};
```

```nim

type
  Base* {.importcpp, inheritable.} = object
    someValue*: int32
  IPrinter* {.importcpp.} = object

const objTemplate = """
  struct $1 : public $3, public IPrinter {
    $2
  };
""";

type NimChild {.codegenDecl: objTemplate .} = object of Base

proc makeNimChild(val: int32): NimChild {.constructor: "NimClass('1 #1) : Base(#1)".} =
  echo "It calls the base constructor passing " & $this.someValue
  this.someValue = val * 2 # Notice how we can access `this` inside the constructor. It's of the type `ptr NimChild`.

proc print*(self: NimChild) {.virtual.} =
  echo "Some value is " & $self.someValue

let child = makeNimChild(10)
child.print()
```

It outputs:

```
It calls the base constructor passing 10
Some value is 20
```


## ARC/ORC refinements

With the 2.0 release, the ARC/ORC model got refined once again and is now finally complete:

1. Programmers now have control over the "item was moved from" state as `=wasMoved` is overridable.
2. There is a new `=dup` hook which is more efficient than the old combination of `=wasMoved(tmp); =copy(tmp, x)` operations.
3. Destructors now take a parameter of the attached object type `T` directly and don't have to take a `var T` parameter.

With these important optimizations we improved the runtime of the compiler and important benchmarks by 0%! Wait ... what?
Yes, unfortunately it turns out that for a modern optimizer like in GCC or LLVM there is no difference.

But! This refined model is more efficient once separate compilation enters the picture. In other words, as we think of
providing a stable ABI it is important not to lose any efficiency in the calling conventions.


## Tool changes

- Nim now ships Nimble version 0.14 which added support for lock-files. Libraries are stored in `$nimbleDir/pkgs2` (it was `$nimbleDir/pkgs` before). Use `nimble develop --global` to create an old style link file in the special links directory documented at https://github.com/nim-lang/nimble#nimble-develop.
- nimgrep now offers the option `--inContext` (and `--notInContext`), which
  allows to filter only matches with the context block containing a given pattern.
- nimgrep: names of options containing "include/exclude" are deprecated,
  e.g. instead of `--includeFile` and `--excludeFile` we have
  `--filename` and `--notFilename` respectively.
  Also, the semantics are now consistent for such positive/negative filters.
- Nim now ships with an alternative package manager called Atlas. More on this in upcoming versions.


## Porting guide

### Block and Break

Using an unnamed break in a block is deprecated. This warning will become an error in future versions! Use a named block with a named break instead. In other words, turn:

```nim

block:
  a()
  if cond:
    break
  b()

```

Into:

```nim

block maybePerformB:
  a()
  if cond:
    break maybePerformB
  b()

```

### Strict funcs

The definition of `"strictFuncs"` was changed.
The old definition was roughly: "A store to a ref/ptr deref is forbidden unless it's coming from a `var T` parameter".
The new definition is: "A store to a ref/ptr deref is forbidden."

This new definition is much easier to understand, the price is some expressitivity. The following code used to be
accepted:

```nim

{.experimental: "strictFuncs".}

type Node = ref object
  s: string

func create(s: string): Node =
  result = Node()
  result.s = s # store to result[]

```

Now it has to be rewritten to:

```nim

{.experimental: "strictFuncs".}

type Node = ref object
  s: string

func create(s: string): Node =
  result = Node(s: s)

```

### Standard library

Several standard library modules have been moved to nimble packages, use `nimble` or `atlas` to install them:

- `std/punycode` => `punycode`
- `std/asyncftpclient` => `asyncftpclient`
- `std/smtp` => `smtp`
- `std/db_common` => `db_connector/db_common`
- `std/db_sqlite` => `db_connector/db_sqlite`
- `std/db_mysql` => `db_connector/db_mysql`
- `std/db_postgres` => `db_connector/db_postgres`
- `std/db_odbc` => `db_connector/db_odbc`
- `std/md5` => `checksums/md5`
- `std/sha1` => `checksums/sha1`
- `std/sums` => `sums`
2023-11-23 16:41:31 +00:00
ryoon fe1f08c357 openjdk17: Update to 1.17.0.9.9
Changelog:
Additional features include:

    Update to 17.0.9 GA
2023-11-23 15:34:02 +00:00
ryoon 8050caffd0 openjdk11: Update to 1.11.0.21.9
Changelog:
Additional features include:

    Update to 11.0.21 GA
2023-11-23 15:33:19 +00:00
ryoon dd4ab63377 openjdk8: Update to 1.8.392
Changelog:
Additional features include:

    Updated to 8u392 GA
2023-11-23 15:32:42 +00:00
jperkin a323e97202 python*: Remove -luuid hack on SunOS.
This ends up leaking into the shipped python-config, which wouldn't normally
be a problem, but broken build systems such as waf end up linking against
libraries that are not buildlinked, resulting in missing libuuid references.

If this is still required for builtin libuuid support then that will need to
be done in a different way that doesn't end up in the exported libraries.
2023-11-23 12:43:35 +00:00
jperkin 576c73c72d llvm: Switch PYTHON_FOR_BUILD_ONLY to "tool".
Avoids problems where python is buildlinked, and buildlink dependencies of
python ending up being available during the build but not registered as full
dependencies, resulting in them potentially being unavailable at runtime.
2023-11-23 11:01:46 +00:00
jperkin ec93872846 python: Default tool.mk to PYTHON_FOR_BUILD_ONLY=tool.
Helps to avoid buildlinking unnecessarily which can lead to dependency
issues with packages that are pulled in by python's buildlink3.mk.
2023-11-23 11:00:52 +00:00
wiz 66490412e6 sbcl: mark as broken on i386/NetBSD
https://mail-index.netbsd.org/pkgsrc-bulk/2023/11/21/msg024562.html
2023-11-23 08:36:21 +00:00
jperkin bcea87c47e nodejs: Switch PYTHON_FOR_BUILD_ONLY to "tool".
Avoids problems where python is buildlinked, and buildlink dependencies of
python ending up being available during the build but not registered as full
dependencies, resulting in them potentially being unavailable at runtime.
2023-11-22 16:30:23 +00:00
ryoon a3c3d2b677 openjdk-bin: Update to 21.0.1
For bootstrap lang/openjdk21.
2023-11-22 14:11:32 +00:00
ryoon f3fe50d7e7 lang: Enable openjdk21 2023-11-22 14:08:34 +00:00
ryoon 0b8e9d6d08 lang/openjdk21: import openjdk21-1.21.0.1.12
Open-source implementation of the Java Platform, Standard Edition.
This package privides OpenJDK 21 LTS.

This package is NOT certified to be compatible with any Java standard.
Use at own risk.

Mandatory trademark notice:
    "OpenJDK is a trademark or registered trademark of Oracle America,
     Inc. in the United States and other countries."
2023-11-22 14:06:50 +00:00
adam ceaf7bec67 py-mypy: updated to 1.7.0
1.7.0

Using TypedDict for **kwargs Typing
TypeVarTuple Support Enabled (Experimental)
New Way of Installing Mypyc Dependencies
New Rules for Re-exports
Improved Type Inference
Narrowing Tuple Types Using len()
More Precise Tuple Lengths (Experimental)
2023-11-22 10:31:16 +00:00