mongodb: Introduce workarond for PR pkg/59842
cwrappers doesn't transform when `cc @args` syntax is used (to avoid very
long commands). Tell the package we can handle the long commands so this
syntax isn't necessary.
Build failure seen on NetBSD-10/x86_64 - which relies on pkgsrc GCC, which
relies on cwrappers transform.
openssh: Don't make compat libssh build.
libssh is now private, so it's not exposed for applications to link
against (with libssh.so installed only in /usr/lib/private, if at
all), so it's not useful to build as a compat library anyway.
Should fix problems like:
sparc64--netbsd-install: /home/builds/ab/HEAD/sparc64/20251216043204Z-dest/usr/libdata/debug/usr/lib/sparc/private/libssh.so.50.0.debug.inst.a4Bog4: mkstemp: No such file or directory
--- /home/builds/ab/HEAD/sparc64/20251216043204Z-dest/usr/libdata/debug/usr/lib/sparc/private/libssh.so.50.0.debug ---
*** Failed target: /home/builds/ab/HEAD/sparc64/20251216043204Z-dest/usr/libdata/debug/usr/lib/sparc/private/libssh.so.50.0.debug
*** In directory: /home/source/ab/HEAD/src/crypto/external/bsd/openssh/lib
*** Failed commands:
${_MKTARGET_INSTALL}
=> @# "install " /home/builds/ab/HEAD/sparc64/20251216043204Z-dest/usr/libdata/debug/usr/lib/sparc/private/libssh.so.50.0.debug
${INSTALL_FILE} -o ${DEBUGOWN} -g ${DEBUGGRP} -m ${DEBUGMODE} ${.ALLSRC} ${.TARGET}
=> /home/builds/ab/HEAD/sparc64/20251216043204Z-tools/bin/sparc64--netbsd-install -U -M /home/builds/ab/HEAD/sparc64/20251216043204Z-dest/METALOG -D /home/builds/ab/HEAD/sparc64/20251216043204Z-dest -h sha256 -N /home/source/ab/HEAD/src/etc -c -r -o root -g wheel -m 444 libssh.so.50.0.debug /home/builds/ab/HEAD/sparc64/20251216043204Z-dest/usr/libdata/debug/usr/lib/sparc/private/libssh.so.50.0.debug
*** [/home/builds/ab/HEAD/sparc64/20251216043204Z-dest/usr/libdata/debug/usr/lib/sparc/private/libssh.so.50.0.debug] Error code 1
[3 lines not shown]
databases/db[45] -- Add mutex support for SPARC v[78] machines.
Thanks go to John D. Baker for submitting an updated patch to the PR,
and to Andrew Randrianasulu for bringing up the issue again and then
testing the patches.
Fixes PR pkg/43444.
ImageMagick: Update to 7.1.2.11
upstream changes:
-----------------
7.1.2-11 - 2025-12-14
Commits
* beta release e97f8c1
* Only allow setting the data_precision to values other then 16 and 12 when quality is lossless (>= 100). 4d7581a
* Switch to macos-15-intel for the x64 MacOS build. 3f47b60
* Removed old debug statements. 281adfc
* Added extra checks to prevent overflows on 32-bit systems and do an earlier exit. 1dc1fc9
* release 578d60d
openssh: Install libssh.so in /usr/lib/private.
This way it doesn't get exposed to applications accidentally, and we
don't need to worry about breaking ABI when updating openssh in base.
PR lib/58648: private shared libraries should go in /usr/lib/private,
not /usr/lib
Add logic for /usr/lib/private libraries.
New variables for makefiles to define:
<bsd.lib.mk> LIBSUBDIR -- If nonempty, install library into
${LIBDIR}/${LIBSUBDIR} instead of ${LIBDIR}. Typically set
either to empty or to `private'.
<bsd.lib.mk> LIBDPSUBDIRS -- List of subdirectories _subdir_ to add
-L${SHLIBDIR}/${_subdir_} -Wl,-R${SHLIBDIR}/${_subdir_} to
ldflags when linking library. Note: Should only be used inside
private libraries, not inside public libraries to link against
private libraries, which can't work -- see comment.
<bsd.prog.mk> PROGDPSUBDIRS -- List of subdirectories _subdir_ to add
-L${SHLIBDIR}/${_subdir_} -Wl,-R${SHLIBDIR}/${_subdir_} to
ldflags when linking program.
(XXX bsd.lib.mk/bsd.prog.mk should figure LIBDPSUBDIRS/PROGDPSUBDIRS
[25 lines not shown]
crunchgen(1): Implement -L <lib-dir> option for real.
Pass it through via LDADD in the generated .mk output, before any -l
options.
The original logic -- which was disabled in 2001, apparently by
accident -- had a default libdir of /usr/lib. But it didn't do
anything with that string, so removing it as a default doesn't change
anything. But the linker doesn't need us to specify that path anyway
(and it would really have to be -L=/usr/lib rather than -L/usr/lib,
whereas we want -L/path/to/obj/lib/libfoo without the `=').
PR toolchain/59841: crunchgen(1) ignores -L argument
Will be needed for:
PR lib/58648: private shared libraries should go in /usr/lib/private,
not /usr/lib
[Prereq for PR bin/58609] Add EL_GETENV to libedit
When interacting with the shell, and perhaps other applications,
editline needs to obtain the values of some environment variables.
Normally getenv(3) does that - but that doesn't work when being
used in sh(1) as getenv() simply accesses the environment as it
was when sh(1) was invoked - after that, in sh anyway, that
environment is simply abandoned (well, kind of) - but certainly
no changes made by the shell will be reflected there.
To allow editline to obtain current values of environment
variables, add a new el_set()/el_get() "op" parameter value,
which can be used to instruct editline which function to use
for the purpose. That is EL_GETENV.
This is part of a (long pending, awaiting testing) fix for
PR bin/58609 - but I'm getting tired of having it sitting uncommitted
in my source tree - and I think this part is self contained,
and simple enough, to simply commit.
Eliminate recursive dependency on <sys/bswap.h> in MD <byte_swap.h>
On certain NetBSD archs, it isn't possible to include <sys/bswap.h>
directly without including <sys/endian.h> first. This has been
broken since at least before netbsd-10, but recent changes elsewhere
have made this problem more visible for some reason.
Fix this by not including <sys/types.h>, eliminating recursive
inclusion - <sys/types.h> includes <machine/endian.h>. It would
be nice to remove that line from types.h, since it's no longer
necessary, but currently the kernel assumes that <sys/endian.h> is
included from <sys/types.h> in various places (and possibly userspace
software does too).
For now we can take the less dangerous option by avoiding
including <sys/types.h> from these bswap headers. They don't need the
full header, and applications that assume transclusion aren't portable
anyway, since architectures like sparc64 don't include <sys/types.h>
via <sys/bswap.h>.
[2 lines not shown]