libcaca tries to access a private API that is no longer available. It
worked before the SDK changes because no Darwin frameworks were
available in the build environment, but there is now always an SDK
available, causing it to try to build Cocoa code that no longer works.
After the CoreFoundation hook was dropped, bacula requires the following
changes to build on Darwin:
* Ensure bacula links CoreFoundation. Override incorrectly failing
`configure` tests and add gettext as a build input. Even if those
tests pass, bacula only links CoreFoundation when it finds libintl.
* Add Kerberos framework. Required to build on x86_64-darwin.
This is a program written in a memory‐unsafe language that processes
potentially‐untrusted user input. We shouldn’t disable upstream’s
sandboxing mechanisms for all downstream consumers without good
reason.
Although the sandbox API is officially marked as deprecated, it is
used as the basis for the supported App Sandbox and it is extremely
unlikely to ever be removed as it is used extensively throughout
the OS for service hardening and by third parties like the Chrome
sandbox. Nix itself uses it to sandbox builds, and its lack of support
for nesting is why this caused problems in the first place. Instead,
introduce a `lowdown-unsandboxed` package that can be used in the
`nativeBuildInputs` of Nix builds, while keeping the sandboxed
version of the program for general use. The name might not be ideal,
as it remains identical to `lowdown` on non‐Darwin platforms,
but I couldn’t think of a better one.
See: #125004Closes: #346933
I needed to use `git send-email`, and I wanted an MTA that
supported JMAP to use with it. We already package `mujmap`, but
even after bumping it to the latest Git commit to deal with Fastmail
authentication changes, it choked on the beautiful UTF‐8 email I
created. Enter this random Go tool from a random SourceHut repository
that did just the trick.
Without these type stubs installed auto-completion for the `cv2` module
will not be available and diagnostics may not be accurate.
This is especially notable in a devshell using `mkShell` and `python3.withPackages`
leading to editors such as Neovim having a poor development experience.