Hi. Update for net/tailscale v1.104.6 Changelog: https://tailscale.com/changelog - A rare connectivity issue that affected dormant connections has been resolved. Obrigado! -- Adriano Index: Makefile =================================================================== RCS file: /cvs/ports/net/tailscale/Makefile,v diff -u -p -r1.76 Makefile --- Makefile 8 Nov 2026 03:24:09 -0000 1.76 +++ Makefile 12 Nov 2026 14:51:12 -0000 @@ -2,7 +2,7 @@ BROKEN-i386 = unix.EPROTO not defined COMMENT = modern overlay-like VPN built on top of WireGuard -V = 1.104.5 +V = 1.104.6 MODGO_MODNAME = tailscale.com MODGO_VERSION = v${V} Index: distinfo =================================================================== RCS file: /cvs/ports/net/tailscale/distinfo,v diff -u -p -r1.73 distinfo --- distinfo 8 Nov 2026 03:24:09 -0000 1.73 +++ distinfo 12 Nov 2026 14:51:14 -0000 @@ -2106,8 +2106,8 @@ SHA256 (go_modules/github.com/tailscale/ SHA256 (go_modules/github.com/tailscale/wf/@v/v0.0.0-20240214030419-6fbb0a674ee6.mod) = pwYFg8oMZmolYbOB0CsVULx//SeaQ4EyOJSJrcESfeE= SHA256 (go_modules/github.com/tailscale/wf/@v/v0.0.0-20240214030419-6fbb0a674ee6.zip) = TDtL1+CGb6cAT5Edo6CldpP79kG185ftVYBf9gSphUc= SHA256 (go_modules/github.com/tailscale/wireguard-go/@v/v0.0.0-20260715223240-2e01ba5b00f0.mod) = AwGJ27kZpx4OIVsGYaNOKBFdl5j9J962WnlTCI9ie5M= -SHA256 (go_modules/github.com/tailscale/wireguard-go/@v/v0.0.0-20260928213032-417aef361226.mod) = LVE1Oxt0V9anId/9WNmxCj5Iv2jtB8HQRLJ7m+UsAHk= -SHA256 (go_modules/github.com/tailscale/wireguard-go/@v/v0.0.0-20260928213032-417aef361226.zip) = YF8JJkd7lTu2oO4T17qtmjs+q1uxeuJr//JF34D+GbY= +SHA256 (go_modules/github.com/tailscale/wireguard-go/@v/v0.0.0-20261106233718-9e0ab45c16ca.mod) = LVE1Oxt0V9anId/9WNmxCj5Iv2jtB8HQRLJ7m+UsAHk= +SHA256 (go_modules/github.com/tailscale/wireguard-go/@v/v0.0.0-20261106233718-9e0ab45c16ca.zip) = 9Mz7oiBr1VTheLmN6UHsMnumbzmzS97cH06txi+lIf8= SHA256 (go_modules/github.com/tailscale/xnet/@v/v0.0.0-20240729143630-8497ac4dab2e.mod) = ex59X6JiSfNTLEs8FyRHhmY2xWXHNm/vfEncuDanP6U= SHA256 (go_modules/github.com/tailscale/xnet/@v/v0.0.0-20240729143630-8497ac4dab2e.zip) = Q4q/KM5fsDrfUpwstXpFH5skPEoqGB2dBs22G7EJYOc= SHA256 (go_modules/github.com/tc-hib/winres/@v/v0.2.1.mod) = xcdTcji11EIL0KwcA1enH9lX2pzj6GFPo6C1hEfuJL0= @@ -3074,7 +3074,7 @@ SHA256 (go_modules/tailscale.com/@v/v1.1 SHA256 (go_modules/tailscale.com/@v/v1.103.0-pre.0.20260924185624-d229a06f9a4b.mod) = wX5xNs/CUqFWWFcUEaqX2MtbDWECBl33HRMUlZQpqoI= SHA256 (go_modules/tailscale.com/client/tailscale/v2/@v/v2.10.1.mod) = 51wk0RAzCJHq6dnTk+H/QB5QJ8AlXBO6Q/aEb4i7w9A= SHA256 (go_modules/tailscale.com/client/tailscale/v2/@v/v2.10.1.zip) = t3uWWqzld2yToLInwM0fowvuv4r+QHOBPRzWO4tfz/k= -SHA256 (tailscale.com-v1.104.5.zip) = id8zUjqrjtqLu2z67rpdFSw4y9M7u3Nf8GPExBHcYks= +SHA256 (tailscale.com-v1.104.6.zip) = SH8qMQO5FBS466ENeVPSryc2yGhIybV2DwSxbf6ZV9w= SIZE (go_modules/4d63.com/gocheckcompilerdirectives/@v/v1.4.0.mod) = 199 SIZE (go_modules/4d63.com/gocheckcompilerdirectives/@v/v1.4.0.zip) = 7266 SIZE (go_modules/4d63.com/gochecknoglobals/@v/v0.2.2.mod) = 167 @@ -5183,8 +5183,8 @@ SIZE (go_modules/github.com/tailscale/we SIZE (go_modules/github.com/tailscale/wf/@v/v0.0.0-20240214030419-6fbb0a674ee6.mod) = 601 SIZE (go_modules/github.com/tailscale/wf/@v/v0.0.0-20240214030419-6fbb0a674ee6.zip) = 58370 SIZE (go_modules/github.com/tailscale/wireguard-go/@v/v0.0.0-20260715223240-2e01ba5b00f0.mod) = 500 -SIZE (go_modules/github.com/tailscale/wireguard-go/@v/v0.0.0-20260928213032-417aef361226.mod) = 488 -SIZE (go_modules/github.com/tailscale/wireguard-go/@v/v0.0.0-20260928213032-417aef361226.zip) = 369086 +SIZE (go_modules/github.com/tailscale/wireguard-go/@v/v0.0.0-20261106233718-9e0ab45c16ca.mod) = 488 +SIZE (go_modules/github.com/tailscale/wireguard-go/@v/v0.0.0-20261106233718-9e0ab45c16ca.zip) = 369294 SIZE (go_modules/github.com/tailscale/xnet/@v/v0.0.0-20240729143630-8497ac4dab2e.mod) = 164 SIZE (go_modules/github.com/tailscale/xnet/@v/v0.0.0-20240729143630-8497ac4dab2e.zip) = 1926127 SIZE (go_modules/github.com/tc-hib/winres/@v/v0.2.1.mod) = 141 @@ -6151,4 +6151,4 @@ SIZE (go_modules/tailscale.com/@v/v1.102 SIZE (go_modules/tailscale.com/@v/v1.103.0-pre.0.20260924185624-d229a06f9a4b.mod) = 28220 SIZE (go_modules/tailscale.com/client/tailscale/v2/@v/v2.10.1.mod) = 342 SIZE (go_modules/tailscale.com/client/tailscale/v2/@v/v2.10.1.zip) = 59358 -SIZE (tailscale.com-v1.104.5.zip) = 7555044 +SIZE (tailscale.com-v1.104.6.zip) = 7558630 Index: modules.inc =================================================================== RCS file: /cvs/ports/net/tailscale/modules.inc,v diff -u -p -r1.44 modules.inc --- modules.inc 3 Nov 2026 00:50:51 -0000 1.44 +++ modules.inc 12 Nov 2026 14:51:14 -0000 @@ -823,7 +823,7 @@ MODGO_MODULES = \ github.com/tailscale/ts-gokrazy v0.0.0-20260630224145-b83088f2e52e \ github.com/tailscale/web-client-prebuilt v0.0.0-20260917222731-e0ed2d0d0fea \ github.com/tailscale/wf v0.0.0-20240214030419-6fbb0a674ee6 \ - github.com/tailscale/wireguard-go v0.0.0-20260928213032-417aef361226 \ + github.com/tailscale/wireguard-go v0.0.0-20261106233718-9e0ab45c16ca \ github.com/tailscale/xnet v0.0.0-20240729143630-8497ac4dab2e \ github.com/tc-hib/winres v0.3.1 \ github.com/tcnksm/go-httpstat v0.2.0 \
Thursday, November 12, 2026
Re: [new] devel/cpptrace
On 2026/11/04 14:53, Johannes Thyssen Tishman wrote: > Please find attached a port for devel/cpptrace. This port is needed for > the next release of FreeCAD. > > Comment: > simple and portable C++ stacktrace library > > Description: > Cpptrace is a simple and portable C++ stacktrace library supporting > C++11 and greater. Its goal is to make stack traces simple. In > addition, cpptrace also provides a mechanism for getting stacktraces > from thrown exceptions. > > Maintainer: Johannes Thyssen Tishman <jtt@openbsd.org> > > WWW: https://github.com/jeremy-rifkin/cpptrace > > Feedback? OKs? Thank you. Looks like it wants a pkg-config file for libdwarf? -- Found PkgConfig: /usr/bin/pkg-config (found version "3.0.10") -- Checking for module 'libdwarf' -- Package 'libdwarf' not found CMake Error at /usr/local/share/cmake/Modules/FindPkgConfig.cmake:1093 (message): The following required packages were not found: - libdwarf
Re: [update] graphics/vtk 9.7.1 -> 9.7.2
ok On 2026/11/06 22:28, Johannes Thyssen Tishman wrote: > Please find below an update for graphics/vtk to version 9.7.2. > > Notes about this update: > 1. SHARED_LIBS bump to err on the side of caution. > 2. Build tested VTK's only consumer, cad/freecad, without issues. > > Index: graphics/vtk/Makefile > =================================================================== > RCS file: /cvs/ports/graphics/vtk/Makefile,v > diff -u -p -r1.19 Makefile > --- graphics/vtk/Makefile 23 Oct 2026 10:40:27 -0000 1.19 > +++ graphics/vtk/Makefile 6 Nov 2026 22:25:41 -0000 > @@ -4,10 +4,9 @@ DPB_PROPERTIES = parallel > > COMMENT = visualization toolkit > > -V = 9.7.1 > +V = 9.7.2 > DISTNAME = VTK-${V} > PKGNAME = ${DISTNAME:L} > -REVISION = 0 > > .for LIB in vtkChartsCore vtkCommonCache vtkCommonColor \ > vtkCommonComputationalGeometry vtkCommonCore vtkCommonDataModel \ > @@ -45,7 +44,7 @@ REVISION = 0 > vtkRenderingVolumeOpenGL2 vtkRenderingVtkJS vtkTestingCore \ > vtkTestingRendering vtkViewsContext2D vtkViewsCore vtkViewsInfovis \ > vtkexodusII vtkglad vtkioss vtkkissfft vtkmetaio vtksys vtktoken vtkx11 > -SHARED_LIBS += ${LIB} 7.0 # 0.0 > +SHARED_LIBS += ${LIB} 8.0 # 0.0 > .endfor > > CATEGORIES = graphics > Index: graphics/vtk/distinfo > =================================================================== > RCS file: /cvs/ports/graphics/vtk/distinfo,v > diff -u -p -r1.8 distinfo > --- graphics/vtk/distinfo 22 Oct 2026 13:23:21 -0000 1.8 > +++ graphics/vtk/distinfo 6 Nov 2026 22:25:41 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (VTK-9.7.1.tar.gz) = yuBP01UATLkWpAnbedU6II8SIel1rqzHVA7mexSO6Ro= > -SIZE (VTK-9.7.1.tar.gz) = 58586277 > +SHA256 (VTK-9.7.2.tar.gz) = /s71XfXK7GKYzhkAJAYKkM47tRUDPA8YlouatcEr95Y= > +SIZE (VTK-9.7.2.tar.gz) = 58603351 >
Re: PING: fix setgid on various nethack clones Re: [maintainer update] adjust nethack 5.0 to the new setgid rules
done. On 2026/11/10 11:22, Marc Espie wrote: > Can someone please look/commit all this ? > > > On Tue, Oct 27, 2026 at 10:42:03AM +0100, Marc Espie wrote: > > And here is the corresponding diff to the other nethack-derived > > ports in-tree. > > > > I've noticed that I had plain forgotten to install some recover > > binaries as setgid. > > > > One potential issue might be that some of these old ports are > > setgid games. > > > > Changing them to their own group might set migration issues. > > > > I'll have to test, but at least this takes care of the setgid markers. > > > > > > Index: nethack/3.4/Makefile > > =================================================================== > > RCS file: /build/data/openbsd/cvs/ports/games/nethack/3.4/Makefile,v > > diff -u -p -r1.10 Makefile > > --- nethack/3.4/Makefile 28 Jan 2025 10:17:37 -0000 1.10 > > +++ nethack/3.4/Makefile 27 Oct 2026 09:17:12 -0000 > > @@ -2,7 +2,7 @@ COMMENT = dungeon explorin', hackin', ga > > V = 3.4.3 > > DISTNAME = nethack-$V > > PKGNAME = ${DISTNAME} > > -REVISION = 18 > > +REVISION = 19 > > CATEGORIES = games > > > > SITES = ${SITE_SOURCEFORGE:=nethack/} > > Index: nethack/3.4/patches/patch-src_files_c > > =================================================================== > > RCS file: /build/data/openbsd/cvs/ports/games/nethack/3.4/patches/patch-src_files_c,v > > diff -u -p -r1.2 patch-src_files_c > > --- nethack/3.4/patches/patch-src_files_c 11 Mar 2022 19:04:42 -0000 1.2 > > +++ nethack/3.4/patches/patch-src_files_c 27 Oct 2026 09:17:02 -0000 > > @@ -1,6 +1,20 @@ > > ---- src/files.c.orig Sat Feb 11 09:31:55 2006 > > -+++ src/files.c Sat Feb 11 09:32:01 2006 > > -@@ -1153,7 +1153,9 @@ boolean uncomp; > > +Index: src/files.c > > +--- src/files.c.orig > > ++++ src/files.c > > +@@ -164,6 +164,12 @@ STATIC_DCL boolean FDECL(copy_bytes, (int, int)); > > + STATIC_DCL int FDECL(open_levelfile_exclusively, (const char *, int, int)); > > +
Re: graphics/tiff - JBIG support?
On 2026/11/10 08:50, Larry Moore wrote: > ping! > > On 4/10/2026 6:44 pm, Larry Moore wrote: > > I've been searching to find if there is a reason why JBIG support was > > not included in the OpenBSD port of libtiff. > > > > All I've found is this message suggesting it could be enabled if there > > was a demand for it. > > > > https://marc.info/?l=openbsd-ports&m=127761152201730&w=2 > > > > Other than lack of requests, is there any other reason JBIG hasn't been > > included in this port? > > > > The HylaFAX+ port would benefit by having it included. > > > The main concern would be adding to attack surface; graphics/tiff is very widely used (74 direct dependencies, 2500+ indirect). While there has been some recent activity (including a 2.2 release which "fixes a number of robustness problems"), JBIG-KIT does not seem to have been particularly actively developed in most of the years since the previous release in 2014.
Re: [update] www/librewolf 160.0-1
Le Wed, Nov 11, 2026 at 12:00:41PM +0000, yaydn@protonmail.com a écrit : > Stable-8.0/amd64. Runs fine in sway. > > Leah could you give it a gander please? To make sure I did not miss a > config change. fwiw, we first commit things to -current, then backport to/adapt for stable. i agree the difference between the two diffs will be trivial (eg the nss changes) but that's usually the order of operations :) i'll wait for leah's feedback before commiting either/noth.
aarch64 bulk build report
bulk build on arm64.ports.openbsd.org started on Mon Nov 9 01:08:53 CST 2026 finished at Thu Nov 12 04:02:20 CST 2026 lasted 004d02h01m done with kern.version=OpenBSD 8.0-current (GENERIC.MP) #152: Sun Nov 8 17:29:24 CST 2026 built packages:13016 Nov 9:5461 Nov 10:1542 Nov 11:2791 Nov 12:3221 critical path missing pkgs: http://build-failures.rhaalovely.net/aarch64/2026-11-09/summary.log build failures: 2 http://build-failures.rhaalovely.net/aarch64/2026-11-09/games/lwjgl3.log http://build-failures.rhaalovely.net/aarch64/2026-11-09/www/chromium.log recurrent failures new failures +++ ls-failures Thu Nov 12 04:03:52 2026 +failures/games/lwjgl3.log +failures/www/chromium.log resolved failures --- ../old/aarch64/last//ls-failures Thu Nov 5 22:27:48 2026 -failures/lang/php/8.6.log -failures/www/iridium.log
Wednesday, November 11, 2026
Re: [update] lame-4.1beta1
On Wed, Nov 11, 2026 at 11:24:46AM +0000, Stuart Henderson wrote: > On 2026/11/11 11:09, Stuart Henderson wrote: > > On 2026/11/11 10:45, Antoine Jacoutot wrote: > > > Hi. > > > > > > This diff updates audio/lame to version 4.1beta1. > > > 4.1 is scheduled to come out soonish. > > > > > > I'd appreciate tests on !amd64. > > > > size does not match, they rerolled the distfile > > > > (will test aarch64 soon, i386 after i have sorted out a bunch of fs > > corruption after panics) > > > > I regen'd distinfo, added cmocka BDEP and --enable-unit-tests. Thanks, I'll include that. Weird for distinfo because I just re-fetched and it's fine... > amd64: total 53, pass 52, fail: test_short_mp3 > aarch64: total 51, pass 50, fail: test_short_mp3 > > the failing test wants head -c, but with either ghead symlinked into > WRKDIR/bin/head, or with jca's diff for base, it still fails. not sure > if that's important. > > FAIL: test_short_mp3 > ==================== > > FAIL control: the whole file: exit 0, WAV data size 3488, not 4000 > PASS --decode of the short file writes a WAV of no samples and fails > PASS --mp3input of the short file writes an MP3 of no samples and fails > FAIL test_short_mp3.sh (exit status: 1) > -- Antoine
[update] www/librewolf 160.0-1
Stable-8.0/amd64. Runs fine in sway. Leah could you give it a gander please? To make sure I did not miss a config change. Comments, concerns, testing, and/or okays welcome. Thanks to Landry and Leah for maintaining the mozilla based browsers and the ports team for the ease of making coherent patches. -- yaydn Hope this helps; happy hacking everyone! $ cd /usr/ports/distfiles/mozilla/ && sq verify --signature-file=librewolf-160.0-1.source.tar.gz.sig librewolf-160.0-1.source.tar.gz ;sha512 -c librewolf-160.0-1.source.tar.gz.sha512sum ;cat librewolf-160.0-1.source.tar.gz.sha512sum Authenticating 662E3CDD6FE329002D0CA5BB40339DD82B12EF16 (LibreWolf Maintainers <gpg@librewolf.net>) using the web of trust: Fully authenticated (120 of 120) 662E3CDD6FE329002D0CA5BB40339DD82B12EF16, LibreWolf Maintainers <gpg@librewolf.net> ◯─┬ A629B716FBCB64C87477BC775525083E97A93CAA │ └ (Local Trust Root) │ │ certified the following binding on 2026‑05‑13 │ └─┬ 662E3CDD6FE329002D0CA5BB40339DD82B12EF16 └ LibreWolf Maintainers <gpg@librewolf.net> Authenticated signature made by 662E3CDD6FE329002D0CA5BB40339DD82B12EF16 (LibreWolf Maintainers <gpg@librewolf.net>) 1 authenticated signature. (SHA512) librewolf-160.0-1.source.tar.gz: OK 68ee74571c0cbc7bd52f8eecbb98d19634cf8d80756d65f6dd887130d27dca7cdd64f678e414d2087a5686c4cf36ab1595ef5408d1483eccf7c4369c9d915d66 librewolf-160.0-1.source.tar.gz -- Index: Makefile =================================================================== RCS file: /cvs/ports/www/librewolf/Makefile,v diff -u -p -u -p -r1.20.2.3 Makefile --- Makefile 5 Nov 2026 06:11:53 -0000 1.20.2.3 +++ Makefile 10 Nov 2026 23:20:39 -0000 @@ -13,7 +13,7 @@ ONLY_FOR_ARCHS = amd64 aarch64 riscv64 # If upstream adds revision number -x, it will become plx in OpenBSD, e.g. # librewolf-149.0.2-2 (upstream) becomes librewolf-149.0.2pl2 (patch level 2) -MOZILLA_DIST_VERSION = 159.0.1-1 +MOZILLA_DIST_VERSION = 160.0-1 MOZILLA_VERSION = ${MOZILLA_DIST_VERSION:C/-([0-9]+)$/pl\1/} MOZILLA_PROJECT = librewolf @@ -22,13 +22,13 @@ MAINTAINER = Leah Rowe <leah@libreboot. # LibreWolf doesn't provide PGO data, but we use the data # provided by FireFox releases, re-using the OpenBSD distfile -MOZILLA_PROFDATA_TASKID = SicCS5fzTJiaYOJUEpSAWg +MOZILLA_PROFDATA_TASKID = dRRnDxMKQ3-FPOlXeY_FWA FFVERSION = ${MOZILLA_DIST_VERSION:C/-([0-9]+)$//} FFDIST = firefox-${FFVERSION}.source DISTFILES.profdata = ${FFDIST}-profdata.tar.xz{profdata.tar.xz} HOMEPAGE = https://librewolf.net/ -SO_VERSION = 7.0 +SO_VERSION = 8.0 # Bump minor ver if shlibs deleted in components dir to avoid pkg_add -r issues MOZILLA_LIBS = mozavcodec mozavutil mozgtk mozinference mozwayland xul \ clearkey gkcodecs lgpllibs mozsqlite3 Index: distinfo =================================================================== RCS file: /cvs/ports/www/librewolf/distinfo,v diff -u -p -u -p -r1.15.2.3 distinfo --- distinfo 5 Nov 2026 06:11:53 -0000 1.15.2.3 +++ distinfo 10 Nov 2026 23:20:39 -0000 @@ -1,4 +1,4 @@ -SHA256 (mozilla/firefox-159.0.1.source-profdata.tar.xz) = aRw8g13wFXINA+cTEI23+yzSHTJ8sLF8fc8L/N68FhM= -SHA256 (mozilla/librewolf-159.0.1-1.source.tar.gz) = lVpRBj0VYSJg2ZP7cHlNwoqMbjPQOAGT6RzkRXDuP/M= -SIZE (mozilla/firefox-159.0.1.source-profdata.tar.xz) = 19060064 -SIZE (mozilla/librewolf-159.0.1-1.source.tar.gz) = 1183409460 +SHA256 (mozilla/firefox-160.0.source-profdata.tar.xz) = YWSXD/4l2Ba0D8KedUVhgSHnNxAPFW+QDahxhaHHyZM= +SHA256 (mozilla/librewolf-160.0-1.source.tar.gz) = opAc4hHc5sJQy+BKEyTyOfm7mdh7KIz6jgnaIG5oTjg= +SIZE (mozilla/firefox-160.0.source-profdata.tar.xz) = 19180056 +SIZE (mozilla/librewolf-160.0-1.source.tar.gz) = 1189768011 Index: patches/patch-python_mozbuild_mozbuild_rust_commands_py =================================================================== RCS file: /cvs/ports/www/librewolf/patches/patch-python_mozbuild_mozbuild_rust_commands_py,v diff -u -p -u -p -r1.1.2.1 patch-python_mozbuild_mozbuild_rust_commands_py --- patches/patch-python_mozbuild_mozbuild_rust_commands_py 31 Oct 2026 07:32:23 -0000 1.1.2.1 +++ patches/patch-python_mozbuild_mozbuild_rust_commands_py 10 Nov 2026 23:20:39 -0000 @@ -5,7 +5,7 @@ https://bugzilla.mozilla.org/show_bug.cg Index: python/mozbuild/mozbuild/rust_commands.py --- python/mozbuild/mozbuild/rust_commands.py.orig +++ python/mozbuild/mozbuild/rust_commands.py -@@ -418,7 +418,7 @@ def _rustc_flags(cmd, substs, invocation): +@@ -434,7 +434,7 @@ def _rustc_flags(cmd, substs, invocation): flags += substs.get("MOZ_RUST_LIBRARY_RUSTCFLAGS") if applies_library_lto(cmd.kind, cmd.lto, substs): Index: patches/patch-security_certverifier_NSSCertDBTrustDomain_cpp =================================================================== RCS file: patches/patch-security_certverifier_NSSCertDBTrustDomain_cpp diff -N patches/patch-security_certverifier_NSSCertDBTrustDomain_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-security_certverifier_NSSCertDBTrustDomain_cpp 10 Nov 2026 23:20:40 -0000 @@ -0,0 +1,157 @@ +revert part of https://github.com/mozilla-firefox/firefox/commit/272a98f89f78d1c9949c0370a0f5c6f87778578f to fix build with nss 3.130 + +Index: security/certverifier/NSSCertDBTrustDomain.cpp +--- security/certverifier/NSSCertDBTrustDomain.cpp.orig ++++ security/certverifier/NSSCertDBTrustDomain.cpp +@@ -429,51 +429,6 @@ void HashTrustParams(EndEntityOrCA endEntityOrCA, cons + sha512Hash.emplace(std::move(result)); + } + +-void GetCertTrustFromNSS(EndEntityOrCA endEntityOrCA, +- const CertPolicyId& policy, SECTrustType trustType, +- Input cert, /*out*/ TrustLevel& trustLevel) { +- trustLevel = TrustLevel::InheritsTrust; +- +- // NB: CERT_GetDERCertTrust returns SECFailure if no trust records were +- // found, in which case the assumption is that the certificate inherits its +- // trust. +- SECItem certItem = UnsafeMapInputToSECItem(cert); +- CERTCertTrust trust = {0, 0, 0}; +- if (CERT_GetDERCertTrust(&certItem, &trust) != SECSuccess) { +- return; +- } +- +- uint32_t flags = SEC_GET_TRUST_FLAGS(&trust, trustType); +- +- // For DISTRUST, we use the CERTDB_TRUSTED or CERTDB_TRUSTED_CA bit, +- // because we can have active distrust for either type of cert. Note +- // that CERTDB_TERMINAL_RECORD means "stop trying to inherit trust" so +- // if the relevant trust bit isn't set then that means the cert must +- // be considered distrusted. +- uint32_t relevantTrustBit = endEntityOrCA == EndEntityOrCA::MustBeCA +- ? CERTDB_TRUSTED_CA +- : CERTDB_TRUSTED; +- if (((flags & (relevantTrustBit | CERTDB_TERMINAL_RECORD))) == +- CERTDB_TERMINAL_RECORD) { +- trustLevel = TrustLevel::ActivelyDistrusted; +- return; +- } +- +- // For TRUST, we use the CERTDB_TRUSTED_CA bit. +- if (flags & CERTDB_TRUSTED_CA) { +- if (policy.IsAnyPolicy()) { +- trustLevel = TrustLevel::TrustAnchor; +- return; +- } +- +- nsTArray<uint8_t> certBytes(cert.UnsafeGetData(), cert.GetLength()); +- if (CertIsAuthoritativeForEVPolicy(certBytes, policy)) { +- trustLevel = TrustLevel::TrustAnchor; +- return; +- } +- } +-} +- + Result NSSCertDBTrustDomain::GetCertTrust(EndEntityOrCA endEntityOrCA, + const CertPolicyId& policy, + Input candidateCertDER, +@@ -544,14 +499,95 @@ Result NSSCertDBTrustDomain::GetCertTrust(EndEntityOrC + return Success; + } + +- GetCertTrustFromNSS(endEntityOrCA, policy, mCertDBTrustType, candidateCertDER, +- trustLevel); ++ // Synchronously dispatch a task to the socket thread to construct a ++ // CERTCertificate and get its trust from NSS. This involves querying NSS ++ // structures and databases, so it should be done on the socket thread. ++ Result result = Result::FATAL_ERROR_LIBRARY_FAILURE; ++ RefPtr<Runnable> getTrustTask = ++ NS_NewRunnableFunction("NSSCertDBTrustDomain::GetCertTrust", [&]() { ++ if (AppShutdown::IsInOrBeyond(ShutdownPhase::AppShutdownConfirmed)) { ++ result = Result::FATAL_ERROR_LIBRARY_FAILURE; ++ return; ++ } ++ // This would be cleaner and more efficient if we could get the trust ++ // information without constructing a CERTCertificate here, but NSS ++ // doesn't expose it in any other easy-to-use fashion. The use of ++ // CERT_NewTempCertificate to get a CERTCertificate shouldn't be a ++ // performance problem for certificates already known to NSS because NSS ++ // will just find the existing CERTCertificate in its in-memory cache ++ // and return it. For certificates not already in NSS (namely ++ // third-party roots and intermediates), we want to avoid calling ++ // CERT_NewTempCertificate repeatedly, so we've already checked if the ++ // candidate certificate is a third-party certificate, above. ++ SECItem candidateCertDERSECItem = ++ UnsafeMapInputToSECItem(candidateCertDER); + +- if (sha512Hash.isSome()) { ++ UniqueCERTCertificate candidateCert(CERT_NewTempCertificate( ++ CERT_GetDefaultCertDB(), &candidateCertDERSECItem, nullptr, false, ++ true)); ++ if (!candidateCert) { ++ result = MapPRErrorCodeToResult(PR_GetError()); ++ return; ++ } ++ // NB: CERT_GetCertTrust seems to be abusing SECStatus as a boolean, ++ // where SECSuccess means that there is a trust record and SECFailure ++ // means there is not a trust record. I looked at NSS's internal uses of ++ // CERT_GetCertTrust, and all that code uses the result as a boolean ++ // meaning "We have a trust record." ++ ++ CERTCertTrust trust; ++ if (CERT_GetCertTrust(candidateCert.get(), &trust) == SECSuccess) { ++ uint32_t flags = SEC_GET_TRUST_FLAGS(&trust, mCertDBTrustType); ++ ++ // For DISTRUST, we use the CERTDB_TRUSTED or CERTDB_TRUSTED_CA bit, ++ // because we can have active distrust for either type of cert. Note ++ // that CERTDB_TERMINAL_RECORD means "stop trying to inherit trust" so ++ // if the relevant trust bit isn't set then that means the cert must ++ // be considered distrusted. ++ uint32_t relevantTrustBit = endEntityOrCA == EndEntityOrCA::MustBeCA ++ ? CERTDB_TRUSTED_CA ++ : CERTDB_TRUSTED; ++ if (((flags & (relevantTrustBit | CERTDB_TERMINAL_RECORD))) == ++ CERTDB_TERMINAL_RECORD) { ++ trustLevel = TrustLevel::ActivelyDistrusted; ++ result = Success; ++ return; ++ } ++ ++ // For TRUST, we use the CERTDB_TRUSTED_CA bit. ++ if (flags & CERTDB_TRUSTED_CA) { ++ if (policy.IsAnyPolicy()) { ++ trustLevel = TrustLevel::TrustAnchor; ++ result = Success; ++ return; ++ } ++ ++ nsTArray<uint8_t> certBytes(candidateCert->derCert.data, ++ candidateCert->derCert.len); ++ if (CertIsAuthoritativeForEVPolicy(certBytes, policy)) { ++ trustLevel = TrustLevel::TrustAnchor; ++ result = Success; ++ return; ++ } ++ } ++ } ++ trustLevel = TrustLevel::InheritsTrust; ++ result = Success; ++ }); ++ nsCOMPtr<nsIEventTarget> socketThread( ++ do_GetService(NS_SOCKETTRANSPORTSERVICE_CONTRACTID)); ++ if (!socketThread) { ++ return Result::FATAL_ERROR_LIBRARY_FAILURE; ++ } ++ nsresult rv = SyncRunnable::DispatchToThread(socketThread, getTrustTask); ++ if (NS_FAILED(rv)) { ++ return Result::FATAL_ERROR_LIBRARY_FAILURE; ++ } ++ if (result == Success && sha512Hash.isSome()) { + uint8_t trust = static_cast<uint8_t>(trustLevel); + trust_cache_insert(mTrustCache, sha512Hash.ref().Elements(), trust); + } +- return Success; ++ return result; + } + + Result NSSCertDBTrustDomain::DigestBuf(Input item, DigestAlgorithm digestAlg, Index: patches/patch-security_manager_ssl_nsNSSCertificateDB_cpp =================================================================== RCS file: patches/patch-security_manager_ssl_nsNSSCertificateDB_cpp diff -N patches/patch-security_manager_ssl_nsNSSCertificateDB_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-security_manager_ssl_nsNSSCertificateDB_cpp 10 Nov 2026 23:20:40 -0000 @@ -0,0 +1,158 @@ +revert part of https://github.com/mozilla-firefox/firefox/commit/272a98f89f78d1c9949c0370a0f5c6f87778578f to fix build with nss 3.130 + +Index: security/manager/ssl/nsNSSCertificateDB.cpp +--- security/manager/ssl/nsNSSCertificateDB.cpp.orig ++++ security/manager/ssl/nsNSSCertificateDB.cpp +@@ -217,34 +217,28 @@ nsresult nsNSSCertificateDB::getCertsFromPackage( + // When using the sql-backed softoken, trust settings are authenticated using a + // key in the secret database. Thus, if the user has a password, we need to + // authenticate to the token in order to be able to change trust settings. +-nsresult ChangeCertTrustWithPossibleAuthentication( ++SECStatus ChangeCertTrustWithPossibleAuthentication( + const UniqueCERTCertificate& cert, CERTCertTrust& trust, void* ctx) { + MOZ_ASSERT(cert, "cert must be non-null"); + if (!cert) { +- return NS_ERROR_INVALID_ARG; ++ PR_SetError(SEC_ERROR_LIBRARY_FAILURE, 0); ++ return SECFailure; + } + +- PRBool isTemp = PR_FALSE; +- // This only fails if `cert` is null, which was checked above. +- (void)CERT_GetCertIsTemp(cert.get(), &isTemp); +- // Gecko does not support altering the trust of temporary certificates. +- if (isTemp) { +- return NS_ERROR_INVALID_ARG; +- } +- + RefPtr<SharedCertVerifier> certVerifier(GetDefaultCertVerifier()); + if (!certVerifier) { +- return NS_ERROR_FAILURE; ++ PR_SetError(SEC_ERROR_LIBRARY_FAILURE, 0); ++ return SECFailure; + } + + // NSS ignores the first argument to CERT_ChangeCertTrust + SECStatus srv = CERT_ChangeCertTrust(nullptr, cert.get(), &trust); + if (srv != SECSuccess && PR_GetError() != SEC_ERROR_TOKEN_NOT_LOGGED_IN) { +- return MapSECStatus(srv); ++ return SECFailure; + } + if (srv == SECSuccess) { + certVerifier->ClearTrustCache(); +- return NS_OK; ++ return SECSuccess; + } + + // CERT_ChangeCertTrust failed with SEC_ERROR_TOKEN_NOT_LOGGED_IN, so +@@ -259,15 +253,15 @@ nsresult ChangeCertTrustWithPossibleAuthentication( + srv = PK11_Authenticate(internalSlot.get(), PR_TRUE, ctx); + } + if (srv != SECSuccess) { +- return MapSECStatus(srv); ++ return srv; + } + srv = CERT_ChangeCertTrust(nullptr, cert.get(), &trust); + if (srv != SECSuccess) { +- return MapSECStatus(srv); ++ return srv; + } + + certVerifier->ClearTrustCache(); +- return NS_OK; ++ return SECSuccess; + } + + static nsresult ImportCertsIntoPermanentStorage( +@@ -410,10 +404,10 @@ nsresult nsNSSCertificateDB::handleCACertDownload(NotN + if (srv != SECSuccess) { + return MapSECStatus(srv); + } +- rv = ++ srv = + ChangeCertTrustWithPossibleAuthentication(tmpCert, trust.GetTrust(), ctx); +- if (NS_FAILED(rv)) { +- return rv; ++ if (srv != SECSuccess) { ++ return MapSECStatus(srv); + } + + // Import additional delivered certificates that can be verified. +@@ -704,13 +698,13 @@ nsNSSCertificateDB::DeleteCertificate(nsIX509Cert* aCe + // For certificates that can't be deleted (e.g. built-in roots), un-set + // all trust bits. + nsNSSCertTrust trust(0, 0); +- rv = ChangeCertTrustWithPossibleAuthentication(cert, trust.GetTrust(), +- nullptr); +- if (NS_FAILED(rv)) { +- return rv; ++ SECStatus srv = ChangeCertTrustWithPossibleAuthentication( ++ cert, trust.GetTrust(), nullptr); ++ if (srv != SECSuccess) { ++ return NS_ERROR_FAILURE; + } + if (!PK11_IsReadOnly(cert->slot)) { +- SECStatus srv = SEC_DeletePermCertificate(cert.get()); ++ srv = SEC_DeletePermCertificate(cert.get()); + if (srv != SECSuccess) { + return NS_ERROR_FAILURE; + } +@@ -753,8 +747,9 @@ nsNSSCertificateDB::SetCertTrust(nsIX509Cert* cert, ui + } + + UniqueCERTCertificate nsscert(cert->GetCert()); +- return ChangeCertTrustWithPossibleAuthentication(nsscert, trust.GetTrust(), +- nullptr); ++ SECStatus srv = ChangeCertTrustWithPossibleAuthentication( ++ nsscert, trust.GetTrust(), nullptr); ++ return MapSECStatus(srv); + } + + NS_IMETHODIMP +@@ -768,17 +763,12 @@ nsNSSCertificateDB::IsCertTrusted(nsIX509Cert* cert, u + return rv; + } + +- nsTArray<uint8_t> certDER; +- rv = cert->GetRawDER(certDER); +- if (NS_FAILED(rv)) { +- return rv; +- } +- SECItem certItem = {siBuffer, certDER.Elements(), +- static_cast<unsigned int>(certDER.Length())}; ++ SECStatus srv; ++ UniqueCERTCertificate nsscert(cert->GetCert()); + CERTCertTrust nsstrust; +- SECStatus srv = CERT_GetDERCertTrust(&certItem, &nsstrust); ++ srv = CERT_GetCertTrust(nsscert.get(), &nsstrust); + if (srv != SECSuccess) { +- // CERT_GetDERCertTrust returns SECFailure if given a temporary cert that ++ // CERT_GetCertTrust returns SECFailure if given a temporary cert that + // doesn't have any trust information yet. This isn't an error. + return NS_OK; + } +@@ -1126,10 +1116,10 @@ nsNSSCertificateDB::AddCert(const nsACString& aCertDER + if (srv != SECSuccess) { + return MapSECStatus(srv); + } +- rv = ChangeCertTrustWithPossibleAuthentication(tmpCert, trust.GetTrust(), +- nullptr); +- if (NS_FAILED(rv)) { +- return rv; ++ srv = ChangeCertTrustWithPossibleAuthentication(tmpCert, trust.GetTrust(), ++ nullptr); ++ if (srv != SECSuccess) { ++ return MapSECStatus(srv); + } + newCert.forget(addedCertificate); + return NS_OK; +@@ -1148,7 +1138,8 @@ nsNSSCertificateDB::SetCertTrustFromString(nsIX509Cert + } + UniqueCERTCertificate nssCert(cert->GetCert()); + +- return ChangeCertTrustWithPossibleAuthentication(nssCert, trust, nullptr); ++ srv = ChangeCertTrustWithPossibleAuthentication(nssCert, trust, nullptr); ++ return MapSECStatus(srv); + } + + NS_IMETHODIMP nsNSSCertificateDB::AsPKCS7Blob( Index: patches/patch-security_manager_ssl_nsNSSCertificateDB_h =================================================================== RCS file: patches/patch-security_manager_ssl_nsNSSCertificateDB_h diff -N patches/patch-security_manager_ssl_nsNSSCertificateDB_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-security_manager_ssl_nsNSSCertificateDB_h 10 Nov 2026 23:20:40 -0000 @@ -0,0 +1,14 @@ +revert part of https://github.com/mozilla-firefox/firefox/commit/272a98f89f78d1c9949c0370a0f5c6f87778578f to fix build with nss 3.130 + +Index: security/manager/ssl/nsNSSCertificateDB.h +--- security/manager/ssl/nsNSSCertificateDB.h.orig ++++ security/manager/ssl/nsNSSCertificateDB.h +@@ -64,4 +64,8 @@ class nsNSSCertificateDB final : public nsIX509CertDB + 0x4783, \ + {0xb3, 0x2c, 0x80, 0x12, 0x46, 0x93, 0xd8, 0x71}} + ++SECStatus ChangeCertTrustWithPossibleAuthentication( ++ const mozilla::UniqueCERTCertificate& cert, CERTCertTrust& trust, ++ void* ctx); ++ +
Re: [update] lame-4.1beta1
On 2026/11/11 11:09, Stuart Henderson wrote: > On 2026/11/11 10:45, Antoine Jacoutot wrote: > > Hi. > > > > This diff updates audio/lame to version 4.1beta1. > > 4.1 is scheduled to come out soonish. > > > > I'd appreciate tests on !amd64. > > size does not match, they rerolled the distfile > > (will test aarch64 soon, i386 after i have sorted out a bunch of fs > corruption after panics) > I regen'd distinfo, added cmocka BDEP and --enable-unit-tests. amd64: total 53, pass 52, fail: test_short_mp3 aarch64: total 51, pass 50, fail: test_short_mp3 the failing test wants head -c, but with either ghead symlinked into WRKDIR/bin/head, or with jca's diff for base, it still fails. not sure if that's important. FAIL: test_short_mp3 ==================== FAIL control: the whole file: exit 0, WAV data size 3488, not 4000 PASS --decode of the short file writes a WAV of no samples and fails PASS --mp3input of the short file writes an MP3 of no samples and fails FAIL test_short_mp3.sh (exit status: 1)
Re: [update] lame-4.1beta1
On 2026/11/11 10:45, Antoine Jacoutot wrote: > Hi. > > This diff updates audio/lame to version 4.1beta1. > 4.1 is scheduled to come out soonish. > > I'd appreciate tests on !amd64. size does not match, they rerolled the distfile (will test aarch64 soon, i386 after i have sorted out a bunch of fs corruption after panics)
Re: new: devel/py-rfc3987-syntax
On Wed, Nov 11, 2026 at 10:32:29AM +0000, Stuart Henderson wrote: > Needed to satisfy jupyter-event deps with newer jsonschema, ok to > import? ok tb
new: devel/py-rfc3987-syntax
Needed to satisfy jupyter-event deps with newer jsonschema, ok to import? --- Information for inst:py3-rfc3987-syntax-1.1.0 Comment: validate that strings conform to RFC 3987 ABNF syntax Description: Helper functions to syntactically validate strings according to RFC 3987, the standard for Internationalized Resource Identifiers (IRIs). Maintainer: The OpenBSD ports mailing-list <ports@openbsd.org> WWW: https://github.com/willynilly/rfc3987-syntax
[maintainer update] getmail 6.20.1 -> 6.21.1
This patch updates getmail from 6.20.1 to 6.21.1. Tested on amd64. Index: Makefile =================================================================== RCS file: /cvs/ports/mail/getmail/Makefile,v diff -u -p -r1.120 Makefile --- Makefile 21 Sep 2026 09:27:07 -0000 1.120 +++ Makefile 11 Nov 2026 10:16:16 -0000 @@ -2,8 +2,8 @@ COMMENT= IMAP/POP3/SDPS mail retriever GH_ACCOUNT= getmail6 GH_PROJECT= getmail6 -GH_TAGNAME= v6.20.01 -MODPY_DISTV= 6.20.1 +GH_TAGNAME= v6.21.01 +MODPY_DISTV= 6.21.1 PKGNAME= getmail-${MODPY_DISTV} CATEGORIES= mail Index: distinfo =================================================================== RCS file: /cvs/ports/mail/getmail/distinfo,v diff -u -p -r1.97 distinfo --- distinfo 21 Sep 2026 09:27:07 -0000 1.97 +++ distinfo 11 Nov 2026 10:16:16 -0000 @@ -1,2 +1,2 @@ -SHA256 (getmail6-6.20.01.tar.gz) = 0YkVAFBSyKBlM2zMQbEhSNQNRSSgzi6NyXOwM/mzyxQ= -SIZE (getmail6-6.20.01.tar.gz) = 219497 +SHA256 (getmail6-6.21.01.tar.gz) = FQCVH+NDh5+ovLNRiO+OkzP5rHYFKUMMgP0rWdU7bds= +SIZE (getmail6-6.21.01.tar.gz) = 227202
Re: NEW games/prboomX
On 2026-11-08, Anthony J. Bentley wrote: > Personally, I would prefer that the directory and PKGNAME be lowercased. > This is the case for most ports in tree, even when the binary has > uppercase letters. Ok. Should the binary and/or the doc directory (${PREFIX}/share/doc/prboomX) also be lowercase? Or should these be kept as upstream installs? For the doc directory, i think it must be named just like PKGNAME, for the user to identify the docs. But for the binaries, i am not sure if we should break upstream's naming. > CFLAGS += -I${X11BASE}/include is not ideal, because if someone builds > with 'make CFLAGS=...' the option gets lost. Upstream should fix this > properly by doing the right cmake magic for it to pick up the include > headers from pkg-config. But in the meantime, you can add this to > CONFIGURE_ARGS: -DCMAKE_C_FLAGS="${CFLAGS} -I${X11BASE}/include" > > As with all ports that use GL, 3D graphics, etc., I strongly recommend > enabling debug packages. If a crash occurs inside a graphics driver, > it will be difficult for a developer to reproduce the crash without the > exact same graphics hardware, so we want to make it as easy as possible > for the user to provide a full backtrace. So, please set DEBUG_PACKAGES = > ${BUILD_PACKAGES}. I have fixed these locally, and will send a final port when my question above get answered.
[update] lame-4.1beta1
Hi. This diff updates audio/lame to version 4.1beta1. 4.1 is scheduled to come out soonish. I'd appreciate tests on !amd64. Thanks. Index: Makefile =================================================================== RCS file: /cvs/ports/audio/lame/Makefile,v diff -u -p -r1.70 Makefile --- Makefile 10 Jul 2026 15:58:37 -0000 1.70 +++ Makefile 11 Nov 2026 09:41:18 -0000 @@ -1,9 +1,9 @@ COMMENT= lame ain't an MP3 encoder #' -DISTNAME= lame-3.101 +DISTNAME= lame-4.1beta1 -SHARED_LIBS += mp3lame 2.2 # 0.0 +SHARED_LIBS += mp3lame 2.3 # 0.0 CATEGORIES= audio @@ -27,16 +27,5 @@ CONFIGURE_ARGS= --disable-cpml \ --enable-mp3rtp \ --without-dmalloc \ --with-fileio=lame - -.if ${MACHINE_ARCH} == "i386" -BUILD_DEPENDS+= devel/nasm -CONFIGURE_ARGS+= --enable-nasm -# gmake required for i386/ directory -USE_GMAKE= Yes -.else -CONFIGURE_ARGS+= --disable-nasm -.endif - -MAKE_FLAGS= pkghtmldir=${TRUEPREFIX}/share/doc/lame .include <bsd.port.mk> Index: distinfo =================================================================== RCS file: /cvs/ports/audio/lame/distinfo,v diff -u -p -r1.22 distinfo --- distinfo 10 Jul 2026 15:58:37 -0000 1.22 +++ distinfo 11 Nov 2026 09:41:18 -0000 @@ -1,2 +1,2 @@ -SHA256 (lame-3.101.tar.gz) = dXivbuvVeLK9ZORo+sSuHwNnCn4CgWbmf4VWdLm2rqw= -SIZE (lame-3.101.tar.gz) = 1466586 +SHA256 (lame-4.1beta1.tar.gz) = 5Pph93UrG1y3HrTBcNqw5xMnnsVC+ESncbVFqlN7RfQ= +SIZE (lame-4.1beta1.tar.gz) = 2294115 Index: patches/patch-configure =================================================================== RCS file: patches/patch-configure diff -N patches/patch-configure --- patches/patch-configure 13 Feb 2026 08:03:05 -0000 1.8 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,17 +0,0 @@ -Disable adding -march=native on clang architectures. This allows use -of instructions that are present on the build machine but not on other -CPU types within the given architecture, so is not suitable for package -builds. - -Index: configure ---- configure.orig -+++ configure -@@ -19245,7 +19245,7 @@ printf "%s\n" "$as_me: WARNING: LAME doesn't know abou - esac - - -- if test "x${HAVE_CLANG}" = "xyes"; then -+ if false && test "x${HAVE_CLANG}" = "xyes"; then - case "${CLANG_VERSION}" in - 3.[89]*|[45].*|1[0-9].*) - OPTIMIZATION="-Ofast" Index: patches/patch-include_libmp3lame_sym =================================================================== RCS file: /cvs/ports/audio/lame/patches/patch-include_libmp3lame_sym,v diff -u -p -r1.1 patch-include_libmp3lame_sym --- patches/patch-include_libmp3lame_sym 13 Feb 2026 08:03:05 -0000 1.1 +++ patches/patch-include_libmp3lame_sym 11 Nov 2026 09:41:18 -0000 @@ -3,7 +3,7 @@ https://sourceforge.net/p/lame/bugs/515/ Index: include/libmp3lame.sym --- include/libmp3lame.sym.orig +++ include/libmp3lame.sym -@@ -193,6 +193,7 @@ hip_decode_headers +@@ -200,6 +200,7 @@ hip_decode_headers hip_decode1 hip_decode1_headers hip_decode1_headersB Index: patches/patch-libmp3lame_i386_cpu_feat_nas =================================================================== RCS file: patches/patch-libmp3lame_i386_cpu_feat_nas diff -N patches/patch-libmp3lame_i386_cpu_feat_nas --- patches/patch-libmp3lame_i386_cpu_feat_nas 11 Mar 2022 18:20:12 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,11 +0,0 @@ ---- libmp3lame/i386/cpu_feat.nas.orig Fri Aug 13 19:05:11 2004 -+++ libmp3lame/i386/cpu_feat.nas Fri Aug 13 19:05:35 2004 -@@ -91,7 +91,7 @@ has_3DNow_nasm: - mov eax,0x80000001 - CPUID - test edx,0x80000000 -- jz return0 ; no 3DNow! support -+ jmp return0 ; no 3DNow! support - ; 3DNow! support - return1: - popad Index: patches/patch-libmp3lame_id3tag_c =================================================================== RCS file: patches/patch-libmp3lame_id3tag_c diff -N patches/patch-libmp3lame_id3tag_c --- patches/patch-libmp3lame_id3tag_c 16 May 2026 08:01:38 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,47 +0,0 @@ -Fix build with llvm 22 - -Index: libmp3lame/id3tag.c ---- libmp3lame/id3tag.c.orig -+++ libmp3lame/id3tag.c -@@ -658,7 +658,7 @@ id3tag_set_genre_utf8(lame_t gfp, unsigned short const - return 0; - } - } -- ret = id3v2_add_utf8_lng(gfp, ID_GENRE, 0, text); -+ ret = id3v2_add_utf8_lng(gfp, ID_GENRE, 0, (const char *)text); - if (ret == 0) { - gfc->tag_spec.flags |= CHANGED_FLAG; - gfc->tag_spec.genre_id3v1 = GENRE_INDEX_OTHER; -@@ -1138,19 +1138,19 @@ id3tag_set_textinfo_utf8(lame_t gfp, char const *id, u - return 0; - } - if (frame_id == ID_TXXX || frame_id == ID_WXXX || frame_id == ID_COMMENT) { -- return id3tag_set_userinfo_utf8(gfp, frame_id, text); -+ return id3tag_set_userinfo_utf8(gfp, frame_id, (const char *)text); - } - if (frame_id == ID_GENRE) { - return id3tag_set_genre_utf8(gfp, text); - } - if (frame_id == ID_PCST) { -- return id3v2_add_utf8_lng(gfp, frame_id, 0, text); -+ return id3v2_add_utf8_lng(gfp, frame_id, 0, (const char *)text); - } - if (frame_id == ID_USER) { -- return id3v2_add_utf8_lng(gfp, frame_id, text, 0); -+ return id3v2_add_utf8_lng(gfp, frame_id, (const char *)text, 0); - } - if (frame_id == ID_WFED) { -- return id3v2_add_utf8_lng(gfp, frame_id, text, 0); /* iTunes expects WFED to be a text frame */ -+ return id3v2_add_utf8_lng(gfp, frame_id, (const char *)text, 0); /* iTunes expects WFED to be a text frame */ - } - if (isFrameIdMatching(frame_id, FRAME_ID('T', 0, 0, 0)) - ||isFrameIdMatching(frame_id, FRAME_ID('W', 0, 0, 0))) { -@@ -1159,7 +1159,7 @@ id3tag_set_textinfo_utf8(lame_t gfp, char const *id, u - return -2; /* must be Latin-1 encoded */ - } -
Tuesday, November 10, 2026
[New] lang/solidity 0.8.38
This is port of the most recent version of solc, a compiler for the solidity language that is the standard language for the Ethereum Virtual Machine, see https://soliditylang.org/ It has regression tests: unit + syntax + SMT. It doesn't include semantic tests that required evmone (not ported). -- Dios, gracias por tu amor infinito. -- Vladimir Támara Patiño. http://vtamara.pasosdeJesus.org/ http://www.pasosdejesus.org/dominio_publico_colombia.html
Re: MAINTAINER UPDATE: games/dsda-doom 0.29.4 -> 0.30.1
Ping. On 2026-10-26, Lucas de Sena wrote: > Ping. > > On 2026-10-08, Lucas de Sena wrote: > > Btw, should it install patch notes along the docs? > > There is one extra file for it on each release. And if the users want > > to see what is new, they could just check the release info on the github > > project and the announcing thread on the DoomWorld forums. > > > > Anyway, if it's decided to remove patch notes, i'll do that for the next > > patch, not now. > Thoughts on this? diff /usr/ports/mystuff/games/dsda-doom path + /usr/ports/mystuff/games/dsda-doom commit - 8ded1a37c994a7a1aae562386ce4effb505e58f2 blob - d9adb6a131d90d98e659c12e0f2eeabd261e780f file + Makefile --- Makefile +++ Makefile @@ -1,6 +1,6 @@ COMMENT = fork of prboom+ with a focus on speedrunning -DIST_TUPLE = github kraflab dsda-doom v0.29.4 . +DIST_TUPLE = github dsda-org dsda-doom v0.30.1 . CATEGORIES = games x11 MAINTAINER = Lucas de Sena <lucas@seninha.org> commit - 8ded1a37c994a7a1aae562386ce4effb505e58f2 blob - 1c903c91d7bd78795fe7d1892a9de757f7c5b08f file + distinfo --- distinfo +++ distinfo @@ -1,2 +1,2 @@ -SHA256 (kraflab-dsda-doom-v0.29.4.tar.gz) = +GbbeTgYYggHGGaPWCsPNYgRoBbbF2gOUHq7klCvvqU= -SIZE (kraflab-dsda-doom-v0.29.4.tar.gz) = 11128279 +SHA256 (dsda-org-dsda-doom-v0.30.1.tar.gz) = yLFNXm9aumZ0XLaCKX/jqpfz7xWNf4dnmN0hOoLh3kA= +SIZE (dsda-org-dsda-doom-v0.30.1.tar.gz) = 11188651 commit - 8ded1a37c994a7a1aae562386ce4effb505e58f2 blob - 89a3129657932c50b1b94a200be7f23a1d74cd74 file + pkg/PLIST --- pkg/PLIST +++ pkg/PLIST @@ -15,7 +15,7 @@ share/doc/dsda-doom/docs/guides/building_on_macos.md share/doc/dsda-doom/docs/guides/building_on_windows.md share/doc/dsda-doom/docs/guides/console.md share/doc/dsda-doom/docs/hud.md -share/doc/dsda-doom/docs/mapinfo.md +share/doc/dsda-doom/docs/optional_sounds.md share/doc/dsda-doom/docs/sndinfo.md share/doc/dsda-doom/docs/text_color.md share/doc/dsda-doom/docs/things_and_specials.md @@ -39,6 +39,7 @@ share/doc/dsda-doom/patch_notes/v0.26.md share/doc/dsda-doom/patch_notes/v0.27.md share/doc/dsda-doom/patch_notes/v0.28.md share/doc/dsda-doom/patch_notes/v0.29.md +share/doc/dsda-doom/patch_notes/v0.30.md share/doom/ share/doom/dsda-doom.wad share/icons/hicolor/scalable/apps/dsda-doom.svg
[update] wayland/xwayland
Current/amd64 and stable-8.0/amd64. More security vulnerabilities. https://lists.x.org/archives/xorg-announce/2026-November/003759.html Tested on sway for both current and stable. Runs fine. Comments, concerns, testing, and/or okays welcome. -- yaydn Thanks in general for the wscons changes; I was surprised at being able to change TTY's from greetd/regreet and sway now. Much appreciated. Index: Makefile =================================================================== RCS file: /cvs/ports/wayland/xwayland/Makefile,v diff -u -p -u -p -r1.24 Makefile --- Makefile 8 Oct 2026 14:52:30 -0000 1.24 +++ Makefile 10 Nov 2026 16:12:31 -0000 @@ -1,6 +1,6 @@ COMMENT = X server running as wayland application -DISTNAME = xwayland-24.1.14 +DISTNAME = xwayland-24.1.15 CATEGORIES = wayland Index: distinfo =================================================================== RCS file: /cvs/ports/wayland/xwayland/distinfo,v diff -u -p -u -p -r1.18 distinfo --- distinfo 8 Oct 2026 14:52:30 -0000 1.18 +++ distinfo 10 Nov 2026 16:12:31 -0000 @@ -1,2 +1,2 @@ -SHA256 (xwayland-24.1.14.tar.xz) = Tra5jWeCmaS5YTjYhjRbKUEwaVdgNF74RZYiWoIkB4o= -SIZE (xwayland-24.1.14.tar.xz) = 1307896 +SHA256 (xwayland-24.1.15.tar.xz) = cxG0vNoiz8GcuZaA6xw1z8HqiFmBMQY58EKf4pSMEi4= +SIZE (xwayland-24.1.15.tar.xz) = 1307812
Re: UPDATE net/geomyidae to 0.99
Ping. On 2026-10-26, Lucas de Sena wrote: > Ping. > > Summary of changes from previous port: > - use $V for version, rather than variable substitution > - Install examples for CGI and haproxy in /usr/local/share/examples/geomyidae. > - Remove /usr/local/share/doc/geomyidae/README > (it's only a 3-line-long file pointing to the manual geomyidae(8)) > - Install the daemon into /usr/local/sbin rather than /usr/local/bin > > Resending patch; apply it on /usr/ports/net/geomyidae diff /usr/ports/mystuff/net/geomyidae path + /usr/ports/mystuff/net/geomyidae commit - 8ded1a37c994a7a1aae562386ce4effb505e58f2 blob - 31e8b0c2274465a6bfe41d9c14da3fdc16bfe49c file + Makefile --- Makefile +++ Makefile @@ -1,9 +1,8 @@ COMMENT = Gopher protocol daemon -DISTNAME = geomyidae-v0.51 -PKGNAME = ${DISTNAME:S/-v/-/} -REVISION = 0 - +V = 0.99 +DISTNAME = geomyidae-v$V +PKGNAME = geomyidae-$V CATEGORIES = net HOMEPAGE = http://git.r-36.net/scm/geomyidae @@ -18,19 +17,23 @@ WANTLIB = c tls SITES = ftp://bitreich.org/releases/geomyidae/ -MAKE_FLAGS = CC="${CC}" CFLAGS="${CFLAGS} -Wall" \ +MAKE_FLAGS = BINDIR="${PREFIX}/sbin" \ MANDIR="${PREFIX}/man/man8" -MAKE_ENV = LDFLAGS="${LDFLAGS}" NO_TEST = Yes post-install: ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/geomyidae ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/geomyidae - cd ${WRKSRC} && ${INSTALL_DATA} CGI.md README \ - ${PREFIX}/share/doc/geomyidae - cd ${WRKSRC} && ${INSTALL_DATA} index.gph \ - ${PREFIX}/share/examples/geomyidae + ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/geomyidae/cgi-examples + ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/geomyidae/haproxy touch ${PREFIX}/share/examples/geomyidae/log + ${INSTALL_DATA} ${WRKSRC}/CGI.md ${PREFIX}/share/doc/geomyidae + ${INSTALL_DATA} ${WRKSRC}/index.gph \ + ${PREFIX}/share/examples/geomyidae + ${INSTALL_DATA} ${WRKSRC}/cgi-examples/* \ + ${PREFIX}/share/examples/geomyidae/cgi-examples + ${INSTALL_DATA} ${WRKSRC}/haproxy/* \ + ${PREFIX}/share/examples/geomyidae/haproxy .include <bsd.port.mk> commit - 8ded1a37c994a7a1aae562386ce4effb505e58f2 blob - 8257add4f14e9a369c4698b0dad08dccc2482eeb file + distinfo --- distinfo +++ distinfo @@ -1,2 +1,2 @@ -SHA256 (geomyidae-v0.51.tar.gz) = z65VWzcw4FYRTyAi7Gi83dnQWTpIZbNMcdrKlJqdiow= -SIZE (geomyidae-v0.51.tar.gz) = 33384 +SHA256 (geomyidae-v0.99.tar.gz) = QnAUqvyi+b14kIjqnreY6adFl62glRiuX9QiVamR6zw= +SIZE (geomyidae-v0.99.tar.gz) = 40436 commit - 8ded1a37c994a7a1aae562386ce4effb505e58f2 blob - 8d0ecd4b05303b3f190e32afab0cf40a389f9eda file + pkg/PLIST --- pkg/PLIST +++ pkg/PLIST @@ -1,11 +1,19 @@ @newgroup _geomyidae:754 @newuser _geomyidae:754:_geomyidae::Geomyidae Gopher Daemon:/nonexistent:/sbin/nologin @rcscript ${RCDIR}/geomyidae -@bin bin/geomyidae @man man/man8/geomyidae.8 +@bin sbin/geomyidae share/doc/geomyidae/ share/doc/geomyidae/CGI.md -share/doc/geomyidae/README +share/examples/geomyidae/ +share/examples/geomyidae/cgi-examples/ +share/examples/geomyidae/cgi-examples/dirlisting.dcgi +share/examples/geomyidae/cgi-examples/proxy.cgi +share/examples/geomyidae/cgi-examples/rest.dcgi +share/examples/geomyidae/cgi-examples/umnlisting.dcgi +share/examples/geomyidae/cgi-examples/vhosting.cgi +share/examples/geomyidae/haproxy/ +share/examples/geomyidae/haproxy/gopher-haproxy.cfg @mode 755 @owner root @group daemon @@ -13,7 +21,6 @@ share/doc/geomyidae/README @mode @owner @group -share/examples/geomyidae/ share/examples/geomyidae/index.gph @sample /var/gopher/index.gph share/examples/geomyidae/log commit - 8ded1a37c994a7a1aae562386ce4effb505e58f2 blob - 190f00e07714e33421c2900395db6cca695a999f file + pkg/geomyidae.rc --- pkg/geomyidae.rc +++ pkg/geomyidae.rc @@ -1,10 +1,10 @@ #!/bin/ksh -daemon="${TRUEPREFIX}/bin/geomyidae" +daemon="${TRUEPREFIX}/sbin/geomyidae" daemon_flags="-l /var/log/geomyidae.log -u _geomyidae -g _geomyidae" . /etc/rc.d/rc.subr -pexp="${daemon} .*" +rc_reload=NO rc_cmd $1
Re: gcc build failure on hppa
On Tue, 10 Nov 2026 10:43:26 +0100, Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> wrote: > > Hi, > > without the MAKE_FLAGS += STAGE1_CFLAGS=-O2 in bootgcc Makefile, bootgcc > and eventually gcc-16 finishs build and installs on HPPA. > > But then trying to build Ruby, I quickly end up here: > Thanks for testing. I had commited hppa fixes. I probably can dig into ruby build somewhen in near future, not sure when. > ===> Building for ruby-4.0.9 > BASERUBY = ./tool/missing-baseruby.bat > CC = cc > LD = ld > LDSHARED = cc -shared > CFLAGS = -O2 -pipe -fPIC > XCFLAGS = -fno-strict-overflow -fvisibility=hidden > -fexcess-precision=standard -DRUBY_EXPORT -I. -I.ext/include/hppa-openbsd > -I.ext/include -I./include -I. -I./prism -I./enc/unicode/17.0.0 > -Dmodular_gc_dir= > CPPFLAGS = -DOPENSSL_NO_STATIC_ENGINE -I/usr/local/include > DLDFLAGS = -L/usr/local/lib -fstack-protector-strong > SOLIBS = -lz -lgmp -lm -pthread > LANG = > LC_ALL = > LC_CTYPE = > MFLAGS = V=1 mkdir_p=mkdir\ -p\ -- > SHARED_LIBS_LOG=/home/ports/pobj/hppa/ruby-4.0.9-no_ri_docs-bootstrap/ruby-4.0.9/shared_libs.log > LIBTOOL=/usr/bin/libtool libruby40_ltversion=0.0 > LIBruby40_LTVERSION=-version-info\ 0:0:0 > RUSTC = no > YJIT_RUSTC_ARGS = --crate-name=yjit --crate-type=staticlib --cfg > feature="stats_allocator" --edition=2021 -g -C lto=thin -C opt-level=3 > -C overflow-checks=on > '--out-dir=/home/ports/pobj/hppa/ruby-4.0.9-no_ri_docs-bootstrap/ruby-4.0.9/target/release/' > './yjit/src/lib.rs' > ZJIT_RUSTC_ARGS = --crate-name=zjit --crate-type=staticlib --cfg > feature="stats_allocator" --edition=2024 -g -C lto=thin -C opt-level=3 > -C overflow-checks=on > '--out-dir=/home/ports/pobj/hppa/ruby-4.0.9-no_ri_docs-bootstrap/ruby-4.0.9/target/release/' > './zjit/src/lib.rs' > egcc (GCC) 16.2.0 > Copyright (C) 2026 Free Software Foundation, Inc. > This is free software; see the source for copying conditions. There is NO > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. > > cc -O2 -pipe -fPIC -fno-strict-overflow -fvisibility=hidden > -fexcess-precision=standard -DRUBY_EXPORT -I. -I.ext/include/hppa-openbsd > -I.ext/include -I./include -I. -I./prism -I./enc/unicode/17.0.0 > -Dmodular_gc_dir="" -DOPENSSL_NO_STATIC_ENGINE -I/usr/local/include -o > complex.o -c complex.c > during RTL pass: expand > complex.c: In function 'f_complex_polar_real': > complex.c:645:1: internal compiler error: in expand_expr_addr_expr_1, at > expr.cc:9343 > 645 | f_complex_polar_real(VALUE klass, VALUE x, VALUE y) > | ^~~~~~~~~~~~~~~~~~~~ > libbacktrace could not find executable to open > /usr/local/libexec/gcc/hppa-unknown-openbsd/16.2.0/cc1 -quiet -I . -I > .ext/include/hppa-openbsd -I .ext/include -I ./include -I . -I ./prism -I > ./enc/unicode/17.0.0 -I /usr/local/include -D RUBY_EXPORT -D > modular_gc_dir= -D OPENSSL_NO_STATIC_ENGINE complex.c -quiet -dumpbase > complex.c -dumpbase-ext .c -O2 -fPIC -fno-strict-overflow > -fvisibility=hidden -fexcess-precision=standard -o - > Please submit a full bug report, with preprocessed source (by using > -freport-bug). > See <https://gcc.gnu.org/bugs/> for instructions. > > Sebastian > > > On Sat, Nov 7, 2026 at 6:24 PM Kirill A. Korinsky <kirill@korins.ky> wrote: > > > Thanks for the report. > > > > Here a diff which allows to build both: lang/bootgcc and lang/gcc/16; > > you need some patches for both gcc, yeah. > > > > Index: lang/bootgcc/patches/patch-gcc_config_pa_pa-openbsd_h > > =================================================================== > > RCS file: > > /cvs/ports/lang/bootgcc/patches/patch-gcc_config_pa_pa-openbsd_h,v > > diff -u -p -r1.3 patch-gcc_config_pa_pa-openbsd_h > > --- lang/bootgcc/patches/patch-gcc_config_pa_pa-openbsd_h 25 Oct > > 2026 12:56:34 -0000 1.3 > > +++ lang/bootgcc/patches/patch-gcc_config_pa_pa-openbsd_h 7 Nov 2026 > > 17:22:59 -0000 > > @@ -6,7 +6,16 @@ Update OpenBSD-specific configuration on > > Index: gcc/config/pa/pa-openbsd.h > > --- gcc/config/pa/pa-openbsd.h.orig > > +++ gcc/config/pa/pa-openbsd.h > > -@@ -138,17 +138,31 @@ along with GCC; see the file COPYING3. If not see > > +@@ -53,7 +53,7 @@ along with GCC; see the file COPYING3. If not see > > + > > + #undef ASM_OUTPUT_ADDR_DIFF_ELT > > + #define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) \ > > +- fprintf (FILE, "\t.word .L%d-.L%d\n", VALUE, REL) > > ++ fprintf (FILE, "\t.word .L%d+(.+8-.L%d)-$PIC_pcrel$0\n", VALUE, REL) > > + > > + /* Use the default. */ > > + #undef ASM_OUTPUT_LABEL > > +@@ -138,17 +138,34 @@ along with GCC; see the file COPYING3. If not see > > %{shared:-shared} %{R*} \ > > %{static:-Bstatic} \ > > %{!static:-Bdynamic} \ > > @@ -42,3 +51,6 @@ Index: gcc/config/pa/pa-openbsd.h > > + > > +#undef JUMP_TABLES_IN_TEXT_SECTION > > +#define JUMP_TABLES_IN_TEXT_SECTION 0 > > ++ > > ++#undef ASM_OUTPUT_ADDR_VEC > > ++#undef ASM_OUTPUT_ADDR_DIFF_VEC > > Index: lang/bootgcc/patches/patch-gcc_config_pa_pa_md > > =================================================================== > > RCS file: lang/bootgcc/patches/patch-gcc_config_pa_pa_md > > diff -N lang/bootgcc/patches/patch-gcc_config_pa_pa_md > > --- /dev/null 1 Jan 1970 00:00:00 -0000 > > +++ lang/bootgcc/patches/patch-gcc_config_pa_pa_md 7 Nov 2026 > > 17:22:59 -0000 > > @@ -0,0 +1,49 @@ > > +Index: gcc/config/pa/pa.md > > +--- gcc/config/pa/pa.md.orig > > ++++ gcc/config/pa/pa.md > > +@@ -7001,8 +7001,10 @@ > > + > > + if (TARGET_64BIT) > > + emit_jump_insn (gen_casesi64p (operands[0], operands[3])); > > +- else if (flag_pic) > > ++ else if (flag_pic && JUMP_TABLES_IN_TEXT_SECTION) > > + emit_jump_insn (gen_casesi32p (operands[0], operands[3])); > > ++ else if (flag_pic) > > ++ emit_jump_insn (gen_casesi32p_rodata (operands[0], operands[3])); > > + else > > + emit_jump_insn (gen_casesi32 (operands[0], operands[3])); > > + DONE; > > +@@ -7028,7 +7030,7 @@ > > + (label_ref (match_operand 1 "" ""))))) > > + (clobber (match_scratch:SI 2 "=&r")) > > + (clobber (match_scratch:SI 3 "=&r"))] > > +- "flag_pic" > > ++ "flag_pic && JUMP_TABLES_IN_TEXT_SECTION" > > + "{bl .+8,%2\;depi 0,31,2,%2|mfia %2}\;ldo {%l1-.|%l1+4-.}(%2),%2\;\ > > + {ldwx|ldw},s %0(%2),%3\;{addl|add,l} %2,%3,%3\;bv,n %%r0(%3)" > > + [(set_attr "type" "multi") > > +@@ -7036,6 +7038,24 @@ > > + (if_then_else (match_test "TARGET_PA_20") > > + (const_int 20) > > + (const_int 24)))]) > > ++ > > ++(define_insn "casesi32p_rodata" > > ++ [(set (pc) (mem:SI (plus:SI > > ++ (mult:SI (match_operand:SI 0 "register_operand" "r") > > ++ (const_int 4)) > > ++ (label_ref (match_operand 1 "" ""))))) > > ++ (clobber (match_scratch:SI 2 "=&a")) > > ++ (clobber (match_scratch:SI 3 "=&r"))] > > ++ "flag_pic && !JUMP_TABLES_IN_TEXT_SECTION" > > ++ "{bl .+8,%2\;depi 0,31,2,%2|mfia %2}\;\ > > ++addil L'%l1-$PIC_pcrel$0+{8|12},%2\;\ > > ++ldo R'%l1-$PIC_pcrel$0+{12|16}(%2),%2\;\ > > ++{ldwx|ldw},s %0(%2),%3\;{addl|add,l} %2,%3,%3\;bv,n %%r0(%3)" > > ++ [(set_attr "type" "multi") > > ++ (set (attr "length") > > ++ (if_then_else (match_test "TARGET_PA_20") > > ++ (const_int 24) > > ++ (const_int 28)))]) > > + > > + ;;; 64-bit code, 32-bit relative branch table. > > + (define_insn "casesi64p" > > Index: lang/bootgcc/patches/patch-gcc_configure > > =================================================================== > > RCS file: /cvs/ports/lang/bootgcc/patches/patch-gcc_configure,v > > diff -u -p -r1.2 patch-gcc_configure > > --- lang/bootgcc/patches/patch-gcc_configure 11 Mar 2022 19:28:50 > > -0000 1.2 > > +++ lang/bootgcc/patches/patch-gcc_configure 7 Nov 2026 17:22:59 -0000 > > @@ -19,7 +19,39 @@ Index: gcc/configure > > shlibpath_var=LD_LIBRARY_PATH > > if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test > > "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then > > case $host_os in > > -@@ -28864,7 +28864,7 @@ $as_echo "#define > > HAVE_LD_PPC_GNU_ATTR_LONG_DOUBLE 1" > > +@@ -23635,7 +23635,14 @@ else > > + then gcc_cv_as_comdat_group=yes > > + fi > > + elif test x$gcc_cv_as != x; then > > +- $as_echo '.section .text,"axG",@progbits,.foo,comdat' > conftest.s > > ++ case "$target" in > > ++ hppa*-*-openbsd*) > > ++ $as_echo ' .section .text,"axG",@progbits,.foo,comdat' > > > conftest.s > > ++ ;; > > ++ *) > > ++ $as_echo '.section .text,"axG",@progbits,.foo,comdat' > > > conftest.s > > ++ ;; > > ++ esac > > + if { ac_try='$gcc_cv_as $gcc_cv_as_flags --fatal-warnings -o > > conftest.o conftest.s >&5' > > + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 > > + (eval $ac_try) 2>&5 > > +@@ -23671,7 +23678,14 @@ else > > + then gcc_cv_as_comdat_group_percent=yes > > + fi > > + elif test x$gcc_cv_as != x; then > > +- $as_echo '.section .text,"axG",%progbits,.foo,comdat' > conftest.s > > ++ case "$target" in > > ++ hppa*-*-openbsd*) > > ++ $as_echo ' .section .text,"axG",%progbits,.foo,comdat' > > > conftest.s > > ++ ;; > > ++ *) > > ++ $as_echo '.section .text,"axG",%progbits,.foo,comdat' > > > conftest.s > > ++ ;; > > ++ esac > > + if { ac_try='$gcc_cv_as $gcc_cv_as_flags --fatal-warnings -o > > conftest.o conftest.s >&5' > > + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 > > + (eval $ac_try) 2>&5 > > +@@ -28864,7 +28878,7 @@ $as_echo "#define > > HAVE_LD_PPC_GNU_ATTR_LONG_DOUBLE 1" > > esac > > > > case "$target:$tm_file" in > > @@ -28,7 +60,7 @@ Index: gcc/configure > > case "$target" in > > *le-*-linux*) > > emul_name="-melf64lppc" > > -@@ -28875,6 +28875,10 @@ case "$target:$tm_file" in > > +@@ -28875,6 +28889,10 @@ case "$target:$tm_file" in > > *-*-freebsd*) > > emul_name="-melf64ppc_fbsd" > > ;; > > @@ -39,7 +71,7 @@ Index: gcc/configure > > esac > > { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker support for > > omitting dot symbols" >&5 > > $as_echo_n "checking linker support for omitting dot symbols... " >&6; } > > -@@ -29242,6 +29246,7 @@ else > > +@@ -29242,6 +29260,7 @@ else > > fi > > > > ;; > > @@ -47,7 +79,7 @@ Index: gcc/configure > > *) gcc_cv_libc_provides_ssp=no ;; > > esac > > fi > > -@@ -29262,6 +29267,7 @@ if test "${enable_default_ssp+set}" = set; then : > > +@@ -29262,6 +29281,7 @@ if test "${enable_default_ssp+set}" = set; then : > > if test x$gcc_cv_libc_provides_ssp = xyes; then > > case "$target" in > > ia64*-*-*) enable_default_ssp=no ;; > > Index: lang/gcc/16/Makefile > > =================================================================== > > RCS file: /cvs/ports/lang/gcc/16/Makefile,v > > diff -u -p -r1.48 Makefile > > --- lang/gcc/16/Makefile 6 Nov 2026 08:11:35 -0000 1.48 > > +++ lang/gcc/16/Makefile 7 Nov 2026 17:22:59 -0000 > > @@ -67,9 +64,10 @@ EXTRACT_ONLY = ${DISTFILES} > > BUILD_DEPENDS += devel/bison > > > > .if ${MACHINE_ARCH} == "aarch64" || ${MACHINE_ARCH} == "amd64" || \ > > - ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "i386" || \ > > - ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64" || \ > > - ${MACHINE_ARCH} == "riscv64" || ${MACHINE_ARCH} == "sparc64" > > + ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "hppa" || \ > > + ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "powerpc" || \ > > + ${MACHINE_ARCH} == "powerpc64" || ${MACHINE_ARCH} == "riscv64" || \ > > + ${MACHINE_ARCH} == "sparc64" > > BUILD_DEPENDS += devel/gas > > RUN_DEPENDS += devel/gas > > RUN_DEPENDS-main += devel/gas > > Index: lang/gcc/16/patches/patch-gcc_config_pa_pa-openbsd_h > > =================================================================== > > RCS file: /cvs/ports/lang/gcc/16/patches/patch-gcc_config_pa_pa-openbsd_h,v > > diff -u -p -r1.1.1.1 patch-gcc_config_pa_pa-openbsd_h > > --- lang/gcc/16/patches/patch-gcc_config_pa_pa-openbsd_h 2 Jun 2026 > > 20:00:17 -0000 1.1.1.1 > > +++ lang/gcc/16/patches/patch-gcc_config_pa_pa-openbsd_h 7 Nov 2026 > > 17:22:59 -0000 > > @@ -1,7 +1,16 @@ > > Index: gcc/config/pa/pa-openbsd.h > > --- gcc/config/pa/pa-openbsd.h.orig > > +++ gcc/config/pa/pa-openbsd.h > > -@@ -138,14 +138,15 @@ along with GCC; see the file COPYING3. If not see > > +@@ -53,7 +53,7 @@ along with GCC; see the file COPYING3. If not see > > + > > + #undef ASM_OUTPUT_ADDR_DIFF_ELT > > + #define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) \ > > +- fprintf (FILE, "\t.word .L%d-.L%d\n", VALUE, REL) > > ++ fprintf (FILE, "\t.word .L%d+(.+8-.L%d)-$PIC_pcrel$0\n", VALUE, REL) > > + > > + /* Use the default. */ > > + #undef ASM_OUTPUT_LABEL > > +@@ -138,17 +138,30 @@ along with GCC; see the file COPYING3. If not see > > %{shared:-shared} %{R*} \ > > %{static:-Bstatic} \ > > %{!static:-Bdynamic} \ > > @@ -21,3 +30,18 @@ Index: gcc/config/pa/pa-openbsd.h > > #undef ENDFILE_SPEC > > #define ENDFILE_SPEC "%{!shared:crtend%O%s} %{shared:crtendS%O%s}" > > > > ++/* OpenBSD does not use export stubs, so the return pointer can be used > > ++ without reading the instruction stream. */ > > ++#undef RETURN_ADDR_RTX > > ++#define RETURN_ADDR_RTX(COUNT, FRAMEADDR) \ > > ++ ((COUNT) == 0 ? get_hard_reg_initial_val (Pmode, 2) : NULL_RTX) > > ++ > > + #define OBSD_HAS_CORRECT_SPECS > > + > > + #define HAVE_ENABLE_EXECUTE_STACK > > ++ > > ++#undef JUMP_TABLES_IN_TEXT_SECTION > > ++#define JUMP_TABLES_IN_TEXT_SECTION 0 > > ++ > > ++#undef ASM_OUTPUT_ADDR_VEC > > ++#undef ASM_OUTPUT_ADDR_DIFF_VEC > > Index: lang/gcc/16/patches/patch-gcc_config_pa_pa_md > > =================================================================== > > RCS file: lang/gcc/16/patches/patch-gcc_config_pa_pa_md > > diff -N lang/gcc/16/patches/patch-gcc_config_pa_pa_md > > --- /dev/null 1 Jan 1970 00:00:00 -0000 > > +++ lang/gcc/16/patches/patch-gcc_config_pa_pa_md 7 Nov 2026 > > 17:22:59 -0000 > > @@ -0,0 +1,49 @@ > > +Index: gcc/config/pa/pa.md > > +--- gcc/config/pa/pa.md.orig > > ++++ gcc/config/pa/pa.md > > +@@ -7450,8 +7450,10 @@ > > + > > + if (TARGET_64BIT) > > + emit_jump_insn (gen_casesi64p (operands[0], operands[3])); > > +- else if (flag_pic) > > ++ else if (flag_pic && JUMP_TABLES_IN_TEXT_SECTION) > > + emit_jump_insn (gen_casesi32p (operands[0], operands[3])); > > ++ else if (flag_pic) > > ++ emit_jump_insn (gen_casesi32p_rodata (operands[0], operands[3])); > > + else > > + emit_jump_insn (gen_casesi32 (operands[0], operands[3])); > > + DONE; > > +@@ -7477,7 +7479,7 @@ > > + (label_ref (match_operand 1 "" ""))))) > > + (clobber (match_scratch:SI 2 "=&r")) > > + (clobber (match_scratch:SI 3 "=&r"))] > > +- "flag_pic" > > ++ "flag_pic && JUMP_TABLES_IN_TEXT_SECTION" > > + "{bl .+8,%2\;depi 0,31,2,%2|mfia %2}\;ldo {%l1-.|%l1+4-.}(%2),%2\;\ > > + {ldwx|ldw},s %0(%2),%3\;{addl|add,l} %2,%3,%3\;bv,n %%r0(%3)" > > + [(set_attr "type" "multi") > > +@@ -7485,6 +7487,24 @@ > > + (if_then_else (match_test "TARGET_PA_20") > > + (const_int 20) > > + (const_int 24)))]) > > ++ > > ++(define_insn "casesi32p_rodata" > > ++ [(set (pc) (mem:SI (plus:SI > > ++ (mult:SI (match_operand:SI 0 "register_operand" "r") > > ++ (const_int 4)) > > ++ (label_ref (match_operand 1 "" ""))))) > > ++ (clobber (match_scratch:SI 2 "=&a")) > > ++ (clobber (match_scratch:SI 3 "=&r"))] > > ++ "flag_pic && !JUMP_TABLES_IN_TEXT_SECTION" > > ++ "{bl .+8,%2\;depi 0,31,2,%2|mfia %2}\;\ > > ++addil L'%l1-$PIC_pcrel$0+{8|12},%2\;\ > > ++ldo R'%l1-$PIC_pcrel$0+{12|16}(%2),%2\;\ > > ++{ldwx|ldw},s %0(%2),%3\;{addl|add,l} %2,%3,%3\;bv,n %%r0(%3)" > > ++ [(set_attr "type" "multi") > > ++ (set (attr "length") > > ++ (if_then_else (match_test "TARGET_PA_20") > > ++ (const_int 24) > > ++ (const_int 28)))]) > > + > > + ;;; 64-bit code, 32-bit relative branch table. > > + (define_insn "casesi64p" > > Index: lang/gcc/16/patches/patch-gcc_configure > > =================================================================== > > RCS file: /cvs/ports/lang/gcc/16/patches/patch-gcc_configure,v > > diff -u -p -r1.2 patch-gcc_configure > > --- lang/gcc/16/patches/patch-gcc_configure 9 Oct 2026 22:37:51 -0000 > > 1.2 > > +++ lang/gcc/16/patches/patch-gcc_configure 7 Nov 2026 17:22:59 -0000 > > @@ -19,7 +19,39 @@ Index: gcc/configure > > shlibpath_var=LD_LIBRARY_PATH > > if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test > > "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then > > case $host_os in > > -@@ -33389,7 +33389,7 @@ $as_echo "#define > > HAVE_LD_PPC_GNU_ATTR_LONG_DOUBLE 1" > > +@@ -27778,7 +27778,14 @@ > > + else > > + gcc_cv_as_comdat_group=no > > + if test x"$gcc_cv_as" != x; then > > +- $as_echo '.section .text,"axG",@progbits,.foo,comdat' > conftest.s > > ++ case "$target" in > > ++ hppa*-*-openbsd*) > > ++ $as_echo ' .section .text,"axG",@progbits,.foo,comdat' > > > conftest.s > > ++ ;; > > ++ *) > > ++ $as_echo '.section .text,"axG",@progbits,.foo,comdat' > > > conftest.s > > ++ ;; > > ++ esac > > + if { ac_try='$gcc_cv_as $gcc_cv_as_flags $fw_as_opt -o conftest.o > > conftest.s >&5' > > + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 > > + (eval $ac_try) 2>&5 > > +@@ -27809,7 +27816,14 @@ > > + else > > + gcc_cv_as_comdat_group_percent=no > > + if test x"$gcc_cv_as" != x; then > > +- $as_echo '.section .text,"axG",%progbits,.foo,comdat' > conftest.s > > ++ case "$target" in > > ++ hppa*-*-openbsd*) > > ++ $as_echo ' .section .text,"axG",%progbits,.foo,comdat' > > > conftest.s > > ++ ;; > > ++ *) > > ++ $as_echo '.section .text,"axG",%progbits,.foo,comdat' > > > conftest.s > > ++ ;; > > ++ esac > > + if { ac_try='$gcc_cv_as $gcc_cv_as_flags $fw_as_opt -o conftest.o > > conftest.s >&5' > > + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 > > + (eval $ac_try) 2>&5 > > +@@ -33389,7 +33403,7 @@ $as_echo "#define > > HAVE_LD_PPC_GNU_ATTR_LONG_DOUBLE 1" > > esac > > > > case "$target:$tm_file" in > > @@ -28,7 +60,7 @@ Index: gcc/configure > > case "$target" in > > *le-*-linux*) > > emul_name="-melf64lppc" > > -@@ -33403,6 +33403,10 @@ case "$target:$tm_file" in > > +@@ -33403,6 +33417,10 @@ case "$target:$tm_file" in > > *-*-freebsd*) > > emul_name="-melf64ppc_fbsd" > > ;; > > @@ -39,7 +71,7 @@ Index: gcc/configure > > esac > > { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker support for > > omitting dot symbols" >&5 > > $as_echo_n "checking linker support for omitting dot symbols... " >&6; } > > -@@ -33702,6 +33706,7 @@ else > > +@@ -33702,6 +33720,7 @@ else > > fi > > > > ;; > > @@ -47,7 +79,7 @@ Index: gcc/configure > > *) gcc_cv_libc_provides_ssp=no ;; > > esac > > fi > > -@@ -33722,6 +33727,7 @@ if test "${enable_default_ssp+set}" = set; then : > > +@@ -33722,6 +33741,7 @@ if test "${enable_default_ssp+set}" = set; then : > > if test x$gcc_cv_libc_provides_ssp = xyes; then > > case "$target" in > > ia64*-*-*) enable_default_ssp=no ;; > > @@ -55,7 +87,7 @@ Index: gcc/configure > > *) enable_default_ssp=$enableval ;; > > esac > > else > > -@@ -33898,6 +33904,9 @@ $as_echo_n "checking dl_iterate_phdr in target C > > libra > > +@@ -33898,6 +33918,9 @@ $as_echo_n "checking dl_iterate_phdr in target C > > libra > > gcc_cv_target_dl_iterate_phdr=unknown > > case "$target" in > > *-*-solaris2*) > > > > > > -- > > wbr, Kirill > > > > > -- > https://buzzdeee.reitenba.ch > [2 <text/html; UTF-8 (quoted-printable)>] -- wbr, Kirill
PING: fix setgid on various nethack clones Re: [maintainer update] adjust nethack 5.0 to the new setgid rules
Can someone please look/commit all this ? On Tue, Oct 27, 2026 at 10:42:03AM +0100, Marc Espie wrote: > And here is the corresponding diff to the other nethack-derived > ports in-tree. > > I've noticed that I had plain forgotten to install some recover > binaries as setgid. > > One potential issue might be that some of these old ports are > setgid games. > > Changing them to their own group might set migration issues. > > I'll have to test, but at least this takes care of the setgid markers. > > > Index: nethack/3.4/Makefile > =================================================================== > RCS file: /build/data/openbsd/cvs/ports/games/nethack/3.4/Makefile,v > diff -u -p -r1.10 Makefile > --- nethack/3.4/Makefile 28 Jan 2025 10:17:37 -0000 1.10 > +++ nethack/3.4/Makefile 27 Oct 2026 09:17:12 -0000 > @@ -2,7 +2,7 @@ COMMENT = dungeon explorin', hackin', ga > V = 3.4.3 > DISTNAME = nethack-$V > PKGNAME = ${DISTNAME} > -REVISION = 18 > +REVISION = 19 > CATEGORIES = games > > SITES = ${SITE_SOURCEFORGE:=nethack/} > Index: nethack/3.4/patches/patch-src_files_c > =================================================================== > RCS file: /build/data/openbsd/cvs/ports/games/nethack/3.4/patches/patch-src_files_c,v > diff -u -p -r1.2 patch-src_files_c > --- nethack/3.4/patches/patch-src_files_c 11 Mar 2022 19:04:42 -0000 1.2 > +++ nethack/3.4/patches/patch-src_files_c 27 Oct 2026 09:17:02 -0000 > @@ -1,6 +1,20 @@ > ---- src/files.c.orig Sat Feb 11 09:31:55 2006 > -+++ src/files.c Sat Feb 11 09:32:01 2006 > -@@ -1153,7 +1153,9 @@ boolean uncomp; > +Index: src/files.c > +--- src/files.c.orig > ++++ src/files.c > +@@ -164,6 +164,12 @@ STATIC_DCL boolean FDECL(copy_bytes, (int, int)); > + STATIC_DCL int FDECL(open_levelfile_exclusively, (const char *, int, int)); > +
Re: games/xkobo: drop setgid games and shared score file
On Sat, Nov 07, 2026 at 08:30:58AM -0700, Anthony J. Bentley wrote: > Marc Espie writes: > > We drop setgid right away. > > > > I don't see the point. > > Leave aside that it's setgid. As a matter of course, this program > parses data written by other users, every time that it runs. It's good > to have a strict pledge before that happens. I disagree. - pledge won't give you anything. - the only use of data that's been made is to read high scores, into a structure with a fixed length char array, which is very strictly controlled in termes of size. Yes, there is a problem with that code: the version that prints the high score table to stdout doesn't sanitize those strings, and pledge won't help you with that. I'm looking at the version that displays stuff in windows, That one has a possible buffer overflow, which is easy to fix. In both cases, considering we are handling login names, the main thing to do is to strvis the hell out of things. Index: Makefile =================================================================== RCS file: /build/data/openbsd/cvs/ports/games/xkobo/Makefile,v diff -u -p -r1.41 Makefile --- Makefile 7 Nov 2026 13:19:30 -0000 1.41 +++ Makefile 10 Nov 2026 10:16:33 -0000 @@ -2,7 +2,7 @@ COMMENT = multi-way scrolling shoot'em u #' DISTNAME = xkobo-1.11 -REVISION = 10 +REVISION = 11 CATEGORIES = games SITES = ${SITE_XCONTRIB:=games/} \ Index: patches/patch-score_C =================================================================== RCS file: /build/data/openbsd/cvs/ports/games/xkobo/patches/patch-score_C,v diff -u -p -r1.1 patch-score_C --- patches/patch-score_C 7 Nov 2026 13:21:11 -0000 1.1 +++ patches/patch-score_C 10 Nov 2026 10:15:53 -0000 @@ -1,7 +1,7 @@ Index: score.C --- score.C.orig +++ score.C -@@ -29,6 +29,12 @@ extern "C"{ +@@ -29,6 +29,13 @@ extern "C"{ #include <sys/stat.h> #include <sys/types.h> #include <pwd.h> @@ -9,12 +9,13 @@ Index: score.C +#include <fcntl.h> +#include <string.h> +#include <errno.h> ++#include <vis.h> +/* OpenBSD: set[ug]id binary MUST say so in this var */ +mode_t _permit_setugid = S_ISGID; } #include "xkobo.h" #include "score.h" -@@ -37,6 +43,7 @@ extern "C"{ +@@ -37,6 +44,7 @@ extern "C"{ int _scorefile::highscore = 0; char _scorefile::save_path[1024]; char _scorefile::login_name[64]; @@ -22,7 +23,7 @@ Index: score.C class uint_little_endian { unsigned char byte[4]; -@@ -74,22 +81,29 @@ int s_table_cmp(s_table *a, s_table *b) +@@ -74,22 +82,29 @@ int s_table_cmp(s_table *a, s_table *b) return 0; } @@ -61,7 +62,7 @@ Index: score.C if ((i=load_block(save_path, &tbl, sizeof(tbl))) < 0){ fprintf(stderr, "xkobo : (warning) can't read the score-file\n"); } -@@ -117,10 +131,13 @@ void _scorefile::record(int new_score, int stage) +@@ -117,23 +132,32 @@ void _scorefile::record(int new_score, int stage) write = 1; } if (write){ @@ -79,3 +80,55 @@ Index: score.C } _scorefile::show_high_scores(0); } + ++struct visname { ++ char name[64*4+1]; ++}; ++ + void _scorefile::show_high_scores(int to_stdout) + { + s_table tbl[SCORE_SAVE_MAX]; ++ visname visname[SCORE_SAVE_MAX]; + char path[1024]; + int i, j; + for (i=0; i<SCORE_SAVE_MAX; i++){ + tbl[i].score = 0; + tbl[i].scene = 0; + strcpy(tbl[i].name, "foo"); ++ strcpy(visname[i].name, "foo"); + } + + struct dirent *direntp; +@@ -147,6 +171,8 @@ void _scorefile::show_high_scores(int to_stdout) + if (stat(path, &st_buffer)) continue; + if (!S_ISREG(st_buffer.st_mode)) continue; + if (load_block(path, &tbl[i], sizeof(s_table)) < 0) continue; ++ /* avoid buffer overflow */ ++ tbl[i].name[63] = 0; + if ((++i) >= SCORE_SAVE_MAX) break; + } + closedir(dp); +@@ -154,10 +180,13 @@ void _scorefile::show_high_scores(int to_stdout) + qsort(tbl, i, sizeof(s_table), + (int (*)(const void *, const void *))s_table_cmp); + ++ for (j=0; j<i; j++) ++ strvis(visname[j].name, tbl[j].name, 0); ++ + if (to_stdout){ + printf("Name Score Stages\n"); + for (j=0; j<i; j++){ +- printf("%-20s %9u %9u\n", tbl[j].name, ++ printf("%-20s %9u %9u\n", visname[j].name, + (unsigned int)tbl[j].score, (unsigned int)tbl[j].scene); + } + } +@@ -169,7 +198,7 @@ void _scorefile::show_high_scores(int to_stdout) + wscore.string(180, 24, "high score"); + wscore.string(80, 24, "cleared stages"); + for (j=0; j<i; j++){ +- wscore.string(10, 16*j + 48, tbl[j].name); ++ wscore.string(10, 16*j + 48, visname[j].name); + sprintf(buffer, "%09u", (unsigned int)tbl[j].score); + wscore.string(180, 16*j + 48, buffer); + sprintf(buffer, "%09u", (unsigned int)tbl[j].scene);
Re: gcc build failure on hppa
===> Building for ruby-4.0.9
BASERUBY = ./tool/missing-baseruby.bat
CC = cc
LD = ld
LDSHARED = cc -shared
CFLAGS = -O2 -pipe -fPIC
XCFLAGS = -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -I. -I.ext/include/hppa-openbsd -I.ext/include -I./include -I. -I./prism -I./enc/unicode/17.0.0 -Dmodular_gc_dir=
CPPFLAGS = -DOPENSSL_NO_STATIC_ENGINE -I/usr/local/include
DLDFLAGS = -L/usr/local/lib -fstack-protector-strong
SOLIBS = -lz -lgmp -lm -pthread
LANG =
LC_ALL =
LC_CTYPE =
MFLAGS = V=1 mkdir_p=mkdir\ -p\ -- SHARED_LIBS_LOG=/home/ports/pobj/hppa/ruby-4.0.9-no_ri_docs-bootstrap/ruby-4.0.9/shared_libs.log LIBTOOL=/usr/bin/libtool libruby40_ltversion=0.0 LIBruby40_LTVERSION=-version-info\ 0:0:0
RUSTC = no
YJIT_RUSTC_ARGS = --crate-name=yjit --crate-type=staticlib --cfg feature="stats_allocator" --edition=2021 -g -C lto=thin -C opt-level=3 -C overflow-checks=on '--out-dir=/home/ports/pobj/hppa/ruby-4.0.9-no_ri_docs-bootstrap/ruby-4.0.9/target/release/' './yjit/src/lib.rs'
ZJIT_RUSTC_ARGS = --crate-name=zjit --crate-type=staticlib --cfg feature="stats_allocator" --edition=2024 -g -C lto=thin -C opt-level=3 -C overflow-checks=on '--out-dir=/home/ports/pobj/hppa/ruby-4.0.9-no_ri_docs-bootstrap/ruby-4.0.9/target/release/' './zjit/src/lib.rs'
egcc (GCC) 16.2.0
Copyright (C) 2026 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
cc -O2 -pipe -fPIC -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -I. -I.ext/include/hppa-openbsd -I.ext/include -I./include -I. -I./prism -I./enc/unicode/17.0.0 -Dmodular_gc_dir="" -DOPENSSL_NO_STATIC_ENGINE -I/usr/local/include -o complex.o -c complex.c
during RTL pass: expand
complex.c: In function 'f_complex_polar_real':
complex.c:645:1: internal compiler error: in expand_expr_addr_expr_1, at expr.cc:9343
645 | f_complex_polar_real(VALUE klass, VALUE x, VALUE y)
| ^~~~~~~~~~~~~~~~~~~~
libbacktrace could not find executable to open
/usr/local/libexec/gcc/hppa-unknown-openbsd/16.2.0/cc1 -quiet -I . -I .ext/include/hppa-openbsd -I .ext/include -I ./include -I . -I ./prism -I ./enc/unicode/17.0.0 -I /usr/local/include -D RUBY_EXPORT -D modular_gc_dir= -D OPENSSL_NO_STATIC_ENGINE complex.c -quiet -dumpbase complex.c -dumpbase-ext .c -O2 -fPIC -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -o -
Please submit a full bug report, with preprocessed source (by using -freport-bug).
See <https://gcc.gnu.org/bugs/> for instructions.
Thanks for the report.
Here a diff which allows to build both: lang/bootgcc and lang/gcc/16;
you need some patches for both gcc, yeah.
Index: lang/bootgcc/patches/patch-gcc_config_pa_pa-openbsd_h
===================================================================
RCS file: /cvs/ports/lang/bootgcc/patches/patch-gcc_config_pa_pa-openbsd_h,v
diff -u -p -r1.3 patch-gcc_config_pa_pa-openbsd_h
--- lang/bootgcc/patches/patch-gcc_config_pa_pa-openbsd_h 25 Oct 2026 12:56:34 -0000 1.3
+++ lang/bootgcc/patches/patch-gcc_config_pa_pa-openbsd_h 7 Nov 2026 17:22:59 -0000
@@ -6,7 +6,16 @@ Update OpenBSD-specific configuration on
Index: gcc/config/pa/pa-openbsd.h
--- gcc/config/pa/pa-openbsd.h.orig
+++ gcc/config/pa/pa-openbsd.h
-@@ -138,17 +138,31 @@ along with GCC; see the file COPYING3. If not see
+@@ -53,7 +53,7 @@ along with GCC; see the file COPYING3. If not see
+
+ #undef ASM_OUTPUT_ADDR_DIFF_ELT
+ #define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) \
+- fprintf (FILE, "\t.word .L%d-.L%d\n", VALUE, REL)
++ fprintf (FILE, "\t.word .L%d+(.+8-.L%d)-$PIC_pcrel$0\n", VALUE, REL)
+
+ /* Use the default. */
+ #undef ASM_OUTPUT_LABEL
+@@ -138,17 +138,34 @@ along with GCC; see the file COPYING3. If not see
%{shared:-shared} %{R*} \
%{static:-Bstatic} \
%{!static:-Bdynamic} \
@@ -42,3 +51,6 @@ Index: gcc/config/pa/pa-openbsd.h
+
+#undef JUMP_TABLES_IN_TEXT_SECTION
+#define JUMP_TABLES_IN_TEXT_SECTION 0
++
++#undef ASM_OUTPUT_ADDR_VEC
++#undef ASM_OUTPUT_ADDR_DIFF_VEC
Index: lang/bootgcc/patches/patch-gcc_config_pa_pa_md
===================================================================
RCS file: lang/bootgcc/patches/patch-gcc_config_pa_pa_md
diff -N lang/bootgcc/patches/patch-gcc_config_pa_pa_md
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ lang/bootgcc/patches/patch-gcc_config_pa_pa_md 7 Nov 2026 17:22:59 -0000
@@ -0,0 +1,49 @@
+Index: gcc/config/pa/pa.md
+--- gcc/config/pa/pa.md.orig
++++ gcc/config/pa/pa.md
+@@ -7001,8 +7001,10 @@
+
+ if (TARGET_64BIT)
+ emit_jump_insn (gen_casesi64p (operands[0], operands[3]));
+- else if (flag_pic)
++ else if (flag_pic && JUMP_TABLES_IN_TEXT_SECTION)
+ emit_jump_insn (gen_casesi32p (operands[0], operands[3]));
++ else if (flag_pic)
++ emit_jump_insn (gen_casesi32p_rodata (operands[0], operands[3]));
+ else
+ emit_jump_insn (gen_casesi32 (operands[0], operands[3]));
+ DONE;
+@@ -7028,7 +7030,7 @@
+ (label_ref (match_operand 1 "" "")))))
+ (clobber (match_scratch:SI 2 "=&r"))
+ (clobber (match_scratch:SI 3 "=&r"))]
+- "flag_pic"
++ "flag_pic && JUMP_TABLES_IN_TEXT_SECTION"
+ "{bl .+8,%2\;depi 0,31,2,%2|mfia %2}\;ldo {%l1-.|%l1+4-.}(%2),%2\;\
+ {ldwx|ldw},s %0(%2),%3\;{addl|add,l} %2,%3,%3\;bv,n %%r0(%3)"
+ [(set_attr "type" "multi")
+@@ -7036,6 +7038,24 @@
+ (if_then_else (match_test "TARGET_PA_20")
+ (const_int 20)
+ (const_int 24)))])
++
++(define_insn "casesi32p_rodata"
++ [(set (pc) (mem:SI (plus:SI
++ (mult:SI (match_operand:SI 0 "register_operand" "r")
++ (const_int 4))
++ (label_ref (match_operand 1 "" "")))))
++ (clobber (match_scratch:SI 2 "=&a"))
++ (clobber (match_scratch:SI 3 "=&r"))]
++ "flag_pic && !JUMP_TABLES_IN_TEXT_SECTION"
++ "{bl .+8,%2\;depi 0,31,2,%2|mfia %2}\;\
++addil L'%l1-$PIC_pcrel$0+{8|12},%2\;\
++ldo R'%l1-$PIC_pcrel$0+{12|16}(%2),%2\;\
++{ldwx|ldw},s %0(%2),%3\;{addl|add,l} %2,%3,%3\;bv,n %%r0(%3)"
++ [(set_attr "type" "multi")
++ (set (attr "length")
++ (if_then_else (match_test "TARGET_PA_20")
++ (const_int 24)
++ (const_int 28)))])
+
+ ;;; 64-bit code, 32-bit relative branch table.
+ (define_insn "casesi64p"
Index: lang/bootgcc/patches/patch-gcc_configure
===================================================================
RCS file: /cvs/ports/lang/bootgcc/patches/patch-gcc_configure,v
diff -u -p -r1.2 patch-gcc_configure
--- lang/bootgcc/patches/patch-gcc_configure 11 Mar 2022 19:28:50 -0000 1.2
+++ lang/bootgcc/patches/patch-gcc_configure 7 Nov 2026 17:22:59 -0000
@@ -19,7 +19,39 @@ Index: gcc/configure
shlibpath_var=LD_LIBRARY_PATH
if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
case $host_os in
-@@ -28864,7 +28864,7 @@ $as_echo "#define HAVE_LD_PPC_GNU_ATTR_LONG_DOUBLE 1"
+@@ -23635,7 +23635,14 @@ else
+ then gcc_cv_as_comdat_group=yes
+ fi
+ elif test x$gcc_cv_as != x; then
+- $as_echo '.section .text,"axG",@progbits,.foo,comdat' > conftest.s
++ case "$target" in
++ hppa*-*-openbsd*)
++ $as_echo ' .section .text,"axG",@progbits,.foo,comdat' > conftest.s
++ ;;
++ *)
++ $as_echo '.section .text,"axG",@progbits,.foo,comdat' > conftest.s
++ ;;
++ esac
+ if { ac_try='$gcc_cv_as $gcc_cv_as_flags --fatal-warnings -o conftest.o conftest.s >&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+@@ -23671,7 +23678,14 @@ else
+ then gcc_cv_as_comdat_group_percent=yes
+ fi
+ elif test x$gcc_cv_as != x; then
+- $as_echo '.section .text,"axG",%progbits,.foo,comdat' > conftest.s
++ case "$target" in
++ hppa*-*-openbsd*)
++ $as_echo ' .section .text,"axG",%progbits,.foo,comdat' > conftest.s
++ ;;
++ *)
++ $as_echo '.section .text,"axG",%progbits,.foo,comdat' > conftest.s
++ ;;
++ esac
+ if { ac_try='$gcc_cv_as $gcc_cv_as_flags --fatal-warnings -o conftest.o conftest.s >&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+@@ -28864,7 +28878,7 @@ $as_echo "#define HAVE_LD_PPC_GNU_ATTR_LONG_DOUBLE 1"
esac
case "$target:$tm_file" in
@@ -28,7 +60,7 @@ Index: gcc/configure
case "$target" in
*le-*-linux*)
emul_name="-melf64lppc"
-@@ -28875,6 +28875,10 @@ case "$target:$tm_file" in
+@@ -28875,6 +28889,10 @@ case "$target:$tm_file" in
*-*-freebsd*)
emul_name="-melf64ppc_fbsd"
;;
@@ -39,7 +71,7 @@ Index: gcc/configure
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking linker support for omitting dot symbols" >&5
$as_echo_n "checking linker support for omitting dot symbols... " >&6; }
-@@ -29242,6 +29246,7 @@ else
+@@ -29242,6 +29260,7 @@ else
fi
;;
@@ -47,7 +79,7 @@ Index: gcc/configure
*) gcc_cv_libc_provides_ssp=no ;;
esac
fi
-@@ -29262,6 +29267,7 @@ if test "${enable_default_ssp+set}" = set; then :
+@@ -29262,6 +29281,7 @@ if test "${enable_default_ssp+set}" = set; then :
if test x$gcc_cv_libc_provides_ssp = xyes; then
case "$target" in
ia64*-*-*) enable_default_ssp=no ;;
Index: lang/gcc/16/Makefile
===================================================================
RCS file: /cvs/ports/lang/gcc/16/Makefile,v
diff -u -p -r1.48 Makefile
--- lang/gcc/16/Makefile 6 Nov 2026 08:11:35 -0000 1.48
+++ lang/gcc/16/Makefile 7 Nov 2026 17:22:59 -0000
@@ -67,9 +64,10 @@ EXTRACT_ONLY = ${DISTFILES}
BUILD_DEPENDS += devel/bison
.if ${MACHINE_ARCH} == "aarch64" || ${MACHINE_ARCH} == "amd64" || \
- ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "i386" || \
- ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64" || \
- ${MACHINE_ARCH} == "riscv64" || ${MACHINE_ARCH} == "sparc64"
+ ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "hppa" || \
+ ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "powerpc" || \
+ ${MACHINE_ARCH} == "powerpc64" || ${MACHINE_ARCH} == "riscv64" || \
+ ${MACHINE_ARCH} == "sparc64"
BUILD_DEPENDS += devel/gas
RUN_DEPENDS += devel/gas
RUN_DEPENDS-main += devel/gas
Index: lang/gcc/16/patches/patch-gcc_config_pa_pa-openbsd_h
===================================================================
RCS file: /cvs/ports/lang/gcc/16/patches/patch-gcc_config_pa_pa-openbsd_h,v
diff -u -p -r1.1.1.1 patch-gcc_config_pa_pa-openbsd_h
--- lang/gcc/16/patches/patch-gcc_config_pa_pa-openbsd_h 2 Jun 2026 20:00:17 -0000 1.1.1.1
+++ lang/gcc/16/patches/patch-gcc_config_pa_pa-openbsd_h 7 Nov 2026 17:22:59 -0000
@@ -1,7 +1,16 @@
Index: gcc/config/pa/pa-openbsd.h
--- gcc/config/pa/pa-openbsd.h.orig
+++ gcc/config/pa/pa-openbsd.h
-@@ -138,14 +138,15 @@ along with GCC; see the file COPYING3. If not see
+@@ -53,7 +53,7 @@ along with GCC; see the file COPYING3. If not see
+
+ #undef ASM_OUTPUT_ADDR_DIFF_ELT
+ #define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) \
+- fprintf (FILE, "\t.word .L%d-.L%d\n", VALUE, REL)
++ fprintf (FILE, "\t.word .L%d+(.+8-.L%d)-$PIC_pcrel$0\n", VALUE, REL)
+
+ /* Use the default. */
+ #undef ASM_OUTPUT_LABEL
+@@ -138,17 +138,30 @@ along with GCC; see the file COPYING3. If not see
%{shared:-shared} %{R*} \
%{static:-Bstatic} \
%{!static:-Bdynamic} \
@@ -21,3 +30,18 @@ Index: gcc/config/pa/pa-openbsd.h
#undef ENDFILE_SPEC
#define ENDFILE_SPEC "%{!shared:crtend%O%s} %{shared:crtendS%O%s}"
++/* OpenBSD does not use export stubs, so the return pointer can be used
++ without reading the instruction stream. */
++#undef RETURN_ADDR_RTX
++#define RETURN_ADDR_RTX(COUNT, FRAMEADDR) \
++ ((COUNT) == 0 ? get_hard_reg_initial_val (Pmode, 2) : NULL_RTX)
++
+ #define OBSD_HAS_CORRECT_SPECS
+
+ #define HAVE_ENABLE_EXECUTE_STACK
++
++#undef JUMP_TABLES_IN_TEXT_SECTION
++#define JUMP_TABLES_IN_TEXT_SECTION 0
++
++#undef ASM_OUTPUT_ADDR_VEC
++#undef ASM_OUTPUT_ADDR_DIFF_VEC
Index: lang/gcc/16/patches/patch-gcc_config_pa_pa_md
===================================================================
RCS file: lang/gcc/16/patches/patch-gcc_config_pa_pa_md
diff -N lang/gcc/16/patches/patch-gcc_config_pa_pa_md
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ lang/gcc/16/patches/patch-gcc_config_pa_pa_md 7 Nov 2026 17:22:59 -0000
@@ -0,0 +1,49 @@
+Index: gcc/config/pa/pa.md
+--- gcc/config/pa/pa.md.orig
++++ gcc/config/pa/pa.md
+@@ -7450,8 +7450,10 @@
+
+ if (TARGET_64BIT)
+ emit_jump_insn (gen_casesi64p (operands[0], operands[3]));
+- else if (flag_pic)
++ else if (flag_pic && JUMP_TABLES_IN_TEXT_SECTION)
+ emit_jump_insn (gen_casesi32p (operands[0], operands[3]));
++ else if (flag_pic)
++ emit_jump_insn (gen_casesi32p_rodata (operands[0], operands[3]));
+ else
+ emit_jump_insn (gen_casesi32 (operands[0], operands[3]));
+ DONE;
+@@ -7477,7 +7479,7 @@
+ (label_ref (match_operand 1 "" "")))))
+ (clobber (match_scratch:SI 2 "=&r"))
+ (clobber (match_scratch:SI 3 "=&r"))]
+- "flag_pic"
++ "flag_pic && JUMP_TABLES_IN_TEXT_SECTION"
+ "{bl .+8,%2\;depi 0,31,2,%2|mfia %2}\;ldo {%l1-.|%l1+4-.}(%2),%2\;\
+ {ldwx|ldw},s %0(%2),%3\;{addl|add,l} %2,%3,%3\;bv,n %%r0(%3)"
+ [(set_attr "type" "multi")
+@@ -7485,6 +7487,24 @@
+ (if_then_else (match_test "TARGET_PA_20")
+ (const_int 20)
+ (const_int 24)))])
++
++(define_insn "casesi32p_rodata"
++ [(set (pc) (mem:SI (plus:SI
++ (mult:SI (match_operand:SI 0 "register_operand" "r")
++ (const_int 4))
++ (label_ref (match_operand 1 "" "")))))
++ (clobber (match_scratch:SI 2 "=&a"))
++ (clobber (match_scratch:SI 3 "=&r"))]
++ "flag_pic && !JUMP_TABLES_IN_TEXT_SECTION"
++ "{bl .+8,%2\;depi 0,31,2,%2|mfia %2}\;\
++addil L'%l1-$PIC_pcrel$0+{8|12},%2\;\
++ldo R'%l1-$PIC_pcrel$0+{12|16}(%2),%2\;\
++{ldwx|ldw},s %0(%2),%3\;{addl|add,l} %2,%3,%3\;bv,n %%r0(%3)"
++ [(set_attr "type" "multi")
++ (set (attr "length")
++ (if_then_else (match_test "TARGET_PA_20")
++ (const_int 24)
++ (const_int 28)))])
+
+ ;;; 64-bit code, 32-bit relative branch table.
+ (define_insn "casesi64p"
Index: lang/gcc/16/patches/patch-gcc_configure
===================================================================
RCS file: /cvs/ports/lang/gcc/16/patches/patch-gcc_configure,v
diff -u -p -r1.2 patch-gcc_configure
--- lang/gcc/16/patches/patch-gcc_configure 9 Oct 2026 22:37:51 -0000 1.2
+++ lang/gcc/16/patches/patch-gcc_configure 7 Nov 2026 17:22:59 -0000
@@ -19,7 +19,39 @@ Index: gcc/configure
shlibpath_var=LD_LIBRARY_PATH
if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
case $host_os in
-@@ -33389,7 +33389,7 @@ $as_echo "#define HAVE_LD_PPC_GNU_ATTR_LONG_DOUBLE 1"
+@@ -27778,7 +27778,14 @@
+ else
+ gcc_cv_as_comdat_group=no
+ if test x"$gcc_cv_as" != x; then
+- $as_echo '.section .text,"axG",@progbits,.foo,comdat' > conftest.s
++ case "$target" in
++ hppa*-*-openbsd*)
++ $as_echo ' .section .text,"axG",@progbits,.foo,comdat' > conftest.s
++ ;;
++ *)
++ $as_echo '.section .text,"axG",@progbits,.foo,comdat' > conftest.s
++ ;;
++ esac
+ if { ac_try='$gcc_cv_as $gcc_cv_as_flags $fw_as_opt -o conftest.o conftest.s >&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+@@ -27809,7 +27816,14 @@
+ else
+ gcc_cv_as_comdat_group_percent=no
+ if test x"$gcc_cv_as" != x; then
+- $as_echo '.section .text,"axG",%progbits,.foo,comdat' > conftest.s
++ case "$target" in
++ hppa*-*-openbsd*)
++ $as_echo ' .section .text,"axG",%progbits,.foo,comdat' > conftest.s
++ ;;
++ *)
++ $as_echo '.section .text,"axG",%progbits,.foo,comdat' > conftest.s
++ ;;
++ esac
+ if { ac_try='$gcc_cv_as $gcc_cv_as_flags $fw_as_opt -o conftest.o conftest.s >&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+@@ -33389,7 +33403,7 @@ $as_echo "#define HAVE_LD_PPC_GNU_ATTR_LONG_DOUBLE 1"
esac
case "$target:$tm_file" in
@@ -28,7 +60,7 @@ Index: gcc/configure
case "$target" in
*le-*-linux*)
emul_name="-melf64lppc"
-@@ -33403,6 +33403,10 @@ case "$target:$tm_file" in
+@@ -33403,6 +33417,10 @@ case "$target:$tm_file" in
*-*-freebsd*)
emul_name="-melf64ppc_fbsd"
;;
@@ -39,7 +71,7 @@ Index: gcc/configure
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking linker support for omitting dot symbols" >&5
$as_echo_n "checking linker support for omitting dot symbols... " >&6; }
-@@ -33702,6 +33706,7 @@ else
+@@ -33702,6 +33720,7 @@ else
fi
;;
@@ -47,7 +79,7 @@ Index: gcc/configure
*) gcc_cv_libc_provides_ssp=no ;;
esac
fi
-@@ -33722,6 +33727,7 @@ if test "${enable_default_ssp+set}" = set; then :
+@@ -33722,6 +33741,7 @@ if test "${enable_default_ssp+set}" = set; then :
if test x$gcc_cv_libc_provides_ssp = xyes; then
case "$target" in
ia64*-*-*) enable_default_ssp=no ;;
@@ -55,7 +87,7 @@ Index: gcc/configure
*) enable_default_ssp=$enableval ;;
esac
else
-@@ -33898,6 +33904,9 @@ $as_echo_n "checking dl_iterate_phdr in target C libra
+@@ -33898,6 +33918,9 @@ $as_echo_n "checking dl_iterate_phdr in target C libra
gcc_cv_target_dl_iterate_phdr=unknown
case "$target" in
*-*-solaris2*)
--
wbr, Kirill
--