Commit Graph

24752 Commits

Author SHA1 Message Date
nixpkgs-ci[bot]
a6b2560cff Merge staging-next into staging 2025-10-15 18:06:33 +00:00
nixpkgs-ci[bot]
003c57b969 Merge master into staging-next 2025-10-15 18:05:52 +00:00
Wolfgang Walther
aed6e56f03 ocaml-ng: drop ocaml <=4.08 (#427222) 2025-10-15 17:12:42 +00:00
Emily
b6be8a03a7 haskell.compiler.ghc{948,967,984,9102,9103,9121,9122}: backport patches for LLVM support
LLVM 12–17 have been dropped for Nixpkgs 25.11. As discussed recently
on Matrix, this backports upstream changes to allow the use of
LLVM 20 for all GHC versions from 9.4.8 onward.

I looked over GHC commits mentioning LLVM since the release of 9.4.8,
and read the discussions and issues around the relevant bumps, and
attempted to be quite thorough, but I obviously cannot guarantee that
this is wholly comprehensive. It seems like upstream generally bumps
the upper bound on the basis of “it builds successfully for me”,
with specific adaptations for new versions being fairly uncommon and
only coming for obvious build blockers or reactively in response to
bug reports. I have backported both kinds of changes here.

For some commits, trivial conflict resolutions and adaptations
were required. It would be possible to pass the affected files to
`fetchpatch` as `excludes` and keep smaller fix‐up patches in tree in
some cases, but I opted to keep it simple and vendor complete backport
patches instead. I did not attempt to backport every single change to
the LLVM backend, only those that seemed directly relevant to support
for newer versions; if you’d get the same issue with the older LLVM,
that’s just a GHC bug.

These changes should actually make it easier to cross‐compile for
new architectures, as more recent LLVMs will have better support for
newer platforms, and it will be easier to backport GHC changes to
enable new platforms with less drift in the backend.

These patches do result in two breaking changes. Firstly, the minimum
LLVM version is bumped to 13 across the board. This is irrelevant for
Nixpkgs as we pin a specific LLVM version anyway, and versions below
LLVM 18 will be removed imminently. Secondly, support for the hidden
`-fno-llvm-tbaa` flag is dropped. This can be replaced with custom
`-optlo` flags to control the passes more directly, but the main
use of this undocumented flag appears to have been to [work around]
the lack of support for newer LLVM versions, anyway.

[work around]: <https://gitlab.haskell.org/ghc/ghc/-/issues/22220>

I successfully built the following on `aarch64-linux`:

* `pkgsCross.armv7l-hf-multiplatform.buildPackages.haskell.compiler.ghc948`
* `pkgsCross.armv7l-hf-multiplatform.buildPackages.haskell.compiler.ghc967`
* `pkgsCross.armv7l-hf-multiplatform.buildPackages.haskell.compiler.ghc984`
* `pkgsCross.armv7l-hf-multiplatform.buildPackages.haskell.compiler.ghc9102`
* `pkgsCross.armv7l-hf-multiplatform.buildPackages.haskell.compiler.ghc9121`
* `pkgsCross.armv7l-hf-multiplatform.buildPackages.haskell.compiler.ghc9122`
* `pkgsCross.riscv64.haskell.compiler.ghc948`

The GHC 9.4.8 with an ARMv7 host platform segfaults when I try to run
GHC, though e.g. `ghc-pkg --help` runs successfully. The GHC 9.10.3
build targeting ARMv7 crashed inside `llc(1)`, so I tried RISC‐V,
which has some platform mismatch issue relating to `libffi`, so I
tried z/Architecture, which failed with an invalid floating point
constant in the LLVM IR, so I tried 64‐bit MIPS, which failed with
a different `libffi` issue, so I tried 32‐bit MIPS, which failed
to compile `compiler-rt`, so I gave up. I confirmed that both of the
ARMv7 issues reproduce with 944e8fd4f4,
the revision before they were bumped from their old versions of LLVM,
so these are not regressions.

I built a test program with the ARMv7 cross‐compilers and
confirmed that they run on the AArch64 builder. I also confirmed
that the cross‐compiled RISC‐V GHC successfully runs under
`qemu-riscv64(1)`. It will only try to build programs via the C
backend, though, as that is the only option for unregisterised™
targets, so it’s not clear to me how useful LLVM support in 9.4.8
really is for bootstrapping new platforms; I guess even RISC‐V
would require more backporting work to produce a cross‐compiled
GHC that will use LLVM to compile its own input. I didn’t bother
setting up all the binfmt machinery to get it through compiling and
running a test program, but it at least makes the attempt.
2025-10-15 16:25:12 +01:00
Wolfgang Walther
0b63c854c7 haskell.compiler.ghc9121: drop
Latest 9.12.x minor release is 9.12.2, which is also in Stackage Nightly
2025-09-01.

Thus, dropping according to the GHC Deprecation Policy.
2025-10-15 15:12:33 +02:00
sternenseemann
149b99fab0 haskell.compiler.ghc984Binary: drop unnecessary libnuma dep
ghc902Binary's rts.conf indeed prescribes linking against numa for
aarch64-linux, but this is not the case with the later bindists we have
been providing numa for.

(cherry picked from commit 347062bef5)
2025-10-15 15:05:56 +02:00
Emily
58799a0f1a haskell.compiler.ghc924Binary: drop
(cherry picked from commit c9c7344657)
2025-10-15 15:05:53 +02:00
Wolfgang Walther
95d6e417ca haskell.compiler.ghc963Binary: drop
This bootstraps mostly from ghc984Binary, at least for the major
platforms. The bootstrap paths for darwin become much shorter.
Unfortunately, the bootstrap paths for i686-linux become a bit longer,
so it's a trade-off.

(cherry picked from commit 5df6c9a28f)
2025-10-15 15:05:40 +02:00
Wolfgang Walther
ab3b9e8495 haskell.compiler.ghc9101: drop
Latest 9.10.x minor release is 9.10.2, which is also in Stackage 24.8.

Thus, dropping according to the GHC Deprecation Policy.

(cherry picked from commit ac5228c6c0)
2025-10-15 15:05:21 +02:00
Wolfgang Walther
2cf9e1aaae compilers/ghc/common-hadrian: remove unused condition
Hadrian is only used for GHC 9.6+ anyway.

(cherry picked from commit 14488d4051)
2025-10-15 15:05:13 +02:00
ghpzin
9c6b1bde8f haskell.compiler.ghc{948,967,984,9101,9121,9122}: fix build with gcc15
- add patch from fedora (rebase of latest fix from upstream):
https://gitlab.haskell.org/ghc/ghc/-/issues/25662
https://gitlab.haskell.org/ghc/ghc/-/merge_requests/13863

ghc versions excluded from patch:
9.10.2 - has previous fix with `extern void* malloc(size_t);`
9.10.3 - has latest fix with `#include <stdlib.h>`
9.12.3 - has latest fix with `#include <stdlib.h>`

Fixes build failure with gcc15, building utils/hp2ps/Utilities.c:
```
utils/hp2ps/Utilities.c:6:14: error:
warning: conflicting types for built-in function ‘malloc’;
expected ‘void *(long unsigned int)’ [-Wbuiltin-declaration-mismatch]
        6 | extern void* malloc();
          |              ^~~~~~
...
utils/hp2ps/Utilities.c:92:18: error:
warning: conflicting types for built-in function ‘realloc’;
expected ‘void *(void *, long unsigned int)’ [-Wbuiltin-declaration-mismatch]
       92 |     extern void *realloc();
          |                  ^~~~~~~
```

(cherry picked from commit 02746ead92)
2025-10-15 15:05:12 +02:00
nixpkgs-ci[bot]
65442c44e7 Merge staging-next into staging 2025-10-15 12:55:45 +00:00
nixpkgs-ci[bot]
ce0844a584 Merge master into staging-next 2025-10-15 12:55:06 +00:00
David McFarland
4d731f56cd dotnetCorePackages.dotnet_10.vmr: 10.0.0-rc.1 -> 10.0.0-rc.2 2025-10-15 09:12:25 -03:00
Wolfgang Walther
33735c24b9 Merge branch 'haskell-updates' into staging 2025-10-15 13:54:11 +02:00
David McFarland
722fa190e6 dotnetCorePackages.dotnet_9.vmr: 9.0.9 -> 9.0.10 2025-10-15 08:43:08 -03:00
David McFarland
ac5fa53e1d dotnetCorePackages.dotnet_8.vmr: 8.0.20 -> 8.0.21 2025-10-15 08:43:08 -03:00
David McFarland
46598b027c dotnetCorePackages.sdk_10_0-bin: 10.0.100-rc.1.25451.107 -> 10.0.100-rc.2.25502.107 2025-10-15 08:43:08 -03:00
David McFarland
90d86c1f9d dotnetCorePackages.sdk_9_0-bin: 9.0.305 -> 9.0.306 2025-10-15 08:43:08 -03:00
David McFarland
fd483c94c3 dotnetCorePackages.sdk_8_0-bin: 8.0.414 -> 8.0.415 2025-10-15 08:43:08 -03:00
David McFarland
4726dc86b6 dotnet: update script fixes for october 2025 releases 2025-10-15 08:43:07 -03:00
Wolfgang Walther
1144a82de5 Merge commit '886babdb9c62195fd4def9f30f8f690758aea3fd' into haskell-updates 2025-10-15 11:23:02 +02:00
nixpkgs-ci[bot]
3834f731a1 Merge staging-next into staging 2025-10-15 06:34:32 +00:00
K900
f2166b5bff Merge remote-tracking branch 'origin/master' into staging-next 2025-10-15 09:27:11 +03:00
nixpkgs-ci[bot]
1a2d5b6fc9 Merge master into staging-nixos 2025-10-15 06:08:05 +00:00
Fabián Heredia Montiel
5104df7a20 gcc: drop libstdc++ patch (#445308) 2025-10-14 22:01:54 -06:00
7c6f434c
29454f1b32 sbcl: disable tests that fail on Darwin (#452044) 2025-10-15 01:26:34 +00:00
Tristan Ross
20158056cd zig: 0.15.1 -> 0.15.2 (#451789) 2025-10-14 22:01:03 +00:00
Sarah Clark
26be9f6da2 sbcl: disable tests that fail on Darwin 2025-10-14 13:00:56 -07:00
Weijia Wang
36c4abcd83 ocaml-ng: drop ocaml <=4.08 2025-10-14 20:57:37 +02:00
sternenseemann
347062bef5 haskell.compiler.ghc984Binary: drop unnecessary libnuma dep
ghc902Binary's rts.conf indeed prescribes linking against numa for
aarch64-linux, but this is not the case with the later bindists we have
been providing numa for.
2025-10-14 11:52:20 +02:00
nixpkgs-ci[bot]
f38ce7a3f7 Merge staging-next into staging 2025-10-14 08:48:06 +00:00
K900
ac05cbcaa7 Merge remote-tracking branch 'origin/master' into staging-next 2025-10-14 11:45:17 +03:00
Paul Meyer
12dc00481e go_1_24: 1.24.8 -> 1.24.9 (#451814) 2025-10-14 06:35:18 +00:00
nixpkgs-ci[bot]
a7c24797a7 Merge staging-next into staging 2025-10-14 06:06:40 +00:00
nixpkgs-ci[bot]
c777510284 Merge master into staging-next 2025-10-14 06:06:00 +00:00
Vincent Laporte
9b2025ae33 ocaml-ng.ocamlPackages_5_4: init at 5.4.0 (#449330) 2025-10-14 04:39:54 +00:00
zowoq
ef91ac861d go_1_24: 1.24.8 -> 1.24.9
Changelog: https://go.dev/doc/devel/release#go1.24
2025-10-14 09:15:52 +10:00
Leon Klingele
b80587454a go_1_25: 1.25.2 -> 1.25.3 2025-10-13 23:29:44 +02:00
Emily
5923f1f1e2 haskell.compiler.ghc948: don’t patch both aclocal.m4 and configure
`autoreconfHook` will handle the latter now.
2025-10-13 22:02:27 +01:00
Emily
6664f3137c haskell.compiler.ghc948: use autoreconfHook
This matches the Hadrian build, and will be required for the LLVM
support backports.
2025-10-13 22:01:55 +01:00
Emily
7d28e619b4 haskell.compiler.ghc948: drop obsolete configure patch
This string is not present in GHC 9.4.8’s `configure` script.
2025-10-13 22:00:42 +01:00
Jost Alemann
f42908626b zig: 0.15.1 -> 0.15.2
Diff: https://github.com/ziglang/zig/compare/0.15.1...0.15.2

While this is mostly a bug fix release, there is at least one breaking
change (see:
https://zsf.zulipchat.com/#narrow/channel/454371-std/topic/.E2.9C.94.20is.20takeDelimiterExclusive.20broken.3F/with/544414196)
2025-10-13 22:48:34 +02:00
Emily
c9c7344657 haskell.compiler.ghc924Binary: drop 2025-10-13 18:37:53 +01:00
Wolfgang Walther
5df6c9a28f haskell.compiler.ghc963Binary: drop
This bootstraps mostly from ghc984Binary, at least for the major
platforms. The bootstrap paths for darwin become much shorter.
Unfortunately, the bootstrap paths for i686-linux become a bit longer,
so it's a trade-off.
2025-10-13 18:23:47 +02:00
Wolfgang Walther
ac5228c6c0 haskell.compiler.ghc9101: drop
Latest 9.10.x minor release is 9.10.2, which is also in Stackage 24.8.

Thus, dropping according to the GHC Deprecation Policy.
2025-10-13 18:23:30 +02:00
Wolfgang Walther
14488d4051 compilers/ghc/common-hadrian: remove unused condition
Hadrian is only used for GHC 9.6+ anyway.
2025-10-13 15:26:13 +02:00
Tristan Ross
baad0182f1 llvmPackages_git: 22.0.0-unstable-2025-10-05 -> 22.0.0-unstable-2025-10-12 2025-10-12 22:13:34 -07:00
Alexandre Esteves
cac97ad6f6 haskellPackages: fix executables built for ghcjs 2025-10-13 03:12:11 +01:00
Marie Ramlow
72155d28e2 rust: 1.89.0 -> 1.90.0 2025-10-12 13:24:19 +02:00