https://github.com/emscripten-core/emscripten/blob/6.0.5/ChangeLog.md
Upstream moved EXPECTED_LLVM_VERSION from 23 to 24 in this range, so the
hardcoded sed matched nothing and left the check set to 24 while this
package supplies LLVM 22. Replace the sed with substituteInPlace
--replace-fail and take the value from llvmPackages, so a future upstream
change to this constant stops the build instead of passing silently.
I have effectively renounced on maintaining all these packages and I do
not plan to return them except if I'm forced to.
I am also fine with most of these packages being dropped for next
releases if no maintainer shows up.
Change-Id: I8d167c8029b6991181bd7a094af21c3313af2b51
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
This commit was created by a combination of scripts and tools:
- an ast-grep script to prefix things in meta with `lib.`,
- a modified nixf-diagnose / nixf combination to remove unused `with
lib;`, and
- regular nixfmt.
Co-authored-by: Wolfgang Walther <walther@technowledgy.de>
As a workaround for https://github.com/NixOS/nixpkgs/issues/282509,
packages built with `emscriptenStdenv` need to set the `EM_CACHE`
environment variable to a folder in the build directory, so that
emscripten uses a copy of the sysroot cache instead of attempting to
write to the sysroot in the Nix store. However, due to the bug
https://github.com/emscripten-core/emscripten/issues/24404, the copied
cache has the same permission bits as the (readonly) one in the Nix
store, resulting in "Permission Denied" errors.
This bug has since been fixed in upstream emscripten, so we can backport
the relevant patches.
This reverts commit 65a333600d.
This wasn't tested for correctness with something like fodwatch [0],
and should not have been (self-)merged so quickly, especially without
further review.
It also resulted in the breakage of at least one package [1] (and that's
the one we know of and was caught).
A few packages that were updated in between this commit and this revert
were not reverted back to using `rev`, but other than that, this is a
1:1 revert.
[0]: https://codeberg.org/raphaelr/fodwatch
[1]: https://github.com/NixOS/nixpkgs/pull/396904 / 758551e458
After final improvements to the official formatter implementation,
this commit now performs the first treewide reformat of Nix files using it.
This is part of the implementation of RFC 166.
Only "inactive" files are reformatted, meaning only files that
aren't being touched by any PR with activity in the past 2 months.
This is to avoid conflicts for PRs that might soon be merged.
Later we can do a full treewide reformat to get the rest,
which should not cause as many conflicts.
A CI check has already been running for some time to ensure that new and
already-formatted files are formatted, so the files being reformatted here
should also stay formatted.
This commit was automatically created and can be verified using
nix-build a08b3a4d19.tar.gz \
--argstr baseRev 57b193d8dd
result/bin/apply-formatting $NIXPKGS_PATH
If not set, attempts to use emscripten fails when acorn is missing as a
dependency. These, from emscripten-node-modules, need to be available at
runtime.
For the GHC JavaScript backend, we'll use emscripten in place of
targetCC. To avoid having too much special logic for this, we'll make
the emscripten derivation look like the result of wrapCC as far as GHC
is concerned, i.e. we need targetPrefix and bintools.
For bintools, we'll just reexpose emscripten, as it has emar, the only
relevant bintools. That the other ones are missing doesn't matter in
practice, as the GHC build system won't attempt to use them.
targetPrefix can immediately be (ab)used to make sure GHC will correctly
call emcc etc. instead of plain cc.