Compare commits

..

516 Commits

Author SHA1 Message Date
nixpkgs-ci[bot]
a818f814f5 Merge 225a465eed into haskell-updates 2026-10-31 00:18:57 +00:00
nixpkgs-ci[bot]
2256b9387a Merge 4049f8550f into haskell-updates 2026-10-30 00:23:47 +00:00
nixpkgs-ci[bot]
a7dd475621 Merge 6a3a0c3215 into haskell-updates 2026-10-28 00:23:47 +00:00
Robert Hensing
eeb6469972 haskellPackages.hercules-ci-api: 0.8.4.0 -> 0.8.4.1 2026-10-26 14:51:33 +01:00
nixpkgs-ci[bot]
eccd13a4f6 Merge cb6a5a149f into haskell-updates 2026-10-26 00:31:30 +00:00
nixpkgs-ci[bot]
01c0ba0ade Merge ce239333e1 into haskell-updates 2026-10-25 00:31:48 +00:00
nixpkgs-ci[bot]
03a64f92d8 Merge 71a15cc15c into haskell-updates 2026-10-24 00:28:55 +00:00
nixpkgs-ci[bot]
fb29055f4b Merge 0efde09fa2 into haskell-updates 2026-10-23 00:30:33 +00:00
nixpkgs-ci[bot]
60271a8b7d Merge 5c801add8b into haskell-updates 2026-10-22 00:29:48 +00:00
nixpkgs-ci[bot]
335b5a747e Merge 4b3525d696 into haskell-updates 2026-10-21 12:51:37 +00:00
Wolfgang Walther
f7c4ade398 haskellPackages.{cachix-api,cachix,hnix-store-core}: use ram instead of memory (#576428) 2026-10-21 08:11:15 +00:00
nixpkgs-ci[bot]
740b8dcb6e Merge e73cff84c5 into haskell-updates 2026-10-21 00:28:29 +00:00
Troels Henriksen
36232bdf2f haskellPackages.{cachix-api,cachix,hnix-store-core}: use ram instead of memory
This is similar to the patch for yesod, and for the same reason. This will
become unnecessary once cachix and hnix-store-core are updated upstream.
2026-10-20 16:17:57 +02:00
nixpkgs-ci[bot]
8c29e20bf3 Merge f963bf7ac2 into haskell-updates 2026-10-20 00:29:29 +00:00
nixpkgs-ci[bot]
0eacd95577 Merge abcde644b5 into haskell-updates 2026-10-19 00:31:43 +00:00
nixpkgs-ci[bot]
463ef1205b Merge 5490bdd33d into haskell-updates 2026-10-17 00:28:25 +00:00
nixpkgs-ci[bot]
a6a529c8fc Merge 8f2c2c98fc into haskell-updates 2026-10-16 00:27:44 +00:00
Wolfgang Walther
55b3962e00 haskellPackages.haskell-debugger: use latest hackage release (#573027) 2026-10-15 07:27:17 +00:00
nixpkgs-ci[bot]
14348a23c2 Merge 982cb88083 into haskell-updates 2026-10-15 00:28:19 +00:00
Alexandre Esteves
e28e9abd86 haskellPackages.haskell-debugger: use latest hackage release 2026-10-15 01:02:49 +01:00
Michael Daniels
e2bb611455 Merge commit 'bc55bd404af4b0a6196227390b8668d58cd95a8b' into haskell-updates 2026-10-13 21:12:14 -04:00
nixpkgs-ci[bot]
45e87bd550 Merge 3bf343717d into haskell-updates 2026-10-12 00:38:02 +00:00
nixpkgs-ci[bot]
d2cb65bcc9 Merge 146f261f1d into haskell-updates 2026-10-11 00:36:52 +00:00
nixpkgs-ci[bot]
6859447807 Merge 9a32621949 into haskell-updates 2026-10-09 00:34:55 +00:00
nixpkgs-ci[bot]
7ca46d0eda Merge 5d8246672e into haskell-updates 2026-10-08 00:32:50 +00:00
nixpkgs-ci[bot]
8c1c85894e Merge 0853f890f0 into haskell-updates 2026-10-06 00:33:14 +00:00
nixpkgs-ci[bot]
44d26ca361 Merge 0449048ae2 into haskell-updates 2026-10-05 00:35:33 +00:00
nixpkgs-ci[bot]
54b987d8c8 Merge 320f064b7d into haskell-updates 2026-10-04 01:11:09 +00:00
Michael Daniels
a76c26b434 Merge commit 'aac8f9c77503ec932e8b39ea0616400907415100' into haskell-updates 2026-10-03 18:35:34 -04:00
Wolfgang Walther
9b6848f62f haskellPackages.strongweak: patch bounds (#567958) 2026-10-03 15:54:30 +00:00
Wolfgang Walther
dc9e0d20ce haskellPackages.niv: remove upstreamed patches (#567995) 2026-10-03 10:44:35 +00:00
nixpkgs-ci[bot]
2ce1183c22 Merge a1cb63a341 into haskell-updates 2026-10-02 00:33:18 +00:00
nixpkgs-ci[bot]
c463a22cf5 Merge f2e16882cd into haskell-updates 2026-10-01 00:37:42 +00:00
Lukas Epple
58b1c1e7b2 haskellPackages.*: add myself as maintainer for several tooling packages (#567999) 2026-09-30 18:50:27 +00:00
nixpkgs-ci[bot]
4e9d303214 Merge 62a5ba5837 into haskell-updates 2026-09-30 00:33:52 +00:00
nixpkgs-ci[bot]
8c408777ef Merge e63c96e6b5 into haskell-updates 2026-09-29 00:32:11 +00:00
Alexandre Esteves
e5b6d8f3e1 haskellPackages.*: add myself as maintainer for several tooling packages 2026-09-28 22:23:48 +01:00
Alexandre Esteves
f6e7a39f0f haskellPackages.niv: remove upstreamed patches 2026-09-28 20:46:28 +01:00
Alexandre Esteves
39bb946ab9 haskellPackages.strongweak: patch bounds 2026-09-28 18:32:41 +01:00
nixpkgs-ci[bot]
10c556d9f5 Merge e9227ddbcc into haskell-updates 2026-09-28 00:35:02 +00:00
Wolfgang Walther
08834b8684 haskellPackages.postgrest: 16.2 -> 16.4
Release Notes:
https://github.com/PostgREST/postgrest/releases/tag/v16.3
https://github.com/PostgREST/postgrest/releases/tag/v16.4
2026-09-27 16:23:33 +02:00
nixpkgs-ci[bot]
7becc5c071 Merge 103348c6ac into haskell-updates 2026-09-27 04:06:47 +00:00
nixpkgs-ci[bot]
4d13b5820e Merge 51db3848d0 into haskell-updates 2026-09-27 00:35:41 +00:00
nixpkgs-ci[bot]
6122ea20d4 Merge b7a3adaa10 into haskell-updates 2026-09-26 00:45:51 +00:00
nixpkgs-ci[bot]
9cc42eb5c8 Merge 4775b2ca8b into haskell-updates 2026-09-26 00:29:46 +00:00
nixpkgs-ci[bot]
5e4c3743cd Merge 8768f5db58 into haskell-updates 2026-09-25 00:31:15 +00:00
nixpkgs-ci[bot]
f7adf5c0d4 Merge 90445a1e69 into haskell-updates 2026-09-24 00:29:58 +00:00
Wolfgang Walther
2bdacfaa4c haskellPackages.polysemy-plugin: apply patch to support doctest 0.25 (#565610) 2026-09-23 20:10:37 +00:00
Alexandre Esteves
9dbebb99c5 haskellPackages.patch: patch bounds (#565191) 2026-09-23 17:56:41 +00:00
nixpkgs-ci[bot]
f09f58ca6a Merge 81a829cbe4 into haskell-updates 2026-09-23 00:28:55 +00:00
nixpkgs-ci[bot]
ab35d0b618 Merge 3c709b5b29 into haskell-updates 2026-09-22 00:30:51 +00:00
Alexandre Esteves
34a0be6bb3 haskellPackages.polysemy-plugin: apply patch to support doctest 0.25 2026-09-21 18:19:43 +01:00
Alexandre Esteves
3e2d7a6d37 haskellPackages.polysemy: apply patch to support doctest 0.25 2026-09-21 18:19:43 +01:00
Alexandre Esteves
f303b35faa haskellPackages.patch: patch bounds 2026-09-20 11:13:02 +01:00
nixpkgs-ci[bot]
8ac889673d Merge d65dd35cf7 into haskell-updates 2026-09-20 00:34:01 +00:00
sterni
7af48b251f haskellPackages.futhark-manifest: use 1.9.0.0 for futhark-0.27.1 2026-09-19 23:53:59 +02:00
Lukas Epple
12e04b8e03 haskell.packages.ghc9142.hie-bios: fix build (#563044) 2026-09-19 10:08:12 +00:00
Lukas Epple
7dbac9a4a1 haskellPackages.haskell-language-server: patch ormolu bound to build with 9.14 (#564220) 2026-09-19 10:07:23 +00:00
nixpkgs-ci[bot]
79054d3cd3 Merge dc581c9de5 into haskell-updates 2026-09-19 02:16:55 +00:00
nixpkgs-ci[bot]
92be4b6e0a Merge 872c024f59 into haskell-updates 2026-09-19 00:30:06 +00:00
nixpkgs-ci[bot]
26b43088a7 Merge b4b5d45e51 into haskell-updates 2026-09-18 00:30:15 +00:00
Lukas Epple
6b2339d605 haskellPackages: clean up arm overrides (#563642) 2026-09-17 19:18:33 +00:00
Alexandre Esteves
3cbcbea6a1 haskellPackages.haskell-language-server: patch ormolu bound to build with 9.14 2026-09-17 19:57:07 +01:00
Alexandre Esteves
eb894c16f4 haskellPackages: clean up arm overrides 2026-09-17 19:54:28 +01:00
Lukas Epple
960e1bbd3b haskell.compiler.ghc9142: 9.14.1.20260728 -> 9.14.1.20260916 (#564165) 2026-09-17 18:51:20 +00:00
Lukas Epple
b8bfd98b3a haskellPackages.proto3-suite: fix build (#563594) 2026-09-17 10:57:02 +00:00
sterni
c7e98d6afe haskell.compiler.ghc9142: 9.14.1.20260728 -> 9.14.1.20260916
https://www.haskell.org/ghc/blog/20260917-ghc-9.14.2-rc2-released.html
2026-09-17 12:28:25 +02:00
nixpkgs-ci[bot]
520aab6a26 Merge 3257a290dd into haskell-updates 2026-09-17 00:29:54 +00:00
nixpkgs-ci[bot]
1c34c7f6c3 Merge 7ec9d15cdf into haskell-updates 2026-09-16 00:30:01 +00:00
Alexandre Esteves
7defa9ebc8 haskellPackages.proto3-suite: support swagger2 2.9 2026-09-15 16:55:48 +01:00
Alexandre Esteves
3ed2c7e787 haskell.packages.ghc914.optparse-generic: apply bound patches 2026-09-15 16:18:38 +01:00
Alexandre Esteves
9aa7e277d0 haskellPackages.turtle: apply bound patches 2026-09-15 14:05:49 +01:00
Alexandre Esteves
e40ee4b4fa haskellPackages.proto3-wire: apply bound patches 2026-09-15 14:02:05 +01:00
nixpkgs-ci[bot]
c84a36caab Merge 8484e3cdbe into haskell-updates 2026-09-15 00:31:28 +00:00
nixpkgs-ci[bot]
28bfecf41a Merge 5148f6957f into haskell-updates 2026-09-14 00:33:45 +00:00
Alexandre Esteves
35a1854920 haskell.packages.ghc9142.hie-bios: fix build 2026-09-14 00:40:41 +01:00
Wolfgang Walther
92e8b1811e git-annex: repair build (#561874) 2026-09-13 17:17:54 +00:00
Wolfgang Walther
a7b06e028f haskellPackages.hie-bios: 0.19 -> 0.21 2026-09-13 19:24:06 +02:00
Wolfgang Walther
022a0ad933 haskellPackages.table-layout: jailbreak for QuickCheck 2.16 2026-09-13 19:23:18 +02:00
Wolfgang Walther
a0439ec2ba haskellPackages.pandoc: remove obsolete patch 2026-09-13 19:18:40 +02:00
Wolfgang Walther
d36781e24d haskellPackages: stackage Nightly 2026-09-01 -> Nightly 2026-09-13
all-cabal-hashes: 2026-09-02T14:06:22Z -> 2026-09-13T08:29:18Z

(generated by maintainers/scripts/haskell/update-package-set.sh)
2026-09-13 19:18:28 +02:00
nixpkgs-ci[bot]
a01c66acaf Merge 3a43353dd5 into haskell-updates 2026-09-12 00:29:23 +00:00
sterni
0b8ba6744d git-annex: repair build
- Update sha256 hash for latest release
- Pin magic to <= 1.1 as requested by upstream (API changes in 2.0 are
  quite big including fixes for concurrency issues in 1.1 that git-annex
  works around downstream).
- Add patch that uses ram over memory where necessary to support
  crypton >= 1.1 until upstream adds support (planned).
2026-09-10 12:30:16 +02:00
nixpkgs-ci[bot]
875a3a5dbe Merge 4170b86f20 into haskell-updates 2026-09-10 00:29:12 +00:00
nixpkgs-ci[bot]
40b76b77e7 Merge 4f8e723c59 into haskell-updates 2026-09-09 00:31:23 +00:00
nixpkgs-ci[bot]
dcbf4fd862 Merge cd4578ac64 into haskell-updates 2026-09-08 00:31:09 +00:00
nixpkgs-ci[bot]
af25c7891d Merge 8f5113b1bd into haskell-updates 2026-09-07 00:33:28 +00:00
Wolfgang Walther
ecc90485e0 postgrest: 14.16 -> 16.2 (#560240) 2026-09-06 18:31:51 +00:00
Lukas Epple
582a47d164 haskell.packages.ghc914.haskell-language-server: fix build (#560211) 2026-09-06 15:33:06 +00:00
Wolfgang Walther
35bbabcc81 haskell.packages.ghc914.haskell-language-server: fix build
Fixes the build for HLS on GHC 9.14 without support for hlint or
stylish-haskell, because these two don't support ghc-lib-parser 9.14.x,
yet.
2026-09-06 12:02:47 +02:00
Wolfgang Walther
02f183acd1 haskellPackages: unbreak packages
Generated with maintainers/scripts/haskell/unbreak.nu
2026-09-06 10:19:15 +02:00
Wolfgang Walther
3fb2ae8756 maintainers/scripts/haskell/unbreak: fix
Broken with a nushell update at some point.
2026-09-06 10:14:39 +02:00
Wolfgang Walther
c022230402 haskellPackages: regenerate packages
Generated with
maintainers/scripts/haskell/regenerate-hackage-packages.sh
2026-09-06 10:14:38 +02:00
nixpkgs-ci[bot]
0d161d6bf7 Merge f5f41d5cdf into haskell-updates 2026-09-06 00:33:50 +00:00
Wolfgang Walther
401a7b2ea1 postgrest: 14.16 -> 16.2
Release Notes:
- https://github.com/PostgREST/postgrest/releases/tag/v16.0
- https://github.com/PostgREST/postgrest/releases/tag/v16.1
- https://github.com/PostgREST/postgrest/releases/tag/v16.2
2026-09-05 23:17:42 +02:00
Wolfgang Walther
24d928ae66 haskellPackages.lzma-conduit: pick upstream patch to fix flaky failures (#560187) 2026-09-05 20:31:50 +00:00
Wolfgang Walther
6e8192fc92 haskellPackages: various cleanups in main.yaml (#560252) 2026-09-05 20:31:44 +00:00
sterni
2e8fa702e3 haskellPackages.lzma-conduit: pick upstream patch to fix flaky failures
Had to manually trim down the patch because filterdiff couldn't manage
filtering out just the changes in tests/…
2026-09-05 22:05:52 +02:00
Wolfgang Walther
b228fd3bc9 haskellPackages.servant-openapi3: jailbreak
Also drop dontCheck override, because tests pass.
2026-09-05 18:48:02 +02:00
Wolfgang Walther
14d9e11267 haskellPackages.store: disable tests 2026-09-05 18:39:13 +02:00
Wolfgang Walther
c745615671 haskellPackages: remove obsolete extra-packages
These are not referenced anymore.
2026-09-05 18:25:51 +02:00
Wolfgang Walther
1c75264348 haskellPackages.futhark: fix build 2026-09-05 18:07:10 +02:00
Wolfgang Walther
ebb10ffb74 haskellPackages.chs-cabal: fix build 2026-09-05 18:03:54 +02:00
Wolfgang Walther
abb4be61e6 haskellPackages.hasql-notifications: remove non-functional pin
It's unclear to me why this doesn't cause any changes in
hackage-packages.nix, but it certainly doesn't have any effect - we have
been building 0.2.5.0 before as well, and just fine.
2026-09-05 18:01:46 +02:00
Wolfgang Walther
4479c174f3 haskellPackages: remove some references to "LTS"
We use Nightly now, but the case still stands.
2026-09-05 18:01:01 +02:00
Wolfgang Walther
f3c6c12566 haskellPackages.mighttpd2: remove obsolete pin
Builds now.
2026-09-05 18:00:28 +02:00
Wolfgang Walther
f3f3cd0559 haskellPackages.x509-ocsp: fix build 2026-09-05 17:58:37 +02:00
Wolfgang Walther
d174047339 haskellPackages.http2-tls: fix build 2026-09-05 17:58:36 +02:00
Wolfgang Walther
257e6594e1 haskell.packages.ghc914.dependent-map: jailbreak 2026-09-05 15:13:34 +02:00
Wolfgang Walther
653400d170 haskell.packages.ghc914.tasty-hspec: jailbreak 2026-09-05 15:13:09 +02:00
Wolfgang Walther
65bb1f6dc7 haskell.packages.ghc914: move overrides to correct sections
We have those headers, so we might as well use them...
2026-09-05 13:52:53 +02:00
Wolfgang Walther
e7bb4f9d44 haskell.packages.ghc914: remove obsolete overrides
These build fine without overrides by now.
2026-09-05 13:50:36 +02:00
Wolfgang Walther
8b35ab5a46 haskellPackages: remove obsolete haskellLib. prefixes
There is a `with haskellLib` at the top everywhere.
2026-09-05 13:26:51 +02:00
Wolfgang Walther
b91a28c831 haskellPackages.puresat: update jailbreak 2026-09-05 13:13:04 +02:00
Wolfgang Walther
135ddd3065 haskell.packages.ghc912.patat: drop obsolete jailbreak
This seems to have been fixed. The build still fails, apparently due to
a pandoc update, but not due to a bound on time.
2026-09-05 13:13:03 +02:00
Wolfgang Walther
dfe7bd1c25 haskell.packages.ghc912: remove obsolete overrides specific to GHC 9.12
These all build fine without overrides now.
2026-09-05 13:13:02 +02:00
Wolfgang Walther
af7c2eea09 haskell.packages.ghc912.interpolate: drop obsolete override
GHC 9.12.1 and 9.12.2 have been dropped from Nixpkgs already, so this
won't ever take effect.
2026-09-05 13:13:02 +02:00
Wolfgang Walther
8c4ee9bc8c haskellPackages.pandoc: update test fixtures for djot-0.1.4.2 (#559974) 2026-09-05 11:05:12 +00:00
sterni
a9a8567628 haskellPackages.pandoc: update test fixtures for djot-0.1.4.2 2026-09-05 12:55:41 +02:00
Wolfgang Walther
e021218908 haskellPackages.haskell-language-server: build with cabal-install 3.14 (#546105) 2026-09-05 10:54:19 +00:00
Wolfgang Walther
8175001f58 haskellPackages.cabal-install-parsers: jailbreak in -common.nix 2026-09-05 12:31:21 +02:00
Wolfgang Walther
d6d0eb9bcd haskell.packages.{ghc96,ghc98}.haskell-language-server: fix build 2026-09-05 12:25:42 +02:00
Wolfgang Walther
4111be5b73 haskell.packages.ghc910.haskell-language-server: fix build 2026-09-05 12:25:41 +02:00
Wolfgang Walther
37ecebb9e4 haskell.packages.ghc910.cabal-add: disable test-suite 2026-09-05 12:25:40 +02:00
Wolfgang Walther
8597ae6ab7 haskell.packages.ghc94.haskell-language-server: remove left-over deps 2026-09-05 11:47:37 +02:00
Wolfgang Walther
8bf9cb3ab6 haskellPackages.haskell-language-server: remove outdated extensions override
Recent enough version is shipped by default now.
2026-09-05 11:47:36 +02:00
Alexandre Esteves
1027cca0b0 haskellPackages.haskell-language-server: build with cabal-install 3.14
cabal-add moved from cabal-install-solver to cabal-install itself in
0.2.1:
https://github.com/Bodigrim/cabal-add/blob/master/CHANGELOG.md#021
2026-09-05 11:24:22 +02:00
nixpkgs-ci[bot]
e665ed3e2d Merge 62f65fcdbd into haskell-updates 2026-09-05 00:29:35 +00:00
Wolfgang Walther
2d1fe98d85 haskell.packages.ghc910.haskell-language-server: run treefmt 2026-09-04 21:14:05 +02:00
Wolfgang Walther
41d990226a haskell.packages.ghc910.haskell-language-server: fix eval
apply-refact is marked broken for GHC 9.10. Previously, we did not add
the respective dependencies for this version. Now hackage-packages is
created with GHC 9.12 in mind, so they are added by default - and we
need to remove them for the bad version instead.
2026-09-04 20:29:36 +02:00
Wolfgang Walther
a007df4e16 haskellPackages.haskell-language-server: remove outdated comments 2026-09-04 20:23:57 +02:00
Wolfgang Walther
2b2a0aac02 haskell.packages.ghc914.ormolu: fix eval 2026-09-04 18:29:08 +02:00
nixpkgs-ci[bot]
7554ac32f6 Merge 4238030c5f into haskell-updates 2026-09-04 00:28:52 +00:00
Wolfgang Walther
854435d497 haskellPackages.extensions: default to GHC 9.12 compatible version (#559485) 2026-09-03 18:52:04 +00:00
sterni
667abdf0a6 haskellPackages.extensions: default to GHC 9.12 compatible version 2026-09-03 12:07:56 +02:00
Wolfgang Walther
5cbd2e121e haskellPackages: various fixes around Cabal 3.18 (#553005) 2026-09-03 09:49:38 +00:00
sterni
2bfd7ae693 haskellPackages.entropy: apply compat patch for Cabal 3.18
Note that this patch hasn't been merged/reviewed by upstream yet.
2026-09-03 11:38:20 +02:00
sterni
c7c781f9ad haskellPackages.cabal2nix-unstable: build against jailbroken hpack
Upstream hpack does not allow Cabal 3.18 yet, but builds without
modifications (see linked issue).
2026-09-03 11:37:39 +02:00
Wolfgang Walther
3ad3df3213 haskellPackages.enummapset: move override to configuration-common
The patch only comments out outdated test code, so applies for all GHC
versions.
2026-09-03 10:01:48 +02:00
nixpkgs-ci[bot]
76ae1ad467 Merge aef93b9d19 into haskell-updates 2026-09-03 00:31:46 +00:00
sterni
72169cece3 cabal-install: update overrides for version 3.18.*
Since 3.18 includes the relevant semaphore related patches, we can drop
a lot of extra logic.
2026-09-02 18:17:45 +02:00
sterni
cfda1c7ca7 haskellPackages.Cabal-hooks: build against Cabal == 3.18.* 2026-09-02 18:17:45 +02:00
sterni
f6a92561fc haskellPackages.Cabal_3_18_1_0: wire up with matching Cabal-syntax 2026-09-02 18:17:45 +02:00
sterni
9745c05cf8 haskellPackages.ghc-paths: allow compiling against Cabal 3.18
This is needed e.g. in the cabal-install overlay.
2026-09-02 18:17:45 +02:00
sterni
c94f146ea5 haskellPackages: stackage Nightly 2026-08-27 -> Nightly 2026-09-01
all-cabal-hashes: 2026-08-30T09:16:12Z -> 2026-09-02T14:06:22Z

(generated by maintainers/scripts/haskell/update-package-set.sh)
2026-09-02 18:10:58 +02:00
nixpkgs-ci[bot]
6c41d523f9 Merge 820d011531 into haskell-updates 2026-09-02 00:58:11 +00:00
nixpkgs-ci[bot]
944495f675 Merge 88ad3228bd into haskell-updates 2026-09-02 00:30:55 +00:00
Wolfgang Walther
3314fcd1d2 haskell.packages.ghc914.enummapset: fix tests with containers 0.8, adopt (#557565) 2026-09-01 07:15:02 +00:00
nixpkgs-ci[bot]
d78e1df3ac Merge f7488fa2ba into haskell-updates 2026-09-01 01:58:27 +00:00
Michael Daniels
0c42aa2b8b Merge commit '5e95c5b8ab022bcaa666866aabcf765f22df5c05' into haskell-updates 2026-08-31 21:48:35 -04:00
nixpkgs-ci[bot]
b9f877b238 Merge 810b033819 into haskell-updates 2026-08-31 00:34:10 +00:00
İlkecan Bozdoğan
11e0f4c678 haskellPackages.enummapset: add ilkecan to maintainers 2026-08-30 23:32:04 +03:00
İlkecan Bozdoğan
179eff5553 haskell.packages.ghc914.enummapset: fix tests with containers 0.8 2026-08-30 23:24:15 +03:00
Wolfgang Walther
e7f659cb57 haskellPackages.cabal2nix-unstable: 2.3.0-unstable-2026-06-23 -> 2.3.0-unstable-2026-08-21
Supports Cabal 3.18
2026-08-30 21:58:50 +02:00
Wolfgang Walther
edee302be2 haskellPackages.secp256k1-haskell: drop obsolete patch 2026-08-30 21:51:17 +02:00
Wolfgang Walther
677378b435 haskellPackages.dhall: drop obsolete patches 2026-08-30 21:45:22 +02:00
Wolfgang Walther
51f3af4a42 haskellPackages.yesod-static: patch to use ram over memory (#552197) 2026-08-30 19:31:03 +00:00
Wolfgang Walther
de6e972b4f haskellPackages.*: drop some inactive maintainers (#553837) 2026-08-30 14:20:48 +00:00
Wolfgang Walther
375f55b9dc haskellPackages: stackage Nightly 2026-08-08 -> Nightly 2026-08-27
all-cabal-hashes: 2026-08-09T03:01:25Z -> 2026-08-30T09:16:12Z

(generated by maintainers/scripts/haskell/update-package-set.sh)
2026-08-30 13:26:40 +02:00
nixpkgs-ci[bot]
b21c1bfba8 Merge 91bd06fd96 into haskell-updates 2026-08-30 00:33:36 +00:00
nixpkgs-ci[bot]
64cad13777 Merge b0aa699cd5 into haskell-updates 2026-08-29 00:28:06 +00:00
nixpkgs-ci[bot]
cea0d6d290 Merge d480fadb12 into haskell-updates 2026-08-27 01:35:58 +00:00
Wolfgang Walther
cbc29ba88a haskellPackages.hasktorch: jailbreak (#554074) 2026-08-26 19:34:38 +00:00
nixpkgs-ci[bot]
329a84bda4 Merge bb525e0730 into haskell-updates 2026-08-26 00:15:42 +00:00
Allen Du
039e7d4321 haskellPackages.ghc-typelits-extra: disable testing
tasty tests self-reference built typelits-extra package as a GHC module,
which doesn't work in Nix
2026-08-24 21:51:34 -04:00
Allen Du
895aa19bba haskellPackages.hasktorch: jailbreak
loosen bounds on doctest 0.25 -> 0.26. upstream changes merged
2026-08-24 21:35:23 -04:00
nixpkgs-ci[bot]
0e4dda44be Merge 2c6f56d024 into haskell-updates 2026-08-25 00:15:10 +00:00
nixpkgs-ci[bot]
3ba16f9b5e Merge 8150a74297 into haskell-updates 2026-08-24 00:14:53 +00:00
nixpkgs-ci[bot]
3df67b93de Merge f58bbc7ea2 into haskell-updates 2026-08-23 00:15:20 +00:00
nixpkgs-ci[bot]
8ed8d7cd2f Merge 2f3aa44ed8 into haskell-updates 2026-08-22 00:14:57 +00:00
nixpkgs-ci[bot]
2f153b164f Merge 748cffd26b into haskell-updates 2026-08-21 00:16:00 +00:00
nixpkgs-ci[bot]
f4290a712d Merge 2f6692f65c into haskell-updates 2026-08-20 00:14:50 +00:00
Wolfgang Walther
8125c8f952 haskellPackages: regenerate hackage-packages.nix 2026-08-19 08:57:05 +02:00
Wolfgang Walther
8fb5f5f8a0 haskellPackages: regenerate hackage-packages.nix after maintainer removal 2026-08-19 08:47:09 +02:00
Wolfgang Walther
fc0af5e28b haskellPackages.*: drop peti as maintainer
No reaction to pings in haskell related PRs for a long time.
2026-08-19 08:45:10 +02:00
Wolfgang Walther
a9d59c8d18 haskellPackages.*: drop ivanbrennan as maintainer
No reaction to pings in haskell related PRs for a long time.
2026-08-19 08:45:10 +02:00
Wolfgang Walther
13e05d0bc2 haskellPackages.*: drop dschrempf from some of their packages 2026-08-19 08:45:09 +02:00
Wolfgang Walther
8f7c86887d haskellPackages.*: drop Anton-Latukha as maintainer
No reaction to pings in haskell related PRs for a long time.
2026-08-19 08:45:08 +02:00
Wolfgang Walther
b29c6b8f9c tamarin-prover: drop thoughtpolice as maintainer
No reaction to pings in haskell related PRs for a long time.
2026-08-19 08:45:07 +02:00
Wolfgang Walther
55bbb3b7c9 haskellPackages.*: drop cdepillabout as maintainer from most packages
No reaction to pings in haskell related PRs for a long time.
2026-08-19 08:45:06 +02:00
Wolfgang Walther
b04bb80014 haskellPackages.*: drop poscat as maintainer
No reaction to pings in haskell related PRs for a long time.
2026-08-19 08:45:06 +02:00
Wolfgang Walther
93cb8fb139 haskellPackages.*: drop dalpd as maintainer
No reaction to pings in haskell related PRs for a long time.
2026-08-19 08:45:04 +02:00
Wolfgang Walther
0100807fdc haskellPackages.*: drop Gabriella439 as maintainer
No reaction to pings in haskell related PRs for a long time.
2026-08-19 08:45:04 +02:00
Wolfgang Walther
89e7632843 haskellPackages.*: drop arturcygan as maintainer
No reaction to pings in haskell related PRs for a long time.
2026-08-19 08:45:03 +02:00
Wolfgang Walther
2c5eb85631 haskellPackages.*: drop nomeata as maintainer
No reaction to pings in haskell related PRs for a long time.
2026-08-19 08:45:02 +02:00
nixpkgs-ci[bot]
6d4cf664be Merge e44a052fd9 into haskell-updates 2026-08-19 00:14:33 +00:00
Wolfgang Walther
8b057c40b5 haskell.packages.ghc914: misc fixes in preparation for HLS (#553336) 2026-08-18 07:53:04 +00:00
sterni
754e7391d2 haskell.packages.ghc914.generic-lens: disable doctests
It's not clear to me whether it is concerning that this test suite
fails.
2026-08-18 09:43:56 +02:00
sterni
1f46410e29 haskell.packages.ghc914.hie-compat: allow base >= 4.22 2026-08-18 09:43:56 +02:00
sterni
ffd5c0f686 haskell.packages.ghc914.ghc-trace-events: allow base >= 4.22 2026-08-18 09:43:51 +02:00
Wolfgang Walther
b3d151a51a haskellPackages.postgres-websockets: remove obsolete override 2026-08-18 09:22:16 +02:00
nixpkgs-ci[bot]
2f89f5073d Merge 991eb3e013 into haskell-updates 2026-08-18 00:14:48 +00:00
nixpkgs-ci[bot]
c4be39b04d Merge 8d2097f66c into haskell-updates 2026-08-17 00:14:27 +00:00
sterni
c3f4056d8d haskell.packages.ghc914.*rmolu: pick compatible versions 2026-08-16 16:17:06 +02:00
sterni
b455c9d332 haskell.packages.ghc914: move haskell-debugger overrides
Accidentally were in the jailbreaks section.
2026-08-16 16:17:06 +02:00
nixpkgs-ci[bot]
e1647a36da Merge 8c0d357b9f into haskell-updates 2026-08-16 00:15:12 +00:00
sterni
3f450dd19b haskellPackages.yesod-static: patch to use ram over memory
Otherwise, the package will not work together with crypton >= 1.1.
Since we know our version of crypton and, that memory will not be used,
we end up with a very simple patch.
2026-08-15 17:10:55 +02:00
Lukas Epple
841b8f5979 haskell.packages.ghc914: test more packages (#552232) 2026-08-15 12:22:36 +00:00
nixpkgs-ci[bot]
4cd1cda986 Merge 1055f58374 into haskell-updates 2026-08-15 00:14:42 +00:00
Wolfgang Walther
ad3c53a521 darcs: allow tls >= 2.2, http-client-tls >= 0.4 (#552277) 2026-08-14 08:19:04 +00:00
nixpkgs-ci[bot]
5bf4154b18 Merge d9507283e6 into haskell-updates 2026-08-14 00:26:30 +00:00
sterni
b519de25a3 haskell.compiler.ghcHEAD: 10.1.20260514 -> 10.1.20260810 2026-08-13 23:06:23 +02:00
sterni
eaa79b902b darcs: allow tls >= 2.2, http-client-tls >= 0.4 2026-08-13 14:30:34 +02:00
sterni
79f8691e65 darcs: move fgl dep removal into patch 2026-08-13 14:30:34 +02:00
Lukas Epple
3aa4d2d68f haskellPackages: Fix multiple packages maintained by turion (#549454) 2026-08-13 11:35:04 +00:00
sterni
c3d77c8517 Revert "haskell.packages.ghc914: 9.14.1 -> 9.14.1.20260728"
This partially reverts commit 36a316ea88.

Reason for revert: GHC 9.14.2-rc1 breaks a lot of stuff due to
breaking changes in core libs with few fixes for actual packages
available at the moment. Thanks to release-haskell.nix (which
isn't changed by this revert), we should have good visibility
on the state of regressions either way.
2026-08-13 13:30:48 +02:00
sterni
5d1e564405 top-level/release-haskell.nix: add jobs for GHC-9.14.2-rc1 2026-08-13 13:29:18 +02:00
sterni
e58f85ec8d top-level/release-haskell.nix: test more packages on GHC 9.14.1 2026-08-13 12:48:25 +02:00
sterni
877e5290de top-level/release-haskell.nix: test ghc-exactprint for more versions
Since this package has nontrivial overrides for many versions, it's
probably good to add an explicit job.
2026-08-13 12:48:25 +02:00
sterni
4be3abfe1f haskell.packages.ghc914.ghc-lib*: use ver compatible w/ GHC 9.14.1 2026-08-13 12:48:25 +02:00
sterni
5a6a8cded2 haskell.packages.ghc914.ghc-exactprint: adjust to 1.14.0.0 -> 1.14.1.0 2026-08-13 12:48:24 +02:00
sterni
f25caecf7a cabal-install: update haveSemaphoreCompat200 for GHC 9.14.2-rc1
GHC >= 9.14.2 will distribute semaphore-compat >= 2.0.0.
2026-08-13 12:48:24 +02:00
Manuel Bärenz
dbb43d1da6 haskellPackages.monad-schedule: Remove turion as maintainer, comment as unmaintained 2026-08-13 12:35:56 +02:00
Manuel Bärenz
86b532d04c haskellPackages.essence-of-live-coding-warp: disable test suite
The warp test suite runs an HTTP server that needs the threaded RTS, but is
missing ghc-options: -threaded. Fixed upstream in
https://github.com/turion/essence-of-live-coding/pull/153.

Assisted-by: Claude Code (Claude Opus 4.8)
2026-08-13 12:35:56 +02:00
Manuel Bärenz
08f8496ff9 haskellPackages.rhine: disable test suite
Test suite has a too-strict bound QuickCheck <2.16, but nightly ships 2.16.
Bumped upstream in https://github.com/turion/rhine/pull/449.

Assisted-by: Claude Code (Claude Opus 4.8)
2026-08-13 12:35:56 +02:00
Manuel Bärenz
ab222dd942 haskellPackages.monad-schedule: disable test suite
Test suite has a too-strict bound QuickCheck <2.16, but nightly ships 2.16.
Bumped upstream in https://github.com/turion/rhine/pull/449.

Assisted-by: Claude Code (Claude Opus 4.8)
2026-08-13 12:35:56 +02:00
Manuel Bärenz
bb0a89d397 haskellPackages.automaton: disable test suite
Test suite has a too-strict bound QuickCheck <2.16, but nightly ships 2.16.
Bumped upstream in https://github.com/turion/rhine/pull/449.

Assisted-by: Claude Code (Claude Opus 4.8)
2026-08-13 12:35:56 +02:00
Manuel Bärenz
b6af5b43ea haskellPackages.monad-bayes: disable test suite unconditionally
The exact-match SMC/RMSMC benchmark fixtures break with random >= 1.3
(which nightly ships), because the changed PRNG stream alters the sampled
output. Upstream CI stays green only because it is frozen on a 2021 nixpkgs
pin, so make the existing platform-conditional test skip unconditional.

https://github.com/tweag/monad-bayes/issues/368

Assisted-by: Claude Code (Claude Opus 4.8)
2026-08-13 12:35:56 +02:00
sterni
14328fc8f6 haskell.packages.ghc9141.cabal-install: upgrade Cabal library
We need to enable the cabalInstallOverlay for GHC 9.14.1 now since
cabal-install needs Cabal >= 3.16.1 which will only be bundled with
GHC >= 9.14.2.
2026-08-13 12:17:09 +02:00
nixpkgs-ci[bot]
7ad02aa7c0 Merge 4e2e39de80 into haskell-updates 2026-08-13 00:25:40 +00:00
Lukas Epple
311763be2d haskell.compiler.ghc9142: init at 9.14.1.20260728 [ghc-9.14.2-rc1] (#551805) 2026-08-12 15:36:32 +00:00
sterni
36a316ea88 haskell.packages.ghc914: 9.14.1 -> 9.14.1.20260728
This allows us to more easily verifiy that everything is in order
with the RC. Should probably be reverted before this change reaches
master.
2026-08-12 17:27:32 +02:00
sterni
2a38509e0f haskell.compiler.ghc9142: init at 9.14.1.20260728
https://www.haskell.org/ghc/blog/20260730-ghc-9.14.2-rc1-released.html
2026-08-12 11:29:13 +02:00
nixpkgs-ci[bot]
8707585398 Merge 57966db48d into haskell-updates 2026-08-12 00:25:01 +00:00
nixpkgs-ci[bot]
790c31e061 Merge 6077078555 into haskell-updates 2026-08-11 00:20:45 +00:00
nixpkgs-ci[bot]
1b8e493a4c Merge 5cdd538691 into haskell-updates 2026-08-10 00:21:28 +00:00
Wolfgang Walther
58673d30d4 haskellPackages: stackage Nightly 2026-07-26 -> Nightly 2026-08-08
all-cabal-hashes: 2026-07-26T14:06:58Z -> 2026-08-09T03:01:25Z

(generated by maintainers/scripts/haskell/update-package-set.sh)
2026-08-09 11:24:03 +02:00
nixpkgs-ci[bot]
beccc5847a Merge 92fc51132a into haskell-updates 2026-08-09 00:20:21 +00:00
Michael Daniels
3adf419aa4 Merge commit 'ce3d7ffb9855af1b68e2cac174e2a21c5fbef679' into haskell-updates 2026-08-08 16:33:17 -04:00
nixpkgs-ci[bot]
b52f4adde7 Merge cad39ce77b into haskell-updates 2026-08-04 00:37:07 +00:00
nixpkgs-ci[bot]
bd16497ad4 Merge 243895692a into haskell-updates 2026-08-03 00:38:12 +00:00
Wolfgang Walther
ffc266319e Merge commit '1681e76bd69a4fd0be27552e93b1abdec67392d5' into haskell-updates 2026-08-02 10:53:07 +02:00
Wolfgang Walther
fa192c1915 haskell.packages.ghc948.cabal2nix: fix deps (#545987) 2026-07-28 20:40:39 +00:00
Wolfgang Walther
78d4679404 haskellPackages.cabal-add: update patch (#543503) 2026-07-27 20:07:58 +00:00
Alexandre Esteves
a05b62f756 haskellPackages.cabal-add: update patch 2026-07-27 20:38:02 +01:00
Wolfgang Walther
2e37254a0d haskellPackages.changelog-d: Jailbreak to support latest deps (#546290) 2026-07-27 18:56:39 +00:00
Lukas Epple
e1f0c80964 haskellPackages.cabal-plan-bounds: Jailbreak to support latest deps (#546033) 2026-07-27 11:09:18 +00:00
nixpkgs-ci[bot]
3ae4f100fa Merge d3498f786f into haskell-updates 2026-07-27 00:39:05 +00:00
Wolfgang Walther
b92b966ae0 haskellPackages.bytezap: Jailbreak to support base 4.22 (#546007) 2026-07-26 17:24:09 +00:00
Wolfgang Walther
3f0da4e5f2 haskell.packages.ghc948.cabal2nix: fix deps
base64 only bumped the lower bounds on base in
https://github.com/emilypi/base64/pull/67 via revision, no code changes.
Safe to jailbreak.

crypton-x509-store only depends on unix without a version bound today,
so no need to downgrade.
2026-07-26 19:17:26 +02:00
Wolfgang Walther
338603c0d4 haskellPackages.git-annex: fix hash 2026-07-26 17:19:07 +02:00
Michael Daniels
3c1773c843 Merge commit '116e3485d174e7123a2b98392c79c4ff62c4720b' into haskell-updates 2026-07-26 11:02:41 -04:00
Wolfgang Walther
826465b345 haskellPackages: stackage Nightly 2026-07-24 -> Nightly 2026-07-26
all-cabal-hashes: 2026-07-24T18:50:05Z -> 2026-07-26T14:06:58Z

(generated by maintainers/scripts/haskell/update-package-set.sh)
2026-07-26 16:49:48 +02:00
Wolfgang Walther
ad05226f3d haskellPackages.text-icu: skip flaky t_blockCode test (#545967) 2026-07-26 14:30:45 +00:00
Wolfgang Walther
9da5406197 haskellPackages.amazonka-{core,s3-encryption}: allow crypton 1.1 (#545908) 2026-07-26 14:28:16 +00:00
Wolfgang Walther
21dcddba97 haskellPackages.amazonka-s3-encryption: unbreak 2026-07-26 16:23:23 +02:00
Wolfgang Walther
f8b6781bea haskellPackages.amazonka-{core,s3-encryption}: allow crypton 1.1 2026-07-26 16:23:14 +02:00
Wolfgang Walther
e83add3066 haskellPackages: regenerate hackage-packages.nix 2026-07-26 16:23:11 +02:00
sterni
d4fadf1842 haskellPackages.text-icu: skip flaky t_blockCode test
See https://github.com/haskell/text-icu/issues/103
2026-07-26 16:15:57 +02:00
sterni
48ea35d0b8 haskellPackages.text-icu: apply patch for time rendering test
See https://github.com/haskell/text-icu/issues/108.
2026-07-26 16:13:39 +02:00
Lukas Epple
5903a7f72d haskellPackages.dhall: fix build with http-client-tls 0.4 (#545900) 2026-07-26 14:06:25 +00:00
Wolfgang Walther
a428929e72 haskellPackages.arch-web: Jailbreak to allow latest http-client-tls (#545911) 2026-07-26 13:03:36 +00:00
Akshay Mankar
d6499c4e3c haskellPackages.changelog-d: Jailbreak to support latest deps 2026-07-26 14:55:05 +02:00
Akshay Mankar
9728ac8f06 haskellPackages.cabal-plan-bounds: Jailbreak to support latest deps 2026-07-26 14:34:45 +02:00
Akshay Mankar
1ae532eb77 haskellPackages.bytezap: Jailbreak to support base 4.22 2026-07-26 14:29:32 +02:00
Akshay Mankar
5df69cc621 haskellPackages.arch-web: Jailbreak to allow latest http-client-tls 2026-07-26 14:28:41 +02:00
Wolfgang Walther
6046acb728 haskellPackages.dhall: fix build with http-client-tls 0.4 2026-07-26 12:14:03 +02:00
Wolfgang Walther
87283c7045 haskellPackages.*: move generateOptparseApplicativeCompletions to configuration-nix.nix
Nothing temporary about these.
2026-07-26 12:14:02 +02:00
sterni
ea31f133da haskell.packages.microhs.time: 1.16 -> 1.16.0.1
(To fix evaluation.)
2026-07-25 11:36:16 +02:00
nixpkgs-ci[bot]
5a5cd26432 Merge a016e17772 into haskell-updates 2026-07-25 00:37:35 +00:00
Lukas Epple
d47687c04d [haskell-updates] haskellPackages: stackage Nightly 2026-07-13 -> Nightly 2026-07-24 (#545393) 2026-07-24 21:53:13 +00:00
sterni
08f0950a50 haskell.packages.microhs.haskeline: 0.8.4.1 -> 0.8.5.0
(To fix evaluation.)
2026-07-24 23:35:24 +02:00
sterni
f4c6e009f9 haskellPackages.yesod-test: avoid infinite recursion 2026-07-24 23:28:15 +02:00
sterni
a1beaf2803 haskellPackages.no-recursion: drop obsolete override 2026-07-24 23:25:28 +02:00
sterni
3594aefa35 haskellPackages: stackage Nightly 2026-07-13 -> Nightly 2026-07-24
all-cabal-hashes: 2026-07-15T08:37:28Z -> 2026-07-24T18:50:05Z

(generated by maintainers/scripts/haskell/update-package-set.sh)
2026-07-24 22:05:31 +02:00
Lukas Epple
3b19ff96a1 [haskell-updates] haskell.packages.ghc9125: 9.12.4.20260614 -> 9.12.4.20260713 (#544619) 2026-07-24 20:01:07 +00:00
nixpkgs-ci[bot]
19573606e8 Merge e220185ff6 into haskell-updates 2026-07-24 00:34:22 +00:00
nixpkgs-ci[bot]
7632f2c418 Merge 6e369fe949 into haskell-updates 2026-07-23 00:36:30 +00:00
sterni
b393efc343 haskell.packages.ghc9125: 9.12.4.20260614 -> 9.12.4.20260713
rc2 -> rc3
2026-07-22 19:32:38 +02:00
nixpkgs-ci[bot]
eef2380c20 Merge dde6423243 into haskell-updates 2026-07-22 00:34:47 +00:00
nixpkgs-ci[bot]
e3c24ee8db Merge c91334b372 into haskell-updates 2026-07-21 00:36:50 +00:00
Malte Ott
116208d9cf haskellPackages.hie-bios: restrict to 0.19 (#543505) 2026-07-20 15:54:18 +00:00
nixpkgs-ci[bot]
a332844436 Merge cbf17f2c3c into haskell-updates 2026-07-20 00:39:47 +00:00
Alexandre Esteves
86ed8342de haskellPackages: regenerate package set based on current config 2026-07-19 13:45:57 +01:00
Alexandre Esteves
31f495afe9 haskellPackages.hie-bios: restrict to 0.19 2026-07-19 13:45:49 +01:00
nixpkgs-ci[bot]
da941382a6 Merge 2a83e50fab into haskell-updates 2026-07-19 00:37:23 +00:00
Wolfgang Walther
920b50911d [haskell-updates] haskellPackages: stackage Nightly 2026-06-26 -> Nightly 2026-07-13 (#543047) 2026-07-18 06:01:42 +00:00
Wolfgang Walther
43159787fd haskellPackages.rerefined: allow QuickCheck 2.16 (#536459) 2026-07-18 06:01:28 +00:00
nixpkgs-ci[bot]
a603053a30 Merge b5d95a3fd3 into haskell-updates 2026-07-18 00:34:07 +00:00
Wolfgang Walther
5865c4be2c haskellPackages.postgres-websockets: update jailbreak 2026-07-17 22:39:16 +02:00
Wolfgang Walther
b72ec6bdee haskellPackages.no-recursion: warn for obsolete override
A fix has been merged upstream, but not released, yet - so adding the
warning to pick that up automatically on the next bump.
2026-07-17 22:39:08 +02:00
Wolfgang Walther
c818fb7e53 haskellPackages: drop various obsolete overrides after hackage bump 2026-07-17 22:39:04 +02:00
Wolfgang Walther
88daa4b688 haskellPackages: regenerate hackage-packages.nix 2026-07-17 22:33:28 +02:00
Wolfgang Walther
d82c0d269e haskellPackages.mlkem: disable tests 2026-07-17 22:33:26 +02:00
Wolfgang Walther
0b6b59708c haskellPackages: stackage Nightly 2026-06-26 -> Nightly 2026-07-13
all-cabal-hashes: 2026-06-26T06:10:51Z -> 2026-07-15T08:37:28Z

(generated by maintainers/scripts/haskell/update-package-set.sh)
2026-07-17 22:33:25 +02:00
Wolfgang Walther
9220258efb haskellPackages.mlkem: unmark broken
This package is still effectively broken at this stage, but the next
bump to stackage will add mlkem as a dependency of tls, which is in the
dependency chain of cabal2nix itself.

The same bump will update crypton and thus make mlkem build - but we
can't mark it unbroken, when cabal2nix-unstable fails to run because one
of its dependencies is marked broken...
2026-07-17 22:09:38 +02:00
nixpkgs-ci[bot]
a8560ee995 Merge 3caf6c92ce into haskell-updates 2026-07-17 00:36:58 +00:00
nixpkgs-ci[bot]
cfdc80cdd7 Merge 8288eae5a4 into haskell-updates 2026-07-16 00:35:07 +00:00
Wolfgang Walther
523ffbe971 haskellPackages.rapid: patch bounds (#541874) 2026-07-15 06:41:29 +00:00
nixpkgs-ci[bot]
3aed88a715 Merge 2c726dc782 into haskell-updates 2026-07-15 00:30:56 +00:00
Alexandre Esteves
1c3465fcb7 haskellPackages: regenerate package set based on current config 2026-07-14 17:57:03 +01:00
Alexandre Esteves
54112f9a6b haskellPackages.rapid: patch bounds 2026-07-14 17:56:50 +01:00
nixpkgs-ci[bot]
92cbc9ca81 Merge d95279435c into haskell-updates 2026-07-14 00:33:37 +00:00
nixpkgs-ci[bot]
6a3c990a99 Merge 310b8cc6a5 into haskell-updates 2026-07-13 00:38:09 +00:00
nixpkgs-ci[bot]
39ee207b1d Merge dd93798a29 into haskell-updates 2026-07-12 00:38:11 +00:00
nixpkgs-ci[bot]
d64edb78f9 Merge ffc7f8ce99 into haskell-updates 2026-07-11 00:36:01 +00:00
nixpkgs-ci[bot]
54726cb9e3 Merge 0e6ff04fc5 into haskell-updates 2026-07-10 00:42:12 +00:00
nixpkgs-ci[bot]
b7659cdb62 Merge 8ab1ccd1c1 into haskell-updates 2026-07-09 00:41:01 +00:00
nixpkgs-ci[bot]
bcf85400c4 Merge bd3c09ca2a into haskell-updates 2026-07-08 00:36:49 +00:00
nixpkgs-ci[bot]
e3927c07f7 Merge 60f3895575 into haskell-updates 2026-07-07 00:43:55 +00:00
nixpkgs-ci[bot]
8486e8a7b3 Merge fbdfe58264 into haskell-updates 2026-07-06 00:43:34 +00:00
nixpkgs-ci[bot]
4f0970401a Merge 7d5d19274b into haskell-updates 2026-07-05 00:43:51 +00:00
nixpkgs-ci[bot]
9959ce2f44 Merge f91cfe02f8 into haskell-updates 2026-07-04 00:40:56 +00:00
nixpkgs-ci[bot]
3f085fe61c Merge 9778ed5674 into haskell-updates 2026-07-03 00:42:09 +00:00
Wolfgang Walther
f61423d87c haskellPackages.lambdabot: remove ncfavier as maintainer (#537887) 2026-07-02 19:57:54 +00:00
Naïm Camille Favier
4aeebf57da haskellPackages.lambdabot: remove ncfavier as maintainer 2026-07-02 19:38:32 +02:00
Wolfgang Walther
4c7647a6d3 haskell.packages.ghc{96,98}.haskell-language-server: fix build (#537724) 2026-07-02 10:10:33 +00:00
Wolfgang Walther
afda14f1d4 dhall-lsp-server: fix build with lsp 2.8 2026-07-02 10:31:48 +02:00
Wolfgang Walther
e9af2ed4be haskellPackages.no-recursion: jailbreak 2026-07-02 10:23:39 +02:00
Wolfgang Walther
2735e861f0 haskell.packages.ghc{96,98}.haskell-language-server: fix build
Jailbreaks are due to optparse-applicative.
2026-07-02 10:07:26 +02:00
Wolfgang Walther
92ca07b6a5 haskellPackages.threadscope: jailbreak 2026-07-02 09:48:12 +02:00
Wolfgang Walther
e82d6b924f haskellPackages.taskwarrior: jailbreak 2026-07-02 09:43:24 +02:00
Wolfgang Walther
94aa8f8960 haskellPackages.shh{,-extras}: jailbreak 2026-07-02 09:41:11 +02:00
Wolfgang Walther
75496eb67a haskellPackages.eventlog2html: jailbreak 2026-07-02 09:36:13 +02:00
Wolfgang Walther
9c55dbeccf [haskell-updates] stack: patch for semaphore-compat >= 2.0 (#534567) 2026-07-02 07:25:00 +00:00
Wolfgang Walther
cef090d1ab haskellPackages.optics: pick patches that make test suite pass with 9.12 (#536009) 2026-07-02 07:19:43 +00:00
sterni
4132fb9736 haskellPackages.optics: pick patches that make test suite pass with 9.12
I'm not 100% clear whether there is still some kind of GHC regression
involved here, but I think we can pick these patches from upstream's
development branch. Also GHC upstream is aware of these (original)
failures with 9.12.5-rc2.
2026-07-02 09:13:52 +02:00
Wolfgang Walther
98c655c09a haskellPackages.*: compile a few test suites with threaded runtime (#537144) 2026-07-02 07:06:56 +00:00
nixpkgs-ci[bot]
3f49232af6 Merge 8037b1aab1 into haskell-updates 2026-07-02 00:50:41 +00:00
nixpkgs-ci[bot]
7100632254 Merge 5bb269961b into haskell-updates 2026-07-01 00:56:02 +00:00
Alexandre Esteves
b078be0041 haskellPackages.*: compile a few test suites with threaded runtime 2026-07-01 01:01:33 +01:00
nixpkgs-ci[bot]
92779d4478 Merge 3b1d058d00 into haskell-updates 2026-06-30 00:53:14 +00:00
sterni
070e7a021f haskellPackages.futhark-manifest: use version requested by futhark-0.26.3 2026-06-29 23:56:40 +02:00
Wolfgang Walther
71b5964ed6 haskellPackages.{yaya*}: allow doctest 0.25 (#536739) 2026-06-29 18:04:32 +00:00
Wolfgang Walther
00a35c51c7 haskellPackages.{yaya*}: allow doctest 0.25 2026-06-29 19:55:06 +02:00
Wolfgang Walther
dbd129b241 haskellPackages.graphviz: allow QuickCheck 2.16 (#536737) 2026-06-29 17:54:14 +00:00
Wolfgang Walther
26066e1e2b haskellPackages.graphviz: allow QuickCheck 2.16 2026-06-29 19:28:59 +02:00
nixpkgs-ci[bot]
60f1d07046 Merge 2df5d1313a into haskell-updates 2026-06-29 00:55:22 +00:00
Wolfgang Walther
a5e06de0c4 haskellPackages.servant-{auth-client,auth-docs,auth-server,swagger}: jailbreak (#536456) 2026-06-28 22:21:46 +00:00
Wolfgang Walther
8833922b3e haskellPackages.rerefined: allow QuickCheck 2.16 2026-06-28 23:57:31 +02:00
Wolfgang Walther
d0e8fdd1bd haskellPackages.servant-{auth-client,auth-docs,auth-server,swagger}: jailbreak 2026-06-28 23:39:46 +02:00
sterni
9122c84035 git-annex: delete unused patch file 2026-06-28 16:15:35 +02:00
sterni
f479cbacab stack: apply patches for semaphore-compat >= 2.0
Apply patches from https://github.com/commercialhaskell/stack/pull/6935
allowing us to build stack with GHC 9.12.5-rc2 (but no other GHC version).
Patch for the change log is not included (due to likely conflict problems),
but other documentation included with stack is updated.

We also apply an unrelated bug fix, so we don't need to rebase the patches.
2026-06-28 16:12:15 +02:00
sterni
f87fabdc91 stack: drop released patch 2026-06-28 16:11:51 +02:00
sterni
f94cecf640 haskell.packages.ghc910.stack: remove compat code
Ideally, we won't use this going forward and just build stack with GHC 9.12
2026-06-28 15:45:51 +02:00
Wolfgang Walther
fc0932307c pkgsStatic.haskell.packages.native-bignum.ghc948.postgrest: fix build
Removes a dependency which had long been replaced upstream, but the
expression is still generated from the outdated hackage package.

The GHC 9.4.8 static variant is still used upstream, but we will be able
to remove it from the release set on PostgREST's next release.
2026-06-28 10:47:04 +02:00
Wolfgang Walther
ffbec19b05 haskellPackages.git-annex: update hash 2026-06-28 10:32:42 +02:00
nixpkgs-ci[bot]
435e7264b6 Merge bdd995eaee into haskell-updates 2026-06-28 00:54:07 +00:00
sternenseemann
480f0726e7 [haskell-updates] haskellPackages: stackage Nightly 2026-06-20 -> Nightly 2026-06-26 (#534748) 2026-06-27 11:29:35 +00:00
nixpkgs-ci[bot]
4d0ae93287 Merge 538087c016 into haskell-updates 2026-06-27 00:52:07 +00:00
sternenseemann
81ef0ce73b haskellPackages.wai-app-file-cgi: pin to < 3.2.0 for mighttpd2 (#535246) 2026-06-26 11:13:45 +00:00
sterni
24211dd381 haskellPackages.wai-app-file-cgi: pin to < 3.2.0 for mighttpd2
Requires picking a compat patch from 3.2.1 for http-types-0.12.5.
2026-06-26 13:04:54 +02:00
sterni
8b99224c3e haskellPackages.statistics: drop obsolete override 2026-06-26 10:48:10 +02:00
sterni
d56383f426 haskellPackages: stackage Nightly 2026-06-20 -> Nightly 2026-06-26
all-cabal-hashes: 2026-06-20T12:32:58Z -> 2026-06-26T06:10:51Z

(generated by maintainers/scripts/haskell/update-package-set.sh)
2026-06-26 10:48:10 +02:00
nixpkgs-ci[bot]
2836c4b1f4 Merge 19e056881c into haskell-updates 2026-06-26 00:54:38 +00:00
Wolfgang Walther
16a3b0c7d9 [haskell-updates] git-annex: unbreak (#534543) 2026-06-25 08:31:42 +00:00
Wolfgang Walther
7db16b7a40 top-level/release-haskell.nix: use ghc 9.12 in versioned jobs (#534745) 2026-06-25 07:55:36 +00:00
nixpkgs-ci[bot]
85b5c86354 Merge 19a053f28c into haskell-updates 2026-06-25 00:53:29 +00:00
nixpkgs-ci[bot]
3f6c25ad80 Merge dd4c7b49b6 into haskell-updates 2026-06-24 00:48:36 +00:00
sterni
a8988fede0 top-level/release-haskell.nix: drop ghc9125 exclusions
These packages need to work in the default package set anyways!
2026-06-23 23:36:56 +02:00
sterni
68f69e8b05 top-level/release-haskell.nix: prefer ghc9125 over ghc9123 2026-06-23 23:36:56 +02:00
Robert Hensing
9bbb567bb9 haskellPackages.hercules-ci-optparse-applicative: 0.19.0.0-fork-0 -> 0.19.0.0-fork-1 2026-06-23 17:11:40 +02:00
sterni
5f8a3af9eb haskellPackages.git-annex: patch for http-types >= 0.12.5 2026-06-23 12:55:31 +02:00
sterni
b25e3e8489 git-annex: update sha256 for 10.20260601 2026-06-23 12:55:31 +02:00
sterni
a220c38f46 haskellPackages.cabal2nix-unstable: 2026-03-30 -> 2026-06-23
This makes sure the libmagic dependency of haskellPackages.magic
is resolved correctly again.
2026-06-23 12:55:25 +02:00
sterni
fdbcfd8b47 haskellPackages.statistics: allow doctest >= 0.25 2026-06-23 10:17:49 +02:00
sterni
eff6c0e60e darcs: patch incompatibilities with Stackage Nightly and Cabal 3.14 2026-06-23 10:17:49 +02:00
nixpkgs-ci[bot]
5a03008b47 Merge 691bc285bc into haskell-updates 2026-06-23 00:52:15 +00:00
nixpkgs-ci[bot]
6dd4da168b Merge 6e7f01b46b into haskell-updates 2026-06-22 00:59:28 +00:00
Alexandre Esteves
4cbc2251c7 haskellPackages.haskell-language-server: fix or bump deps (#525752) 2026-06-22 00:38:49 +00:00
Alexandre Esteves
a8233a24e1 haskellPackages: regenerate package set based on current config 2026-06-21 23:04:56 +01:00
Alexandre Esteves
da4f3989f0 haskellPackages.haskell-language-server: add myself as maintainer including deps 2026-06-21 22:44:59 +01:00
Alexandre Esteves
e0497b3d10 haskellPackages: drop obsolete package upgrades 2026-06-21 22:44:07 +01:00
Alexandre Esteves
a49c815e3d haskellPackages: regenerate package set based on current config 2026-06-21 22:43:24 +01:00
Alexandre Esteves
f213d6af36 haskellPackages.haskell-language-server: unrestrict deps 2026-06-21 22:30:23 +01:00
Alexandre Esteves
aba749b3bb haskellPackages.stylish-haskell: patch bound 2026-06-21 22:30:07 +01:00
Wolfgang Walther
e64658550c cabal-install: patch for compatibility with semaphore-compat-2.0.0 (#531658) 2026-06-21 09:11:29 +00:00
Wolfgang Walther
07d2edc929 haskellPackages.gitit: drop obsolete overrides 2026-06-21 10:47:07 +02:00
nixpkgs-ci[bot]
b52ea84a40 Merge dccba7b9f2 into haskell-updates 2026-06-21 00:59:34 +00:00
sterni
f394a62a65 cabal-install: patch for compatibility with semaphore-compat-2.0.0
This is necessary pending a release of cabal-install-3.18 (and Cabal-3.18).
Since the patch for Cabal changes the public API, I've chosen to only
apply it inside the cabal-install overlay for now.
2026-06-21 02:39:54 +02:00
sternenseemann
ad66699b02 [haskell-updates] haskellPackages: stackage Nightly 2026-06-09 -> Nightly 2026-06-16 (#530271) 2026-06-21 00:30:46 +00:00
sterni
084d450fa7 haskell.packages.ghc9125: 9.12.4.20260606 -> 9.12.4.20260614 2026-06-20 19:18:03 +02:00
Wolfgang Walther
ec138222f7 haskellPackages.postgres-websockets: jailbreak (wai-app-static) 2026-06-20 19:18:03 +02:00
sterni
5a13f175d1 haskellPackages.hakyll-filestore: drop obsolete override 2026-06-20 19:18:03 +02:00
Wolfgang Walther
117625921f haskellPackages.hw-prim: drop obsolete jailbreak 2026-06-20 19:18:03 +02:00
Wolfgang Walther
2c44031fe0 haskellPackages.vector: drop obsolete jailbreak 2026-06-20 19:18:03 +02:00
sterni
d34ba4d817 haskellPackages: stackage Nightly 2026-06-09 -> Nightly 2026-06-20
all-cabal-hashes: 2026-06-09T15:28:54Z -> 2026-06-20T12:32:58Z

(generated by maintainers/scripts/haskell/update-package-set.sh)
2026-06-20 19:18:02 +02:00
nixpkgs-ci[bot]
e34ce374a1 Merge 6c91888634 into haskell-updates 2026-06-20 00:54:18 +00:00
nixpkgs-ci[bot]
a00be59a94 Merge f7df78e77a into haskell-updates 2026-06-19 01:03:53 +00:00
nixpkgs-ci[bot]
ab20ff9b2f Merge a0fe7a7f2e into haskell-updates 2026-06-18 00:58:39 +00:00
nixpkgs-ci[bot]
995d34a153 Merge 8cf9f7fff1 into haskell-updates 2026-06-17 00:58:42 +00:00
Wolfgang Walther
9208b19946 haskellPackages.{rvar,QuickCheck-safe}: fix build (#531374) 2026-06-16 20:14:29 +00:00
nixpkgs-ci[bot]
9029909ba3 Merge 5a21d1bfee into haskell-updates 2026-06-16 01:04:21 +00:00
nixpkgs-ci[bot]
b82be3afe6 Merge 635f366cf9 into haskell-updates 2026-06-15 00:59:45 +00:00
Naïm Camille Favier
248b70dc3b haskellPackages.QuickCheck-safe: allow build with QuickCheck 2.16 2026-06-14 16:11:41 +02:00
Naïm Camille Favier
0baca65faa haskellPackages.{rvar,random-fu}: fix build 2026-06-14 16:11:11 +02:00
nixpkgs-ci[bot]
b1528a1baf Merge a18d24ff2b into haskell-updates 2026-06-14 00:57:26 +00:00
Wolfgang Walther
200316c491 haskellPackages/fused-effects: jailbreak because of too tight hedgedoc dep (#531331) 2026-06-13 12:49:06 +00:00
mangoiv
3c4f10205c haskellPackages/fused-effects: jailbreak because of too tight hedgedog dep 2026-06-13 14:03:44 +02:00
Wolfgang Walther
827c840fb1 haskellPackages.validation: pin to 1.1.5 (#530365) 2026-06-13 11:43:41 +00:00
Allen Du
095f6729ca haskellPackages.validation: pin to 1.1.5 2026-06-13 10:17:35 +02:00
Wolfgang Walther
1352e67378 haskellPackages: regenerate hackage-packages.nix 2026-06-13 10:17:11 +02:00
nixpkgs-ci[bot]
0814616eaf Merge 08740d8811 into haskell-updates 2026-06-13 00:57:33 +00:00
nixpkgs-ci[bot]
f70431ea67 Merge 20c18080b0 into haskell-updates 2026-06-12 00:58:47 +00:00
sterni
8383c3f904 haskellPackages.hakyll-filestore: allow hakyll >= 4.17 2026-06-11 22:38:23 +02:00
nixpkgs-ci[bot]
cac8c10692 Merge d9c4084332 into haskell-updates 2026-06-11 00:55:35 +00:00
Wolfgang Walther
739281cf7a haskellPackages.yesod-middleware-csp: jailbreak & unbreak (#529859) 2026-06-10 09:49:07 +00:00
Michael Schneider
ef5a2561e3 haskellPackages.yesod-middleware-csp: 1.2.0 -> 1.3.0 2026-06-10 16:40:50 +07:00
sterni
a5f1afdf0f haskellPackages.pandoc: drop patch applied by upstream 2026-06-10 06:40:59 +02:00
sternenseemann
cbe86ed815 [haskell-updates] haskellPackages: stackage Nightly 2026-05-27 -> Nightly 2026-06-07 (#529097) 2026-06-09 16:33:20 +00:00
Wolfgang Walther
5617c0ba47 haskellPackages: stackage Nightly 2026-05-27 -> Nightly 2026-06-09
all-cabal-hashes: 2026-05-28T09:17:22Z -> 2026-06-09T15:28:54Z

(generated by maintainers/scripts/haskell/update-package-set.sh)

Co-authored-by: sterni <sternenseemann@systemli.org>
2026-06-09 18:08:40 +02:00
sternenseemann
caf8327196 git-annex: build against filepath-bytestring instead of file-io (#527916) 2026-06-09 15:35:27 +00:00
sternenseemann
89b9cdcbba haskellPackages.{bitwise,psqueues,xz}: drop override (#525905) 2026-06-09 15:33:55 +00:00
sternenseemann
3c3354afa3 haskell.packages.ghc912: 9.12.3 -> 9.12.4.20260606 (#529900) 2026-06-09 15:11:44 +00:00
sterni
8cc9c34bcb haskell.packages.ghc9{4,6}.semaphore-compat: 1.0.0 -> 2.0.0
This matches GHC 9.12.5.
2026-06-09 15:49:31 +02:00
sterni
8c3d964e79 haskell.packages.ghc912: 9.12.3 -> 9.12.4.20260606 2026-06-09 13:54:57 +02:00
nixpkgs-ci[bot]
cadaf97e4e Merge 3438114c15 into haskell-updates 2026-06-09 00:50:54 +00:00
nixpkgs-ci[bot]
593c21a56a Merge f77c3e23e5 into haskell-updates 2026-06-08 00:57:17 +00:00
Wolfgang Walther
6306c15610 elmPackages.elm-format: jailbreak (#529072) 2026-06-07 10:03:20 +00:00
Marek Fajkus
884892c2c1 elmPackages.elm-format: jailbreak 2026-06-07 11:40:59 +02:00
nixpkgs-ci[bot]
627dd785ad Merge 38d9adc8ca into haskell-updates 2026-06-07 00:56:22 +00:00
nixpkgs-ci[bot]
180157dfa4 Merge b99e1dabec into haskell-updates 2026-06-06 00:52:21 +00:00
Wolfgang Walther
0d1190abf7 haskellPackages.duckdb-simple: jailbreak (#528095) 2026-06-05 20:49:03 +00:00
nixpkgs-ci[bot]
c24d964453 Merge fcfb4d2c1c into haskell-updates 2026-06-05 00:55:21 +00:00
Allen Du
9ec4c8e1b6 haskellPackages.duckdb-simple: jailbreak
too strict bounds on QuickCheck <2.16
2026-06-04 15:30:54 -04:00
sternenseemann
b32a192bcf mkjson: disable doctests and switch to Codeberg (#527977) 2026-06-04 14:05:55 +00:00
Troels Henriksen
338f88c94a mkjson: disable doctests and switch to Codeberg 2026-06-04 15:43:27 +02:00
sternenseemann
a262ae9474 haskellPackages.servant-mutlipart-core: jailbreak (#527963) 2026-06-04 12:56:45 +00:00
sterni
9f367b9af0 haskellPackages.hakyll-alectryon: allow hakyll 4.17 2026-06-04 14:50:03 +02:00
sterni
9227423f57 haskellPackages.hakyll-images: drop obsolete override
Test suite was fixed in 1.3.1
2026-06-04 14:48:33 +02:00
sorki
79b85a6061 haskellPackages.servant-mutlipart-core: jailbreak
Pending issue / PR
https://github.com/haskell-servant/servant-multipart/issues/76
https://github.com/haskell-servant/servant-multipart/pull/77
2026-06-04 14:47:10 +02:00
sterni
07837352f5 git-annex: build against filepath-bytestring instead of file-io
Unfortunately, file-io >= 0.2 is required which conflicts with the core
package shipped with GHC.
2026-06-04 12:51:17 +02:00
sterni
422b020e60 git-annex: update sha256 for 10.20260525 2026-06-04 12:50:48 +02:00
nixpkgs-ci[bot]
d58b43bad8 Merge 0cc225cd89 into haskell-updates 2026-06-04 01:02:38 +00:00
nixpkgs-ci[bot]
e4e45c45d7 Merge 52383c55bc into haskell-updates 2026-06-03 01:03:22 +00:00
Wolfgang Walther
a0811c1859 haskellPackages.dataframe: unpin from 0.3.3.6 (#526717) 2026-06-02 06:42:04 +00:00
nixpkgs-ci[bot]
41dec8b399 Merge e7713b176c into haskell-updates 2026-06-02 00:57:41 +00:00
Ai-Ya-Ya
4b9529d490 haskellPackages.pinch: jailbreak
bump already merged upstream, awaiting new Hackage release
2026-06-01 23:59:36 +00:00
Ai-Ya-Ya
eca559367a haskellPackages.dataframe: unpin from 0.3.3.6
later version of dataframe removed dependency on random-1.3 so safe to
unpin
2026-06-01 18:48:15 +00:00
Wolfgang Walther
d217b14de6 haskellPackages.haskell-ci: 0.18.1 -> 0.19.20260331 (#525918) 2026-06-01 17:41:44 +00:00
nixpkgs-ci[bot]
5aafdde3a0 Merge 501880c9da into haskell-updates 2026-06-01 00:54:54 +00:00
nixpkgs-ci[bot]
9eb68607ef Merge 78058c8132 into haskell-updates 2026-05-31 00:54:34 +00:00
sterni
430963bdf1 haskellPackages.haskell-ci: 0.18.1 -> 0.19.20260331
This plus a bunch of workarounds fixes the build of haskell-ci with
Stackage Nightly.
2026-05-30 13:03:39 +02:00
Wolfgang Walther
4ca20a7582 haskellPackages.xz: drop override
Fixed in a new revision on the latest hackage bump.
2026-05-30 12:31:51 +02:00
Wolfgang Walther
39ad1cb021 haskellPackages.psqueues: drop override
Fixed in a new revision on the latest hackage bump.
2026-05-30 12:30:57 +02:00
Wolfgang Walther
6ad984ce3d haskellPackages.bitwise: drop override
Fixed in a new revision on the latest hackage bump.
2026-05-30 12:30:31 +02:00
sternenseemann
8b0587a6d1 haskellPackages.pdftotext: fix build (#525219) 2026-05-30 10:17:08 +00:00
sterni
668847dd15 haskellPackages.hoogle: unpin
This pin should _not_ have survived this long!
2026-05-30 11:42:25 +02:00
Wolfgang Walther
40f0c70593 postgrest: fix build (#524050) 2026-05-30 08:48:06 +00:00
nixpkgs-ci[bot]
265fda252f Merge ce8325fa0e into haskell-updates 2026-05-30 00:50:33 +00:00
sterni
e1eeed9ea6 release-haskell.nix: test haddock-{api,library} on GHC < 9.12
At least where possible.
2026-05-29 12:45:02 +02:00
sterni
d3928686c3 haskell.packages.ghc96.haddock-api: ignore overly strict bounds 2026-05-29 12:45:02 +02:00
sterni
fb629a8712 haskell.packages.ghc94.haddock-{api,library}: provide matching versions
GHC >= 9.12 ships these libraries as a core package, so we need to manually
pick them for older package sets. Given that they depend on the ghc library,
they actually need to match.

The broken flag on haddock-api is pretty much bogus now, as it isn't
even built as part of the main package set anymore (but with ghc as a
core pkg), but haskell.packages.ghc9{8,10}.haddock-api need to be marked
as broken since no releases compatible with GHC 9.10 or 9.8 have been
made to Hackage.
2026-05-29 12:44:22 +02:00
sterni
1fa9545db7 haskell.packages.ghc94.file-io: don't try to provide
file-io depends on unix >= 2.8 which isn't included with GHC 9.4, so we
can't properly build file-io in this package set (without making it
inconsist). Our best shot at making packages “just work” is hoping the
use Cabal conditionals to depend on file-io, so file-io doesn't actually
wind up being necessary for GHC 9.4.

If file-io is absolutely necessary, manual package specific intervention
will be necessary either way.
2026-05-29 12:42:44 +02:00
sterni
7b203a8cdf haskell.packages.ghc9{0,4,6}.semaphore-compat: keep using 1.0.0
semaphore-compat 2.0.0 has just been released, but no GHC ships it as
a core package yet, so using 1.0.0 for GHC <9.8 makes more sense as it
matches Stackage Nightly.
2026-05-29 12:42:43 +02:00
sternenseemann
3080e495c5 haskellPackages.amazonka: fix build (#525212) 2026-05-29 09:53:03 +00:00
nixpkgs-ci[bot]
41a68a1180 Merge 7b97a86791 into haskell-updates 2026-05-29 00:53:02 +00:00
Marc Scholten
2c84961290 haskellPackages.pdftotext: fix build 2026-05-28 17:35:29 +01:00
Marc Scholten
eb378a86bf haskellPackages.amazonka: fix build 2026-05-28 15:59:22 +01:00
sternenseemann
b8880df8ac haskell.packages.ghc902Binary: fix evaluation of package set (#496292) 2026-05-28 10:49:59 +00:00
sternenseemann
79a87d6750 haskell.packages.ghc902Binary: fix evaluation of package set
These attributes need to be present, so that callPackage doesn't fail
with an unrecoverable error on some members of the package set. This
is not necessary for any package Hydra builds, but helps for listing/
inspecting the package set.
2026-05-28 12:40:26 +02:00
sternenseemann
61b9e0b5f4 haskell.packages.microhs: fix eval after bump to nightly (#522940) 2026-05-28 10:28:38 +00:00
sternenseemann
2cb1137ad8 [haskell-updates] haskellPackages: stackage Nightly 2026-05-16 -> Nightly 2026-05-27 (#525157) 2026-05-28 10:24:12 +00:00
sterni
dc341cc322 haskell.packages.microhs: fix eval after bump to nightly 2026-05-28 12:23:16 +02:00
sternenseemann
7ef227eef6 haskellPackages.ghc-typelits-natnormalise: fix tests (#524100) 2026-05-28 10:17:40 +00:00
sterni
df2259de34 haskellPackages.os-string_2_0_10: drop obsolete jailbreak 2026-05-28 12:12:18 +02:00
sterni
fbfe792c92 haskellPackages: stackage Nightly 2026-05-16 -> Nightly 2026-05-27
all-cabal-hashes: 2026-05-16T18:12:46Z -> 2026-05-28T09:17:22Z

(generated by maintainers/scripts/haskell/update-package-set.sh)
2026-05-28 12:07:57 +02:00
nixpkgs-ci[bot]
18c743b5c9 Merge 8be06063cd into haskell-updates 2026-05-28 00:46:19 +00:00
Marc Scholten
1912d24658 haskellPackages.ghc-typelits-natnormalise: fix tests
Tests spawn ghc with -fplugin and need the package's in-place package database in NIX_GHC_PACKAGE_PATH_FOR_TEST.

Put the override in configuration-nix.nix so it applies across GHC package sets.

Assisted-by: OpenAI Codex (GPT-5)
2026-05-27 10:42:28 +01:00
nixpkgs-ci[bot]
8b3bed966a Merge c0523a4c8f into haskell-updates 2026-05-27 00:51:00 +00:00
nixpkgs-ci[bot]
8ca5572327 Merge 0a6619d2fd into haskell-updates 2026-05-26 01:34:21 +00:00
nixpkgs-ci[bot]
f1cd3a542b Merge 3ab9d06032 into haskell-updates 2026-05-26 00:48:54 +00:00
Wolfgang Walther
28ea7d3e94 postgrest: fix build
text-builder-dev 0.3.10 needs lawful-conversions < 0.2.

postgrest itself still depends on the older insert-ordered-containers <
0.3, but swagger2 - despite trying to provide a "compat" layer - fails
to build with that, so we pin both of them.
2026-05-25 16:51:13 +02:00
nixpkgs-ci[bot]
015d2be85f Merge 7e18ec5706 into haskell-updates 2026-05-25 14:15:27 +00:00
nixpkgs-ci[bot]
dcd5f66215 Merge 68d9bb691b into haskell-updates 2026-05-25 00:50:42 +00:00
nixpkgs-ci[bot]
c990defdc1 Merge 89afca31a7 into haskell-updates 2026-05-24 00:49:43 +00:00
nixpkgs-ci[bot]
ef80ea96c0 Merge ee4a6d835b into haskell-updates 2026-05-23 00:48:26 +00:00
nixpkgs-ci[bot]
70b3bb6148 Merge 90b4a6bcd3 into haskell-updates 2026-05-22 00:49:41 +00:00
Michael Daniels
9f87b41bbc Merge commit '8d0a7d4c0437cc1e5349d3dabde379c5e2a66305' into haskell-updates 2026-05-21 17:04:36 -04:00
Michael Daniels
9eab5d0982 Merge commit '4e39fb70d8cff0e9ffb89217d731c9b82af6473e' into haskell-updates 2026-05-19 21:10:08 -04:00
Wolfgang Walther
31b3654bd0 haskellPackages: various jailbreaks for QuickCheck 2.16 (#521243) 2026-05-18 09:51:21 +00:00
Wolfgang Walther
fd7118d37f haskell.packages.ghc{94,96,98}.os-string: allow QuickCheck 2.16 2026-05-18 11:42:42 +02:00
Wolfgang Walther
3f0c2996b0 haskellPackages.test-framework: run tests 2026-05-18 11:42:41 +02:00
Wolfgang Walther
58545c6507 haskellPackages.finite-typelits: allow QuickCheck 2.16 2026-05-18 11:42:06 +02:00
Wolfgang Walther
bd20e4d544 haskellPackages.binary-instances: allow QuickCheck 2.16 2026-05-18 11:38:35 +02:00
Wolfgang Walther
40fdae7a02 haskellPackages.proto-lens-arbitrary: update comment 2026-05-18 11:38:34 +02:00
Wolfgang Walther
4dfddc5e2d haskellPackages.hw-prim: update comment 2026-05-18 11:38:33 +02:00
Wolfgang Walther
a42cf3de47 haskellPackages.Unique: update comment 2026-05-18 11:38:32 +02:00
Wolfgang Walther
98472212df haskellPackages.hspec-core: update comment
Upstream issue is resolved, QuickCheck comment outdated - but when I try
to enable the tests, I get infinite recursion.
2026-05-18 11:38:31 +02:00
Wolfgang Walther
1166f6d5fe haskellPackages.xz: update comment 2026-05-18 11:38:30 +02:00
Wolfgang Walther
3100f81d11 haskellPackages.hgmp: drop jailbreak & unbreak
Builds fine for me.
2026-05-18 11:38:30 +02:00
Wolfgang Walther
cfae19b0e2 haskellPackages.io-sim: run tests 2026-05-18 11:38:29 +02:00
Wolfgang Walther
4c79be7954 haskellPackages.hedgehog-classes: allow hedgehog 1.6 2026-05-18 11:38:28 +02:00
Wolfgang Walther
a5d168008d haskellPackages.algebraic-graphs: allow QuickCheck 2.16 2026-05-18 11:38:27 +02:00
Wolfgang Walther
8960ba3747 haskellPackages.lzma: allow QuickCheck 2.16 2026-05-18 11:38:26 +02:00
Wolfgang Walther
4bac4c007b haskellPackages.bitwise: allow QuickCheck 2.16 2026-05-18 11:38:24 +02:00
Wolfgang Walther
449e33902d haskellPackages.fgl: allow QuickCheck 2.16 2026-05-18 11:38:24 +02:00
Wolfgang Walther
cfb525e8c7 haskellPackages.uuid: allow QuickCheck 2.16 2026-05-18 11:38:23 +02:00
Wolfgang Walther
90e108c717 haskellPackages.nix-derivation: allow QuickCheck 2.16 2026-05-18 11:38:22 +02:00
Wolfgang Walther
a9c7731b36 haskellPackages.http-api-data: allow QuickCheck 2.16 2026-05-18 11:38:21 +02:00
Wolfgang Walther
0e972a63ef haskellPackages.psqueues: allow QuickCheck 2.16 2026-05-18 11:38:19 +02:00
Wolfgang Walther
db6cdf8674 haskellPackages.{attoparsec,optparse-applicative,vecotr}: add upstream issue for QuickCheck 2.16 2026-05-18 11:38:18 +02:00
Wolfgang Walther
83742b85ed haskellPackages.criterion: drop patch
Already applied.
2026-05-18 11:36:57 +02:00
Wolfgang Walther
7fe7f911c5 haskellPackages.algebraic-graphs: drop patch
Already applied upstream.
2026-05-18 10:20:46 +02:00
Wolfgang Walther
379b9966b6 haskellPackages.pandoc: drop patches
These are already applied after the update.
2026-05-18 10:20:45 +02:00
Michael Daniels
8e147a7423 Merge commit 'c45cb29917167adb9ef5912b4bd93692cd19073e' into haskell-updates 2026-05-17 20:57:31 -04:00
sterni
e78b52efb2 haskell.packages.ghc914: drop obsolete package upgrades
We use these version by default now.
2026-05-17 15:51:05 +02:00
sternenseemann
9db26c0d78 maintainers/haskell/eval-pkg-sets.sh: add script for checking eval (#510902) 2026-05-17 13:14:33 +00:00
Wolfgang Walther
44c90f8b11 haskell.compiler.ghc{96,98,…}: drop obsolete workaround on darwin (#520191) 2026-05-17 12:41:08 +00:00
Wolfgang Walther
6ae08b4b8c haskellPackages.hpc-codecov: run obsolete override
The upstream issue has been resolved.
2026-05-17 14:38:47 +02:00
Wolfgang Walther
e71086f1ad haskellPackages: stackage LTS 24.38 -> Nightly 2026-05-16 / ghc: 9.10 -> 9.12 (#521235) 2026-05-17 12:20:08 +00:00
Wolfgang Walther
a9a7b4af3b haskellPackages.ihp{,-*}: remove overrides
hasql had been updated in the Stackage bump to Nightly, so we can just
unmark all of these at the top-level.
2026-05-17 14:08:10 +02:00
Wolfgang Walther
6e6ee420cc haskell.packages.ghc910.stack: fix eval 2026-05-17 14:05:11 +02:00
Wolfgang Walther
4f5821131d haskell.packages.ghc910.ghc-exactprint: pin 1.10
This was previously pinned via Stackage, but the update to Nightly
bumped the default to 1.12, which matches GHC 9.12.
2026-05-17 14:05:10 +02:00
Wolfgang Walther
7c90da01b9 haskellPackages: stackage LTS 24.38 -> Nightly 2026-05-16
all-cabal-hashes: 2026-04-24T19:35:23Z -> 2026-05-16T18:12:46Z

(generated by maintainers/scripts/haskell/update-package-set.sh)

Includes all manual changes required to eval and run cabal2nix-unstable
on this branch.
2026-05-17 13:57:57 +02:00
Wolfgang Walther
87258e4b4c maintainers/scripts/haskell/update-stackage: switch to Nightly
Switching to Nightly to start the upgrade process to GHC 9.12. We'll
eventually switch back to LTS once Stackage 25 is released.

Needs to be a separate commit, otherwise the script itself won't run.
2026-05-17 12:27:13 +02:00
Wolfgang Walther
07855b2421 ghc: 9.10 -> 9.12
Changing the default version of GHC ahead of switching to Stackage
Nightly in the next commits.
2026-05-17 12:27:07 +02:00
Wolfgang Walther
0ec79f0885 haskellPackages: regenerate hackage-packages
Generated by maintainers/scripts/haskell/regenerate-hackage-packages.sh
2026-05-17 11:58:18 +02:00
sterni
9adad48243 haskell.compiler.ghc{96,98,…}: drop obsolete workaround on darwin
The hadrian bindist configure script checks for the environment
variables we already set since https://gitlab.haskell.org/ghc/ghc/-/merge_requests/11649
This change has been backported to 9.6.2 and 9.8.2, so all hadrian
built GHCs we package are fixed.
2026-05-17 11:30:40 +02:00
Wolfgang Walther
2e0690adfb Merge commit 'f9710d15003bad7a6ed5f1c14229164fac2f1458' into haskell-updates 2026-05-17 10:48:26 +02:00
Wolfgang Walther
e9724bc92f git-annex: remove tasty workaround (#520973) 2026-05-17 08:37:33 +00:00
sterni
3b2f54505e git-annex: parallelize test suite
Uses git-annex custom mechanism which deals global state correctly
2026-05-16 17:20:08 +02:00
sterni
5498d6a4fe git-annex: remove tasty workaround
Has been fixed upstream
2026-05-16 17:19:28 +02:00
sternenseemann
b0f9043b9f haskell.compiler.ghcHEAD: 9.15.20260322 -> 10.1.20260513 (#520202) 2026-05-16 10:05:13 +00:00
sterni
fcd62a690f haskell.compiler.ghcHEAD: 9.15.20260322 -> 10.1.20260513 2026-05-14 22:11:54 +02:00
sternenseemann
fe8e3efa4f maintainers/haskell/eval-pkg-sets.sh: add script for checking eval
This checks the eval of all package sets, even those neither CI nor
Hydra will evaluate (completely).
2026-04-19 23:17:45 +02:00
2438 changed files with 38815 additions and 33475 deletions

View File

@@ -31,7 +31,7 @@ pkgs.mkShell {
## Packaging guide {#sec-language-ocaml-packaging}
OCaml libraries are installed in `$out/lib/ocaml/${ocaml.version}/site-lib/`, or in the same directory of the `dev` output (see `buildDunePackage` below). Such directories are automatically added to the `$OCAMLPATH` environment variable when building another package that depends on them or when opening a `nix-shell`.
OCaml libraries should be installed in `$(out)/lib/ocaml/${ocaml.version}/site-lib/`. Such directories are automatically added to the `$OCAMLPATH` environment variable when building another package that depends on them or when opening a `nix-shell`.
Given that most of the OCaml ecosystem is now built with dune, nixpkgs includes a convenience build support function called `buildDunePackage` that will build an OCaml package using dune, OCaml and findlib and any additional dependencies provided as `buildInputs` or `propagatedBuildInputs`.
@@ -139,29 +139,6 @@ buildDunePackage (finalAttrs: {
})
```
Unless the package sets `outputs`, `buildDunePackage` builds separate outputs,
and points `$OCAMLFIND_DESTDIR` to `dev`:
- `out` contains what the package produces for use at runtime, such as
executables.
- `dev` contains the OCaml libraries and the propagated dependencies needed to
build other packages against them. It is selected automatically when the
package is used as a build input.
- `man` contains the man pages. Like `out`, it is installed by default.
- `doc` contains the documentation, such as the README and license files.
This keeps build-time only OCaml dependencies out of the runtime closure of
executables. Code that refers to the library directory of such a package must
use its `dev` output, for example `${lib.getDev menhirLib}/lib/ocaml` or
`lib.makeSearchPathOutput "dev" "lib/ocaml/${ocaml.version}/site-lib"`.
Likewise, installing the library into a profile or environment requires its
`dev` output, e.g. `ocamlPackages.menhirLib.dev`.
Toplevels and programs that load plugins need their own OCaml library at
runtime, and the two outputs would refer to each other. Set
`outputs = [ "out" ];` for such packages, and for packages whose custom
`installPhase` installs everything into `$out`.
The build will automatically fail if two distinct versions of the same library
are added to `buildInputs` (which usually happens transitively because of
`propagatedBuildInputs`). Set `dontDetectOcamlConflicts` to true to disable this

View File

@@ -246,46 +246,6 @@ To disable the SwiftPM install phase, include the following in your derivation:
{ dontUseSwiftpmInstall = true; }
```
## Swift Macros {#ssec-swift-macros}
Nixpkgs includes the stdlib macros (ObservationMacros and SwiftMacros) and FoundationMacros in the toolchain.
Packages that need macros for Apple frameworks on Darwin have two options:
- `open-apple-macros` provides open-source implementations of FoundationModelsMacros and SwiftUIMacros; or
- `darwin.xcode-macros` provides macro libraries from Xcode not otherwise included in the toolchain, but they are unfree.
Add the appropriate package to `depsBuildBuild` (because they are compiler plugins that run on the build platform).
If you need to manually specify the path for a package because it or its build system invokes `swiftc` directly:
### `open-apple-macros` {#ssec-swift-macros-open-apple-macros}
```nix
{
buildPhase = ''
runHook preBuild
swiftc \
-external-plugin-path ${open-apple-macros}/lib/swift/host/plugins#${open-apple-macros}/libexec/swift/plugins/OpenAppleMacrosServer \
-disable-sandbox \
*.swift \
-o the_binary
runHook postBuild
'';
}
```
### `darwin.xcode-macros` {#ssec-swift-macros-xcode-macros}
```nix
{
# For `darwin.xcode-macros`
buildPhase = ''
runHook preBuild
swiftc \
-plugin-path ${darwin.xcode-macros}/lib/swift/host/plugins \
*.swift \
-o the_binary
runHook postBuild
'';
}
```
## Hooks {#ssec-swift-hooks}
Swift provides the following hooks to automate builds and unpack dependencies:

View File

@@ -4636,15 +4636,6 @@
"ssec-swiftpm-install-phase": [
"index.html#ssec-swiftpm-install-phase"
],
"ssec-swift-macros": [
"index.html#ssec-swift-macros"
],
"ssec-swift-macros-open-apple-macros": [
"index.html#ssec-swift-macros-open-apple-macros"
],
"ssec-swift-macros-xcode-macros": [
"index.html#ssec-swift-macros-xcode-macros"
],
"ssec-swift-hooks": [
"index.html#ssec-swift-hooks"
],

View File

@@ -52,11 +52,6 @@
- `moon` has been updated to `2.x` and needs manual migration. See the [migration guide](https://moonrepo.dev/docs/migrate/2.0) for instructions.
- OpenSSL now prefers the system CA bundle at `/etc/ssl/certs/ca-certificates.crt` on both Linux and Darwin, falling back to `/nix/var/nix/profiles/default/etc/ssl/certs/ca-bundle.crt` only when the system bundle is absent.
Previously, Darwin used the default Nix profile bundle directly.
An existing but unreadable or invalid system bundle does not trigger the fallback.
Explicit `NIX_SSL_CERT_FILE` and `SSL_CERT_FILE` overrides still take precedence.
- `hyperfine` has been updated from 1.21.0 to 2.0.0, which contains several breaking changes:
- Benchmarked commands are now executed directly instead of through an intermediate shell. Pass `-S`/`--shell=default` to restore the previous behavior.
- The `--export-json` format has changed (schema version 2); tools consuming the exported JSON must be updated.
@@ -99,13 +94,6 @@
By the time of this release, Homebrew will offer only limited [Tier 3](https://docs.brew.sh/Support-Tiers#tier-3) support for the platform, but MacPorts will likely continue to support it for a long time.
We also recommend users consider installing NixOS, which should continue to run on essentially all Intel Macs, especially after Apple stops security support for macOS 26 in 2028.
- `ocamlPackages.buildDunePackage` now builds packages with `out`, `dev`, `man` and `doc` outputs by default, unless they set `outputs`.
The OCaml libraries are installed into `dev`, man pages into `man`, documentation into `doc`, and `out` only contains what is needed at runtime, such as executables. This removes build-time only OCaml dependencies from the closure of tools like `patdiff`.
Code that refers to `${ocamlPackages.foo}/lib/ocaml` must use `${lib.getDev ocamlPackages.foo}/lib/ocaml` instead.
Installing such a library into a profile or environment (for example with `home.packages`, `environment.systemPackages` or `nix profile add`) no longer provides its `lib/ocaml` directory; install `ocamlPackages.foo.dev` instead.
- The `bin` and `lib` outputs of `ocamlPackages.odoc`, `ocamlPackages.crunch`, `ocamlPackages.mdx` and `ocamlPackages.tw` were removed. Use the package itself for the executables, and its `dev` output for the OCaml library.
- `bundlerApp` now sets `__structuredAttrs = true` for its result package.
Out-of-tree packages passing `postBuild` to `bundlerApp` should examine if their `postBuild` commands are compatible with structured attributes.
@@ -204,10 +192,6 @@
- `zerofs` has been updated from `1.x` to `2.x` which is a breaking change. Volumes created by earlier releases are refused at open with a clear error. There is no migration tool; older volumes remain readable and writable by the release that created them.
- `python3Packages.buildPythonPackage` and `python3Packages.buildPythonApplication` now warn in the presence of `unittestFlagsArray`.
Please use [`unittestFlags`](#using-unittestcheckhook) instead.
If modifying the Nix expression is not feasible, users can remediate the warning by overriding `unittestFlagsArray` with `null` or `[ ]`.
- `keycloak.plugins.keycloak-metrics-spi` has been removed. Keycloak exposes Prometheus metrics natively on its management interface; enable them with the `metrics-enabled` setting (and `event-metrics-user-enabled` for login and event counters). See [Gaining insights with metrics](https://www.keycloak.org/observability/configuration-metrics).
- `alps` has been rewritten upstream, see [upstream repository](https://github.com/migadu/alps) for documentation.
@@ -267,8 +251,6 @@
- `tcl.mkTclDerivation` now enables `strictDeps` and `__structuredAttrs`.
- `rustPlatform.cargoSetupHook` now forces several common C libraries to be linked to the Nixpkgs library rather than the vendored library. These include: aws-lc, openssl, libz, libsqlite3, zstd, libgit2, sodium, rustonig, libssh2, nginx, duckdb, and jemalloc. Set `dontCargoUseSystemLibs = true;` to opt out.
- `rssguard` 5.x uses a new database layer. Regenerate your database after upgrading, following the [RSS Guard migration notes](https://rssguard.readthedocs.io/en/stable/contrib/migrate.html).
- `pdns` has been updated from `5.0.x` to `5.1.x`. Please be sure to review the [Upgrade Notes](https://doc.powerdns.com/authoritative/upgrading.html#to-5-1-0) before upgrading. Namely LUA record updates are no longer allowed by default, and the embedded webserver no longer includes a `access-control-allow-origin: *` header by default.
@@ -479,7 +461,7 @@
- Firefox wrapper now accepts an optional `appDataDir` argument, which sets `MOZ_APP_DATA` to relocate Firefox application data. This is especially useful on macOS 27 and later, where wrapped Firefox applications may be denied access to profiles in traditional application data directory.
- Swift has been upgraded to Swift 6.4.0 from Swift 5.10.1.
- Swift has been upgraded to Swift 6.3.3 from Swift 5.10.1.
The Swift packaging has been rewritten.
## Nixpkgs Library {#sec-nixpkgs-release-26.11-lib}

View File

@@ -1198,9 +1198,6 @@ They cannot be overridden without rebuilding the package.
If dependencies should be resolved at runtime, use `--suffix` to append fallback values to `PATH`.
`makeBinaryWrapper` refuses a `--prefix` or `--suffix` value that would introduce an empty segment (an empty value, or a leading, trailing or doubled separator), because many `PATH`-like variables interpret an empty segment as the current directory.
For variables where an empty segment is useful and safe, such as `LUA_PATH` where `;;` stands for the default search path, use `--prefix-unchecked` or `--suffix-unchecked` instead.
There’s many more kinds of arguments, they are documented in `nixpkgs/pkgs/build-support/setup-hooks/make-wrapper.sh` for the `makeWrapper` implementation and in `nixpkgs/pkgs/by-name/ma/makeBinaryWrapper/make-binary-wrapper.sh` for the `makeBinaryWrapper` implementation.
`wrapProgram` is a convenience function you probably want to use most of the time, implemented by both `makeWrapper` and `makeBinaryWrapper`.

View File

@@ -0,0 +1,39 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash
#!nix-shell -p jq git
# shellcheck shell=bash
#
# Usage: eval-pkg-sets.sh [extra flags for nix-* commands ...]
#
# Must be executed in a git checkout of Nixpkgs.
set -euo pipefail
NIXPKGS="$(git rev-parse --show-toplevel)"
PKGSETS="$(nix-env --readonly-mode --json --drv-path -f "$NIXPKGS" -qaP -A haskell.compiler "$@" \
| jq -r 'to_entries | unique_by(.value.drvPath) .[] .key | sub("^haskell.compiler";"haskell.packages")')"
trap 'exit 1' SIGINT SIGTERM
set +e
badsets=""
for set in $PKGSETS; do
# Confirm an equivalent package set to haskell.compiler.$entry exists and is usable
if ! nix-instantiate --readonly-mode -A "$set.ghc" "$@" > /dev/null 2>&1; then
echo "Skipping $set... ($set.ghc does not evaluate)"
else
echo "Evaluating $set..."
if ! nix-env --readonly-mode -f "$NIXPKGS" -qaP --drv-path -A "$set" "$@" > /dev/null; then
badsets+="$set "
fi
fi
done
if [ -n "$badsets" ]; then
echo "Found potential eval issues in the following sets:" >&2
# shellcheck disable=SC2086
printf '%s\n' $badsets
exit 1
fi

View File

@@ -6,7 +6,7 @@
# Attention: For unknown reasons, the script can't be easily cancelled and needs to be killed manually if it shouldn't run to completion.
use std log
use std/log
let broken_config = "pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml"

View File

@@ -33,7 +33,7 @@ fi
# Stackage solver to use, LTS or Nightly
# (should be capitalized like the display name)
SOLVER=LTS
SOLVER=Nightly
# Stackage solver version, if any. Use latest if empty
VERSION=
TMP_TEMPLATE=update-stackage.XXXXXXX
@@ -105,6 +105,7 @@ sed -r \
-e '/ hledger-ui /d' \
-e '/ hledger-web /d' \
-e '/ spacecookie /d' \
-e '/ hnix-store-core /d' \
< "${tmpfile_new}" >> $stackage_config
# Explanations:
# cabal2nix, distribution-nixpkgs, jailbreak-cabal, language-nix: These are our packages and we know what we are doing.

View File

@@ -18,8 +18,6 @@
+nixpkgs.url = "https://channels.nixos.org/nixos-26.05/nixexprs.tar.zst";
```
- GNOME has been updated to version 51. Refer to the [GNOME release notes](https://release.gnome.org/51/) for more details.
- `sing-box` now supports NaïveProxy outbounds.
## New Modules {#sec-release-26.11-new-modules}

View File

@@ -41,8 +41,7 @@ mkdir -p $out/tarball
rm env-vars
# Store optimization can change hardlink topology without changing input NARs.
time tar --hard-dereference --sort=name --mtime='@1' --owner=0 --group=0 --numeric-owner -c * $extraArgs | $compressCommand > $out/tarball/$fileName.tar${extension}
time tar --sort=name --mtime='@1' --owner=0 --group=0 --numeric-owner -c * $extraArgs | $compressCommand > $out/tarball/$fileName.tar${extension}
mkdir -p $out/nix-support
echo $system > $out/nix-support/system

View File

@@ -461,38 +461,35 @@ in
pkgs.gtk3.out # for gtk-launch program
pkgs.xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
pkgs.xdg-user-dirs-gtk # Used to create the default bookmarks
pkgs.gnome-extensions-app
pkgs.gnome-tecla
];
in
mandatoryPackages ++ removeExcluded optionalPackages;
})
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/gnome-51/elements/core/meta-gnome-core-apps.bst
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/gnome-48/elements/core/meta-gnome-core-apps.bst
(lib.mkIf serviceCfg.core-apps.enable {
environment.systemPackages = removeExcluded [
pkgs.baobab
pkgs.decibels
pkgs.epiphany
pkgs.gnome-text-editor
pkgs.gnome-calculator
pkgs.gnome-calendar
pkgs.gnome-characters
pkgs.gnome-clocks
pkgs.gnome-connections
pkgs.gnome-console
pkgs.gnome-contacts
# gnome-disk-utility is controlled below via `programs.gnome-disks`
pkgs.gnome-font-viewer
pkgs.gnome-logs
pkgs.gnome-maps
pkgs.gnome-music
# gnome-software is controlled below via `services.gnome.gnome-software`
pkgs.gnome-system-monitor
pkgs.gnome-text-editor
pkgs.gnome-tecla
pkgs.gnome-weather
pkgs.loupe
pkgs.nautilus
pkgs.papers
pkgs.gnome-connections
pkgs.showtime
pkgs.simple-scan
pkgs.snapshot
@@ -529,7 +526,6 @@ in
];
})
# Note: This is an arbitrary list of packages, there is no "official" list of GNOME games.
(lib.mkIf serviceCfg.games.enable {
environment.systemPackages = removeExcluded [
pkgs.aisleriot
@@ -555,13 +551,18 @@ in
];
})
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/gnome-51/elements/core/meta-gnome-core-developer-tools.bst
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/gnome-48/elements/core/meta-gnome-core-developer-tools.bst
(lib.mkIf serviceCfg.core-developer-tools.enable {
environment.systemPackages = removeExcluded [
pkgs.dconf-editor
pkgs.devhelp
pkgs.d-spy
pkgs.gnome-builder
# boxes would make sense in this option, however
# it doesn't function well enough to be included
# in default configurations.
# https://github.com/NixOS/nixpkgs/issues/60908
# pkgs.gnome-boxes
pkgs.sysprof
];

View File

@@ -353,26 +353,8 @@ in
};
}
]
++ lib.optionals (!config.security.pam.p11.enable) [
{
settings."org/gnome/login-screen" = {
enable-smartcard-authentication = false;
};
}
]
++ [ "${gdm}/share/gdm/greeter-dconf-defaults" ];
programs.dconf.profiles.user.databases = [
{
settings."org/gnome/login-screen" = {
enable-smartcard-authentication = config.security.pam.p11.enable;
# We currently don't provide a `gdm-switchable-auth` PAM service.
enable-switchable-authentication = false;
};
}
];
# Use AutomaticLogin if delay is zero, because it's immediate.
# Otherwise with TimedLogin with zero seconds the prompt is still
# presented and there's a little delay.
@@ -689,85 +671,6 @@ in
];
};
};
# Do not attempt to authenticate via smartcard when the login option
# "Password" is selected (gdm-password).
login.p11Auth = lib.mkIf config.security.pam.p11.enable false;
gdm-smartcard = lib.mkIf config.security.pam.p11.enable {
useDefaultRules = false;
rules = {
auth = utils.pam.autoOrderRules [
{
name = "nologin";
control = "requisite";
modulePath = "${config.security.pam.package}/lib/security/pam_nologin.so";
}
{
name = "faillock";
control = "requisite";
modulePath = "${config.security.pam.package}/lib/security/pam_faillock.so";
settings.preauth = true;
}
{
name = "p11";
control = "required";
modulePath = "${pkgs.pam_p11}/lib/security/pam_p11.so";
args = [
"${pkgs.opensc}/lib/opensc-pkcs11.so"
];
}
{
name = "shells";
control = "required";
modulePath = "${config.security.pam.package}/lib/security/pam_shells.so";
}
{
name = "env";
control = "required";
modulePath = "${config.security.pam.package}/lib/security/pam_env.so";
settings.conffile = "/etc/pam/environment";
settings.readenv = 0;
}
{
name = "gdm";
enable = pamLogin.enable && pamLogin.enableGnomeKeyring;
control = "[success=ok default=1]";
modulePath = "${gdm}/lib/security/pam_gdm.so";
}
{
name = "gnome_keyring";
enable = pamLogin.enable && pamLogin.enableGnomeKeyring;
control = "optional";
modulePath = "${pkgs.gnome-keyring}/lib/security/pam_gnome_keyring.so";
}
];
account = utils.pam.autoOrderRules [
{
name = "login";
control = "include";
modulePath = "login";
}
];
password = utils.pam.autoOrderRules [
{
name = "deny";
control = "required";
modulePath = "${config.security.pam.package}/lib/security/pam_deny.so";
}
];
session = utils.pam.autoOrderRules [
{
name = "login";
control = "include";
modulePath = "login";
}
];
};
};
};
};

View File

@@ -98,7 +98,7 @@ in
- nixpkgs.config.cudaSupport
- nixpkgs.config.rocmSupport
- if stdenv.hostPlatform.isDarwin
- if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64
IFF multiple acceleration methods are found to be enabled or if you
haven't set either `cudaSupport or rocmSupport` you will have to

View File

@@ -41,11 +41,6 @@ let
ghostty.pkg = p: p.ghostty;
ghostty.cmd = "ghostty -e $command";
gnome-console.pkg = p: p.gnome-console;
gnome-console.executable = "kgx";
gnome-console.cmd = "kgx -e $command";
gnome-console.kill = true;
gnome-terminal.pkg = p: p.gnome-terminal;
guake.pkg = p: p.guake;
@@ -56,6 +51,10 @@ let
kermit.pkg = p: p.kermit-terminal;
kgx.pkg = p: p.kgx;
kgx.cmd = "kgx -e $command";
kgx.kill = true;
kitty.pkg = p: p.kitty;
kitty.cmd = "kitty $command";

View File

@@ -4,7 +4,7 @@
stdenv,
}:
rec {
version = "9.2.1252";
version = "9.2.1164";
outputs = [
"out"
@@ -15,7 +15,7 @@ rec {
owner = "vim";
repo = "vim";
rev = "v${version}";
hash = "sha256-k5Na69KYXb7kxajpJFv9+vBymApaio7TwHrETudAGrk=";
hash = "sha256-Ymtq7+egq8OydTdzHP/q14MK6p+crKlQwduJ27oDbNU=";
};
enableParallelBuilding = true;

View File

@@ -24,9 +24,9 @@ let
coqPath = lib.makeSearchPath "/lib/coq/${rocq-version}/user-contrib" allPackages;
ocamlPath =
lib.makeSearchPathOutput "dev" "/lib/ocaml/${coq.ocamlPackages.ocaml.version}/site-lib"
([ coq.ocamlPackages.findlib ] ++ allPackages);
ocamlPath = lib.makeSearchPath "/lib/ocaml/${coq.ocamlPackages.ocaml.version}/site-lib" (
[ coq.ocamlPackages.findlib ] ++ allPackages
);
pathEnvVar = if isRocq then "ROCQPATH" else "COQPATH";
in

View File

@@ -64,6 +64,8 @@ let
versionCheckHook,
}:
let
systemdLibs' = systemdLibs.override { withCompression = true; };
docker-meta = {
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
@@ -190,7 +192,7 @@ let
++ lib.optionals (lib.versionAtLeast version "29.0.0") [ nftables ]
++ lib.optionals withLvm [ lvm2 ]
++ lib.optionals withBtrfs [ btrfs-progs ]
++ lib.optionals withSystemd [ systemdLibs ]
++ lib.optionals withSystemd [ systemdLibs' ]
++ lib.optionals withSeccomp [ libseccomp ];
postPatch = ''

View File

@@ -200,30 +200,37 @@ if [[ "$NIX_DONT_SET_RPATH_@suffixSalt@" != 1 && "$linkType" != static-pie ]]; t
# so, add the directory to the rpath.
# It's important to add the rpath in the order of -L..., so
# the link time chosen objects will be those of runtime linking.
declare -A rpaths seenLibDirs
declare -A rpaths
for dir in ${libDirs+"${libDirs[@]}"}; do
# The same directory is often passed many times, such as from
# NIX_LDFLAGS; it would give the same result each time.
if [ -n "${seenLibDirs[$dir]:-}" ]; then
# If the path is in the store, do not resolve any symlinks and add it to the rpath.
# Resolving symlinks in the store breaks bootstrapping, see issue #454199.
# If it is outside the store, resolve symlinks step by step until it falls
# into the store or it becomes not a symlink.
# Always canonicalize the path before checking it is in the store or not.
if dir2=$(realpath -s "$dir"); then
dir="$dir2"
else
continue
fi
seenLibDirs["$dir"]=1
# Find where the directory is, following symlinks outside the store,
# and in it only where needed; see resolveLibDir. Skip directories
# that do not exist, in which the linker cannot find libraries either.
if ! [ -d "$dir" ] || ! resolveLibDir "$dir"; then
continue
fi
dir="$resolvedPath"
while [ -z "${rpaths[$dir]:-}" ] && [[ "$dir" != "${NIX_STORE:-}"/* ]] && [ -L "$dir" ]; do
if dir2=$(readlink "$dir"); then
dir="dir2"
else
break
fi
if dir2=$(realpath -s "$dir"); then
dir="dir2"
else
break
fi
done
# If the path turns out to be outside the store, we do not add it to rpath.
# This typically happens for libraries in /tmp that are later
# copied to $out/lib. If not, we're screwed.
if [ -n "${rpaths[$dir]:-}" ] || [[ "$dir" != "${NIX_STORE:-}"/* ]]; then
continue
fi
# Every name in libs is that of a shared library, ending in .so or
# containing .so., so the rest of the directory can be skipped.
for path in "$dir"/*.so*; do
for path in "$dir"/*; do
file="${path##*/}"
if [ "${libs[$file]:-}" ]; then
# This library may have been provided by a previous directory,

View File

@@ -129,8 +129,6 @@ lib.makeOverridable (
"pki"
# Custom dconf profiles
"dconf"
# EGL platform definitions (required by nvidia-x11)
"egl"
];
in
map (path: "/etc/${path}") files;

View File

@@ -302,7 +302,7 @@ lib.extendMkDerivation {
if [ "$cmd" = "test" ]; then
flags+=(-vet=off)
concatTo flags checkFlags
flags+=($checkFlags)
fi
local OUT

View File

@@ -20,8 +20,6 @@
pname = "prefetch-npm-deps";
version = (lib.importTOML ./Cargo.toml).package.version;
__structuredAttrs = true;
src = lib.cleanSourceWith {
src = ./.;
filter =

View File

@@ -45,26 +45,6 @@ lib.extendMkDerivation {
strictDeps = true;
# OCaml libraries, and the dependencies they propagate, are only needed
# to build other packages. Unless the package chooses its outputs,
# those are installed into "dev", rather than "out", to minimize the
# "out" runtime closure. Man pages and documentation go to "man" and
# "doc".
outputs =
args.outputs or [
"out"
"dev"
"man"
"doc"
];
# The findlib setup hook always points OCAMLFIND_DESTDIR at $out, so
# override it after all setup hooks have run.
postHook = ''
export OCAMLFIND_DESTDIR="''${!outputDev}/lib/ocaml/${ocaml.version}/site-lib/"
''
+ args.postHook or "";
inherit enableParallelBuilding;
dontAddStaticConfigureFlags = true;
configurePlatforms = [ ];
@@ -87,15 +67,12 @@ lib.extendMkDerivation {
args.installPhase or ''
runHook preInstall
dune install --prefix $out --libdir $OCAMLFIND_DESTDIR ${lib.concatStringsSep " " dunePackages} \
${lib.optionalString (lib.versionAtLeast Dune.version "2.9") ''
--docdir "''${!outputDoc}/share/doc" --mandir "''${!outputMan}/share/man" --etcdir "$out/etc" \
''} ${lib.optionalString (lib.versionAtLeast Dune.version "3.0") ''
--bindir "''${!outputBin}/bin" --datadir "$out/share"
''}
# Not every package installs something into each output.
for output in $(getAllOutputNames); do
mkdir -p "''${!output}"
done
${
if lib.versionAtLeast Dune.version "2.9" then
"--docdir $out/share/doc --mandir $out/share/man"
else
""
}
runHook postInstall
'';
@@ -106,22 +83,8 @@ lib.extendMkDerivation {
runHook postCheck
'';
# With several outputs, multiple-outputs.sh passes autoconf-style
# --bindir/--libdir/--mandir/... flags to ./configure. The configure
# scripts shipped by dune packages are hand-written and reject them.
setOutputFlags = args.setOutputFlags or false;
meta =
let
meta = args.meta or { };
# meta is often copied from another package, which may have other
# outputs. Keep the default if none of them are left.
outputsToInstall = lib.intersectLists finalAttrs.outputs (meta.outputsToInstall or [ ]);
in
removeAttrs meta [ "outputsToInstall" ]
// {
platforms = meta.platforms or ocaml.meta.platforms;
}
// lib.optionalAttrs (outputsToInstall != [ ]) { inherit outputsToInstall; };
meta = (args.meta or { }) // {
platforms = args.meta.platforms or ocaml.meta.platforms;
};
};
}

View File

@@ -1,223 +1,57 @@
import functools
import hashlib
import json
import os
import multiprocessing as mp
import re
import shutil
import subprocess
import sys
import tempfile
import threading
import tomllib
from concurrent.futures import FIRST_EXCEPTION, Future, ThreadPoolExecutor, wait
from dataclasses import dataclass, field
from os.path import islink, realpath
from pathlib import Path
from typing import Any, cast
from typing import Any, TypedDict, cast
from urllib.parse import unquote
import requests
import tomli_w
from requests import Session
from requests.adapters import HTTPAdapter, Retry
# Constants for controlling how the crates are downloaded from the registries via `requests`
# These do not affect the fetching of git dependencies
MAX_WORKERS = min(5, os.cpu_count() or 1) # number of workers in the ThreadPoolExecutor
CONNECT_TIMEOUT = 2 # max seconds for establishing initial connection
READ_TIMEOUT = 10 # max seconds between receiving data packets
TIMEOUT = (CONNECT_TIMEOUT, READ_TIMEOUT)
RETRY_COUNT = 3 # number of retries for fetching an url
BACKOFF_FACTOR = 0.5 # seconds to wait between retries (gets multiplied by 2 after every retry)
# If for some reason our custom User-Agent value starts getting rejected, we could
# set the User-Agent to the value that cargo uses, e.g.: "cargo/1.95.0 (f2d3ce0bd 2026-03-21)"
USER_AGENT = "nixpkgs-fetchCargoVendor/2 (https://github.com/NixOS/nixpkgs)"
eprint = functools.partial(print, file=sys.stderr)
@dataclass
class RegistrySource:
raw: str
url: str
is_sparse: bool
ind: int = field(init=False)
def load_toml(path: Path) -> dict[str, Any]:
with open(path, "rb") as f:
return tomllib.load(f)
@dataclass
class RegistryPackage:
name: str
version: str
source: RegistrySource
checksum: str
def get_lockfile_version(cargo_lock_toml: dict[str, Any]) -> int:
# lockfile v1 and v2 don't have the `version` key, so assume v2
version = cargo_lock_toml.get("version", 2)
# TODO: add logic for differentiating between v1 and v2
return version
GIT_SOURCE_REGEX = re.compile(r"git\+(?P<url>[^?]+)(\?(?P<type>rev|tag|branch)=(?P<value>.*))?#(?P<git_sha_rev>.*)")
@dataclass
class GitSource:
raw: str
url: str
type: str | None
value: str | None
git_sha_rev: str
ind: int = field(init=False)
@dataclass
class GitPackage:
name: str
version: str
source: GitSource
Source = RegistrySource | GitSource
Package = RegistryPackage | GitPackage
@dataclass
class Lockfile:
version: int
sources: list[Source]
packages: list[Package]
def parse_git_source(raw_source: str, lockfile_version: int) -> GitSource:
match = GIT_SOURCE_REGEX.match(raw_source)
if match is None:
raise Exception(f"Unable to process git source: {raw_source}.")
parsed_dict = match.groupdict(default=None)
url = cast(str, parsed_dict["url"])
git_sha_rev = cast(str, parsed_dict["git_sha_rev"])
source = GitSource(raw_source, url, parsed_dict["type"], parsed_dict["value"], git_sha_rev)
# the source URL is URL-encoded in lockfile_version >=4
# since we just used regex to parse it we have to manually decode the escaped branch/tag name
if lockfile_version >= 4 and source.value is not None:
source.value = unquote(source.value)
return source
def parse_source(raw_source: str, lockfile_version: int) -> Source:
if raw_source.startswith("git+"):
return parse_git_source(raw_source, lockfile_version)
elif raw_source.startswith("registry+"):
return RegistrySource(raw=raw_source, url=raw_source[9:], is_sparse=False)
elif raw_source.startswith("sparse+"):
return RegistrySource(raw=raw_source, url=raw_source[7:].rstrip("/"), is_sparse=True)
raise Exception(f"Cannot process source: {raw_source}")
def load_lockfile(path: Path) -> Lockfile:
with path.open("rb") as f:
cargo_lock_toml = tomllib.load(f)
# The `version` key missing means either lockfile v1 or v2. We assume v2 for now.
lockfile_version = cargo_lock_toml.get("version", 2)
raw_packages: list[dict[str, str]] = cargo_lock_toml["package"]
sources: list[Source] = []
raw_source_to_source: dict[str, Source] = {}
# we'll mark every source with an index in order of appearance
# both git and registry sources have a different incrementing index
# we reserve registry index 0 for both of the default crates-io registries
for raw_source in ["registry+https://github.com/rust-lang/crates.io-index", "sparse+https://index.crates.io/"]:
source = parse_source(raw_source, lockfile_version)
source.ind = 0
sources.append(source)
raw_source_to_source[source.raw] = source
next_registry_ind = 1
next_git_ind = 0
git_selector_tuple_to_git_ind: dict[tuple[str, str | None, str | None], int] = {}
for raw_pkg in raw_packages:
raw_source = raw_pkg.get("source", None)
if raw_source is None: # Skip local dependencies
continue
if raw_source in raw_source_to_source:
continue
source = parse_source(raw_source, lockfile_version)
match source:
case RegistrySource():
source.ind = next_registry_ind
next_registry_ind += 1
case GitSource():
# git sources may get the same `ind` value if their selectors match
tup = (source.url, source.type, source.value)
if tup not in git_selector_tuple_to_git_ind:
git_selector_tuple_to_git_ind[tup] = next_git_ind
next_git_ind += 1
source.ind = git_selector_tuple_to_git_ind[tup]
sources.append(source)
raw_source_to_source[source.raw] = source
packages: list[Package] = []
for raw_pkg in raw_packages:
name = raw_pkg["name"]
version = raw_pkg["version"]
raw_source = raw_pkg.get("source", None)
if raw_source is None: # Skip local dependencies
continue
source = raw_source_to_source[raw_source]
match source:
case RegistrySource():
checksum = raw_pkg.get("checksum", None)
# lockfile v1 has the checksum values in a separate metadata table
if checksum is None:
lockfile_version = 1
checksum_key = f"checksum {name} {version} ({source.raw})"
checksum = cargo_lock_toml["metadata"][checksum_key]
pkg = RegistryPackage(name, version, source, checksum)
case GitSource():
pkg = GitPackage(name, version, source)
packages.append(pkg)
return Lockfile(lockfile_version, sources, packages)
_local = threading.local()
def get_session() -> Session:
if hasattr(_local, "session"):
return _local.session
def create_http_session() -> requests.Session:
retries = Retry(
total=RETRY_COUNT,
backoff_factor=BACKOFF_FACTOR,
total=5,
backoff_factor=0.5,
status_forcelist=[500, 502, 503, 504]
)
session = Session()
session.headers["User-Agent"] = USER_AGENT
session = requests.Session()
session.headers["User-Agent"] = "nixpkgs-fetchCargoVendor/2 (https://github.com/NixOS/nixpkgs)"
session.mount('http://', HTTPAdapter(max_retries=retries))
session.mount('https://', HTTPAdapter(max_retries=retries))
_local.session = session
return session
def download_file_with_checksum(url: str, destination_path: Path) -> str:
session = get_session()
def download_file_with_checksum(session: requests.Session, url: str, destination_path: Path) -> str:
sha256_hash = hashlib.sha256()
with session.get(url, stream=True, timeout=TIMEOUT) as response:
response.raise_for_status()
with destination_path.open("wb") as file:
with session.get(url, stream=True) as response:
if not response.ok:
raise Exception(f"Failed to fetch file from {url}. Status code: {response.status_code}")
with open(destination_path, "wb") as file:
for chunk in response.iter_content(1024): # Download in chunks
if chunk: # Filter out keep-alive chunks
file.write(chunk)
@@ -228,157 +62,117 @@ def download_file_with_checksum(url: str, destination_path: Path) -> str:
return checksum
# Fetch the config.json file and get the .dl key from it
# See: https://doc.rust-lang.org/cargo/reference/registry-index.html#index-configuration
def fetch_dl_for_registry_source(source: RegistrySource) -> str:
# We hardcode the .dl value for crates-io registries to avoid having to clone the git repo, saving a few seconds
if source.ind == 0:
return "https://static.crates.io/crates"
def get_download_url_for_tarball(pkg: dict[str, Any]) -> str:
# TODO: support other registries
# maybe fetch config.json from the registry root and get the dl key
# See: https://doc.rust-lang.org/cargo/reference/registry-index.html#index-configuration
if pkg["source"] != "registry+https://github.com/rust-lang/crates.io-index":
raise Exception("Only the default crates.io registry is supported.")
eprint(f'Fetching .dl value for registry "{source.url}"')
if source.is_sparse:
url = source.url + "/config.json"
# https://doc.rust-lang.org/cargo/reference/registry-web-api.html#web-api
headers = {
"Content-Type": "application/json",
"Accept": "application/json",
}
session = get_session()
with session.get(url, headers=headers, timeout=TIMEOUT) as response:
response.raise_for_status()
registry_config: dict[str, str] = response.json()
else:
tmp_dir = Path(tempfile.mkdtemp())
# use spare-checkout to only get the config.json file from the registry's git repo
# --quiet is deliberately not used to be able to debug if something goes wrong
cmd = ["nix-prefetch-git", "--builder", "--url", source.url, "--rev", "HEAD", "--sparse-checkout", "config.json", "--out", str(tmp_dir)]
subprocess.check_output(cmd)
with (tmp_dir / "config.json").open("rb") as f:
registry_config: dict[str, str] = json.load(f)
dl = registry_config["dl"]
auth_required = registry_config.get("auth-required", False)
if auth_required:
raise Exception(f'Registry "{source.url}" requires authentication, but it is not yet implemented!')
return dl
# Use static.crates.io (CDN) instead of crates.io/api to avoid the 1 req/sec
# rate limit on the API servers.
return f"https://static.crates.io/crates/{pkg["name"]}/{pkg["version"]}/download"
# See: https://doc.rust-lang.org/cargo/reference/registry-index.html#index-files
def name_to_prefix(name: str) -> str:
nl = len(name)
if nl <= 2:
return str(nl)
if nl == 3:
return "3/" + name[0]
return name[0:2] + "/" + name[2:4]
def download_tarball(session: requests.Session, pkg: dict[str, Any], out_dir: Path) -> None:
url = get_download_url_for_tarball(pkg)
filename = f"{pkg["name"]}-{pkg["version"]}.tar.gz"
# See: https://doc.rust-lang.org/cargo/reference/registry-index.html#index-configuration
def make_download_url_for_tarball(pkg: RegistryPackage, dl: str) -> str:
# Assume default substitutions if no substitutions are specified
url = dl if "}" in dl else dl + "/{crate}/{version}/download"
# TODO: allow legacy checksum specification, see importCargoLock for example
# also, don't forget about the other usage of the checksum
expected_checksum = pkg["checksum"]
prefix = name_to_prefix(pkg.name)
url = url.replace("{crate}", pkg.name)
url = url.replace("{version}", pkg.version)
url = url.replace("{prefix}", prefix)
url = url.replace("{lowerprefix}", prefix.lower())
url = url.replace("{sha256-checksum}", pkg.checksum)
return url
tarball_out_dir = out_dir / "tarballs" / filename
eprint(f"Fetching {url} -> tarballs/{filename}")
def download_crate_tarball(url: str, out_path: Path, expected_checksum: str) -> None:
out_path.parent.mkdir(parents=True, exist_ok=True)
eprint(f"Fetching {url} -> {out_path}")
calculated_checksum = download_file_with_checksum(url, out_path)
calculated_checksum = download_file_with_checksum(session, url, tarball_out_dir)
if calculated_checksum != expected_checksum:
raise Exception(f"Hash mismatch! File fetched from {url} had checksum {calculated_checksum}, expected {expected_checksum}.")
def download_git_tree(url: str, git_sha_rev: str, out_dir: Path) -> None:
tree_out_dir = out_dir / "git" / git_sha_rev
# This could happen if different selectors point to the same git_sha_rev
if tree_out_dir.exists():
eprint(f"Skipping fetching {url}#{git_sha_rev} as it has already been downloaded")
return
tree_out_dir.mkdir(parents=True)
eprint(f"Fetching {url}#{git_sha_rev} -> git/{git_sha_rev}")
cmd = ["nix-prefetch-git", "--builder", "--quiet", "--fetch-submodules", "--url", url, "--rev", git_sha_rev, "--out", str(tree_out_dir)]
subprocess.check_output(cmd)
def make_tarball_relpath(pkg: RegistryPackage) -> Path:
# Instead of .tar.gz we could have used the .crate extension
# But we keep using .tar.gz for backwards compat
filename = f'{pkg.name}-{pkg.version}.tar.gz'
GIT_SOURCE_REGEX = re.compile("git\\+(?P<url>[^?]+)(\\?(?P<type>rev|tag|branch)=(?P<value>.*))?#(?P<git_sha_rev>.*)")
# For backwards compat, all crates.io crates (where source.ind == 0)
# are stored directly in tarballs/
# Crates from other registries are stored in tarballs/registry-{ind}/
if pkg.source.ind == 0:
reldir = Path("tarballs")
else:
reldir = Path("tarballs") / f"registry-{pkg.source.ind}"
return reldir / filename
class GitSourceInfo(TypedDict):
url: str
type: str | None
value: str | None
git_sha_rev: str
def parse_git_source(source: str, lockfile_version: int) -> GitSourceInfo:
match = GIT_SOURCE_REGEX.match(source)
if match is None:
raise Exception(f"Unable to process git source: {source}.")
source_info = cast(GitSourceInfo, match.groupdict(default=None))
# the source URL is URL-encoded in lockfile_version >=4
# since we just used regex to parse it we have to manually decode the escaped branch/tag name
if lockfile_version >= 4 and source_info["value"] is not None:
source_info["value"] = unquote(source_info["value"])
return source_info
def create_vendor_staging(lockfile_path: Path, out_dir: Path) -> None:
lockfile = load_lockfile(lockfile_path)
cargo_lock_toml = load_toml(lockfile_path)
lockfile_version = get_lockfile_version(cargo_lock_toml)
git_packages: list[dict[str, Any]] = []
registry_packages: list[dict[str, Any]] = []
for pkg in cargo_lock_toml["package"]:
# ignore local dependenices
if "source" not in pkg.keys():
eprint(f"Skipping local dependency: {pkg["name"]}")
continue
source = pkg["source"]
if source.startswith("git+"):
git_packages.append(pkg)
elif source.startswith("registry+"):
registry_packages.append(pkg)
else:
raise Exception(f"Can't process source: {source}.")
git_sha_rev_to_url: dict[str, str] = {}
for pkg in git_packages:
source_info = parse_git_source(pkg["source"], lockfile_version)
git_sha_rev_to_url[source_info["git_sha_rev"]] = source_info["url"]
out_dir.mkdir(exist_ok=True)
shutil.copy(lockfile_path, out_dir / "Cargo.lock")
git_sources = [source for source in lockfile.sources if isinstance(source, GitSource)]
registry_sources = [source for source in lockfile.sources if isinstance(source, RegistrySource)]
registry_packages = [pkg for pkg in lockfile.packages if isinstance(pkg, RegistryPackage)]
# fetch git trees sequentially, since fetching concurrently leads to flaky behaviour
if len(git_packages) != 0:
(out_dir / "git").mkdir()
for git_sha_rev, url in git_sha_rev_to_url.items():
download_git_tree(url, git_sha_rev, out_dir)
# We fetch git trees sequentially because fetching concurrently seemed to cause flaky behaviour
for source in git_sources:
download_git_tree(source.url, source.git_sha_rev, out_dir)
raw_registry_source_to_dl: dict[str, str] = {}
for source in registry_sources:
dl = fetch_dl_for_registry_source(source)
eprint(f'Using .dl value of "{dl}" for registry "{source.raw}"')
raw_registry_source_to_dl[source.raw] = dl
eprint(f"Downloading crate tarballs with {MAX_WORKERS} workers...")
with ThreadPoolExecutor(max_workers=MAX_WORKERS) as executor:
futures: list[Future[None]] = []
for pkg in registry_packages:
dl = raw_registry_source_to_dl[pkg.source.raw]
url = make_download_url_for_tarball(pkg, dl)
out_path = out_dir / make_tarball_relpath(pkg)
future = executor.submit(download_crate_tarball, url, out_path, pkg.checksum)
futures.append(future)
# fail early if a worker raises an exception
done, _ = wait(futures, return_when=FIRST_EXCEPTION)
for f in done:
e = f.exception()
if e is None:
continue
executor.shutdown(cancel_futures=True)
raise Exception(f"Failed to download tarball: {e}")
# run tarball download jobs in parallel, with at most 5 concurrent download jobs
with mp.Pool(min(5, mp.cpu_count())) as pool:
if len(registry_packages) != 0:
(out_dir / "tarballs").mkdir()
session = create_http_session()
tarball_args_gen = ((session, pkg, out_dir) for pkg in registry_packages)
pool.starmap(download_tarball, tarball_args_gen)
def get_manifest_metadata(manifest_path: Path) -> dict[str, Any]:
cmd = ["cargo", "metadata", "--format-version", "1", "--no-deps", "--manifest-path", str(manifest_path)]
output = subprocess.check_output(cmd, cwd=manifest_path.parent)
output = subprocess.check_output(cmd)
return json.loads(output)
@@ -450,7 +244,8 @@ def copy_and_patch_git_crate_subtree(git_tree: Path, crate_name: str, crate_out_
shutil.copytree(crate_tree, crate_out_dir, ignore=ignore_func)
crate_out_dir.chmod(0o755)
manifest_data = crate_manifest_path.read_text()
with open(crate_manifest_path, "r") as f:
manifest_data = f.read()
if "workspace" in manifest_data:
crate_manifest_metadata = get_manifest_metadata(crate_manifest_path)
@@ -473,16 +268,16 @@ def extract_crate_tarball_contents(tarball_path: Path, crate_out_dir: Path) -> N
subprocess.check_output(cmd)
def make_git_source_selector(source: GitSource) -> dict[str, str]:
def make_git_source_selector(source_info: GitSourceInfo) -> dict[str, str]:
selector = {}
selector["git"] = source.url
if source.type is not None:
selector[source.type] = source.value
selector["git"] = source_info["url"]
if source_info["type"] is not None:
selector[source_info["type"]] = source_info["value"]
return selector
def make_registry_source_selector(source: RegistrySource) -> dict[str, str]:
registry = source.raw if source.is_sparse else source.url
def make_registry_source_selector(source: str) -> dict[str, str]:
registry = source[9:] if source.startswith("registry+") else source
selector = {}
selector["registry"] = registry
return selector
@@ -493,9 +288,14 @@ def create_vendor(vendor_staging_dir: Path, out_dir: Path) -> None:
out_dir.mkdir(exist_ok=True)
shutil.copy(lockfile_path, out_dir / "Cargo.lock")
lockfile = load_lockfile(lockfile_path)
cargo_lock_toml = load_toml(lockfile_path)
lockfile_version = get_lockfile_version(cargo_lock_toml)
source_to_ind: dict[str, str] = {}
selector_to_ind: dict[tuple, str] = {}
source_config = {}
next_registry_ind = 0
next_git_ind = 0
def add_source_replacement(
orig_key: str,
@@ -508,96 +308,112 @@ def create_vendor(vendor_staging_dir: Path, out_dir: Path) -> None:
source_config[orig_key] = orig_selector
source_config[orig_key]["replace-with"] = vendored_key
# we reserve registry index 0 for crates-io
source_to_ind["registry+https://github.com/rust-lang/crates.io-index"] = "registry-0"
source_to_ind["sparse+https://index.crates.io/"] = "registry-0"
add_source_replacement(
orig_key="crates-io",
orig_selector={}, # there is an internal selector defined for the `crates-io` source
vendored_key="vendored-source-registry-0",
vendored_dir="@vendor@/source-registry-0"
)
next_registry_ind += 1
processed_git_inds = set()
for pkg in cargo_lock_toml["package"]:
# ignore local dependencies
if "source" not in pkg.keys():
continue
source: str = pkg["source"]
if source in source_to_ind:
continue
for source in lockfile.sources:
match source:
case RegistrySource():
if source.ind == 0: # crates-io already handled separately above
continue
if source.startswith("git+"):
source_info = parse_git_source(source, lockfile_version)
selector = make_git_source_selector(source_info)
selector_key = (source_info["url"], source_info["type"], source_info["value"])
if selector_key in selector_to_ind:
ind = selector_to_ind[selector_key]
else:
ind = f"git-{next_git_ind}"
next_git_ind += 1
selector_to_ind[selector_key] = ind
add_source_replacement(
orig_key=f"original-source-registry-{source.ind}",
orig_selector=make_registry_source_selector(source),
vendored_key=f"vendored-source-registry-{source.ind}",
vendored_dir=f"@vendor@/source-registry-{source.ind}"
orig_key=f"original-source-{ind}",
orig_selector=selector,
vendored_key=f"vendored-source-{ind}",
vendored_dir=f"@vendor@/source-{ind}"
)
case GitSource():
# In some cases multiple git sources can have the same selector, thus the same git ind
# but source replacements can't be made for the same selector multiple times
if source.ind in processed_git_inds:
continue
processed_git_inds.add(source.ind)
elif source.startswith("registry+") or source.startswith("sparse+"):
ind = f"registry-{next_registry_ind}"
next_registry_ind += 1
selector = make_registry_source_selector(source)
add_source_replacement(
orig_key=f"original-source-{ind}",
orig_selector=selector,
vendored_key=f"vendored-source-{ind}",
vendored_dir=f"@vendor@/source-{ind}"
)
else:
raise Exception(f"Can't process source: {source}.")
add_source_replacement(
orig_key=f"original-source-git-{source.ind}",
orig_selector=make_git_source_selector(source),
vendored_key=f"vendored-source-git-{source.ind}",
vendored_dir=f"@vendor@/source-git-{source.ind}"
)
source_to_ind[source] = ind
config_path = out_dir / ".cargo" / "config.toml"
config_path.parent.mkdir()
with config_path.open("wb") as config_file:
with open(config_path, "wb") as config_file:
tomli_w.dump({"source": source_config}, config_file)
for pkg in lockfile.packages:
match pkg:
case RegistryPackage():
crate_out_dir = out_dir / f"source-registry-{pkg.source.ind}" / f"{pkg.name}-{pkg.version}"
crate_out_dir.parent.mkdir(exist_ok=True)
for pkg in cargo_lock_toml["package"]:
tarball_path = vendor_staging_dir / make_tarball_relpath(pkg)
# ignore local dependenices
if "source" not in pkg.keys():
continue
extract_crate_tarball_contents(tarball_path, crate_out_dir)
source: str = pkg["source"]
source_ind = source_to_ind[source]
crate_dir_name = f"{pkg["name"]}-{pkg["version"]}"
source_dir_name = f"source-{source_ind}"
crate_out_dir = out_dir / source_dir_name / crate_dir_name
crate_out_dir.parent.mkdir(exist_ok=True)
# non-git based crates need the package checksum at minimum
with (crate_out_dir / ".cargo-checksum.json").open("w") as f:
json.dump({"files": {}, "package": pkg.checksum}, f)
if source.startswith("git+"):
case GitPackage():
crate_out_dir = out_dir / f"source-git-{pkg.source.ind}" / f"{pkg.name}-{pkg.version}"
crate_out_dir.parent.mkdir(exist_ok=True)
source_info = parse_git_source(source, lockfile_version)
if crate_out_dir.exists():
raise Exception(
f"{crate_out_dir} already exists!\n"
"This likely due to multiple packages having the same name, version and git selector, but not the same locked git revision\n"
"As a workaround, change all conflicting packages to have different git selectors\n"
"e.g. specifying an exact rev=<hash> selector for each affected package in both Cargo.toml and Cargo.lock\n"
"If it is not possible or difficult to do so (e.g. it's a transient dependency), as a hack, you could also consider keeping\n"
"the package with the most up-to-date revision and removing all other duplicated entries from Cargo.lock"
)
git_sha_rev = source_info["git_sha_rev"]
git_tree = vendor_staging_dir / "git" / git_sha_rev
git_sha_rev = pkg.source.git_sha_rev
git_tree = vendor_staging_dir / "git" / git_sha_rev
copy_and_patch_git_crate_subtree(git_tree, pkg["name"], crate_out_dir)
copy_and_patch_git_crate_subtree(git_tree, pkg.name, crate_out_dir)
# git based crates allow having no checksum information
with open(crate_out_dir / ".cargo-checksum.json", "w") as f:
json.dump({"files": {}}, f)
# git based crates allow having no checksum information
with (crate_out_dir / ".cargo-checksum.json").open("w") as f:
json.dump({"files": {}}, f)
elif source.startswith("registry+") or source.startswith("sparse+"):
filename = f"{pkg["name"]}-{pkg["version"]}.tar.gz"
# TODO: change this when non-crates-io registries are supported
dir_name = "tarballs"
tarball_path = vendor_staging_dir / dir_name / filename
extract_crate_tarball_contents(tarball_path, crate_out_dir)
# non-git based crates need the package checksum at minimum
with open(crate_out_dir / ".cargo-checksum.json", "w") as f:
json.dump({"files": {}, "package": pkg["checksum"]}, f)
else:
raise Exception(f"Can't process source: {source}.")
def main() -> None:
subcommand = sys.argv[1]
subcommand_func_dict = {
"create-vendor-staging": lambda: create_vendor_staging(
lockfile_path=Path(sys.argv[2]),
out_dir=Path(sys.argv[3])
),
"create-vendor": lambda: create_vendor(
vendor_staging_dir=Path(sys.argv[2]),
out_dir=Path(sys.argv[3])
)
"create-vendor-staging": lambda: create_vendor_staging(lockfile_path=Path(sys.argv[2]), out_dir=Path(sys.argv[3])),
"create-vendor": lambda: create_vendor(vendor_staging_dir=Path(sys.argv[2]), out_dir=Path(sys.argv[3]))
}
subcommand_func = subcommand_func_dict.get(subcommand)

View File

@@ -8,11 +8,6 @@ cargoSetupPostUnpackHook() {
# it writable. If we're using a tarball, the unpackFile hook already handles
# this for us automatically.
if [ -z $cargoVendorDir ]; then
if [ -z "$cargoDeps" ]; then
echo "ERROR: Missing cargoDeps"
exit 1
fi
if [ -d "$cargoDeps" ]; then
local dest=$(stripHash "$cargoDeps")
cp -Lr --reflink=auto -- "$cargoDeps" "$dest"
@@ -91,77 +86,6 @@ cargoSetupPostPatchHook() {
echo "Finished cargoSetupPostPatchHook"
}
cargoUseSystemLibs() {
# Sentinel directory that doesn't exist. For packages
# Where you tell it directories, but can't force it to only
# use system libraries
#
# Note that this isn't perfect, as some have fallbacks if their probing fails.
local -r sentinel_dir="$(mktemp -du nixpkgs.XXXX)/use/system/library"
# https://docs.rs/system-deps/8.0.0/system_deps/#internally-build-system-libraries
export SYSTEM_DEPS_BUILD_INTERNAL="never"
# https://github.com/aws/aws-lc-rs/blob/741dbf573a64b6a1e1e6b7c1131a0f8153a28441/aws-lc-sys/README.md#automatic-detection
export AWS_LC_SYS_USE_SYSTEM="1"
# https://github.com/rust-openssl/rust-openssl/blob/b46d5ec06144795e8f9e118c44bebd392956917a/openssl-sys/build/main.rs#L53
export OPENSSL_NO_VENDOR="1"
# 1 = Links statically to the vendored one
# 0 = Use pkg-config
# https://github.com/rust-lang/libz-sys/blob/2ce3271849d85329b668e0bac9f21427ecf8aef9/build.rs#L256
export LIBZ_SYS_STATIC="0"
# https://github.com/rusqlite/rusqlite/blob/db83b9b08d9cab73f912501eefb8df7b100acd7d/libsqlite3-sys/build.rs#L53
export LIBSQLITE3_SYS_USE_PKG_CONFIG="1"
# https://github.com/gyscos/zstd-rs/blob/ad18ca4e275aed9acc3087d7c1c65d03ab67ad6e/zstd-safe/zstd-sys/build.rs#L279
export ZSTD_SYS_USE_PKG_CONFIG="1"
# https://github.com/rust-lang/git2-rs/blob/a00922bcdf0f78419aa5dd0d3643e73ce01672a8/libgit2-sys/build.rs#L95
export LIBGIT2_NO_VENDOR="1"
# https://github.com/sodiumoxide/sodiumoxide/blob/3057acb1a030ad86ed8892a223d64036ab5e8523/libsodium-sys/build.rs#L34
export SODIUM_USE_PKG_CONFIG="1"
# https://github.com/rust-onig/rust-onig/blob/73e63eb3eea6d93d24a4aadf7fea580287750c7d/onig_sys/build.rs#L250
export RUSTONIG_SYSTEM_LIBONIG="1"
# https://github.com/rust-lang/ssh2-rs/blob/0a11bdd4eecf4525e540c30f14b15ab1c07194b7/libssh2-sys/build.rs#L23
export LIBSSH2_SYS_USE_PKG_CONFIG="1"
# We can only supply the src dir.
# https://github.com/nginx/ngx-rust/tree/main/nginx-sys#input-variables
# Since we don't want to pull it in for every build, we set it to a dummy value
# in all builds, but lets the user set it via `env.NGINX_SOURCE_DIR = nginx.src`
export NGINX_SOURCE_DIR="${NGINX_SOURCE_DIR:-"$sentinel_dir/nginx/src"}"
# We can only supply the lib and include dirs
# https://github.com/duckdb/duckdb-rs/blob/ea700a79534c8e8c22a9ac685135f15c31de91d3/crates/libduckdb-sys/build.rs#L203
# Set to sentinel by default again
# There is also a DUCKDB_LIB_DIR var, but I think only one needs to be set.
export DUCKDB_DOWNLOAD_LIB="0"
export DUCKDB_INCLUDE_DIR="${DUCKDB_INCLUDE_DIR:-"$sentinel_dir/duckdb/include"}"
# https://github.com/tikv/jemallocator/blob/a181911517adff5331e43dfd9804086f7c392a25/jemalloc-sys/build.rs#L132
export JEMALLOC_OVERRIDE="${JEMALLOC_OVERRIDE:-"$sentinel_dir/lib/libjemalloc"}"
}
# Cargo defaults to one job per host CPU. Limit builds that invoke Cargo
# directly (e.g. through Meson or Make) to NIX_BUILD_CORES, like cargoBuildHook.
# This runs in a phase because stdenv normalizes NIX_BUILD_CORES after
# sourcing setup hooks.
cargoSetupBuildJobs() {
export CARGO_BUILD_JOBS="${CARGO_BUILD_JOBS:-$NIX_BUILD_CORES}"
}
postUnpackHooks+=(cargoSetupBuildJobs)
if [[ -z "${dontCargoUseSystemLibs-}" ]]; then
preConfigureHooks+=(cargoUseSystemLibs)
fi
if [ -z "${dontCargoSetupPostUnpack-}" ]; then
postUnpackHooks+=(cargoSetupPostUnpackHook)
fi

View File

@@ -187,18 +187,13 @@ let
let
crateTarball = fetchCrate pkg registries.${registryIndexUrl};
in
runCommand "${pkg.name}-${pkg.version}"
{
strictDeps = true;
__structuredAttrs = true;
}
''
mkdir $out
tar xf "${crateTarball}" -C $out --strip-components=1
runCommand "${pkg.name}-${pkg.version}" { } ''
mkdir $out
tar xf "${crateTarball}" -C $out --strip-components=1
# Cargo is happy with largely empty metadata.
printf '{"files":{},"package":"${crateTarball.outputHash}"}' > "$out/.cargo-checksum.json"
''
# Cargo is happy with largely empty metadata.
printf '{"files":{},"package":"${crateTarball.outputHash}"}' > "$out/.cargo-checksum.json"
''
else if gitParts != null then
let
missingHash = throw ''
@@ -229,71 +224,66 @@ let
else
missingHash;
in
runCommand "${pkg.name}-${pkg.version}"
{
strictDeps = true;
__structuredAttrs = true;
}
''
tree=${tree}
runCommand "${pkg.name}-${pkg.version}" { } ''
tree=${tree}
# If the target package is in a workspace, or if it's the top-level
# crate, we should find the crate path using `cargo metadata`.
# Some packages do not have a Cargo.toml at the top-level,
# but only in nested directories.
# Only check the top-level Cargo.toml, if it actually exists
if [[ -f $tree/Cargo.toml ]]; then
crateCargoTOML=$(cd "$tree" && ${cargo}/bin/cargo metadata --format-version 1 --no-deps --manifest-path $tree/Cargo.toml | \
${jq}/bin/jq -r '.packages[] | select(.name == "${pkg.name}") | .manifest_path')
fi
# If the target package is in a workspace, or if it's the top-level
# crate, we should find the crate path using `cargo metadata`.
# Some packages do not have a Cargo.toml at the top-level,
# but only in nested directories.
# Only check the top-level Cargo.toml, if it actually exists
if [[ -f $tree/Cargo.toml ]]; then
crateCargoTOML=$(${cargo}/bin/cargo metadata --format-version 1 --no-deps --manifest-path $tree/Cargo.toml | \
${jq}/bin/jq -r '.packages[] | select(.name == "${pkg.name}") | .manifest_path')
fi
# If the repository is not a workspace the package might be in a subdirectory.
if [[ -z $crateCargoTOML ]]; then
for manifest in $(find $tree -name "Cargo.toml"); do
echo Looking at $manifest
crateCargoTOML=$(cd "$(dirname "$manifest")" && ${cargo}/bin/cargo metadata --format-version 1 --no-deps --manifest-path "$manifest" | ${jq}/bin/jq -r '.packages[] | select(.name == "${pkg.name}") | .manifest_path' || :)
if [[ ! -z $crateCargoTOML ]]; then
break
fi
done
if [[ -z $crateCargoTOML ]]; then
>&2 echo "Cannot find path for crate '${pkg.name}-${pkg.version}' in the tree in: $tree"
exit 1
# If the repository is not a workspace the package might be in a subdirectory.
if [[ -z $crateCargoTOML ]]; then
for manifest in $(find $tree -name "Cargo.toml"); do
echo Looking at $manifest
crateCargoTOML=$(${cargo}/bin/cargo metadata --format-version 1 --no-deps --manifest-path "$manifest" | ${jq}/bin/jq -r '.packages[] | select(.name == "${pkg.name}") | .manifest_path' || :)
if [[ ! -z $crateCargoTOML ]]; then
break
fi
done
if [[ -z $crateCargoTOML ]]; then
>&2 echo "Cannot find path for crate '${pkg.name}-${pkg.version}' in the tree in: $tree"
exit 1
fi
fi
echo Found crate ${pkg.name} at $crateCargoTOML
tree=$(dirname $crateCargoTOML)
echo Found crate ${pkg.name} at $crateCargoTOML
tree=$(dirname $crateCargoTOML)
cp -prvL "$tree" "$out" || echo "Warning: certain files couldn't be copied!" >&2
chmod u+w $out
cp -prvL "$tree" "$out" || echo "Warning: certain files couldn't be copied!" >&2
chmod u+w $out
if grep -q workspace "$out/Cargo.toml"; then
chmod u+w "$out/Cargo.toml"
${replaceWorkspaceValues} "$out/Cargo.toml" "$(cd "$tree" && ${cargo}/bin/cargo metadata --format-version 1 --no-deps --manifest-path $crateCargoTOML | ${jq}/bin/jq -r .workspace_root)/Cargo.toml"
fi
if grep -q workspace "$out/Cargo.toml"; then
chmod u+w "$out/Cargo.toml"
${replaceWorkspaceValues} "$out/Cargo.toml" "$(${cargo}/bin/cargo metadata --format-version 1 --no-deps --manifest-path $crateCargoTOML | ${jq}/bin/jq -r .workspace_root)/Cargo.toml"
fi
# Cargo is happy with empty metadata.
printf '{"files":{},"package":null}' > "$out/.cargo-checksum.json"
# Cargo is happy with empty metadata.
printf '{"files":{},"package":null}' > "$out/.cargo-checksum.json"
${optionalString (gitParts ? type) ''
gitPartsValue=${escapeShellArg gitParts.value}
# starting with lockfile version v4 the git source url contains encoded query parameters
# our regex parser does not know how to unescape them to get the actual value, so we do it here
${optionalString (lockFileVersion >= 4) ''
gitPartsValue=$(${getExe python3Packages.python} -c "import sys, urllib.parse; print(urllib.parse.unquote(sys.argv[1]))" "$gitPartsValue")
''}
${optionalString (gitParts ? type) ''
gitPartsValue=${escapeShellArg gitParts.value}
# starting with lockfile version v4 the git source url contains encoded query parameters
# our regex parser does not know how to unescape them to get the actual value, so we do it here
${optionalString (lockFileVersion >= 4) ''
gitPartsValue=$(${getExe python3Packages.python} -c "import sys, urllib.parse; print(urllib.parse.unquote(sys.argv[1]))" "$gitPartsValue")
''}
''}
# Set up configuration for the vendor directory.
cat > $out/.cargo-config <<EOF
[source."${pkg.source}"]
git = "${gitParts.url}"
${optionalString (gitParts ? type) "${gitParts.type} = \"$gitPartsValue\""}
replace-with = "vendored-sources"
EOF
''
# Set up configuration for the vendor directory.
cat > $out/.cargo-config <<EOF
[source."${pkg.source}"]
git = "${gitParts.url}"
${optionalString (gitParts ? type) "${gitParts.type} = \"$gitPartsValue\""}
replace-with = "vendored-sources"
EOF
''
else
throw "Cannot handle crate source: ${pkg.source}";
@@ -301,7 +291,6 @@ let
runCommand "cargo-vendor-dir"
(
{
strictDeps = true;
__structuredAttrs = true;
}
// (

View File

@@ -1,4 +0,0 @@
{ callPackage }:
{
gitDependencyCargoConfig = callPackage ./git-dependency-cargo-config { };
}

View File

@@ -1,6 +0,0 @@
{ rustPlatform }:
rustPlatform.fetchCargoVendor {
name = "git-dependency-cargo-config";
src = ../../import-cargo-lock/git-dependency-cargo-config;
hash = "sha256-rUQQ4Xrk+rW5Vgm7GK8xrK9zcwazsmBO6Q6qTCUniWc=";
}

View File

@@ -17,7 +17,6 @@
{ };
gitDependencyTag = callPackage ./git-dependency-tag { };
gitDependencyBranch = callPackage ./git-dependency-branch { };
gitDependencyCargoConfig = callPackage ./git-dependency-cargo-config { };
maturin = maturin.tests.pyo3;
v1 = callPackage ./v1 { };
gitDependencyWorkspaceInheritance = callPackage ./git-dependency-workspace-inheritance {

View File

@@ -1,13 +0,0 @@
version = 3
[[package]]
name = "fixture"
version = "0.1.0"
dependencies = [
"bootloader",
]
[[package]]
name = "bootloader"
version = "0.11.17"
source = "git+https://github.com/rust-osdev/bootloader.git?rev=3d7f72e36d4101ecf78b70cef2475d700bb01721#3d7f72e36d4101ecf78b70cef2475d700bb01721"

View File

@@ -1,8 +0,0 @@
{ rustPlatform }:
rustPlatform.importCargoLock {
lockFile = ./Cargo.lock;
outputHashes = {
# Bootloader's .cargo/config.toml enables bindeps, which are required to parse its manifest.
"bootloader-0.11.17" = "sha256-mLm5M1HLipN1EzS1zbDgMxMOqNySivGsK8+i0uOmoFM=";
};
}

View File

@@ -33,8 +33,6 @@ assertExecutable() {
# --prefix ENV SEP VAL : suffix/prefix ENV with VAL, separated by SEP
# --suffix
# --prefix-unchecked ENV SEP VAL : same as --prefix/--suffix, accepted for compatibility
# --suffix-unchecked with makeBinaryWrapper
# --prefix-each ENV SEP VALS : like --prefix, but VALS is a list
# --suffix-each ENV SEP VALS : like --suffix, but VALS is a list
# --prefix-contents ENV SEP FILES : like --suffix-each, but contents of FILES
@@ -147,7 +145,7 @@ makeShellWrapper() {
command="${params[$((n + 1))]}"
n=$((n + 1))
echo "$command" >> "$wrapper"
elif [[ ("$p" == "--suffix") || ("$p" == "--prefix") || ("$p" == "--suffix-unchecked") || ("$p" == "--prefix-unchecked") ]]; then
elif [[ ("$p" == "--suffix") || ("$p" == "--prefix") ]]; then
varName="${params[$((n + 1))]}"
separator="${params[$((n + 2))]}"
value="${params[$((n + 3))]}"

View File

@@ -150,67 +150,6 @@ expandResponseParams() {
done
}
# Resolve the path $1 of a library directory, which like the linker
# takes a relative path from the working directory, to the directory the
# linker searches, as far as needed to tell whether it is in the store,
# and where. Like the kernel, follow each symlink before going on to the
# next component, so that symlinks in ancestor directories count, and `..`
# applies to the target of a symlink rather than removing it. But in the
# store, keep symlinks that are not followed by `..` as they are, since
# resolving symlinks between store paths would refer to their targets
# instead (see issue #454199). The result is stored in resolvedPath.
# Fails if there are too many symlinks.
resolveLibDir() {
local rest="$1/" component link target links=0
# The common case: a path in the store with no `.`, `..` or empty
# components is already resolved, since it has no symlink to follow.
if [[ "$1" == "${NIX_STORE:-}"/* && "$1/" != */./* && "$1/" != */../* && "$1/" != *//* ]]; then
resolvedPath="$1"
return
fi
if [[ "$rest" != /* ]]; then
rest="$PWD/$rest"
fi
resolvedPath=
while [[ -n "$rest" ]]; do
component="${rest%%/*}"
rest="${rest#*/}"
case "$component" in
"" | .) continue ;;
..)
if [[ -L "$resolvedPath" ]]; then
# Follow it, then apply this `..` to its target.
link="$resolvedPath"
resolvedPath="${resolvedPath%/*}"
rest="../$rest"
else
resolvedPath="${resolvedPath%/*}"
continue
fi
;;
*)
link="$resolvedPath/$component"
# Keep a symlink in the store unless `..` follows it, and
# never resolve the store or its ancestors, which may be
# symlinks (NIX_IGNORE_SYMLINK_STORE).
if [[ "$link" == "${NIX_STORE:-}"/* || "${NIX_STORE:-}/" == "$link"/* || ! -L "$link" ]]; then
resolvedPath="$link"
continue
fi
;;
esac
(( ++links <= 40 )) || return 1
target=$(readlink "$link") || return 1
# A relative target is relative to the directory containing the
# link, which is now resolvedPath.
if [[ "$target" == /* ]]; then
resolvedPath=
fi
rest="$target/$rest"
done
resolvedPath="${resolvedPath:-/}"
}
checkLinkType() {
local arg
type="dynamic"

View File

@@ -66,7 +66,7 @@ gccStdenv.mkDerivation (finalAttrs: {
autoupdate
'';
hardeningDisable = lib.optionals stdenv.hostPlatform.isDarwin [
hardeningDisable = lib.optionals (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isDarwin) [
"stackprotector"
];

View File

@@ -92,6 +92,6 @@ stdenv.mkDerivation {
platforms = lib.platforms.unix;
# needs additional work to support aarch64-darwin
# due to usage of _DARWIN_NO_64_BIT_INODE
broken = stdenv.hostPlatform.isDarwin;
broken = stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isDarwin;
};
}

View File

@@ -3,7 +3,6 @@
stdenv,
fetchFromGitHub,
cmake,
fixDarwinDylibNames,
gtest,
static ? stdenv.hostPlatform.isStatic,
cxxStandard ? null,
@@ -23,8 +22,6 @@ stdenv.mkDerivation (finalAttrs: {
outputs = [
"out"
"dev"
# Test helper libraries linking against GoogleTest
"testing"
];
cmakeFlags = [
@@ -38,22 +35,10 @@ stdenv.mkDerivation (finalAttrs: {
strictDeps = true;
nativeBuildInputs = [ cmake ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ fixDarwinDylibNames ];
nativeBuildInputs = [ cmake ];
buildInputs = [ gtest ];
postInstall = ''
for lib in scoped_mock_log status_matchers; do
moveToOutput "lib/libabsl_$lib.*" "$testing"
substituteInPlace $out/lib/cmake/absl/abslTargets-*.cmake \
--replace-fail "$out/lib/libabsl_$lib." "$testing/lib/libabsl_$lib."
substituteInPlace "$out/lib/pkgconfig/absl_$lib.pc" \
--replace-fail "libdir=$out/lib" "libdir=$testing/lib"
done
'';
outputChecks.out.disallowedRequisites = [ gtest ];
__structuredAttrs = true;
meta = {

View File

@@ -17,6 +17,8 @@ python3Packages.buildPythonApplication {
hash = "sha256-s9kegTZOZEgGx0Yj8jOfzAyjyy1EuabOybMDBoodRvo=";
};
__structuredAttrs = true;
build-system = with python3Packages; [
setuptools
];

View File

@@ -45,7 +45,9 @@ stdenv.mkDerivation (finalAttrs: {
# ACPICA emits packed structs that produce unaligned pointers. Apple's
# arm64 linker rejects these under chained fixups; opt back into the
# legacy fixup format so the link succeeds.
NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-no_fixup_chains";
NIX_LDFLAGS = lib.optionalString (
stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64
) "-no_fixup_chains";
# i686 builds fail with hardening enabled (due to -Wformat-overflow). Disable
# -Werror altogether to make this derivation less fragile to toolchain

View File

@@ -2,8 +2,6 @@
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
aws-lc,
}:
rustPlatform.buildRustPackage (finalAttrs: {
@@ -20,14 +18,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
cargoHash = "sha256-uch2JKnskO5W8EPK877qL0aQQ+iInHJoCrrhZbmoVRs=";
nativeBuildInputs = [
pkg-config
];
buildInputs = [
aws-lc
];
meta = {
description = "Terminal-based, real-time traffic monitoring and statistics for your AdGuard Home instance";
mainProgram = "adguardian";

View File

@@ -10,6 +10,8 @@ python3Packages.buildPythonApplication (finalAttrs: {
version = "1.2.0";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "NetSPI";
repo = "AD-PathFinder";

View File

@@ -10,6 +10,8 @@ python3Packages.buildPythonApplication (finalAttrs: {
version = "13.2.0";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "ADScanPro";
repo = "adscan";

View File

@@ -16,9 +16,9 @@ let
case "$1 $2" in
"config var")
case "$3" in
man) echo "''${man:-$out}/share/man";;
man) echo "$out/share/man";;
etc) echo "$out/etc";;
doc) echo "''${doc:-$out}/share/doc";;
doc) echo "$out/share/doc";;
share) echo "$out/share";;
prefix) echo "$out";;
*) echo "fake-opam does not understand arguments: $@" ; exit 1 ;;
@@ -46,7 +46,7 @@ ocamlPackages.buildDunePackage rec {
postPatch = ''
substituteInPlace ./Makefile \
--replace "\$(DUNE) install \$(DUNEROOT) --display=short" \
"\$(DUNE) install \$(DUNEROOT) --prefix $out --docdir ''${!outputDoc}/share/doc --mandir ''${!outputMan}/share/man"
"\$(DUNE) install \$(DUNEROOT) --prefix $out --docdir $out/share/doc --mandir $out/share/man"
substituteInPlace ./src/discover.sh \
--replace 'gs_path=$(which gs)' 'gs_path=${ghostscriptX}/bin/gs'
'';

View File

@@ -9,11 +9,11 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "adwaita-fonts";
version = "51.0";
version = "50.0";
src = fetchurl {
url = "mirror://gnome/sources/adwaita-fonts/${lib.versions.major finalAttrs.version}/adwaita-fonts-${finalAttrs.version}.tar.xz";
hash = "sha256-+hBK4sG5ZYDTIvVj/+iy38pSlrDspJce/S2AEUBRI9I=";
hash = "sha256-TJJ/v+7BxQOAG6UQwslOAFTILFIs97oNO+XU1B/PXIY=";
};
nativeBuildInputs = [

View File

@@ -14,11 +14,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "adwaita-icon-theme";
version = "51.0";
version = "50.0";
src = fetchurl {
url = "mirror://gnome/sources/adwaita-icon-theme/${lib.versions.major finalAttrs.version}/adwaita-icon-theme-${finalAttrs.version}.tar.xz";
hash = "sha256-ulYc88ljBaRxefpWBYVq1pXJI46gf3CTrr2bqAxOMjs=";
hash = "sha256-+sbgQB/KcUeAVhoIG49+J8O8HbNOvaTaF1CB8msk1GA=";
};
nativeBuildInputs = [

View File

@@ -11,6 +11,8 @@ python3Packages.buildPythonApplication (finalAttrs: {
version = "1.7.0";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "agentsploit";
repo = "agentsploit";
@@ -50,7 +52,6 @@ python3Packages.buildPythonApplication (finalAttrs: {
disabledTestPaths = [
# Tests need network access
"tests/unit/test_openai_adapter.py"
"tests/integration/"
];

View File

@@ -397,6 +397,8 @@ buildPythonPackage (
pname = "apache-airflow";
version = "3.3.2";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "apache";
repo = "airflow";

View File

@@ -10,6 +10,8 @@ python3Packages.buildPythonApplication (finalAttrs: {
version = "0.35.0";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "microsoft";
repo = "apm";

View File

@@ -2,16 +2,12 @@
lib,
fetchFromGitHub,
rustPlatform,
pkg-config,
aws-lc,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "apt-swarm";
version = "0.6.1";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "kpcyrd";
repo = "apt-swarm";
@@ -21,10 +17,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
cargoHash = "sha256-Fo/+UbdfDhbAsoWjoko4tAmyDZK6tPn/0d2CjPKyaaQ=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ aws-lc ];
meta = {
description = "Experimental p2p gossip network for OpenPGP signature transparency";
homepage = "https://github.com/kpcyrd/apt-swarm";

View File

@@ -9,6 +9,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
pname = "aqtinstall";
version = "3.3.0";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "miurahr";

View File

@@ -172,6 +172,10 @@ stdenv.mkDerivation (finalAttrs: {
"TestS3FS.*"
"TestS3FSGeneric.*"
"TestS3FSHTTPS.*" # Needs Minio
]
++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [
# https://github.com/apache/arrow/issues/41505
"TestAzuriteGeneric.Empty"
];
in
"-${lib.concatStringsSep ":" filteredTests}";
@@ -348,6 +352,8 @@ stdenv.mkDerivation (finalAttrs: {
__structuredAttrs = true;
meta = {
# https://hydra.nixos.org/job/nixpkgs/unstable/arrow-cpp.x86_64-darwin/all
broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64;
description = "Cross-language development platform for in-memory data";
homepage = "https://arrow.apache.org/docs/cpp/";
changelog = "https://arrow.apache.org/release/${finalAttrs.version}.html";

View File

@@ -6,7 +6,6 @@
pkg-config,
sqlite,
openssl,
zstd,
versionCheckHook,
nix-update-script,
nixosTests,
@@ -37,13 +36,9 @@ rustPlatform.buildRustPackage (finalAttrs: {
buildAndTestSubdir = "crates/arti";
cargoHash = "sha256-g+t5X1t0koUzqoHpY8+lncqRobdDuZggXtD3HRk9ryE=";
nativeBuildInputs = [ pkg-config ];
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ pkg-config ];
buildInputs = [
sqlite
zstd
]
++ lib.optionals stdenv.hostPlatform.isLinux [ openssl ];
buildInputs = [ sqlite ] ++ lib.optionals stdenv.hostPlatform.isLinux [ openssl ];
# `full` includes all stable and non-conflicting feature flags. the primary
# downsides are increased binary size and memory usage for building, but

View File

@@ -7,7 +7,7 @@
autoreconfHook,
installShellFiles,
enableStandardFeatures ? false,
source-highlight,
sourceHighlight,
highlight,
graphviz,
texliveMinimal,
@@ -246,7 +246,7 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
-e "s|run('convert|run('${lib.getExe' imagemagick "convert"}|g" \
-i "asciidoc/resources/filters/music/music2png.py"
sed -e 's|filter="source-highlight|filter="${source-highlight}/bin/source-highlight|' \
sed -e 's|filter="source-highlight|filter="${sourceHighlight}/bin/source-highlight|' \
-e 's|filter="highlight|filter="${highlight}/bin/highlight|' \
-e 's|filter="pygmentize|filter="${pygments}/bin/pygmentize|' \
-i "asciidoc/resources/filters/source/source-highlight-filter.conf"
@@ -283,10 +283,10 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
)
+ ''
# Fix tests
substituteInPlace $(grep -R --files-with-matches "2002-11-25" tests/data) \
--replace-fail "2002-11-25" "1980-01-02"
substituteInPlace $(grep -R --files-with-matches "00:37:42" tests/data) \
--replace-fail "00:37:42" "00:00:00"
for f in $(grep -R --files-with-matches "2002-11-25") ; do
substituteInPlace $f --replace "2002-11-25" "1980-01-02"
substituteInPlace $f --replace "00:37:42" "00:00:00"
done
''
+ lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
# We want to use asciidoc from the build platform to build the documentation.
@@ -317,6 +317,8 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
runHook postCheck
'';
__structuredAttrs = true;
meta = {
description = "Text-based document generation system";
longDescription = ''

View File

@@ -10,6 +10,8 @@ python3Packages.buildPythonApplication (finalAttrs: {
version = "1.2.7";
pyproject = true;
__structuredAttrs = true;
src = fetchPypi {
inherit (finalAttrs) pname version;
hash = "sha256-SqwViOnVx1TcpY8Kd5VQCg1A8KQnBhL8aq9Gsrwer3k=";

View File

@@ -32,7 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
lib.optionalString (!buildDocs) ''
substituteInPlace Makefile --replace "all: binaries docs" "all: binaries"
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
+ lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) ''
substituteInPlace sysdefs.h --replace "x86_64" "aarch64"
'';

View File

@@ -29,7 +29,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "at-spi2-core";
version = "2.62.0";
version = "2.60.6";
outputs = [
"out"
@@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = "mirror://gnome/sources/at-spi2-core/${lib.versions.majorMinor finalAttrs.version}/at-spi2-core-${finalAttrs.version}.tar.xz";
hash = "sha256-A6lPe/NfMA2vKEOjfN82R5qRvFP1mo6kN8eeJdldHeM=";
hash = "sha256-qJtkqLIXqAQr3w41y/q2Kc7uNWQNunXfV4r96ap4nVc=";
};
nativeBuildInputs = [

View File

@@ -8,7 +8,7 @@
which,
pkg-config,
perl,
guile,
guile_2_2,
libxml2,
}:
@@ -101,7 +101,7 @@ stdenv.mkDerivation (finalAttrs: {
buildPackages.texinfo
];
buildInputs = [
guile
guile_2_2
libxml2
];

View File

@@ -24,6 +24,8 @@ let
pname = "fernet_key";
inherit version src;
__structuredAttrs = true;
format = "other";
# this would run the upstream docker makefile

View File

@@ -51,7 +51,7 @@ buildDotnetModule rec {
bintools
fixDarwinDylibNames
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
autoSignDarwinBinariesHook
];

View File

@@ -9,6 +9,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
pname = "aw-watcher-steam";
version = "0-unstable-2025-06-16";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "Edwardsoen";

View File

@@ -8,6 +8,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
pname = "awscurl";
version = "0.44";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "okigan";

View File

@@ -10,6 +10,8 @@ python3Packages.buildPythonApplication (finalAttrs: {
version = "1.5.0";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "TacoRocket";
repo = "AzureFox";

View File

@@ -32,10 +32,6 @@ buildNpmPackage (finalAttrs: {
libsecret
];
# @vscode/vsce-sign's postinstall script fails on exotic architectures.
# We ignore the scripts, and this does not change the output.
npmFlags = [ "--ignore-scripts" ];
meta = {
description = "Lightweight server clone of Azure Storage that simulates most of the commands supported by it with minimal dependencies";
homepage = "https://github.com/Azure/Azurite";

View File

@@ -12,6 +12,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
pname = "babeldoc";
version = "0.6.4";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "funstory-ai";

View File

@@ -9,6 +9,8 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
version = "0.8.0";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "meeb";
repo = "bandcampsync";

View File

@@ -6,7 +6,6 @@
less,
installShellFiles,
makeWrapper,
oniguruma,
libgit2,
zlib,
versionCheckHook,
@@ -36,7 +35,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
];
buildInputs = [
oniguruma
libgit2
zlib
];

View File

@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
license = lib.licenses.asl20;
mainProgram = "batmon";
platforms = with lib.platforms; unix ++ windows;
broken = stdenv.hostPlatform.isDarwin;
broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64;
maintainers = with lib.maintainers; [ _6543 ];
};
})

View File

@@ -1,15 +1,13 @@
{
lib,
stdenv,
fetchFromGitLab,
fetchFromGitHub,
blueprint-compiler,
desktop-file-utils,
dbus,
meson,
python3,
ninja,
pkg-config,
vala,
wrapGAppsHook4,
appstream,
flatpak,
@@ -31,13 +29,12 @@
md4c,
webkitgtk_6_0,
libsecret,
systemdLibs,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "bazaar";
version = "0.9.9";
version = "0.9.1";
__structuredAttrs = true;
strictDeps = true;
@@ -49,12 +46,11 @@ stdenv.mkDerivation (finalAttrs: {
"dev"
];
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
src = fetchFromGitHub {
owner = "bazaar-org";
repo = "bazaar";
tag = "v${finalAttrs.version}";
hash = "sha256-qmMwlvB8DXNP0SHip1mQoktYFeH/DwfvVtVIny16Ryo=";
hash = "sha256-9J+XI5JnV8Yfk3xRI/VM5RSG4eMafbw2rBRpPMIu5yA=";
};
nativeBuildInputs = [
@@ -64,7 +60,6 @@ stdenv.mkDerivation (finalAttrs: {
meson
ninja
pkg-config
vala
wrapGAppsHook4
(python3.withPackages (p: [
p.babel
@@ -74,7 +69,6 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
appstream
dbus
flatpak
glib-networking
gtk4
@@ -93,7 +87,6 @@ stdenv.mkDerivation (finalAttrs: {
md4c
webkitgtk_6_0
libsecret
systemdLibs
];
postInstall = ''
@@ -119,7 +112,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
description = "FlatHub-first app store for GNOME";
homepage = "https://gitlab.gnome.org/World/bazaar";
homepage = "https://github.com/kolunmi/bazaar";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [
dtomvan

View File

@@ -31,6 +31,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
webrtcvad
];
__structuredAttrs = true;
dontBuild = true;
dontWrapPythonPrograms = true;
pyproject = false;

View File

@@ -118,6 +118,11 @@ let
url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel_nojdk-${version}-linux-arm64";
hash = "sha256-wfuZLSHa77wr0A4ZLF5DqH7qyOljYNXM2a5imoS+nGQ";
}
else if stdenv.hostPlatform.system == "x86_64-darwin" then
fetchurl {
url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-darwin-x86_64";
hash = "sha256-qAb9s6R5+EbqVfWHUT7sk1sOrbDEPv4EhgXH7nC46Zw=";
}
else
fetchurl {
# stdenv.hostPlatform.system == "aarch64-darwin"
@@ -279,12 +284,12 @@ let
platforms = lib.platforms.linux ++ lib.platforms.darwin;
inherit (stdenv.hostPlatform) isDarwin;
inherit (stdenv.hostPlatform) isDarwin isAarch64;
system = if isDarwin then "darwin" else "linux";
# on aarch64 Darwin, `uname -m` returns "arm64"
arch = if isDarwin then stdenv.hostPlatform.darwinArch else stdenv.hostPlatform.parsed.cpu.name;
arch = with stdenv.hostPlatform; if isDarwin && isAarch64 then "arm64" else parsed.cpu.name;
bazelRC = writeTextFile {
name = "bazel-rc";

View File

@@ -36,13 +36,12 @@
let
inherit (callPackage ./build-support/patching.nix { }) addFilePatch;
inherit (stdenv.hostPlatform) isDarwin;
inherit (stdenv.hostPlatform) isDarwin isAarch64;
bazelSystem = if isDarwin then "darwin" else "linux";
# on aarch64 Darwin, `uname -m` returns "arm64"
bazelArch =
if isDarwin then stdenv.hostPlatform.darwinArch else stdenv.hostPlatform.parsed.cpu.name;
bazelArch = if isDarwin && isAarch64 then "arm64" else stdenv.hostPlatform.parsed.cpu.name;
src = fetchzip {
url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";

View File

@@ -34,7 +34,7 @@
let
inherit (callPackage ./build-support/patching.nix { }) addFilePatch;
inherit (stdenv.hostPlatform) isDarwin;
inherit (stdenv.hostPlatform) isDarwin isAarch64;
defaultShellUtils =
# Keep this list conservative. For more exotic tools, prefer to use
@@ -85,8 +85,7 @@ let
bazelSystem = if isDarwin then "darwin" else "linux";
# on aarch64 Darwin, `uname -m` returns "arm64"
bazelArch =
if isDarwin then stdenv.hostPlatform.darwinArch else stdenv.hostPlatform.parsed.cpu.name;
bazelArch = if isDarwin && isAarch64 then "arm64" else stdenv.hostPlatform.parsed.cpu.name;
src = fetchzip {
url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";

View File

@@ -59,6 +59,6 @@ stdenv.mkDerivation {
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ hexagonal-sun ];
# never built on aarch64-darwin since first introduction in nixpkgs
broken = stdenv.hostPlatform.isDarwin;
broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64;
};
}

View File

@@ -43,7 +43,7 @@ buildDotnetModule rec {
stdenv.cc.cc.lib
];
doCheck = !stdenv.hostPlatform.isDarwin; # mono is not available on aarch64-darwin
doCheck = !(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64); # mono is not available on aarch64-darwin
meta = {
description = "Domain Specific Language (DSL) for deploying Azure resources declaratively";

View File

@@ -71,6 +71,7 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ thoughtpolice ];
broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64; # segfault during build
longDescription = ''
Bigloo is a Scheme implementation devoted to one goal: enabling

View File

@@ -13,6 +13,8 @@ python3Packages.buildPythonApplication (finalAttrs: {
version = "2.19.0";
format = "wheel";
__structuredAttrs = true;
src = fetchPypi {
pname = "bitbake_setup";
inherit (finalAttrs) version;

View File

@@ -49,7 +49,7 @@ stdenv.mkDerivation (finalAttrs: {
installShellFiles
gnupg
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
darwin.autoSignDarwinBinariesHook
]
++ lib.optionals withGui [

View File

@@ -62,7 +62,7 @@ stdenv.mkDerivation (finalAttrs: {
installShellFiles
gnupg
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
autoSignDarwinBinariesHook
]
++ lib.optionals withGui [ qt6.wrapQtAppsHook ];

View File

@@ -6,26 +6,24 @@
libadwaita,
meson,
ninja,
python3,
runCommand,
stdenv,
testers,
wrapGAppsNoGuiHook,
xvfb-run,
gnome,
python3Packages,
}:
python3Packages.buildPythonApplication (finalAttrs: {
stdenv.mkDerivation (finalAttrs: {
pname = "blueprint-compiler";
version = "0.22.2";
pyproject = false;
version = "0.20.4";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "GNOME";
repo = "blueprint-compiler";
rev = "v${finalAttrs.version}";
hash = "sha256-DRpPUfiufwK2c2RW01IYIX6tgVyxfFl5hnv5F8+9aD4=";
hash = "sha256-dA+FQTRmTz6rl5ToZJ8CXY1Zd7Em7VwvF3U3Qoyvu80=";
};
postPatch = ''
@@ -36,11 +34,17 @@ python3Packages.buildPythonApplication (finalAttrs: {
gobject-introspection
meson
ninja
python3
wrapGAppsNoGuiHook
];
buildInputs = [
libadwaita
(python3.withPackages (
ps: with ps; [
pygobject3
]
))
];
propagatedBuildInputs = [
@@ -48,8 +52,6 @@ python3Packages.buildPythonApplication (finalAttrs: {
gobject-introspection
];
dependencies = [ python3Packages.pygobject3 ];
nativeCheckInputs = [
dbus
xvfb-run
@@ -68,13 +70,6 @@ python3Packages.buildPythonApplication (finalAttrs: {
runHook postCheck
'';
# Prevent double wrapping, let the Python wrapper use the args in preFixup.
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
passthru = {
tests = {
version = testers.testVersion {

View File

@@ -74,8 +74,13 @@ stdenv.mkDerivation (finalAttrs: {
export NIX_LDFLAGS="$NIX_LDFLAGS -T $TMP/openbsd.ldscript"
'';
# `gctest` fails on aarch64-linux under qemu-user.
doCheck = !(stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64);
# `gctest` fails under x86_64 emulation on aarch64-darwin
# and also on aarch64-linux (qemu-user)
doCheck =
!(
(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64)
|| (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64)
);
enableParallelBuilding = true;

View File

@@ -33,13 +33,6 @@ python.pkgs.buildPythonApplication (finalAttrs: {
};
postPatch = ''
# Upstream is very sensible about msgpack versions, but the updates to here did not change any relevant code,
# so basically backport the essential changes from the bump commits, instead of relaxing the version freely.
substituteInPlace src/borg/helpers/msgpack.py \
--replace-fail "(1, 2, 1)" "(1, 2, 4)"
substituteInPlace pyproject.toml \
--replace-fail "<=1.2.1" "<=1.2.4"
# sandbox does not support setuid/setgid/sticky bits
substituteInPlace src/borg/testsuite/archiver.py \
--replace-fail "0o4755" "0o0755"
@@ -62,8 +55,11 @@ python.pkgs.buildPythonApplication (finalAttrs: {
];
sphinxBuilders = [
"singlehtml"
"man"
# HACK: sphinxBuilders is currently broken with __structuredAttrs = true,
# and ignores all but the first array item. for now, pass them as a single
# space-separated entry. fixed on staging, but requires a mass-rebuild.
# TODO: revert to [ "singlehtml" "man" ] on staging.
"singlehtml man"
];
buildInputs = [

View File

@@ -18,6 +18,8 @@ python3Packages.buildPythonApplication (finalAttrs: {
version = "2.1.7";
pyproject = true;
__structuredAttrs = true;
src = fetchPypi {
inherit (finalAttrs) pname version;
hash = "sha256-qsB8564wCWBemsxn7vIBmntdabzK1j7agP8ZK2nzdc8=";

View File

@@ -1,17 +0,0 @@
diff --git a/tools/include/uapi/linux/types.h b/tools/include/uapi/linux/types.h
index 85aa327..adc3543 100644
--- a/tools/include/uapi/linux/types.h
+++ b/tools/include/uapi/linux/types.h
@@ -7,6 +7,12 @@
#ifndef __ASSEMBLER__
/* copied from linux:include/uapi/linux/types.h */
+
+#ifdef __SIZEOF_INT128__
+typedef __signed__ __int128 __s128 __attribute__((aligned(16)));
+typedef unsigned __int128 __u128 __attribute__((aligned(16)));
+#endif
+
#define __bitwise
typedef __u16 __bitwise __le16;
typedef __u16 __bitwise __be16;

View File

@@ -27,11 +27,6 @@ stdenv.mkDerivation (finalAttrs: {
# fix unknown type name '__vector128' on powerpc64*
# https://www.spinics.net/lists/bpf/msg28613.html
./include-asm-types-for-powerpc64.patch
]
++ lib.optionals stdenv.hostPlatform.isAarch64 [
# Fix unknown type name `__u128` on aarch64, analogous to
# https://github.com/libbpf/libbpf/commit/f90a9c487d7542d91fa584b83b6a624a4fbeb341
./add-128-bit-integer-types-for-aarch64.patch
];
depsBuildBuild = [ buildPackages.stdenv.cc ];

View File

@@ -12,13 +12,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "brotli";
version = "1.2.1";
version = "1.2.0";
src = fetchFromGitHub {
owner = "google";
repo = "brotli";
tag = "v${finalAttrs.version}";
hash = "sha256-llY72cYffDv0ugsH0p89xIPEbElV4L8u7U/Fe8hT3gI=";
hash = "sha256-kl8ZHt71v17QR2bDP+ad/5uixf+GStEPLQ5ooFoC5i8=";
};
patches = [

View File

@@ -14,13 +14,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "bubblewrap";
version = "0.13.1";
version = "0.12.0";
src = fetchFromGitHub {
owner = "containers";
repo = "bubblewrap";
tag = "v${finalAttrs.version}";
hash = "sha256-sgIATYiBYbHaftA+ShIqfxS3OScz7VurjPciL2WB1oQ=";
rev = "v${finalAttrs.version}";
hash = "sha256-VnhJ5bej3/GTHcU8+AkyR7f3J0KKDuoc94SFxo4grhk=";
};
outputs = [
@@ -51,7 +51,7 @@ stdenv.mkDerivation (finalAttrs: {
doCheck = false;
meta = {
changelog = "https://github.com/containers/bubblewrap/releases/tag/${finalAttrs.src.tag}";
changelog = "https://github.com/containers/bubblewrap/releases/tag/${finalAttrs.src.rev}";
description = "Unprivileged sandboxing tool";
homepage = "https://github.com/containers/bubblewrap";
license = lib.licenses.lgpl21Plus;

View File

@@ -1,5 +1,6 @@
{
lib,
stdenv,
buildGoModule,
fetchFromGitHub,
gitMinimal,
@@ -41,6 +42,11 @@ buildGoModule (finalAttrs: {
"TestResolvePipelinesFromPath"
"TestPreflightCmd_Run"
"TestSnapshotContext_CancelsPush"
]
++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [
# Expected timeout error but got none
"TestPollJobStatus"
"TestPollJobStatusTimeout"
];
in
[

View File

@@ -18,7 +18,7 @@
stdenv.mkDerivation rec {
pname = "c-ares";
version = "1.34.9";
version = "1.34.8";
strictDeps = true;
__structuredAttrs = true;
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
# Note: tag name varies in some versions, e.g. v1.30.0, c-ares-1_17_0.
url = "https://github.com/c-ares/c-ares/releases/download/v${version}/c-ares-${version}.tar.gz";
hash = "sha256-k2S3ChLrWaBoMPtIjZNX+QEA3/DZiyPqNZOhg9Q+by8=";
hash = "sha256-wiK21oEJb5RE0sSGPSwRdAGeJ8rMoKSlwRTTbdfXv3g=";
};
outputs = [

View File

@@ -66,6 +66,7 @@ stdenv.mkDerivation rec {
installFlags = [ "PREFIX=${placeholder "out"}" ];
meta = {
broken = (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64);
homepage = "https://cabinpkg.com";
description = "Package manager and build system for C++";
license = lib.licenses.asl20;

View File

@@ -17,14 +17,15 @@
killall,
}:
python3.pkgs.buildPythonApplication (finalAttrs: {
python3.pkgs.buildPythonApplication rec {
pname = "caelestia-cli";
__structuredAttrs = true;
version = "1.1.3";
src = fetchFromGitHub {
owner = "caelestia-dots";
repo = "cli";
tag = "v${finalAttrs.version}";
tag = "v${version}";
hash = "sha256-71nGzEgBK7lZVjjKC9h1zmVlloZOmSlzn0Q4VoYo6gI=";
};
@@ -63,10 +64,10 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
"--suffix"
"PATH"
":"
"${lib.makeBinPath finalAttrs.runtimeDeps}"
"${lib.makeBinPath runtimeDeps}"
];
env.SETUPTOOLS_SCM_PRETEND_VERSION = finalAttrs.version;
env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
postPatch = ''
substituteInPlace src/caelestia/subcommands/{shell.py,screenshot.py} \
@@ -88,4 +89,4 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
maintainers = with lib.maintainers; [ rachalaraj ];
platforms = lib.platforms.linux;
};
})
}

View File

@@ -11,6 +11,8 @@ python3Packages.buildPythonApplication (finalAttrs: {
version = "1.1.5-unstable-2026-06-05";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "aliasrobotics";
repo = "cai";

View File

@@ -34,13 +34,13 @@ stdenv.mkDerivation (
in
{
pname = "cairo";
version = "1.18.6";
version = "1.18.4";
src = fetchurl {
url = "https://cairographics.org/${
if lib.mod (builtins.fromJSON (lib.versions.minor version)) 2 == 0 then "releases" else "snapshots"
}/${pname}-${version}.tar.xz";
hash = "sha256-HHZzCBdDN6dGlNoPPsBpwnFFIWOh70VAlkxQwwHxV9Q=";
hash = "sha256-RF7YIIpuSCPeEianTKMZ02AOg/Y2n5mxQmUAZZnDLMs=";
};
outputs = [

View File

@@ -57,6 +57,6 @@ stdenv.mkDerivation {
platforms = lib.platforms.darwin ++ lib.platforms.linux;
maintainers = [ lib.maintainers.sbond75 ];
# never built on aarch64-darwin since first introduction in nixpkgs
broken = stdenv.hostPlatform.isDarwin;
broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64;
};
}

View File

@@ -10,6 +10,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
pname = "calibre-web";
version = "0.6.27";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "janeczku";

View File

@@ -19,9 +19,9 @@ let
auditable-bootstrap = bootstrap;
};
version = "0.7.7";
hash = "sha256-N/adXtdMJWaKiV2kc36RgDMEJ5Kx8ly+S7GrGabqjMI=";
cargoHash = "sha256-A2gKYWy2MA0kZSbhgunoEhjO4V15X+NORQdBAoB1SeQ=";
version = "0.7.6";
hash = "sha256-vQks5XIrKnYiK71kNA5BaOO51L/l+witMbvVFuNNGsQ=";
cargoHash = "sha256-82cPKy3CHddMvNBCObns3ycOn6iaZ8QDhf06HvhZZhc=";
# cargo-auditable cannot be built with cargo-auditable until cargo-auditable is built
bootstrap = auditableBuilder {

View File

@@ -3,7 +3,6 @@
rustPlatform,
fetchFromGitHub,
pkg-config,
aws-lc,
bzip2,
xz,
zstd,
@@ -28,7 +27,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
];
buildInputs = [
aws-lc
bzip2
xz
zstd

View File

@@ -4,7 +4,6 @@
fetchFromGitHub,
rustPlatform,
pkg-config,
libgit2,
openssl,
runCommand,
patchelf,
@@ -46,10 +45,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
nativeBuildInputs = [ pkg-config ];
buildInputs = [
libgit2
openssl
];
buildInputs = [ openssl ];
cargoHash = "sha256-kJ/mLHBrp67U5RkVZrkCyFjWLLwHvuLTCSxDmG1n9l0=";

View File

@@ -5,8 +5,6 @@
pkg-config,
curl,
openssl,
libgit2,
sqlite,
stdenv,
libiconv,
rav1e,
@@ -14,29 +12,25 @@
let
# this version may need to be updated along with package version
cargoVersion = "0.100.0";
cargoVersion = "0.96.0";
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cargo-c";
version = "0.10.26";
__structuredAttrs = true;
version = "0.10.22";
src = fetchCrate {
inherit (finalAttrs) pname;
version = "${finalAttrs.version}+cargo-${cargoVersion}";
hash = "sha256-rt7LegE5DEOF/BP7OCSkl8hcziUpz7dJr7kMNDwXw1c=";
hash = "sha256-yqSrpBZUa0NmsPawYKKgywmbbG4zgguwfDF667s7zdo=";
};
cargoHash = "sha256-j4PIJnPy04vEzTPTo2aD5xMKLUTeyXt13+YdZaqCm2E=";
cargoHash = "sha256-yeJWZtkgCRB0ipyTslsGcJi9Fi/XoWziuv74exRhAIk=";
nativeBuildInputs = [
pkg-config
(lib.getDev curl)
];
buildInputs = [
sqlite
libgit2
openssl
curl
]

View File

@@ -3,20 +3,17 @@
stdenv,
rustPlatform,
fetchFromGitHub,
pkg-config,
aws-lc,
zstd,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cargo-nextest";
version = "0.9.149";
version = "0.9.146";
src = fetchFromGitHub {
owner = "nextest-rs";
repo = "nextest";
tag = "cargo-nextest-${finalAttrs.version}";
hash = "sha256-63Ub21JqjnKAhpIXpVUvM6sVa+xGaB15N+3NjrA+vzc=";
hash = "sha256-2ndrHZ1pmu1oBZGlq5pyv0vhSEUf23gNRyyenNw0fdk=";
};
# FIXME: we don't support dtrace probe generation on macOS until we have a dtrace build: https://github.com/NixOS/nixpkgs/pull/392918
@@ -24,24 +21,12 @@ rustPlatform.buildRustPackage (finalAttrs: {
./no-dtrace-macos.patch
];
cargoHash = "sha256-Qss1AxTNR68C0F/OT8qLHhKdxwzr+b/TeIIQQRfHdfQ=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [
aws-lc
zstd
];
cargoHash = "sha256-ZW0/JQ9RECxfDn479ww4bO4ixoMGaM+GtGUOCWy2Cyg=";
cargoBuildFlags = [
"-p"
"cargo-nextest"
];
# Upstream recommends this feature set for distributor builds:
# https://github.com/nextest-rs/nextest/blob/cargo-nextest-0.9.149/cargo-nextest/Cargo.toml#L63-L65
buildNoDefaultFeatures = true;
buildFeatures = [ "default-no-update" ];
cargoTestFlags = [
"-p"
"cargo-nextest"
@@ -51,8 +36,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
extraArgs = [ "--version-regex=^cargo-nextest-([0-9.]+)$" ];
};
__structuredAttrs = true;
meta = {
description = "Next-generation test runner for Rust projects";
mainProgram = "cargo-nextest";

View File

@@ -6,7 +6,6 @@
pkg-config,
libgit2,
openssl,
sqlite,
libiconv,
}:
@@ -31,7 +30,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
buildInputs = [
libgit2
openssl
sqlite
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
libiconv

View File

@@ -18,6 +18,13 @@ rustPlatform.buildRustPackage (finalAttrs: {
cargoHash = "sha256-4AVZ747d6lOjxHN+co0A7APVB5Xj6g5p/Al5fLbgPnc=";
env = lib.optionalAttrs (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) {
NIX_LDFLAGS = toString [
"-framework"
"AppKit"
];
};
# `test with_cargo` tries to call cargo-watch as a cargo subcommand
# (calling cargo-watch with command `cargo watch`)
preCheck = ''

View File

@@ -75,10 +75,13 @@ stdenv.mkDerivation (finalAttrs: {
nativeCheckInputs = [ ctestCheckHook ] ++ lib.optional mpiSupport mpiCheckPhaseHook;
disabledTests = lib.optionals fortranSupport [
# unexpected fortran binding symbol *__iso_c_binding_C_ptr
"catalyst-abi-nm"
];
disabledTests =
lib.optionals (fortranSupport || stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64)
[
# unexpected fortran binding symbol *__iso_c_binding_C_ptr
# unexpected symbol in libc++ from darwin sdk
"catalyst-abi-nm"
];
pythonImportsCheck = [ "catalyst" ];

Some files were not shown because too many files have changed in this diff Show More