* Don't allow PONYPATH to override standard library (PR #3780)
* Fix bug where Flags.remove could set flags in addition to unsetting them (PR #3777)
* Allow Flags instances to be created with a set bit encoding (PR #3778)
* Fix "iftype" expressions not being usable in lambdas or object literals (PR #3763)
* Fix code generation for variadic FFI functions on arm64 (PR #3768)
The library override that was present in the code referred to a
name that isn't even used in current GHC bindists.
Tested with:
NIX_PATH=nixpkgs=. nix-build --no-link -A haskell.compiler.ghc8102Binary --argstr system i686-linux
- AMD GPU packages: AMD removed support for the RX5x0 GPUs from ROCm, so
I cannot test these packages anymore.
- A small number of GUI packages: I switched back to macOS on the
desktop for work reasons, so I cannot easily test these.
- broot: I took over maintainership from someone else, but do not really
use broot.
smlnjBootstrap seems to exist as a workaround for a failing x86_64-darwin build
of regular smlnj. Now this is fixed, the workaround can be removed.
(aarch64-darwin is being actively worked on by the smlnj project, and currently
is supported by neither derivation.)
v0.4.0:
- Added gmp as a build dependency
- Removed bootstrap-test (test still available and more general)
- Renamed bootstrap-build to bootstrap (bootstrap previously did
bootstrap-build and bootstrap-test)
With sphinx 4, interpreting the conf.py fails due to a decode
error: https://gitlab.haskell.org/ghc/ghc/-/issues/19962
The fix is an one line change which we have to backport from GHC
master.
9.2 and 8.10.6 will have a fix for this, GHC 9.0.1 and ghcHEAD
already have and GHC 8.10.4 has been patched in nixpkgs already.
With sphinx 4, interpreting the conf.py fails due to a decode
error: https://gitlab.haskell.org/ghc/ghc/-/issues/19962
The fix is an one line change which we have to backport from GHC master.
Thus ghcHEAD is not affected by this problem.
9.2 and 8.10.6 will most likely have a fix for this.
TODO: Patch 8.8.4 and 9.0.1
This is because MosML needs the bin/camlrunm binary to have a
carefully calibrated RPATH pointing at its installation directory, and
patchelf will remove this.
Without this fix, MosML cannot dynamically load its own libraries
(most notably the "Unix" module).
#59372 was replaced with #98304, which was merged as
74c5472090, so I'm following the
instructions in the comment and enabling the updateScript. Seems to work.
llvm/gnu-install-dirs.patch: I've dropped most of the changes to
docs/CMake.rst as they aren't relevant for Nixpkgs and the restructuring
of that file makes it a bit annoying to resolve them via Git.
* compcert: preparation to move in coqPackages
* compcert: move into coqPackages
* compcert: remove version 3.7
As a consequence, also remove VST version 2.6
These were broken.
This also fixes the libunwind build (even with GCC 11 it fails with):
/build/source/libunwind/src/libunwind.cpp:19:5: warning: "__has_feature" is not defined, evaluates to 0 [-Wundef]
19 | #if __has_feature(address_sanitizer)
| ^~~~~~~~~~~~~
/build/source/libunwind/src/libunwind.cpp:19:18: error: missing binary operator before token "("
19 | #if __has_feature(address_sanitizer)
| ^
And the openmp build which failed with this error:
/nix/store/a4yw1svqqk4d8lhwinn9xp847zz9gfma-bash-4.4-p23/bin/bash: CLANG_TOOL-NOTFOUND: command not found
/nix/store/a4yw1svqqk4d8lhwinn9xp847zz9gfma-bash-4.4-p23/bin/bash: CLANG_TOOL-NOTFOUND: command not found
make[2]: *** [libomptarget/deviceRTLs/amdgcn/CMakeFiles/libomptarget-amdgcn-gfx906.dir/build.make:307: libomptarget/deviceRTLs/amdgcn/task.gfx906.bc] Error 127
make[2]: *** [libomptarget/deviceRTLs/amdgcn/CMakeFiles/libomptarget-amdgcn-gfx900.dir/build.make:307: libomptarget/deviceRTLs/amdgcn/task.gfx900.bc] Error 127
Okay, GCC might not technically support _every_ platform in
platforms.unix, but I think it would be easier to subtract those as
they're discovered, if that even matters, rather than trying to
exhaustively list every Unix it does support.
(I ran into this because I wanted to build GCC for NetBSD, which it
definitely supports.)
* reason: refactoring
* reason: add superherointj as maintainer
* reason: ppxlib migration
Migrate from ocaml-migrate-parsetree to ppxlib fixing conflicts in downstream dependencies.
* reason: add downloadPage to meta
* reason: removed maintainer volth by his request
* reason: add test hello
useLdGold previously just checked for useLLVM which (currently) implies
`linker == "lld"`. However more accurate is to check the `linker` of the
`targetPlatform` as it actually tells us which bintools package we can
expect.
`linker == "bfd"` implies that we are using the `binutils` package, so
gold is available, so we can use it unless musl is the libc. `linker ==
"gold"` implies that gold is the default linker already and we should
absolutely use it.
GHC calls otool on darwin which is contained in the
stdenv.cc.bintools.bintools derivation and thus needs adding to the
runtime PATH of GHC. Since this is toolchain specific technically, we
check for cctools instead of darwin (although I don't know if GHC
or nixpkgs work on macOS without cctools).
This fixes usage of GHC in an environment where otool is not available
and more specifically in stdenvNoCC which is used by writers.writeHaskell.
Resolves#123228.
A patch has been added to inject environment variables into the CMake
test runner, the `INCLUDE_PATH` variable has been specified, and the
merged LLVM derivation has been updated to refer to the split outputs.
Contains the combined single-commit work by both @jnetod and myself
from NixOS/nixpkgs#122665. Brings the build up to LLVM 10, switches to
`symlinkJoin` for putting Clang where the CMake build expects it, and
updates to a fresh update of Terra that works around a few LLVM bugs.
* Fix NullablePointer type constraint check being omitted in FFI declarations
* Change to Steed's model of subtyping
* Fix memory corruption with Array.chop and String.chop
* Improve error message for match on structs
* RFC 68: Mandatory FFI declarations
* Change return type of String.add to String iso^
* Improve error message on destructuring of non-tuple types
* Use built-in offset argument to cpointer
* Add IsPrime checker to math package
* Fix compiler crash related to type parameter references
* Fix literal inference through partial function
* Fix partial FFI declarations ignoring partial annotation
* Fix symbol table patching for overriding default methods
* Fix tuple related compiler segfaults
* Create a standalone libponyc on Linux
The version will initially remain the same so that no additional changes
to the packaging are required (i.e. this commit only includes the
required changes to build from the mono repository instead of individual
tarballs).
The purpose of this package is to continuously improve the LLVM
packaging in Nixpkgs without causing a lot of rebuilds and provide more
recent LLVM builds for users. For more details see:
https://github.com/NixOS/nixpkgs/issues/114828
```
/tmp/nix-build-compiler-rt-libc-12.0.0.drv-0/compiler-rt-12.0.0.src/lib/sanitizer_common/sanitizer_mac.cpp:617:7: error: use of undeclared
identifier 'TARGET_OS_IOS'
if (TARGET_OS_IOS || TARGET_OS_TV) return 6;
^
/tmp/nix-build-compiler-rt-libc-12.0.0.drv-0/compiler-rt-12.0.0.src/lib/sanitizer_common/sanitizer_mac.cpp:617:24: error: use of undeclared
identifier 'TARGET_OS_TV'
if (TARGET_OS_IOS || TARGET_OS_TV) return 6;
^
/tmp/nix-build-compiler-rt-libc-12.0.0.drv-0/compiler-rt-12.0.0.src/lib/sanitizer_common/sanitizer_mac.cpp:618:7: error: use of undeclared
identifier 'TARGET_OS_WATCH'
if (TARGET_OS_WATCH) return 13;
^
/tmp/nix-build-compiler-rt-libc-12.0.0.drv-0/compiler-rt-12.0.0.src/lib/sanitizer_common/sanitizer_mac.cpp:687:7: error: use of undeclared
identifier 'TARGET_OS_IOS'
if (TARGET_OS_IOS || TARGET_OS_TV)
^
/tmp/nix-build-compiler-rt-libc-12.0.0.drv-0/compiler-rt-12.0.0.src/lib/sanitizer_common/sanitizer_mac.cpp:687:24: error: use of undeclared
identifier 'TARGET_OS_TV'
if (TARGET_OS_IOS || TARGET_OS_TV)
^
/tmp/nix-build-compiler-rt-libc-12.0.0.drv-0/compiler-rt-12.0.0.src/lib/sanitizer_common/sanitizer_mac.cpp:689:12: error: use of undeclared
identifier 'TARGET_OS_WATCH'
else if (TARGET_OS_WATCH)
^
6 errors generated.
```
The test suite leads to nothing but tears, sorrow, and wasted build
time. It probably should be disabled for all of them but doing only
9 (llvmPackages) and 11 (llvmPackages_latest, Rust) for now. Some of
the failures have been fixed in LLVM main:
- https://reviews.llvm.org/D97490
- https://reviews.llvm.org/D91043
This change introduces the cargoLock argument to buildRustPackage,
which can be used in place of cargo{Sha256,Hash} or cargoVendorDir. It
uses the importCargoLock function to build the vendor
directory. Differences compared to cargo{Sha256,Hash}:
- Requires a Cargo.lock file.
- Does not require a Cargo hash.
- Retrieves all dependencies as fixed-output derivations.
This makes buildRustPackage much easier to use as part of a Rust
project, since it does not require updating cargo{Sha256,Hash} for
every change to the lock file.
This function can be used to create an output path that is a cargo
vendor directory. In contrast to e.g. fetchCargoTarball all the
dependent crates are fetched using fixed-output derivations. The
hashes for the fixed-output derivations are gathered from the
Cargo.lock file.
Usage is very simple, e.g.:
importCargoLock {
lockFile = ./Cargo.lock;
}
would use the lockfile from the current directory.
The implementation of this function is based on Eelco Dolstra's
import-cargo:
https://github.com/edolstra/import-cargo/blob/master/flake.nix
Compared to upstream:
- We use fetchgit in place of builtins.fetchGit.
- Sync to current cargo vendoring.