Compare commits

..

100 Commits

Author SHA1 Message Date
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
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
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
128 changed files with 27860 additions and 39122 deletions

View File

@@ -366,7 +366,7 @@ It is highly recommended to use a pinned version of pnpm (i.e., `pnpm_9` or `pnp
+let
+ # Optionally override pnpm to use a custom nodejs version
+ # Make sure that the same nodejs version is referenced in nativeBuildInputs
+ # pnpm = pnpm_10.override { nodejs-slim = nodejs-slim_22; };
+ # pnpm = pnpm_10.override { nodejs = nodejs-slim_22; };
+in
stdenv.mkDerivation (finalAttrs: {
pname = "foo";

View File

@@ -4158,13 +4158,6 @@
githubId = 30717258;
name = "bubblepipe";
};
bubylou = {
email = "bubylou@pm.me";
matrix = "@bubylou:matrix.org";
github = "bubylou";
githubId = 3878640;
name = "Nicholas Malcolm";
};
buckley310 = {
email = "sean.bck@gmail.com";
matrix = "@buckley310:matrix.org";

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

@@ -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 verson, 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

@@ -65,42 +65,6 @@
"module-services-keycloak-unix-socket": [
"index.html#module-services-keycloak-unix-socket"
],
"module-services-mautrix-discord": [
"index.html#module-services-mautrix-discord"
],
"module-services-mautrix-discord-advanced": [
"index.html#module-services-mautrix-discord-advanced"
],
"module-services-mautrix-discord-authentication": [
"index.html#module-services-mautrix-discord-authentication"
],
"module-services-mautrix-discord-backfill": [
"index.html#module-services-mautrix-discord-backfill"
],
"module-services-mautrix-discord-basic-example": [
"index.html#module-services-mautrix-discord-basic-example"
],
"module-services-mautrix-discord-basic-usage": [
"index.html#module-services-mautrix-discord-basic-usage"
],
"module-services-mautrix-discord-double-puppet": [
"index.html#module-services-mautrix-discord-double-puppet"
],
"module-services-mautrix-discord-encryption": [
"index.html#module-services-mautrix-discord-encryption"
],
"module-services-mautrix-discord-server-defaults": [
"index.html#module-services-mautrix-discord-server-defaults"
],
"module-services-mautrix-discord-setup": [
"index.html#module-services-mautrix-discord-setup"
],
"module-services-mautrix-discord-synapse": [
"index.html#module-services-mautrix-discord-synapse"
],
"module-services-mautrix-discord-troubleshooting": [
"index.html#module-services-mautrix-discord-troubleshooting"
],
"module-services-tandoor-recipes-migrating-media-option-move": [
"index.html#module-services-tandoor-recipes-migrating-media-option-move",
"index.html#module-services-tandoor-recipes-migrating-media-option-1"

View File

@@ -12,15 +12,9 @@ in
options = {
programs.iotop = {
enable = lib.mkEnableOption "iotop + setcap wrapper";
package = lib.mkPackageOption pkgs "iotop" { example = "iotop-c"; };
enableDelayacct = lib.mkEnableOption ''
the task_delayacct kernel task delay accounting in order to show all
statistics'';
};
};
config = lib.mkIf cfg.enable {
security.wrappers.iotop = {
owner = "root";
@@ -28,7 +22,5 @@ in
capabilities = "cap_net_admin+p";
source = lib.getExe cfg.package;
};
boot.kernel.sysctl = lib.mkIf cfg.enableDelayacct { "kernel.task_delayacct" = 1; };
};
}

View File

@@ -1,156 +0,0 @@
# Mautrix-Discord {#module-services-mautrix-discord}
*Source:* {file}`modules/services/matrix/mautrix-discord`
*Upstream documentation:* <https://docs.mau.fi/bridges/go/discord/index.html>
[Mautrix-Discord](https://github.com/mautrix/discord) is a Matrix-Discord bridge.
## Basic Usage {#module-services-mautrix-discord-basic-usage}
The common setup is to enable the bridge, point it at your homeserver, and set the permissions you want to allow:
1. Set `services.mautrix-discord.enable` to `true`.
2. Set `services.mautrix-discord.settings.homeserver.address` and `services.mautrix-discord.settings.homeserver.domain`.
3. Override `services.mautrix-discord.settings.bridge.permissions` if the default relay permissions do not fit your deployment.
The module provides sensible defaults for the appservice listener, registration tokens, and relay permissions.
### Basic Example {#module-services-mautrix-discord-basic-example}
```nix
{
services.mautrix-discord = {
enable = true;
registerToSynapse = true;
settings = {
homeserver = {
address = "http://localhost:8008";
domain = "example.com";
};
bridge.permissions = {
"example.com" = "user";
"@admin:example.com" = "admin";
};
};
};
}
```
### Server Defaults {#module-services-mautrix-discord-server-defaults}
By default, the bridge listens on `http://localhost:29334` and generates its appservice tokens automatically.
## Authentication {#module-services-mautrix-discord-authentication}
If you want to store the bridge database outside the default SQLite file, set `settings.appservice.database` to use PostgreSQL instead of SQLite:
```nix
{
services.mautrix-discord.settings.appservice.database = {
type = "postgres";
uri = "postgresql:///mautrix-discord?host=/run/postgresql";
};
}
```
If the connection needs a password, combine it with `services.mautrix-discord.environmentFile`:
```nix
{
services.mautrix-discord = {
environmentFile = "/run/secrets/mautrix-discord-env";
settings.appservice.database.uri = "postgresql://mautrix:$DB_PASSWORD@localhost/mautrix-discord";
};
}
```
Use `services.mautrix-discord.environmentFile` for any secret you do not want in the Nix store.
This includes database passwords, shared secrets, and similar values.
Example:
```nix
{
services.mautrix-discord = {
environmentFile = "/run/secrets/mautrix-discord-env";
settings.bridge.login_shared_secret_map = {
"example.com" = "$SHARED_SECRET";
};
};
}
```
## Bridge Setup {#module-services-mautrix-discord-setup}
After the service starts, open a chat with `@discordbot:example.com`, send `login`, and follow the instructions to link your Discord account.
For more detail, see the [Mautrix-Discord documentation](https://docs.mau.fi/bridges/go/discord/index.html).
## Advanced Configuration {#module-services-mautrix-discord-advanced}
The upstream default configuration is available at [example-config.yaml](https://github.com/mautrix/discord/blob/main/example-config.yaml). To print the generated default configuration from the package, run:
```bash
nix-shell -p mautrix-discord --run "mautrix-discord -e"
```
### Encryption {#module-services-mautrix-discord-encryption}
```nix
{
services.mautrix-discord.settings.bridge.encryption = {
allow = true;
default = true;
require = false;
};
}
```
Encryption needs additional bridge-side setup. See the [bridge encryption documentation](https://docs.mau.fi/bridges/general/end-to-bridge-encryption.html) for details.
### Backfill {#module-services-mautrix-discord-backfill}
```nix
{
services.mautrix-discord.settings.bridge.backfill.forward_limits.initial = {
dm = 50;
channel = 50;
thread = 50;
};
}
```
### Double Puppeting {#module-services-mautrix-discord-double-puppet}
```nix
{
services.mautrix-discord = {
environmentFile = "/run/secrets/mautrix-discord-env";
settings.bridge.login_shared_secret_map = {
"example.com" = "$SHARED_SECRET";
};
};
}
```
where `/run/secrets/mautrix-discord-env` contains
```
SHARED_SECRET=aProtectedSecret
```
## Synapse Integration {#module-services-mautrix-discord-synapse}
When `services.mautrix-discord.registerToSynapse` is `true`, the bridge writes its registration file automatically and Synapse picks it up.
If Synapse is enabled, this option defaults to `true`.
## Troubleshooting {#module-services-mautrix-discord-troubleshooting}
- View logs with `journalctl -u mautrix-discord.service -f`.
- Check `systemctl status mautrix-discord` if the bridge does not start.
- Verify the homeserver can reach the configured appservice address.
- Ensure the registration file exists and Synapse can read it.
For more help, see the
[Mautrix-Discord documentation](https://docs.mau.fi/bridges/go/discord/index.html)
or the support room at [#discord:maunium.net](https://matrix.to/#/#discord:maunium.net).

View File

@@ -5,59 +5,15 @@
...
}:
let
defaultDataDir = "/var/lib/mautrix-discord";
cfg = config.services.mautrix-discord;
dataDir = cfg.dataDir;
format = pkgs.formats.yaml { };
serviceDependencies = [
"mautrix-discord-registration.service"
]
++ (lib.lists.optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit)
++ (lib.lists.optional config.services.matrix-conduit.enable "matrix-conduit.service")
++ (lib.lists.optional config.services.dendrite.enable "dendrite.service");
registrationFile = "${dataDir}/discord-registration.yaml";
settingsFile = "${dataDir}/config.yaml";
settingsFileUnformatted = format.generate "discord-config-unsubstituted.yaml" cfg.settings;
default_token = "This value is generated when generating the registration";
settingsDefault = {
homeserver = {
address = "";
domain = "";
};
appservice = {
address = "http://localhost:29334";
hostname = "0.0.0.0";
port = 29334;
database = {
type = "sqlite3";
uri = "file:${defaultDataDir}/mautrix-discord.db?_txlock=immediate";
};
id = "discord";
bot = {
username = "discordbot";
displayname = "Discord bridge bot";
avatar = "mxc://maunium.net/nIdEykemnwdisvHbpxflpDlC";
};
as_token = default_token;
hs_token = default_token;
};
bridge.permissions."*" = "relay";
logging = {
min_level = "info";
writers = [
{
type = "stdout";
format = "pretty-colored";
time_format = " ";
}
];
};
};
in
{
options = {
@@ -67,14 +23,238 @@ in
package = lib.mkPackageOption pkgs "mautrix-discord" { };
settings = lib.mkOption {
apply = lib.recursiveUpdate settingsDefault;
type = format.type;
default = settingsDefault;
type = lib.types.submodule {
freeformType = format.type;
config = {
_module.args = { inherit cfg lib; };
};
options = {
homeserver = lib.mkOption {
type = lib.types.attrs;
default = {
software = "standard";
status_endpoint = null;
message_send_checkpoint_endpoint = null;
async_media = false;
websocket = false;
ping_interval_seconds = 0;
};
description = ''
fullDataDiration.
See [example-config.yaml](https://github.com/mautrix/discord/blob/main/example-config.yaml)
for more information.
'';
};
appservice = lib.mkOption {
type = lib.types.attrs;
default = {
address = "http://localhost:29334";
hostname = "0.0.0.0";
port = 29334;
database = {
type = "sqlite3";
uri = "file:/var/lib/mautrix-discord/mautrix-discord.db?_txlock=immediate";
max_open_conns = 20;
max_idle_conns = 2;
max_conn_idle_time = null;
max_conn_lifetime = null;
};
id = "discord";
bot = {
username = "discordbot";
displayname = "Discord bridge bot";
avatar = "mxc://maunium.net/nIdEykemnwdisvHbpxflpDlC";
};
ephemeral_events = true;
async_transactions = false;
as_token = "This value is generated when generating the registration";
hs_token = "This value is generated when generating the registration";
};
defaultText = lib.literalExpression ''
{
address = "http://localhost:29334";
hostname = "0.0.0.0";
port = 29334;
database = {
type = "sqlite3";
uri = "file:''${config.services.mautrix-discord.dataDir}/mautrix-discord.db?_txlock=immediate";
max_open_conns = 20;
max_idle_conns = 2;
max_conn_idle_time = null;
max_conn_lifetime = null;
};
id = "discord";
bot = {
username = "discordbot";
displayname = "Discord bridge bot";
avatar = "mxc://maunium.net/nIdEykemnwdisvHbpxflpDlC";
};
ephemeral_events = true;
async_transactions = false;
as_token = "This value is generated when generating the registration";
hs_token = "This value is generated when generating the registration";
}
'';
description = ''
Appservice configuration.
See [example-config.yaml](https://github.com/mautrix/discord/blob/main/example-config.yaml)
for more information.
'';
};
bridge = lib.mkOption {
type = lib.types.attrs;
default = {
username_template = "discord_{{.}}";
displayname_template = "{{if .Webhook}}Webhook{{else}}{{or .GlobalName .Username}}{{if .Bot}} (bot){{end}}{{end}}";
channel_name_template = "{{if or (eq .Type 3) (eq .Type 4)}}{{.Name}}{{else}}#{{.Name}}{{end}}";
guild_name_template = "{{.Name}}";
private_chat_portal_meta = "default";
public_address = null;
avatar_proxy_key = "generate";
portal_message_buffer = 128;
startup_private_channel_create_limit = 5;
delivery_receipts = false;
message_status_events = false;
message_error_notices = true;
restricted_rooms = true;
autojoin_thread_on_open = true;
embed_fields_as_tables = true;
mute_channels_on_create = false;
sync_direct_chat_list = false;
resend_bridge_info = false;
custom_emoji_reactions = true;
delete_portal_on_channel_delete = false;
delete_guild_on_leave = true;
federate_rooms = true;
prefix_webhook_messages = true;
enable_webhook_avatars = false;
use_discord_cdn_upload = true;
#proxy =
cache_media = "unencrypted";
direct_media = {
enabled = false;
#server_name = "discord-media.example.com";
#well_known_response =
allow_proxy = true;
server_key = "generate";
};
animated_sticker = {
target = "webp";
args = {
width = 320;
height = 320;
fps = 25;
};
};
double_puppet_server_map = {
#"example.com" = "https://example.com";
};
double_puppet_allow_discovery = false;
login_shared_secret_map = {
#"example.com" = "foobar";
};
command_prefix = "!discord";
management_room_text = {
welcome = "Hello, I'm a Discord bridge bot.";
welcome_connected = "Use `help` for help.";
welcome_unconnected = "Use `help` for help or `login` to log in.";
additional_help = "";
};
backfill = {
forward_limits = {
initial = {
dm = 0;
channel = 0;
thread = 0;
};
missed = {
dm = 0;
channel = 0;
thread = 0;
};
max_guild_members = -1;
};
};
encryption = {
allow = false;
default = false;
appservice = false;
msc4190 = false;
require = false;
allow_key_sharing = false;
plaintext_mentions = false;
delete_keys = {
delete_outbound_on_ack = false;
dont_store_outbound = false;
ratchet_on_decrypt = false;
delete_fully_used_on_decrypt = false;
delete_prev_on_new_session = false;
delete_on_device_delete = false;
periodically_delete_expired = false;
delete_outdated_inbound = false;
};
verification_levels = {
receive = "unverified";
send = "unverified";
share = "cross-signed-tofu";
};
rotation = {
enable_custom = false;
milliseconds = 604800000;
messages = 100;
disable_device_change_key_rotation = false;
};
};
provisioning = {
prefix = "/_matrix/provision";
shared_secret = "generate";
debug_endpoints = false;
};
permissions = {
"*" = "relay";
#"example.com" = "user";
#"@admin:example.com": "admin";
};
};
description = ''
Bridge configuration.
See [example-config.yaml](https://github.com/mautrix/discord/blob/main/example-config.yaml)
for more information.
'';
};
logging = lib.mkOption {
type = lib.types.attrs;
default = {
min_level = "info";
writers = lib.singleton {
type = "stdout";
format = "pretty-colored";
time_format = " ";
};
};
description = ''
Logging configuration.
See [example-config.yaml](https://github.com/mautrix/discord/blob/main/example-config.yaml)
for more information.
'';
};
};
};
default = { };
example = lib.literalExpression ''
{
homeserver = {
address = "http://localhost:8008";
domain = "example.com";
domain = "public-domain.tld";
};
appservice.public = {
prefix = "/public";
external = "https://public-appservice-address/public";
};
bridge.permissions = {
@@ -85,12 +265,8 @@ in
'';
description = ''
{file}`config.yaml` configuration as a Nix attribute set.
Configuration options should match those described in
[example-config.yaml](https://github.com/mautrix/discord/blob/main/example-config.yaml).
Secret tokens should be specified using {option}`environmentFile`
instead of this world-readable attribute set.
'';
};
@@ -106,9 +282,12 @@ in
dataDir = lib.mkOption {
type = lib.types.path;
default = defaultDataDir;
defaultText = defaultDataDir;
description = "Directory to store the bridge's data.";
default = "/var/lib/mautrix-discord";
defaultText = "/var/lib/mautrix-discord";
description = ''
Directory to store the bridge's configuration and database files.
This directory will be created if it does not exist.
'';
};
# TODO: Get upstream to add an environment File option. Refer to https://github.com/NixOS/nixpkgs/pull/404871#issuecomment-2895663652 and https://github.com/mautrix/discord/issues/187
@@ -116,31 +295,92 @@ in
type = lib.types.nullOr lib.types.path;
default = null;
description = ''
File containing environment variables for secret substitution.
Variables in the config like `$VARIABLE` will be replaced.
File containing environment variables to substitute when copying the configuration
out of Nix store to the `services.mautrix-discord.dataDir`.
Can be used for storing the secrets without making them available in the Nix store.
For example, you can set `services.mautrix-discord.settings.appservice.as_token = "$MAUTRIX_DISCORD_APPSERVICE_AS_TOKEN"`
and then specify `MAUTRIX_DISCORD_APPSERVICE_AS_TOKEN="{token}"` in the environment file.
This value will get substituted into the configuration file as a token.
'';
};
serviceUnit = lib.mkOption {
type = lib.types.str;
readOnly = true;
default = "mautrix-discord.service";
description = ''
The systemd unit (a service or a target) for other services to depend on if they
need to be started after matrix-synapse.
This option is useful as the actual parent unit for all matrix-synapse processes
changes when configuring workers.
'';
};
registrationServiceUnit = lib.mkOption {
type = lib.types.str;
readOnly = true;
default = "mautrix-discord-registration.service";
description = ''
The registration service that generates the registration file.
Systemd unit (a service or a target) for other services to depend on if they
need to be started after mautrix-discord registration service.
This option is useful as the actual parent unit for all matrix-synapse processes
changes when configuring workers.
'';
};
serviceDependencies = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [
cfg.registrationServiceUnit
]
++ (lib.lists.optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit)
++ (lib.lists.optional config.services.matrix-conduit.enable "matrix-conduit.service")
++ (lib.lists.optional config.services.dendrite.enable "dendrite.service");
defaultText = ''
[ cfg.registrationServiceUnit ] ++
(lib.lists.optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit) ++
(lib.lists.optional config.services.matrix-conduit.enable "matrix-conduit.service") ++
(lib.lists.optional config.services.dendrite.enable "dendrite.service");
'';
description = ''
List of Systemd services to require and wait for when starting the application service.
'';
};
};
};
config = lib.mkIf cfg.enable {
assertions = [
{
assertion =
cfg.settings.homeserver.address or "" != "" && cfg.settings.homeserver.domain or "" != "";
message = "services.mautrix-discord.settings.homeserver.{address,domain} must be set.";
cfg.settings.homeserver.domain or "" != "" && cfg.settings.homeserver.address or "" != "";
message = ''
The options with information about the homeserver:
`services.mautrix-discord.settings.homeserver.domain` and
`services.mautrix-discord.settings.homeserver.address` have to be set.
'';
}
{
assertion = cfg.settings.bridge.permissions or { } != { };
message = ''
The option `services.mautrix-discord.settings.bridge.permissions` has to be set.
'';
}
];
users.users.mautrix-discord = {
isSystemUser = true;
group = "mautrix-discord";
extraGroups = [ "mautrix-discord-registration" ];
home = dataDir;
description = "Mautrix-Discord bridge user";
};
users.groups.mautrix-discord = { };
users.groups.mautrix-discord-registration = {
members = lib.lists.optional config.services.matrix-synapse.enable "matrix-synapse";
};
services.matrix-synapse = lib.mkIf cfg.registerToSynapse {
settings.app_service_config_files = [ registrationFile ];
@@ -152,9 +392,7 @@ in
systemd.services = {
matrix-synapse = lib.mkIf cfg.registerToSynapse {
serviceConfig.SupplementaryGroups = [
"mautrix-discord"
];
serviceConfig.SupplementaryGroups = [ "mautrix-discord-registration" ];
# Make synapse depend on the registration service when auto-registering
wants = [ "mautrix-discord-registration.service" ];
after = [ "mautrix-discord-registration.service" ];
@@ -233,18 +471,15 @@ in
'${settingsFile}' '${registrationFile}' > '${registrationFile}.tmp'
mv '${registrationFile}.tmp' '${registrationFile}'
# Application services should not be rate limited by default.
yq -Y '.rate_limited = false' '${registrationFile}' > '${registrationFile}.tmp'
mv '${registrationFile}.tmp' '${registrationFile}'
umask $old_umask
chown :mautrix-discord-registration '${registrationFile}'
chmod 640 '${registrationFile}'
'';
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
UMask = "027";
UMask = 27;
User = "mautrix-discord";
Group = "mautrix-discord";
@@ -266,8 +501,8 @@ in
description = "Mautrix-Discord, a Matrix-Discord puppeting/relaybot bridge";
wantedBy = [ "multi-user.target" ];
wants = [ "network-online.target" ] ++ serviceDependencies;
after = [ "network-online.target" ] ++ serviceDependencies;
wants = [ "network-online.target" ] ++ cfg.serviceDependencies;
after = [ "network-online.target" ] ++ cfg.serviceDependencies;
path = [
pkgs.lottieconverter
pkgs.ffmpeg-headless
@@ -301,8 +536,6 @@ in
ProtectHostname = true;
ProtectClock = true;
UMask = "027";
SystemCallArchitectures = "native";
SystemCallErrorNumber = "EPERM";
SystemCallFilter = "@system-service";
@@ -313,12 +546,10 @@ in
};
};
};
meta = {
maintainers = with lib.maintainers; [
mistyttm
];
doc = ./mautrix-discord.md;
meta = {
maintainers = with lib.maintainers; [
mistyttm
];
};
};
}

View File

@@ -1209,9 +1209,9 @@ in
createPartitions = ''
installer.succeed(
"flock /dev/vda parted --script /dev/vda -- mklabel gpt"
+ " mkpart ESP fat32 1M 170MiB" # /boot
+ " mkpart ESP fat32 1M 100MiB" # /boot
+ " set 1 boot on"
+ " mkpart primary linux-swap 170MiB 1024MiB"
+ " mkpart primary linux-swap 100MiB 1024MiB"
+ " mkpart primary ext2 1024MiB -1MiB", # /
"udevadm settle",
"mkswap /dev/vda2 -L swap",

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, lib, ... }:
let
homeserverUrl = "http://homeserver:8008";
in
@@ -53,7 +53,6 @@ in
appservice = {
address = "http://homeserver:8009";
hostname = "0.0.0.0";
port = 8009;
id = "discord";
bot = {
@@ -61,6 +60,8 @@ in
displayname = "Discord bridge bot";
avatar = "mxc://maunium.net/nIdEykemnwdisvHbpxflpDlC";
};
# Don't override as_token/hs_token - let them use the default placeholder
# which will trigger automatic generation
database = {
type = "sqlite3";
@@ -74,17 +75,6 @@ in
"*" = "relay";
};
};
logging = {
min_level = "info";
writers = [
{
type = "stdout";
format = "pretty-colored";
time_format = " ";
}
];
};
};
};
@@ -167,57 +157,6 @@ in
with subtest("verify registration file was created"):
homeserver.wait_until_succeeds("test -f /var/lib/mautrix-discord/discord-registration.yaml")
# Verify the module wrote the expected bridge configuration.
config_homeserver_address = homeserver.succeed("yq -r '.homeserver.address' /var/lib/mautrix-discord/config.yaml").strip()
config_homeserver_domain = homeserver.succeed("yq -r '.homeserver.domain' /var/lib/mautrix-discord/config.yaml").strip()
config_appservice_address = homeserver.succeed("yq -r '.appservice.address' /var/lib/mautrix-discord/config.yaml").strip()
config_appservice_hostname = homeserver.succeed("yq -r '.appservice.hostname' /var/lib/mautrix-discord/config.yaml").strip()
config_appservice_port = homeserver.succeed("yq -r '.appservice.port' /var/lib/mautrix-discord/config.yaml").strip()
config_appservice_id = homeserver.succeed("yq -r '.appservice.id' /var/lib/mautrix-discord/config.yaml").strip()
config_bot_username = homeserver.succeed("yq -r '.appservice.bot.username' /var/lib/mautrix-discord/config.yaml").strip()
config_bot_displayname = homeserver.succeed("yq -r '.appservice.bot.displayname' /var/lib/mautrix-discord/config.yaml").strip()
config_bot_avatar = homeserver.succeed("yq -r '.appservice.bot.avatar' /var/lib/mautrix-discord/config.yaml").strip()
config_database_type = homeserver.succeed("yq -r '.appservice.database.type' /var/lib/mautrix-discord/config.yaml").strip()
config_database_uri = homeserver.succeed("yq -r '.appservice.database.uri' /var/lib/mautrix-discord/config.yaml").strip()
config_permission = homeserver.succeed("yq -r '.bridge.permissions[\"*\"]' /var/lib/mautrix-discord/config.yaml").strip()
config_logging_min_level = homeserver.succeed("yq -r '.logging.min_level' /var/lib/mautrix-discord/config.yaml").strip()
config_logging_writer_type = homeserver.succeed("yq -r '.logging.writers[0].type' /var/lib/mautrix-discord/config.yaml").strip()
config_logging_writer_format = homeserver.succeed("yq -r '.logging.writers[0].format' /var/lib/mautrix-discord/config.yaml").strip()
reg_rate_limited = homeserver.succeed("yq -r '.rate_limited' /var/lib/mautrix-discord/discord-registration.yaml").strip()
assert config_homeserver_address == "http://homeserver:8008", \
f"Unexpected homeserver address: {config_homeserver_address}"
assert config_homeserver_domain == "homeserver", \
f"Unexpected homeserver domain: {config_homeserver_domain}"
assert config_appservice_address == "http://homeserver:8009", \
f"Unexpected appservice address: {config_appservice_address}"
assert config_appservice_hostname == "0.0.0.0", \
f"Unexpected appservice hostname: {config_appservice_hostname}"
assert config_appservice_port == "8009", \
f"Unexpected appservice port: {config_appservice_port}"
assert config_appservice_id == "discord", \
f"Unexpected appservice id: {config_appservice_id}"
assert config_bot_username == "discordbot", \
f"Unexpected bot username: {config_bot_username}"
assert config_bot_displayname == "Discord bridge bot", \
f"Unexpected bot displayname: {config_bot_displayname}"
assert config_bot_avatar == "mxc://maunium.net/nIdEykemnwdisvHbpxflpDlC", \
f"Unexpected bot avatar: {config_bot_avatar}"
assert config_database_type == "sqlite3-fk-wal", \
f"Unexpected database type: {config_database_type}"
assert config_database_uri == "file:/var/lib/mautrix-discord/mautrix-discord.db?_txlock=immediate", \
f"Unexpected database uri: {config_database_uri}"
assert config_permission == "relay", \
f"Unexpected default permission mapping: {config_permission}"
assert config_logging_min_level == "info", \
f"Unexpected logging min_level: {config_logging_min_level}"
assert config_logging_writer_type == "stdout", \
f"Unexpected logging writer type: {config_logging_writer_type}"
assert config_logging_writer_format == "pretty-colored", \
f"Unexpected logging writer format: {config_logging_writer_format}"
assert reg_rate_limited == "false", \
f"Registration file should disable rate limiting by default, got: {reg_rate_limited}"
# Verify tokens were generated and are not default values
config_as_token = homeserver.succeed("yq -r '.appservice.as_token' /var/lib/mautrix-discord/config.yaml").strip()
config_hs_token = homeserver.succeed("yq -r '.appservice.hs_token' /var/lib/mautrix-discord/config.yaml").strip()

View File

@@ -10,12 +10,12 @@
nix-update-script,
}:
let
version = "2.0.5";
version = "2.0.3";
src = fetchFromGitHub {
owner = "mistricky";
repo = "codesnap.nvim";
tag = "v${version}";
hash = "sha256-X631pK8pAAdQMO4uQUoNk+jL1V9BvAq3cIi4f5LMT5s=";
hash = "sha256-mpH+sewIXgl4vYLDToMYx3IX19HFPDjBWmMRdYGVsIw=";
};
codesnap-lib = rustPlatform.buildRustPackage {
pname = "codesnap-lib";
@@ -23,7 +23,7 @@ let
sourceRoot = "${src.name}/generator";
cargoHash = "sha256-b+S56yRtly25fW1XmOVx5D3AT6PEY186r/KXVPI13dM=";
cargoHash = "sha256-tV0Mi+SgdVWkY0fSQ3ZfQnHa8mM8f/49Zy8iv94qBjA=";
nativeBuildInputs = [
pkg-config

View File

@@ -132,8 +132,6 @@
# tv.nvim dependency
television,
tree-sitter,
# fugit2-nvim
gpgme,
}:
self: super:
let
@@ -1504,17 +1502,11 @@ assertNoAdditions {
plenary-nvim
];
# Patch libgit2 library dependency
# Patch gpgme path
postPatch = ''
substituteInPlace lua/fugit2/core/libgit2.lua \
--replace-fail \
'M.library_path = "libgit2"' \
'M.library_path = "${lib.getLib libgit2}/lib/libgit2${stdenv.hostPlatform.extensions.sharedLibrary}"'
substituteInPlace lua/fugit2/core/gpgme.lua \
--replace-fail \
'local gpgme_library_path = "gpgme"' \
'local gpgme_library_path = "${lib.getLib gpgme}/lib/libgpgme${stdenv.hostPlatform.extensions.sharedLibrary}"'
'';
};

View File

@@ -5,13 +5,13 @@
}:
mkLibretroCore rec {
core = "atari800";
version = "0-unstable-2026-05-28";
version = "0-unstable-2026-05-11";
src = fetchFromGitHub {
owner = "libretro";
repo = "libretro-atari800";
rev = "b6638e72b9d7770144837b0b63c637dd7ab2b39c";
hash = "sha256-G1RJXhgMq8txotriK0Xy8HdDDCzeDbEQ+3LQ5sUt8G0=";
rev = "1851228de23b47cb74fbc8ea589a1c7c5e02ea98";
hash = "sha256-s7M7yezPWzRokrxpoo8JbgOzi5R18yOQNgmHkTQR7S4=";
};
makefile = "Makefile";

View File

@@ -8,13 +8,13 @@
}:
mkLibretroCore {
core = "flycast";
version = "0-unstable-2026-06-05";
version = "0-unstable-2026-05-22";
src = fetchFromGitHub {
owner = "flyinghead";
repo = "flycast";
rev = "751295151eed3cae619b14bcee49bb07f4fdb59c";
hash = "sha256-PwmJspKYWS7WUAK7XRr2FYiAMnc03xp8qH23EZUC6Hs=";
rev = "bb304918f8d9f1d2c1e80ccabfa86806ef70bcfa";
hash = "sha256-ZtPXCv1nte0Z39jvZremR9POSanz+MZbkzqFXtoZLqc=";
fetchSubmodules = true;
};

View File

@@ -580,13 +580,13 @@
"vendorHash": "sha256-sPQR+LDZRMXygLUd9xj6/bI+8DhAPKbkytlTzmrEOBU="
},
"hashicorp_google": {
"hash": "sha256-GTcMwL5lZ81KDtohog4cCvy9zxXU/jh5k+aLosZZfRM=",
"hash": "sha256-Aj6eAquHfntl2682UedJ4b6DNPuGr+4aeNo++L76mEA=",
"homepage": "https://registry.terraform.io/providers/hashicorp/google",
"owner": "hashicorp",
"repo": "terraform-provider-google",
"rev": "v7.35.0",
"rev": "v7.33.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-R3Bd+n/ySx4FyDQAP72P0hIjTSQjzNJE2QqUgRV+eQE="
"vendorHash": "sha256-qSiOXUfoNaG2+Fu7QvP9uafZp0CMvJJBzaKluCf1g+4="
},
"hashicorp_google-beta": {
"hash": "sha256-MGiIQ+BPe5HUn60EnKwflhxfz1I6NaRxN/OyEh/tXKs=",
@@ -815,13 +815,13 @@
"vendorHash": "sha256-UuLHaOEG6jmOAgfdNOtLyUimlAr3g6K8n3Ehu64sKqk="
},
"keycloak_keycloak": {
"hash": "sha256-3KlfUM3qQwzRlUkuq+91z1VjRxIL3qcdCHfkVnfYJKQ=",
"hash": "sha256-55/a3lJCJEOIDsnFckx5BsUClphPZ9BSBvWxQBq1D9Y=",
"homepage": "https://registry.terraform.io/providers/keycloak/keycloak",
"owner": "keycloak",
"repo": "terraform-provider-keycloak",
"rev": "v5.8.0",
"rev": "v5.7.0",
"spdx": "Apache-2.0",
"vendorHash": "sha256-JTcIyUKoeCRxAzUWJy9FkMCYy3+D70uyzuiSTW3nHlA="
"vendorHash": "sha256-JgQqOm+cAMLACp/rVz3ek1C4uuTAs8vqDcwRkpFssYc="
},
"kislerdm_neon": {
"hash": "sha256-1o5EnAI9X8Q+dXxh1/jZwimy1MmPDF3X2aRc+HO7HpQ=",

View File

@@ -45,7 +45,7 @@ assert (!blas.isILP64) && (!lapack.isILP64);
stdenv.mkDerivation (finalAttrs: {
pname = "R";
version = "4.6.0";
version = "4.5.3";
src =
let
@@ -53,7 +53,7 @@ stdenv.mkDerivation (finalAttrs: {
in
fetchurl {
url = "https://cran.r-project.org/src/base/R-${lib.versions.major version}/${pname}-${version}.tar.gz";
hash = "sha256-uNybRUNmDHtZa4eTjfUyOUNQNgl2Un00QijuDtEuRew=";
hash = "sha256-qlwe1Ck8cnGsUT1lRnA1asDopq1eQr4BQ2XREVC1uPI=";
};
outputs = [

View File

@@ -50,21 +50,9 @@ in
filterFlags = lib.map (package: "--filter=${package}") pnpmWorkspaces;
pnpm-fixup-state-db' =
if pnpm.nodejs-slim or null != null then
if pnpm.nodejs or null != null then
pnpm-fixup-state-db.override {
# FIXME: make npm-config-hook accept nodejs-slim
nodejs =
let
inherit (pnpm) nodejs-slim;
in
if nodejs-slim ? paths && builtins.isList nodejs-slim.paths then
# If nodejs-slim has a list `paths` attribute, it's likely a simlinkJoin
nodejs-slim
else
# Otherwise we need to recreate one by overriding the default one
pnpm-fixup-state-db.nodejs.override {
inherit nodejs-slim;
};
inherit (pnpm) nodejs;
}
else
pnpm-fixup-state-db;

View File

@@ -148,14 +148,8 @@ let
# AttributeError: type object 'CustomDomainsOperations' has no attribute 'disable_custom_https'
azure-mgmt-cdn =
(overrideAzureMgmtPackage super.azure-mgmt-cdn "12.0.0" "zip"
"sha256-t8PuIYkjS0r1Gs4pJJJ8X9cz8950imQtbVBABnyMnd0="
).overridePythonAttrs
(attrs: {
propagatedBuildInputs = attrs.propagatedBuildInputs or [ ] ++ [
self.msrest
];
});
overrideAzureMgmtPackage super.azure-mgmt-cdn "12.0.0" "zip"
"sha256-t8PuIYkjS0r1Gs4pJJJ8X9cz8950imQtbVBABnyMnd0=";
# ImportError: cannot import name 'ConfigMap' from 'azure.mgmt.containerinstance.models'
azure-mgmt-containerinstance = super.azure-mgmt-containerinstance.overridePythonAttrs (attrs: rec {

View File

@@ -8,18 +8,18 @@
php.buildComposerProject2 (finalAttrs: {
pname = "drupal";
version = "11.3.11";
version = "11.3.10";
src = fetchFromGitLab {
domain = "git.drupalcode.org";
owner = "project";
repo = "drupal";
tag = finalAttrs.version;
hash = "sha256-O1Al14D9vZEdNOtOKcvMnlp6hyjrfu8n2nTE5qk4Xe0=";
hash = "sha256-22oi80H8CZfafX0PFMmMinwIdKKdPs0iM0ime1aYXDI=";
};
composerNoPlugins = false;
vendorHash = "sha256-pA1Hy4WtHqWQTBxD0fbbetg0heVYfuPJUUOHPE3JyGc=";
vendorHash = "sha256-jwCHtpshEVzBhcXjCl5HOdkIiHRcH3V7fBxTxU39/S0=";
passthru = {
tests = {

View File

@@ -2,11 +2,10 @@
lib,
fetchFromGitHub,
buildGoModule,
stdenvNoCC,
buildNpmPackage,
fetchPnpmDeps,
pnpmConfigHook,
pnpmBuildHook,
nodejs-slim,
nodejs_24,
pnpm_10,
nix-update-script,
nixosTests,
@@ -18,25 +17,23 @@ let
src = fetchFromGitHub {
owner = "filebrowser";
repo = "filebrowser";
tag = "v${version}";
rev = "v${version}";
hash = "sha256-/X/TztbZDC1hkRL97jkm6Ak8QmKFDMycekLl6NVPS0k=";
};
frontend = stdenvNoCC.mkDerivation (finalAttrs: {
frontend = buildNpmPackage rec {
pname = "filebrowser-frontend";
inherit version src;
sourceRoot = "${src.name}/frontend";
nativeBuildInputs = [
nodejs-slim
pnpmConfigHook
pnpmBuildHook
pnpm_10
];
nativeBuildInputs = [ pnpm_10 ];
npmConfigHook = pnpmConfigHook;
npmDeps = pnpmDeps;
nodejs = nodejs_24;
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs)
inherit
pname
version
src
@@ -55,7 +52,7 @@ let
runHook postInstall
'';
});
};
in
buildGoModule {
@@ -90,7 +87,6 @@ buildGoModule {
meta = {
description = "Web application for managing files and directories";
homepage = "https://filebrowser.org";
changelog = "https://github.com/filebrowser/filebrowser/releases/${src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ oakenshield ];
mainProgram = "filebrowser";

View File

@@ -10,14 +10,11 @@
oniguruma,
openssl,
zlib,
versionCheckHook,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "forgejo-cli";
version = "0.5.0";
__structuredAttrs = true;
src = fetchFromCodeberg {
owner = "forgejo-contrib";
repo = "forgejo-cli";
@@ -52,10 +49,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
--zsh <($out/bin/fj completion zsh)
'';
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "version";
doInstallCheck = true;
meta = {
description = "CLI application for interacting with Forgejo";
homepage = "https://codeberg.org/forgejo-contrib/forgejo-cli";

View File

@@ -26,13 +26,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "golden-cheetah";
version = "3.8-DEV2605";
version = "3.8-DEV2603";
src = fetchFromGitHub {
owner = "GoldenCheetah";
repo = "GoldenCheetah";
tag = "v${finalAttrs.version}";
hash = "sha256-umy1EcLSoSDO5XFiGxfunniDr8RruyPvRTbypMbl7xU=";
hash = "sha256-FxQ18KJfR+fegQ5Qu4vI3vqckj4mB8s9VtSdRtIQISg=";
};
buildInputs =

View File

@@ -161,7 +161,6 @@ stdenv.mkDerivation (finalAttrs: {
Guix is based on the Nix package manager.
'';
homepage = "https://guix.gnu.org/";
donationPage = "https://guix.gnu.org/donate/";
changelog = "https://codeberg.org/guix/guix/raw/tag/v${finalAttrs.version}/NEWS";
license = lib.licenses.gpl3Plus;
mainProgram = "guix";

File diff suppressed because it is too large Load Diff

View File

@@ -6,13 +6,13 @@
}:
buildNpmPackage rec {
pname = "i18next-cli";
version = "1.61.0";
version = "1.56.12";
src = fetchFromGitHub {
owner = "i18next";
repo = "i18next-cli";
tag = "v${version}";
hash = "sha256-birjO9dfj3LhY/c1VQZJwVGDP9WWOmjPTeFF43/DetM=";
hash = "sha256-Ll0gHmY+L9wsZDg0fG6QqPdopC2lxKhm4XYVSiI7SVw=";
};
# NOTE: Generating lock-file
@@ -21,7 +21,7 @@ buildNpmPackage rec {
cp ${./package-lock.json} package-lock.json
'';
npmDepsHash = "sha256-uLnszHMzL+zEgOtlYzqUjlCxcF44KUjkdPy+QJe/3zs=";
npmDepsHash = "sha256-821k53HnkbXmsMF6J3XI5Qlih6gK6yA/zoUu2sWrS1Y=";
passthru.updateScript = nix-update-script {
extraArgs = [ "--generate-lockfile" ];

View File

@@ -6,13 +6,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "digital-dance";
version = "1.1.3-unstable-2026-06-04";
version = "1.1.3-unstable-2026-05-14";
src = fetchFromCodeberg {
owner = "JNero";
repo = "Digital-Dance-ITGMania";
rev = "827d963fdc5732f11781bf3db7343a8897a10196";
hash = "sha256-V3EmAg42BExodFiGd2u7brmTq4t3iVduWtxo5NjwGm8=";
rev = "02e2c0a2177429a42d69a3aeea582759ed646c18";
hash = "sha256-aw+nzABmDTsdn7hPI2B61S5HtzixTl3/JCOSFH5mNB0=";
};
postInstall = ''

View File

@@ -6,13 +6,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "itg3encore";
version = "0-unstable-2026-06-05";
version = "0-unstable-2026-05-26";
src = fetchFromGitHub {
owner = "DarkBahamut162";
repo = "itg3encore";
rev = "7aad94a63462efc85eb6e0e23bd0bd50be28137c";
hash = "sha256-oaj76RMD+Ibm8n8/EiUZYVBlyy5PefpBsWhFbWEjM08=";
rev = "7cb2d0f4c1e36964b041380f9361598b568a0bd5";
hash = "sha256-W9pJ48tiKre+G5xHd9JKHroZecOgkE7E9dRMTp0JoZQ=";
};
postInstall = ''

View File

@@ -224,7 +224,7 @@ stdenv.mkDerivation (finalAttrs: {
icon = "joplin";
comment = "Joplin for Desktop";
categories = [ "Office" ];
startupWMClass = "joplin-app-desktop";
startupWMClass = "@joplin/app-desktop";
mimeTypes = [ "x-scheme-handler/joplin" ];
})
];

View File

@@ -13,7 +13,7 @@ buildNpmPackage (finalAttrs: {
npmDeps = fetchNpmDeps {
inherit (finalAttrs) version src sourceRoot;
hash = "sha256-Dd0wqssmLBfHkOHI5aactLnCPG4JxPLhNC+eo//QRXM=";
hash = "sha256-LDH8aR+FSiIFYMDaQ3wNYAzv6VpHtH5X+DMHGBhPkm0=";
};
npmBuildScript = "build";

View File

@@ -11,18 +11,24 @@ buildNpmPackage (finalAttrs: {
sourceRoot = "${finalAttrs.src.name}/src/mail";
# TODO: Remove package-lock.json patch when
# https://github.com/suitenumerique/meet/pull/1321 is merged.
postPatch = ''
substituteInPlace bin/html-to-plain-text bin/mjml-to-html \
--replace-fail \
'../backend/core/templates/mail' \
'${placeholder "out"}'
cp ${./package-lock.json} package-lock.json
'';
npmDeps = fetchNpmDeps {
pname = "${finalAttrs.pname}-npm-deps";
inherit version src;
inherit (finalAttrs) sourceRoot;
hash = "sha256-dvOmSQjtw7Qv3H+flOcXDaIxQzf9YBmsQo7jmSTA7tI=";
hash = "sha256-jjLzgGqCsMu6Smyfaam6coqOM9UW2zG88adSPVrWPEE=";
postPatch = "cp ${./package-lock.json} package-lock.json";
};
npmBuildScript = "build";

File diff suppressed because it is too large Load Diff

View File

@@ -6,13 +6,13 @@
python3,
}:
let
version = "1.17.0";
version = "1.15.0";
src = fetchFromGitHub {
owner = "suitenumerique";
repo = "meet";
tag = "v${version}";
hash = "sha256-hmkJwFYTBTbYsroegaRp/dcaNmeyPQ0Rbh/D1PGbh04=";
hash = "sha256-18DcrrEvqWR6caEVZYxQlSnKcxItEpNE+bMhtS4Aa0M=";
};
meta = {
@@ -85,7 +85,6 @@ python.pkgs.buildPythonApplication (finalAttrs: {
markdown
mozilla-django-oidc
nested-multipart-parser
phonenumbers
psycopg
pydantic
pyjwt

View File

@@ -18,18 +18,18 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "lux-cli";
version = "0.31.1";
version = "0.30.1";
src = fetchFromGitHub {
owner = "lumen-oss";
repo = "lux";
tag = "v${finalAttrs.version}";
hash = "sha256-3gS3QO0i1ApVYG/hL/EyZhH1LykeJ5Ttt59vSDLUPMY=";
hash = "sha256-sp1lNdPJuHfXvq3TYdQ7MJCZVpL8EyJEN9K/u7hnkYg=";
};
buildAndTestSubdir = "lux-cli";
cargoHash = "sha256-Ventw1LRk5795+X38yzyFGHFbvW1tEq6PE1zjhZSDDM=";
cargoHash = "sha256-RqHONrfNwnOwuri0LmViFfJThiwLWqyA9eEBrdsYWrc=";
nativeInstallCheckInputs = [
versionCheckHook

View File

@@ -6,7 +6,7 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "malwoverview";
version = "8.0.2";
version = "8.0.1";
pyproject = true;
__structuredAttrs = true;
@@ -15,7 +15,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
owner = "alexandreborges";
repo = "malwoverview";
tag = "v${finalAttrs.version}";
hash = "sha256-dT1FnVm6J93mQHUfodVGgEFy7HAKFcHVicp4B9QKBrs=";
hash = "sha256-yIlKrZaIJmz3INGTrk+ydU+8gjAt54glSteMUrXSAgU=";
};
build-system = with python3Packages; [

View File

@@ -1,7 +1,7 @@
{
mkDerivation,
lib,
fetchFromGitHub,
fetchFromCodeberg,
aeson,
base,
bytestring,
@@ -26,7 +26,7 @@
mkDerivation rec {
pname = "mkjson";
version = "0.4.0";
src = fetchFromGitHub {
src = fetchFromCodeberg {
owner = "mfussenegger";
repo = "mkjson";
rev = "${version}";

View File

@@ -1,2 +1,19 @@
{ haskell, haskellPackages }:
haskell.lib.justStaticExecutables (haskellPackages.callPackage ./generated.nix { })
{
haskell,
haskellPackages,
lib,
}:
let
inherit (haskell.lib.compose) justStaticExecutables overrideCabal;
# The mkjson-doctest suite depends on specific RNG results not provided by the
# GHC in Nixpkgs as of this writing.
overrides = {
testTargets = [ "mkjson-test" ];
};
raw-pkg = haskellPackages.callPackage ./generated.nix { };
in
lib.pipe raw-pkg [
(overrideCabal overrides)
justStaticExecutables
]

View File

@@ -1,137 +0,0 @@
{
lib,
stdenv,
fetchzip,
rustPlatform,
fetchFromGitHub,
fetchPnpmDeps,
# patches
libayatana-appindicator,
# nativeBuildInputs
cargo-tauri,
nodejs,
pkg-config,
pnpm,
pnpmConfigHook,
# buildInputs
atk,
glib,
libsoup_3,
onnxruntime,
openssl,
pango,
# linux-only:
alsa-lib,
libappindicator-gtk3,
libx11,
libxi,
libxkbcommon,
libxtst,
webkitgtk_4_1,
xdotool,
# passthru
nix-update-script,
}:
let
parakeet-model = fetchzip {
url = "https://github.com/Kieirra/murmure-model/releases/download/1.0.0/parakeet-tdt-0.6b-v3-int8.zip";
hash = "sha256-rlV7mi5Y6qu/9jRWRPNBlABW8GxsvVAMCM6Ye2tVb2s=";
};
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "murmure";
version = "1.9.0";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "Kieirra";
repo = "murmure";
tag = finalAttrs.version;
hash = "sha256-Yh1XWpwTKrYIPhbOqi0XGfqV+kVB/QVXX4y7Hb+iqrM=";
};
# The libappindicator_sys crate loads these libraries at runtime
postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''
substituteInPlace $cargoDepsCopy/source-registry-0/libappindicator-sys-*/src/lib.rs \
--replace-fail \
"libayatana-appindicator3.so.1" \
"${libayatana-appindicator}/lib/libayatana-appindicator3.so.1" \
'';
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs)
pname
version
src
;
fetcherVersion = 3;
hash = "sha256-Jtd+sxpievLyNozMJW6JAHQEKA6UVPvgLEB/3Q2Pl/s=";
};
cargoRoot = "src-tauri";
buildAndTestSubdir = finalAttrs.cargoRoot;
cargoHash = "sha256-PRp04YHkifhFY9W03IQDu9Dd8y05zd4d9o8CDySf+Nw=";
env.OPENSSL_NO_VENDOR = true;
nativeBuildInputs = [
cargo-tauri.hook
nodejs
pkg-config
pnpm
pnpmConfigHook
];
buildInputs = [
atk
glib
libsoup_3
onnxruntime
openssl
pango
]
++ lib.optionals stdenv.hostPlatform.isLinux [
alsa-lib
libappindicator-gtk3
libx11
libxi
libxkbcommon
libxtst
webkitgtk_4_1
xdotool
];
checkFlags = [
# Couldn't compile the test.
# error[E0433]: failed to resolve: use of unresolved module or unlinked crate `transcribe_rs`
"--skip=engine::engine::ParakeetEngine"
"--skip=engine::engine::ParakeetEngine::new"
"--skip=engine::engine::ParakeetModelParams::int8"
"--skip=engine::transcription_engine::TranscriptionEngine"
"--skip=engine::transcription_engine::TranscriptionEngine"
];
postInstall = ''
mkdir -p $out/lib/murmure/resources
ln -s ${parakeet-model} $out/lib/murmure/resources/parakeet-tdt-0.6b-v3-int8
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Privacy-first and free Speech-to-Text";
homepage = "https://murmure.al1x-ai.com";
downloadPage = "https://github.com/Kieirra/murmure";
changelog = "https://github.com/Kieirra/murmure/releases/tag/${finalAttrs.version}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ GaetanLepage ];
mainProgram = "murmure";
};
})

View File

@@ -22,17 +22,17 @@ in
maven.buildMavenPackage (finalAttrs: {
pname = "mvnd";
version = "1.0.6";
version = "1.0.5";
src = fetchFromGitHub {
owner = "apache";
repo = "maven-mvnd";
rev = finalAttrs.version;
sha256 = "sha256-0Po3LOsK3u984+g7ACtGa5KSgKfsAwLLORP6YEUHhKo=";
sha256 = "sha256-/ODRS6xaxkn7okUh8phN1GUNG7tDAKjmAIQn8NrC+ag=";
};
# need graalvm at build-time for the `native-image` tool
mvnJdk = graalvmPackages.graalvm-ce;
mvnHash = "sha256-dgKQj6xa10MkFmxUckwW5FqKS3Tf95aP/RmKXSRqtCg=";
mvnHash = "sha256-flA72bE6on3KolJ/tQT1ad92GQnybyykPbWG4Yn88rU=";
nativeBuildInputs = [
graalvmPackages.graalvm-ce

View File

@@ -10,16 +10,16 @@
buildGoModule (finalAttrs: {
pname = "okteto";
version = "3.20.0";
version = "3.19.0";
src = fetchFromGitHub {
owner = "okteto";
repo = "okteto";
tag = finalAttrs.version;
hash = "sha256-s733L3Jhaz780fEa+mQnnokUXXwvUPDCZq3fWEUBaT0=";
hash = "sha256-Gc8ZLCsE5k4YtoN6VYT9FfnuqFDNBwcrdDbcDQLjDE4=";
};
vendorHash = "sha256-/qZEO/oXEmr4VsrKZMiaJ/LOyFG7rQ8j3aUdqSspfCg=";
vendorHash = "sha256-riNqDuD+LftGnQfRQwOB1VHVV7R2rp4cSU5d9jBvJQM=";
postPatch = ''
# Disable some tests that need file system & network access.

View File

@@ -9,13 +9,13 @@
}:
let
pname = "open-webui";
version = "0.9.6";
version = "0.9.5";
src = fetchFromGitHub {
owner = "open-webui";
repo = "open-webui";
tag = "v${version}";
hash = "sha256-0d9GfBQY6YtsUbHeO6NTFPFHV6WE51D4fq+NfsM7J5g=";
hash = "sha256-RVmFRThK6dNJyqxKepk9WfxzXIwkRoYijZjR1HEhDm8=";
};
frontend = buildNpmPackage rec {
@@ -30,7 +30,7 @@ let
url = "https://github.com/pyodide/pyodide/releases/download/${pyodideVersion}/pyodide-${pyodideVersion}.tar.bz2";
};
npmDepsHash = "sha256-NhDsqfP95RAbSarM07OSII8vbPYWScRMxtWt+gRQ/4c=";
npmDepsHash = "sha256-kAUbFAFNo5RHMGqO7sPHSxSEZw9Ky6Pxp/vddDyw90E=";
npmFlags = [ "--force" ];

View File

@@ -6,7 +6,7 @@
fetchPnpmDeps,
pnpmConfigHook,
pnpm_11,
nodejs-slim_22,
nodejs_22,
makeWrapper,
versionCheckHook,
rolldown,
@@ -14,7 +14,7 @@
version ? "2026.5.12",
}:
let
pnpm = pnpm_11.override { nodejs-slim = nodejs-slim_22; };
pnpm = pnpm_11.override { nodejs = nodejs_22; };
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "openclaw";
@@ -41,7 +41,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
nativeBuildInputs = [
pnpmConfigHook
pnpm
nodejs-slim_22
nodejs_22
makeWrapper
installShellFiles
];
@@ -86,7 +86,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
# Remove symlinks pointing back to the build sandbox
find $libdir/dist/extensions -type l -lname "$NIX_BUILD_TOP/*" -delete
makeWrapper ${lib.getExe nodejs-slim_22} $out/bin/openclaw \
makeWrapper ${lib.getExe nodejs_22} $out/bin/openclaw \
--add-flags "$libdir/dist/index.js" \
--set NODE_PATH "$libdir/node_modules"
ln -s $out/bin/openclaw $out/bin/moltbot

View File

@@ -7,16 +7,16 @@
}:
php.buildComposerProject2 (finalAttrs: {
pname = "phpactor";
version = "2026.05.30.1";
version = "2025.12.21.1";
src = fetchFromGitHub {
owner = "phpactor";
repo = "phpactor";
tag = finalAttrs.version;
hash = "sha256-Harrs0SM00MVBicMfvs3bcLQf/PSTp6k7hcEExGELWE=";
hash = "sha256-9hkYU/Mhxl49tIZa3Vyj3kXftNIgZXUlH1T6/4obM7I=";
};
vendorHash = "sha256-PztP3qN6LL+1UshNyuJof0WT9Dg5MfXwfQr57kBG9hM=";
vendorHash = "sha256-XsybPL391WGHztWPaZAN1l2hWQMQ0tklZ9yjkKjGzsI=";
nativeBuildInputs = [ installShellFiles ];

View File

@@ -16,18 +16,18 @@
buildGoModule (finalAttrs: {
pname = "picocrypt-ng";
version = "2.10";
version = "2.09";
src = fetchFromGitHub {
owner = "Picocrypt-NG";
repo = "Picocrypt-NG";
tag = finalAttrs.version;
hash = "sha256-Rp7BgtJnV3fPed/QlWSxH8nL7cCTgMDpRGcgX5VI2l0=";
hash = "sha256-s+93NoJ1O6/Af33pUobSA0kAhpw7W0IdA9H6CVxShQY=";
};
sourceRoot = "${finalAttrs.src.name}/src";
vendorHash = "sha256-yAM1jzebUlNkVWiY8lPtlelfqpFQonNcAqNmmghCdPU=";
vendorHash = "sha256-2c8Q7+97jSGo8lwWOYBg76K04+TFXG1DdQzVMR8G7ik=";
ldflags = [
"-s"
@@ -50,9 +50,6 @@ buildGoModule (finalAttrs: {
writableTmpDirAsHomeHook
];
# git ls-files doesn't work as source is not a git repo
checkFlags = [ "-skip=^TestOldVersionLiteralsAreAllowlisted$" ];
env.CGO_ENABLED = 1;
postInstall = ''
@@ -76,10 +73,7 @@ buildGoModule (finalAttrs: {
homepage = "https://github.com/Picocrypt-NG/Picocrypt-NG";
changelog = "https://github.com/Picocrypt-NG/Picocrypt-NG/blob/${finalAttrs.version}/Changelog.md";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [
tbutter
ryand56
];
maintainers = with lib.maintainers; [ tbutter ];
mainProgram = "picocrypt-ng-gui";
};
})

View File

@@ -5,7 +5,7 @@
makeBinaryWrapper,
copyDesktopItems,
electron_41,
nodejs-slim_24,
nodejs_24,
pnpm_10_29_2,
fetchPnpmDeps,
pnpmConfigHook,
@@ -21,8 +21,8 @@
}:
let
nodejs-slim = nodejs-slim_24;
pnpm = pnpm_10_29_2.override { inherit nodejs-slim; };
nodejs = nodejs_24;
pnpm = pnpm_10_29_2.override { inherit nodejs; };
electron = electron_41;
appName = "Podman Desktop";
in
@@ -91,8 +91,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
makeBinaryWrapper
nodejs-slim
nodejs-slim.npm
nodejs
pnpm
pnpmConfigHook
]

View File

@@ -6,7 +6,7 @@
fetchPnpmDeps,
pnpmConfigHook,
stdenvNoCC,
nodejs-slim_22,
nodejs_22,
ffmpeg,
imagemagick,
makeWrapper,
@@ -37,8 +37,8 @@ let
mainProgram = "izzy";
};
};
nodejs-slim = nodejs-slim_22;
pnpm' = pnpm_9.override { inherit nodejs-slim; };
nodejs = nodejs_22;
pnpm' = pnpm_9.override { nodejs = nodejs_22; };
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "porn-vault";
@@ -59,7 +59,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
};
nativeBuildInputs = [
nodejs-slim
nodejs
pnpmConfigHook
pnpm'
makeWrapper
@@ -92,7 +92,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
'';
preFixup = ''
makeWrapper "${lib.getExe nodejs-slim}" "$out/bin/porn-vault" \
makeWrapper "${lib.getExe nodejs}" "$out/bin/porn-vault" \
--chdir "$out/share/porn-vault" \
--add-flags "dist/index.js" \
--set-default IZZY_PATH "${lib.getExe izzy}" \
@@ -110,7 +110,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
homepage = "https://gitlab.com/porn-vault/porn-vault";
license = lib.licenses.gpl3Plus;
maintainers = [ lib.maintainers.luNeder ];
inherit (nodejs-slim.meta) platforms;
inherit (nodejs.meta) platforms;
mainProgram = "porn-vault";
};
})

View File

@@ -54,11 +54,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "qmmp";
version = "2.3.3";
version = "2.3.2";
src = fetchurl {
url = "https://qmmp.ylsoftware.com/files/qmmp/2.3/qmmp-${finalAttrs.version}.tar.bz2";
hash = "sha256-Uclk6eaFz2cmay6OMTXuRQS2v2sig/Rrv9Sr42rjaQ0=";
hash = "sha256-TYu65hnpnP1mXZbDaI0tMG9f/DAUTgezfKcBqZ4yY2U=";
};
nativeBuildInputs = [

View File

@@ -2,39 +2,31 @@
lib,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
}:
buildGoModule (finalAttrs: {
pname = "rdap";
version = "0.9.1";
vendorHash = "sha256-8b1EAnR8PkEAw9yLBqPKFeANJit0OCJG+fssAGR/iTk=";
src = fetchFromGitHub {
owner = "openrdap";
repo = "rdap";
tag = "v${finalAttrs.version}";
hash = "sha256-FiaUyhiwKXZ3xnFPmdxb8bpbm5eRRFNDL3duOGDnc/A=";
rev = "v${finalAttrs.version}";
sha256 = "sha256-FiaUyhiwKXZ3xnFPmdxb8bpbm5eRRFNDL3duOGDnc/A=";
};
vendorHash = "sha256-8b1EAnR8PkEAw9yLBqPKFeANJit0OCJG+fssAGR/iTk=";
doCheck = false;
ldflags = [
"-s"
"-X=github.com/openrdap/rdap.version=${finalAttrs.version}"
"-w"
"-X \"github.com/openrdap/rdap.version=OpenRDAP ${finalAttrs.version}\""
];
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
versionCheckProgramArg = [ "-h" ];
meta = {
description = "Command line client for the Registration Data Access Protocol (RDAP)";
homepage = "https://www.openrdap.org/";
changelog = "https://github.com/openrdap/rdap/releases/tag/v${finalAttrs.src.tag}";
description = "Command line client for the Registration Data Access Protocol (RDAP)";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ sebastianblunt ];
mainProgram = "rdap";

View File

@@ -6,7 +6,7 @@
fetchFromGitHub,
stdenv,
makeWrapper,
nodejs-slim_22,
nodejs_22,
python3,
python3Packages,
sqlite,
@@ -15,8 +15,8 @@
}:
let
nodejs-slim = nodejs-slim_22;
pnpm = pnpm_10.override { inherit nodejs-slim; };
nodejs = nodejs_22;
pnpm = pnpm_10.override { inherit nodejs; };
in
stdenv.mkDerivation (finalAttrs: {
pname = "seerr";
@@ -41,14 +41,14 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
python3
python3Packages.distutils
nodejs-slim
nodejs
makeWrapper
pnpmConfigHook
pnpm
];
preBuild = ''
export npm_config_nodedir=${nodejs-slim}
export npm_config_nodedir=${nodejs}
pushd node_modules
pnpm rebuild bcrypt sqlite3
popd
@@ -77,7 +77,7 @@ stdenv.mkDerivation (finalAttrs: {
postInstall = ''
mkdir -p $out/bin
makeWrapper '${nodejs-slim}/bin/node' "$out/bin/seerr" \
makeWrapper '${nodejs}/bin/node' "$out/bin/seerr" \
--add-flags "$out/share/dist/index.js" \
--chdir "$out/share" \
--set NODE_ENV production

View File

@@ -11,7 +11,7 @@
jemalloc,
makeWrapper,
nix-update-script,
nodejs-slim_22,
nodejs_22,
pango,
pixman,
pkg-config,
@@ -24,7 +24,7 @@
}:
let
pnpm = pnpm_10.override { nodejs-slim = nodejs-slim_22; };
pnpm = pnpm_10.override { nodejs = nodejs_22; };
in
stdenv.mkDerivation (finalAttrs: {
pname = "sharkey";
@@ -48,7 +48,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
makeWrapper
nodejs-slim_22
nodejs_22
pkg-config
pnpmConfigHook
pnpm
@@ -79,7 +79,7 @@ stdenv.mkDerivation (finalAttrs: {
popd
# rebuild some node modules that have native dependencies
export npm_config_nodedir=${nodejs-slim_22}
export npm_config_nodedir=${nodejs_22}
pushd node_modules/.pnpm/node_modules/re2
pnpm rebuild
@@ -105,7 +105,7 @@ stdenv.mkDerivation (finalAttrs: {
let
binPath = lib.makeBinPath [
bash
nodejs-slim_22
nodejs_22
pnpm
];
libPath = lib.makeLibraryPath [

View File

@@ -6,7 +6,7 @@
pnpmConfigHook,
pnpm_10,
faketty,
nodejs-slim_22,
nodejs_22,
versionCheckHook,
makeBinaryWrapper,
nix-update-script,
@@ -14,8 +14,8 @@
let
pnpm = pnpm_10;
nodejs-slim = nodejs-slim_22;
pnpm' = pnpm.override { inherit nodejs-slim; };
nodejs = nodejs_22;
pnpm' = pnpm.override { inherit nodejs; };
in
stdenv.mkDerivation (finalAttrs: {
pname = "shopify";
@@ -37,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
faketty
nodejs-slim
nodejs
pnpmConfigHook
pnpm'
makeBinaryWrapper
@@ -73,7 +73,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpm install --offline --prod --ignore-scripts --frozen-lockfile
mv node_modules $out/lib/node_modules/@shopify/cli/node_modules
makeWrapper ${lib.getExe nodejs-slim} $out/bin/shopify \
makeWrapper ${lib.getExe nodejs} $out/bin/shopify \
--add-flags "$out/lib/node_modules/@shopify/cli/bin/run.js"
runHook postInstall

View File

@@ -11,12 +11,12 @@
buildGoModule (finalAttrs: {
pname = "shopware-cli";
version = "0.15.3";
version = "0.15.2";
src = fetchFromGitHub {
repo = "shopware-cli";
owner = "shopware";
tag = finalAttrs.version;
hash = "sha256-3Bx3GaCR/yrvxsMrDYriwYaxUSIduW5WLhLtZDEJnsw=";
hash = "sha256-HWIfumFTBBLMjXa+2AHzXS1UR8Z91C6/x9pHXQcO6WE=";
};
nativeBuildInputs = [
@@ -28,7 +28,7 @@ buildGoModule (finalAttrs: {
dart-sass
];
vendorHash = "sha256-mQLRSX68cJVvY9Dj51qaDDNv04LuyJnRIqiw0SzLxpc=";
vendorHash = "sha256-KQDPTyw24BqjetYSJfMeSrgO9mgHxIBuKgp0/0H76R0=";
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd shopware-cli \

View File

@@ -7,7 +7,7 @@
fetchgit,
srcOnly,
removeReferencesTo,
nodejs-slim_24,
nodejs_24,
pnpm_9,
fetchPnpmDeps,
pnpmConfigHook,
@@ -17,10 +17,8 @@
zip,
}:
let
nodeSources = (srcOnly nodejs-slim_24).overrideAttrs {
outputChecks = { };
};
pnpm' = pnpm_9.override { nodejs-slim = nodejs-slim_24; };
nodeSources = srcOnly nodejs_24;
pnpm' = pnpm_9.override { nodejs = nodejs_24; };
esbuild' = esbuild.override {
buildGoModule =
args:
@@ -63,8 +61,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
customPython
nodejs-slim_24
nodejs-slim_24.npm
nodejs_24
pnpmConfigHook
pnpm'
gitMinimal
@@ -73,7 +70,7 @@ stdenv.mkDerivation (finalAttrs: {
];
buildInputs = [
nodejs-slim_24
nodejs_24
];
# Make a fake git repo with a commit.

View File

@@ -5,12 +5,12 @@
pnpm_10,
fetchPnpmDeps,
pnpmConfigHook,
nodejs-slim_22,
nodejs_22,
versionCheckHook,
nix-update-script,
}:
let
pnpm' = pnpm_10.override { nodejs-slim = nodejs-slim_22; };
pnpm' = pnpm_10.override { nodejs = nodejs_22; };
in
stdenv.mkDerivation (finalAttrs: {
pname = "tsx";
@@ -35,13 +35,13 @@ stdenv.mkDerivation (finalAttrs: {
};
nativeBuildInputs = [
nodejs-slim_22
nodejs_22
pnpmConfigHook
pnpm'
];
buildInputs = [
nodejs-slim_22
nodejs_22
];
patchPhase = ''

View File

@@ -27,11 +27,11 @@ assert waylandSupport -> libxkbcommon != null;
stdenv.mkDerivation (finalAttrs: {
pname = "vintagestory";
version = "1.22.3";
version = "1.22.2";
src = fetchurl {
url = "https://cdn.vintagestory.at/gamefiles/stable/vs_client_linux-x64_${finalAttrs.version}.tar.gz";
hash = "sha256-sa4Pj1DwT6W6LJCAYznmbyqPtMUTaLSNTkXS1imQp04=";
hash = "sha256-caLSOm/WXpXrjC1az72Nc0XDWOpWB2R9iVq8ShDEZgU=";
};
__structuredAttrs = true;
@@ -137,7 +137,6 @@ stdenv.mkDerivation (finalAttrs: {
artturin
gigglesquid
dtomvan
bubylou
];
mainProgram = "vintagestory";
};

View File

@@ -2,7 +2,7 @@
stdenv,
lib,
fetchFromGitHub,
nodejs-slim_22,
nodejs_22,
gitMinimal,
gitSetupHook,
pnpm_8,
@@ -11,7 +11,7 @@
nix-update-script,
}:
let
pnpm' = pnpm_8.override { nodejs-slim = nodejs-slim_22; };
pnpm' = pnpm_8.override { nodejs = nodejs_22; };
in
stdenv.mkDerivation (finalAttrs: {
pname = "vtsls";
@@ -26,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
};
nativeBuildInputs = [
nodejs-slim_22
nodejs_22
# patches are applied with git during build
gitMinimal
gitSetupHook
@@ -34,7 +34,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpm'
];
buildInputs = [ nodejs-slim_22 ];
buildInputs = [ nodejs_22 ];
pnpmWorkspaces = [ "@vtsls/language-server" ];

View File

@@ -33,14 +33,14 @@ let
in
llvmPackages_20.stdenv.mkDerivation {
pname = "xenia-canary";
version = "0-unstable-2026-06-05";
version = "0-unstable-2026-05-03";
src = fetchFromGitHub {
owner = "xenia-canary";
repo = "xenia-canary";
fetchSubmodules = true;
rev = "99fd19d02598e45121a665053c56fa46b2e06f09";
hash = "sha256-Kz93Is6tDdg4svUidN3HeF5TRk8Mz5JK9tGHoiPFues=";
rev = "9467c77f0825f3f8156038ef1a03e27b6c727393";
hash = "sha256-hGr8KJcvLkluup5FN+MW7+ciuztgGO+SyTvKXYSHeIk=";
};
dontConfigure = true;

View File

@@ -31,7 +31,7 @@ let
PRISMA_FMT_BINARY = lib.getExe' prisma-engines_6 "prisma-fmt";
};
pnpm' = pnpm_10.override { nodejs-slim = nodejs_24; };
pnpm' = pnpm_10.override { nodejs = nodejs_24; };
in
stdenv.mkDerivation (finalAttrs: {

View File

@@ -7,15 +7,15 @@
buildNpmPackage rec {
pname = "zwave-js-ui";
version = "11.19.1";
version = "11.19.0";
src = fetchFromGitHub {
owner = "zwave-js";
repo = "zwave-js-ui";
tag = "v${version}";
hash = "sha256-9dqvQxlk+DdYcpCgoLR8EqtgwJwMA4Dvtwc8n1K8Cic=";
hash = "sha256-hn5Y5ADAybwSK5hv3J7qlyjPztD6QRB4oq9JTuLg9Vk=";
};
npmDepsHash = "sha256-dED08xcbgO3zfNRP9iNuTcL+73HnfBnwDrPCGY4TZBQ=";
npmDepsHash = "sha256-hHalQUYj2T6AnxU0/EcbobY5UxgwvaS2NAy95FASTCk=";
passthru.tests.zwave-js-ui = nixosTests.zwave-js-ui;

View File

@@ -1,6 +1,6 @@
{
"commit": "3a3b69bdd8114e4503dc8cb9909a3b0ea32e6be6",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/3a3b69bdd8114e4503dc8cb9909a3b0ea32e6be6.tar.gz",
"sha256": "1qjd5gp9d4r4y6qjf52m7w9dzy9nq622aqv72ma8d4xlrxrrachp",
"msg": "Update from Hackage at 2026-04-24T19:35:23Z"
"commit": "41e49d63ab2d2faba2408df6de30fc5aee663d79",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/41e49d63ab2d2faba2408df6de30fc5aee663d79.tar.gz",
"sha256": "1iyd3ldbv8474vcpps9nzfkj98ksvql5xrsxkdfrl0fisg2ah9pf",
"msg": "Update from Hackage at 2026-05-28T09:17:22Z"
}

View File

@@ -855,16 +855,6 @@ stdenv.mkDerivation (
preInstall = ''
pushd _build/bindist/*
''
# the bindist configure script uses different env variables than the GHC configure script
# see https://github.com/NixOS/nixpkgs/issues/267250 krank:ignore-line
# https://gitlab.haskell.org/ghc/ghc/-/issues/24211 krank:ignore-line
+ lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
export InstallNameToolCmd=$INSTALL_NAME_TOOL
export OtoolCmd=$OTOOL
''
# Replicate configurePhase
+ ''
$configureScript "''${configureFlags[@]}"
'';

View File

@@ -1,5 +1,5 @@
import ./common-hadrian.nix {
version = "9.15.20260322";
rev = "44f118f09dcde49f64d03e427312df4732f2d4a4";
sha256 = "sha256-xby7HKyK5P1Y5DjKbVe62piDCY4Ujb4pbv8AJ7sQ0HI=";
version = "10.1.20260513";
rev = "38b76b2f1d918f10d2f9d3e57bd0459dfe671d4f";
sha256 = "sha256-b0AZsWVmGi6EaWEtPWPOQAxvTlxG2aBwegw5l5HBPDo=";
}

View File

@@ -287,6 +287,9 @@ with haskellLib;
}) (doJailbreak super.language-haskell-extract);
vector = overrideCabal (old: {
# 2026-05-16: allow QuickCheck 2.16
# https://github.com/haskell/vector/issues/562
jailbreak = true;
# vector-doctest seems to be broken when executed via ./Setup test
testTargets = [
"vector-tests-O0"
@@ -345,15 +348,6 @@ with haskellLib;
'';
}) super.streamly-core;
# Work around tasty >= 1.5.4 parallelism breaking the test suite
criterion = appendPatches [
(pkgs.fetchpatch {
name = "criterion-tasty-1.5.4.patch";
url = "https://github.com/haskell/criterion/commit/d555422d1779434432489efbc19d75011226c3e6.patch";
hash = "sha256-VRSfdzT/mzdRSMQmmIeycuChvRN/VDhYsHJQb0bRMaA=";
})
] super.criterion;
# Avoid rebinding to the same port with tasty >= 1.5.4 parallelism
# https://github.com/lpeterse/haskell-socket/pull/73
socket = appendPatches [
@@ -405,14 +399,6 @@ with haskellLib;
# There are numerical tests on random data, that may fail occasionally
lapack = dontCheck super.lapack;
# fpr-calc test suite depends on random >= 1.3
# see https://github.com/IntersectMBO/lsm-tree/issues/797
bloomfilter-blocked =
lib.warnIf (lib.versionAtLeast self.random.version "1.3")
"haskellPackages.bloomfilter-blocked: dontCheck can potentially be removed"
dontCheck
super.bloomfilter-blocked;
# Missing files necessary for test suite compilation
# https://github.com/brandonchinn178/kdl-hs/issues/33
kdl-hs = dontCheck super.kdl-hs;
@@ -459,13 +445,9 @@ with haskellLib;
# https://github.com/sol/ghc-bench/issues/81
ghc-bench = dontCheck super.ghc-bench;
# Needs QuickCheck >= 2.16
# https://github.com/input-output-hk/io-sim/issues/248
io-sim = dontCheck super.io-sim;
# Test suites broken by hakyll 4.16, but lib is still okay
# https://github.com/LaurentRDC/hakyll-images/issues/14
hakyll-images = dontCheck super.hakyll-images;
# Too strict upper bound on hakyll (<4.17)
# https://gitlab.com/lysxia/hakyll-alectryon/-/work_items/2
hakyll-alectryon = doJailbreak super.hakyll-alectryon;
# 2024-06-23: Hourglass is archived and had its last commit 6 years ago.
# Patch is needed to add support for time 1.10, which is only used in the tests
@@ -516,9 +498,12 @@ with haskellLib;
# 2025-02-14: Too strict bounds on attoparsec < 0.14
attoparsec-varword = doJailbreak (dontCheck super.attoparsec-varword);
# Fix t_iter test which fails randomly, but frequently. No upstream feedback so far.
# https://github.com/haskell/attoparsec/issues/232
attoparsec = overrideCabal (drv: {
# 2025-05-17: allow QuickCheck 2.16
# https://github.com/haskell/attoparsec/issues/236
jailbreak = true;
# Fix t_iter test which fails randomly, but frequently. No upstream feedback so far.
# https://github.com/haskell/attoparsec/issues/232
testFlags = drv.testFlags or [ ] ++ [
"-p"
"$0!=\"tests.buf.t_iter\""
@@ -704,13 +689,6 @@ with haskellLib;
--replace-fail 'InstallDesktopFile $(PREFIX)/bin/git-annex' \
'InstallDesktopFile git-annex'
'';
# Work around race condition in test suite exposed by tasty-1.5.4
# TODO(@sternenseemann): make testFlags arg usable with git-annex
preCheck = ''
${drv.preCheck or ""}
appendToVar checkFlags -j1
'';
}))
];
@@ -776,13 +754,6 @@ with haskellLib;
})
] super.turtle;
# Allow inspection-testing >= 0.6 in test suite
algebraic-graphs = appendPatch (pkgs.fetchpatch2 {
name = "algebraic-graphs-0.7-allow-inspection-testing-0.6.patch";
url = "https://github.com/snowleopard/alga/commit/d4e43fb42db05413459fb2df493361d5a666588a.patch";
hash = "sha256-feGEuALVJ0Zl8zJPIfgEFry9eH/MxA0Aw7zlDq0PC/s=";
}) super.algebraic-graphs;
inspection-testing = overrideCabal (drv: {
broken =
with pkgs.stdenv.hostPlatform;
@@ -868,12 +839,6 @@ with haskellLib;
xmlgen = dontCheck super.xmlgen;
wai-cors = dontCheck super.wai-cors;
# Needs QuickCheck >= 2.16, but Stackage is currently on 2.15
integer-logarithms =
lib.warnIf (lib.versionAtLeast super.QuickCheck.version "2.16")
"override for haskellPackages.integer-logarithms may no longer be needed"
(dontCheck super.integer-logarithms);
# Apply patch fixing an incorrect QuickCheck property which occasionally causes false negatives
# https://github.com/Philonous/xml-picklers/issues/5
xml-picklers = appendPatch (pkgs.fetchpatch {
@@ -885,36 +850,10 @@ with haskellLib;
pandoc-crossref = lib.pipe super.pandoc-crossref [
# https://github.com/lierdakil/pandoc-crossref/issues/492
doJailbreak
# We are still using pandoc == 3.7.*
(appendPatch (
lib.warnIf (lib.versionAtLeast self.pandoc.version "3.8")
"haskellPackages.pandoc-crossref: remove revert of pandoc-3.8 patch"
pkgs.fetchpatch
{
name = "pandoc-crossref-revert-pandoc-3.8-highlight.patch";
url = "https://github.com/lierdakil/pandoc-crossref/commit/b0c35a59d5a802f6525407bfeb31699ffd0b4671.patch";
hash = "sha256-MIITL9Qr3+1fKf1sTwHzXPcYTt3YC+vr9CpMgqsBXlc=";
revert = true;
}
))
];
pandoc = overrideCabal (drv: {
patches = drv.patches or [ ] ++ [
# Adjust test fixtures for djot >= 0.1.2.3, patch extracted from unrelated change.
(pkgs.fetchpatch {
name = "pandoc-djot-0.1.2.3.patch";
url = "https://github.com/jgm/pandoc/commit/643712ca70b924c0edcc059699aa1ee42234be34.patch";
hash = "sha256-khDkb1PzC0fTaWTq3T04UvgoI+XefOJMaTV1d3Du8BU=";
includes = [ "test/djot-reader.native" ];
})
# Adjust tests for skylighting-format-blaze-html >= 0.1.2
(pkgs.fetchpatch {
name = "pandoc-skylighting-format-blaze-html-0.1.2.patch";
url = "https://github.com/jgm/pandoc/commit/cab682ba58f2eb7e940d1af508e196ff6b1c1112.patch";
hash = "sha256-lpddKGa8xs+Lhi62HhBgV04fUq2kkippA1xX2/b2ukM=";
includes = [ "test/Tests/Writers/HTML.hs" ];
})
# Resolve test suite race condition(s) due to tasty >= 1.5.4 and
# inDirectory, https://github.com/jgm/pandoc/issues/11566 krank:ignore-line
(pkgs.fetchpatch {
@@ -1101,9 +1040,6 @@ with haskellLib;
# This packages compiles 4+ hours on a fast machine. That's just unreasonable.
CHXHtml = dontDistribute super.CHXHtml;
# Avoid "QuickCheck >=2.3 && <2.10" dependency we cannot fulfill in lts-11.x.
test-framework = dontCheck super.test-framework;
# Test suite won't compile against tasty-hunit 0.10.x.
binary-parsers = dontCheck super.binary-parsers;
@@ -1220,9 +1156,6 @@ with haskellLib;
# 2025-02-10: Too strict bounds on text < 2.1
digestive-functors-blaze = doJailbreak super.digestive-functors-blaze;
# Too strict bound on QuickCheck <2.15
hgmp = doJailbreak super.hgmp;
# Z3 removed aliases for boolean types in 4.12
inherit
(
@@ -1292,12 +1225,6 @@ with haskellLib;
# The test suite runs for 20+ minutes on a very fast machine, which feels kinda disproportionate.
prettyprinter = dontCheck super.prettyprinter;
hpc-codecov = overrideCabal (drv: {
# Work around test suite race condition due to tasty >= 1.5.4
# https://github.com/8c6794b6/hpc-codecov/issues/52
testFlags = drv.testFlags or [ ] ++ [ "-j1" ];
}) super.hpc-codecov;
# sexpr is old, broken and has no issue-tracker. Let's fix it the best we can.
sexpr = appendPatch ./patches/sexpr-0.2.1.patch (
overrideCabal (drv: {
@@ -1393,8 +1320,8 @@ with haskellLib;
'';
}) (addExtraLibrary self.QuickCheck super.Chart-tests);
# 2026-01-17: too strict bounds on QuickCheck < 2.15
# https://github.com/hasufell/lzma-static/pull/15
# 2026-05-18: too strict bounds on QuickCheck < 2.16
# https://github.com/hasufell/lzma-static/issues/16
xz = doJailbreak super.xz;
ghcup =
@@ -1408,10 +1335,6 @@ with haskellLib;
# Therefore we jailbreak it.
hakyll-contrib-hyphenation = doJailbreak super.hakyll-contrib-hyphenation;
# The test suite depends on an impure cabal-install installation in
# $HOME, which we don't have in our build sandbox.
cabal-install-parsers = dontCheck super.cabal-install-parsers;
# Test suite requires database
persistent-mysql = dontCheck super.persistent-mysql;
@@ -1579,23 +1502,56 @@ with haskellLib;
# Break infinite recursion via optparse-applicative (alternatively, dontCheck syb)
prettyprinter-ansi-terminal = dontCheck super.prettyprinter-ansi-terminal;
# Released version prohibits QuickCheck >= 2.15 at the moment
optparse-applicative = appendPatches [
(pkgs.fetchpatch2 {
name = "optparse-applicative-0.18.1-allow-QuickCheck-2.15.patch";
url = "https://github.com/pcapriotti/optparse-applicative/commit/2c2a39ed53e6339d8dc717efeb7d44f4c2b69cab.patch";
hash = "sha256-198TfBUR3ygPpvKPvtH69UmbMmoRagmzr9UURPr6Kj4=";
})
] super.optparse-applicative;
# 2026-05-18: allow QuickCheck 2.16
# Already updated upstream, but not released on hackage, yet.
finite-typelits = warnAfterVersion "0.2.1.0" (doJailbreak super.finite-typelits);
# 2026-05-16: allow QuickCheck 2.16
# https://github.com/pcapriotti/optparse-applicative/issues/516
optparse-applicative = doJailbreak super.optparse-applicative;
# 2026-05-17: allow QuickCheck 2.16
# https://github.com/jaspervdj/psqueues/issues/67
psqueues = doJailbreak super.psqueues;
# 2026-05-17: allow QuickCheck 2.16
# https://github.com/fizruk/http-api-data/issues/157
http-api-data = doJailbreak super.http-api-data;
# 2026-05-17: allow QuickCheck 2.16
# https://github.com/Gabriella439/Haskell-Nix-Derivation-Library/issues/30
nix-derivation = doJailbreak super.nix-derivation;
# 2026-05-17: allow QuickCheck 2.16
# https://github.com/haskell-hvr/uuid/issues/101
uuid = doJailbreak super.uuid;
# 2026-05-17: allow QuickCheck 2.16
# https://github.com/haskell/fgl/issues/119
fgl = doJailbreak super.fgl;
# 2026-05-17: allow QuickCheck 2.16
# Sent Claude an email on 2026-05-18.
bitwise = doJailbreak super.bitwise;
# 2026-05-17: allow QuickCheck 2.16
# https://github.com/haskell-hvr/lzma/issues/45
lzma = doJailbreak super.lzma;
# 2026-05-17: allow QuickCheck 2.16
# https://github.com/snowleopard/alga/issues/324
algebraic-graphs = doJailbreak super.algebraic-graphs;
# 2026-05-18: allow QuickCheck 2.16
# https://github.com/haskellari/binary-instances/pull/34/changes#r3257818178
binary-instances = doJailbreak super.binary-instances;
# chell-quickcheck doesn't work with QuickCheck >= 2.15 with no known fix yet
# https://github.com/typeclasses/chell/issues/5
system-filepath = dontCheck super.system-filepath;
gnuidn = dontCheck super.gnuidn;
# Tests rely on `Int` being 64-bit: https://github.com/hspec/hspec/issues/431.
# Also, we need QuickCheck-2.14.x to build the test suite, which isn't easy in LTS-16.x.
# So let's not go there and just disable the tests altogether.
# Avoids infinite recursion
hspec-core = dontCheck super.hspec-core;
update-nix-fetchgit =
@@ -1661,6 +1617,11 @@ with haskellLib;
# https://github.com/biocad/servant-openapi3/issues/30
servant-openapi3 = dontCheck super.servant-openapi3;
# 2026-06-04: strict upper bound on random
# https://github.com/haskell-servant/servant-multipart/issues/76
# https://github.com/haskell-servant/servant-multipart/pull/77
servant-multipart-client = doJailbreak super.servant-multipart-client;
# Disable test cases that were broken by insignificant changes in icu 76
# https://github.com/haskell/text-icu/issues/108
text-icu = overrideCabal (drv: {
@@ -1760,6 +1721,11 @@ with haskellLib;
];
}) super.duckdb-ffi;
# 2026-06-04: too strict bounds on QuickCheck <2.16
# https://github.com/Tritlo/duckdb-haskell/pull/13
# TODO: remove after PR is merged
duckdb-simple = doJailbreak super.duckdb-simple;
spacecookie = overrideCabal (old: {
buildTools = (old.buildTools or [ ]) ++ [ pkgs.buildPackages.installShellFiles ];
# let testsuite discover the resulting binary
@@ -1817,9 +1783,10 @@ with haskellLib;
# https://github.com/obsidiansystems/database-id/issues/1
database-id-class = doJailbreak super.database-id-class;
# Allow granite >= 0.4
dataframe = lib.pipe super.dataframe [
(warnAfterVersion "0.5.0.1")
# Too strict version bounds (<0.4) on network-run
# https://github.com/abhinav/pinch/pull/72
pinch = lib.pipe super.pinch [
(warnAfterVersion "0.5.2.0")
doJailbreak
];
@@ -1885,29 +1852,47 @@ with haskellLib;
# https://github.com/minimapletinytools/linear-tests/issues/1
linear-tests = dontCheck super.linear-tests;
# 2023-04-09: haskell-ci needs Cabal-syntax 3.10
# 2024-03-21: pins specific version of ShellCheck
# 2025-03-10: jailbreak, https://github.com/haskell-CI/haskell-ci/issues/771
haskell-ci = doJailbreak (
super.haskell-ci.overrideScope (
self: super: {
Cabal-syntax = self.Cabal-syntax_3_10_3_0;
ShellCheck = self.ShellCheck_0_9_0;
haskell-ci = lib.pipe super.haskell-ci [
(warnAfterVersion "0.18.1")
(overrideSrc {
# ATTN: also update cabal-install-parsers version below
version = "0.19.20260331-unstable-2026-04-15";
src = pkgs.fetchFromGitHub {
owner = "haskell-CI";
repo = "haskell-ci";
rev = "30692865b767dcab15086e63f2f4fd3d3d1fe8a5";
hash = "sha256-t1urzATbWwdRWkpCygg2kLZ3i8/0qG9ZOjDsNpnUBt0=";
};
})
(addBuildDepends [ self.tasty-hunit ])
# https://github.com/haskell-CI/haskell-ci/issues/819
doJailbreak
(
haskell-ci:
haskell-ci.override {
ShellCheck = self.ShellCheck_0_10_0;
cabal-install-parsers = lib.pipe self.cabal-install-parsers [
(warnAfterVersion "0.6.3")
(overrideSrc {
version = "0.6.4-unstable-2026-04-15";
inherit (self.haskell-ci) src;
})
(overrideCabal {
# Too strict bounds on tree-diff, tar
# https://github.com/haskell-CI/haskell-ci/issues/807
jailbreak = true;
postUnpack = ''
sourceRoot+="/cabal-install-parsers"
'';
})
];
}
)
);
];
# ShellCheck < 0.10.0 needs to be adjusted for changes in fgl >= 5.8
# https://github.com/koalaman/shellcheck/issues/2677
ShellCheck_0_9_0 = doJailbreak (
appendPatches [
(fetchpatch {
name = "shellcheck-fgl-5.8.1.1.patch";
url = "https://github.com/koalaman/shellcheck/commit/c05380d518056189412e12128a8906b8ca6f6717.patch";
sha256 = "0gbx46x1a2sh5mvgpqxlx9xkqcw4wblpbgqdkqccxdzf7vy50xhm";
})
] super.ShellCheck_0_9_0
);
# Allow QuickCheck >= 2.16
ShellCheck_0_10_0 = doDistribute (doJailbreak super.ShellCheck_0_10_0);
# Too strict bound on hspec (<2.11)
utf8-light = doJailbreak super.utf8-light;
@@ -1953,8 +1938,7 @@ with haskellLib;
hadolint = doJailbreak super.hadolint;
# Too strict bounds on
# QuickCheck (<2.15): https://github.com/kapralVV/Unique/issues/12
# hashable (<1.5): https://github.com/kapralVV/Unique/issues/11#issuecomment-3088832168
# extra <= 1.8
Unique = doJailbreak super.Unique;
# Too strict bound on tasty-quickcheck (<0.11)
@@ -2149,7 +2133,7 @@ with haskellLib;
# https://github.com/haskell-works/hw-string-parse/issues/43
hw-string-parse = doJailbreak super.hw-string-parse;
# 2025-09-03: allow QuickCheck 2.15
# 2026-05-18: allow QuickCheck 2.16
# https://github.com/haskell-works/hw-prim/issues/150
hw-prim = lib.pipe super.hw-prim [
(warnAfterVersion "0.6.3.2")
@@ -2311,17 +2295,6 @@ with haskellLib;
# https://github.com/phadej/crypt-sha512/issues/13
crypt-sha512 = dontCheck (doJailbreak super.crypt-sha512);
# Latest release depends on crypton-connection ==0.3.2 https://github.com/ndmitchell/hoogle/issues/435
hoogle = overrideSrc {
version = "unstable-2024-07-29";
src = pkgs.fetchFromGitHub {
owner = "ndmitchell";
repo = "hoogle";
rev = "8149c93c40a542bf8f098047e1acbc347fc9f4e6";
hash = "sha256-k3UdmTq8c+iNF8inKM+oWf/NgJqRgUSFS3YwRKVg8Mw=";
};
} super.hoogle;
inherit
(
let
@@ -2464,22 +2437,6 @@ with haskellLib;
})
] super.heist;
# 2025-09-03: Disable tests until this is solved:
# https://github.com/clash-lang/ghc-typelits-extra/issues/60
ghc-typelits-extra = lib.pipe super.ghc-typelits-extra [
(warnAfterVersion "0.4.8")
dontCheck
];
# 2025-09-16: 0.5 adds support for GHC 9.12 and doesn't actually seem to contain a
# breaking change, so we can upgrade beyond Stackage.
# https://github.com/clash-lang/ghc-tcplugins-extra/pull/29#issuecomment-3299008674
# https://github.com/clash-lang/ghc-tcplugins-extra/compare/702dda2095c66c4f5148a749c8b7dbcc8a09f5c...v0.5.0
ghc-tcplugins-extra = doDistribute self.ghc-tcplugins-extra_0_5;
# 2025-09-11: Tests have been fixed in 0.7.12, but it requests ghc-tcplugins-extra >= 0.5
# which Stackage LTS won't update to, but we can.
ghc-typelits-natnormalise = doDistribute self.ghc-typelits-natnormalise_0_7_12;
# calls ghc in tests
# https://github.com/brandonchinn178/tasty-autocollect/issues/54
tasty-autocollect = dontCheck super.tasty-autocollect;
@@ -2498,6 +2455,9 @@ with haskellLib;
hasql-notifications = unmarkBroken (dontCheck super.hasql-notifications_0_2_2_2);
hasql-pool = dontCheck super.hasql-pool_1_0_1;
hasql-transaction = dontCheck super.hasql-transaction_1_1_0_1;
insert-ordered-containers = super.insert-ordered-containers_0_2_7;
lawful-conversions = super.lawful-conversions_0_1_7;
swagger2 = doJailbreak super.swagger2_2_8_10; # jailbreak for QuickCheck 2.16
text-builder = super.text-builder_0_6_10;
text-builder-dev = super.text-builder-dev_0_3_10;
}
@@ -2634,22 +2594,43 @@ with haskellLib;
# https://github.com/phadej/zinza/pull/28
zinza = dontCheck super.zinza;
pdftotext = overrideCabal (drv: {
jailbreak = true;
postPatch = ''
pdftotext =
let
decodeSourceHutMboxPatch = lib.escapeShellArgs [
"${pkgs.perl}/bin/perl"
"-MMIME::QuotedPrint=decode_qp"
"-0777"
"-ne"
"print decode_qp($_)"
];
in
appendPatches [
# Fixes https://todo.sr.ht/~geyaeb/haskell-pdftotext/6
substituteInPlace pdftotext.cabal --replace-quiet c-sources cxx-sources
# Fix cabal ignoring cxx because the cabal format version is too old
substituteInPlace pdftotext.cabal --replace-quiet ">=1.10" 2.2
# Fix wrong license name that breaks recent cabal version
substituteInPlace pdftotext.cabal --replace-quiet BSD3 BSD-3-Clause
''
+ (drv.postPatch or "");
}) super.pdftotext;
(fetchpatch {
name = "pdftotext-use-cxx-sources-for-cxx-sources.patch";
url = "https://lists.sr.ht/~geyaeb/haskell-pdftotext/patches/69754/mbox";
decode = decodeSourceHutMboxPatch;
hash = "sha256-5DvNBFlbP0o5Hso+mzKweQAINUUTequPMoOJZfgeIzU=";
})
# Adapt the executable to range 1.0's Ranges API.
(fetchpatch {
name = "pdftotext-support-range-1.0-in-the-cli.patch";
url = "https://lists.sr.ht/~geyaeb/haskell-pdftotext/patches/69755/mbox";
decode = decodeSourceHutMboxPatch;
hash = "sha256-hZFMSI8Yyh5QIXMRs9VkBKPPP2IM+cbU2ILcqYc9oIw=";
})
# Relax stale dependency bounds, replacing jailbreak.
(fetchpatch {
name = "pdftotext-relax-dependency-bounds.patch";
url = "https://lists.sr.ht/~geyaeb/haskell-pdftotext/patches/69756/mbox";
decode = decodeSourceHutMboxPatch;
hash = "sha256-wYM0SsOk9eZXR+/g+VOkj7okhmy1sEONCLHcrHlV2EI=";
})
] super.pdftotext;
# QuickCheck <2.15
# Allow QuickCheck 2.16
# https://github.com/google/proto-lens/issues/403
proto-lens-arbitrary = doJailbreak super.proto-lens-arbitrary;
@@ -2746,6 +2727,10 @@ with haskellLib;
# 2025-04-09: jailbreak to allow hedgehog >= 1.5
hw-int = warnAfterVersion "0.0.2.0" (doJailbreak super.hw-int);
# 2026-05-17: allow hedgehog 1.6
# https://github.com/hedgehogqa/haskell-hedgehog-classes/pull/65
hedgehog-classes = doJailbreak super.hedgehog-classes;
# 2025-04-09: jailbreak to allow tasty-quickcheck >= 0.11
bzlib = warnAfterVersion "0.5.2.0" (doJailbreak super.bzlib);
@@ -2777,7 +2762,6 @@ with haskellLib;
]
) super)
what4
what4_1_7_3
;
copilot-theorem = lib.pipe super.copilot-theorem [
@@ -2845,15 +2829,7 @@ with haskellLib;
(doJailbreak super.monad-bayes);
# 2025-04-13: jailbreak to allow th-abstraction >= 0.7
crucible = doJailbreak (
super.crucible.override {
what4 = self.what4_1_7_3;
}
);
crucible-llvm = super.crucible-llvm.override {
what4 = self.what4_1_7_3;
};
crucible = doJailbreak super.crucible;
# Test suite invokes cabal-install in a way incompatible with our generic builder
# (i.e. tries to re-use the ghc package db / environment from dist-newstyle).
@@ -3002,13 +2978,13 @@ with haskellLib;
amazonkaSrc = pkgs.fetchFromGitHub {
owner = "brendanhay";
repo = "amazonka";
rev = "7645bd335f008912b9e5257486f622b674de7afa";
sha256 = "sha256-ObamDnJdcLA2BlX9iGIxkaknUeL3Po3madKO4JA/em0=";
rev = "c87e5cbb67d8116c8829c9f84db4f8da92734830";
sha256 = "sha256-mO9kbooiReW1cdnrG9t4yjAsm/qVQKhEN8CmCiEfJgY=";
};
setAmazonkaSourceRoot =
dir: drv:
(overrideSrc {
version = "2.0-unstable-2025-04-16";
version = "2.0-unstable-2026-05-20";
src = amazonkaSrc + "/${dir}";
})
drv;
@@ -3379,9 +3355,14 @@ with haskellLib;
self.microlens-pro
])
];
amazonka = warnAfterVersion "2.0" (
setAmazonkaSourceRoot "lib/amazonka" (doJailbreak super.amazonka)
);
amazonka = lib.pipe super.amazonka [
(setAmazonkaSourceRoot "lib/amazonka")
(addBuildDepends [
self.tasty
self.tasty-hunit
])
(warnAfterVersion "2.0")
];
amazonka-test = warnAfterVersion "2.0" (
setAmazonkaSourceRoot "lib/amazonka-test" (doJailbreak super.amazonka-test)
);
@@ -3422,42 +3403,3 @@ with haskellLib;
];
}
)
# 2026-04-01: IHP packages need hasql >= 1.10 (via hasql-mapping).
# The scope renames hasql-stack attrs to the 1.10 line and unmarks
# hasql-mapping, which only builds against hasql >= 1.10 and so stays
# broken at the top level. dontCheck for tests that need a live
# PostgreSQL lives in configuration-nix.nix on the versioned attrs.
// (
let
ihpHasqlScope = self: super: {
hasql = doDistribute super.hasql_1_10_3;
hasql-dynamic-statements = doDistribute super.hasql-dynamic-statements_0_5_1;
hasql-notifications = doDistribute super.hasql-notifications_0_2_5_0;
hasql-pool = doDistribute super.hasql-pool_1_4_2;
hasql-transaction = doDistribute super.hasql-transaction_1_2_2;
postgresql-binary = doDistribute super.postgresql-binary_0_15_0_1;
text-builder = doDistribute super.text-builder_1_0_0_5;
hasql-mapping = doDistribute (unmarkBroken super.hasql-mapping);
postgresql-simple-postgresql-types = doDistribute (
unmarkBroken super.postgresql-simple-postgresql-types
);
};
ihpPackages = [
"ihp"
"ihp-datasync"
"ihp-graphql"
"ihp-hspec"
"ihp-ide"
"ihp-job-dashboard"
"ihp-migrate"
"ihp-pglistener"
"ihp-ssc"
"ihp-typed-sql"
];
in
lib.genAttrs ihpPackages (
name: haskellLib.doDistribute (haskellLib.unmarkBroken (super.${name}.overrideScope ihpHasqlScope))
)
)

View File

@@ -37,4 +37,21 @@ self: super: {
unix = null;
xhtml = null;
Win32 = null;
# core pkgs on later GHCs that we can reasonably provide a stub
# or Hackage released version for (though they may not build).
Cabal-syntax = self.Cabal-syntax_3_6_0_0;
semaphore-compat = self.semaphore-compat_1_0_0;
os-string = self.os-string_2_0_10;
file-io = self.file-io_0_2_0;
# Would need 2.25.*, but let's not bother
haddock-api = self.haddock-api_2_29_1;
haddock-library = self.haddock-library_1_11_0;
# core pkgs on later GHCs we can't provide at all
system-cxx-std-lib = null;
ghc-experimental = null;
ghc-internal = null;
ghc-platform = null;
ghc-toolchain = null;
}

View File

@@ -65,6 +65,13 @@ in
xhtml = null;
Win32 = null;
# Become core packages in GHC >= 9.12
file-io = doDistribute self.file-io_0_2_0;
haddock-api = markBroken self.haddock-api_2_29_1; # no compatible release available
haddock-library = doJailbreak (doDistribute self.haddock-library_1_11_0);
ghc-exactprint = doDistribute self.ghc-exactprint_1_10_0_0;
# “Unfortunately we are unable to support GHC 9.10.”
apply-refact = dontDistribute (markBroken super.apply-refact);
@@ -104,7 +111,7 @@ in
];
in
{
pantry = upgradeCabal ssuper.pantry_0_11_2;
pantry = upgradeCabal ssuper.pantry;
rio-prettyprint = upgradeCabal ssuper.rio-prettyprint;
hackage-security = upgradeCabal ssuper.hackage-security;
hpack = upgradeCabal sself.hpack_0_39_1;
@@ -124,10 +131,6 @@ in
# Jailbreaks
#
floskell = doJailbreak super.floskell; # base <4.20
# 2025-04-09: filepath <1.5
haddock-library =
assert super.haddock-library.version == "1.11.0";
doJailbreak super.haddock-library;
tree-sitter = doJailbreak super.tree-sitter; # containers <0.7, filepath <1.5
#

View File

@@ -73,7 +73,6 @@ with haskellLib;
#
extensions = doDistribute self.extensions_0_1_1_0;
ghc-exactprint = doDistribute self.ghc-exactprint_1_12_0_0;
#
# Jailbreaks
@@ -87,15 +86,6 @@ with haskellLib;
'';
}) super.cpphs;
cabal-install-parsers = doJailbreak super.cabal-install-parsers; # base, Cabal-syntax, etc.
ghc-exactprint_1_12_0_0 = addBuildDepends [
# cabal2nix drops conditional block: impl (ghc >= 9.12)
self.Diff
self.extra
self.ghc-paths
self.silently
self.syb
self.HUnit
] super.ghc-exactprint_1_12_0_0;
timezone-series = doJailbreak super.timezone-series; # time <1.14
timezone-olson = doJailbreak super.timezone-olson; # time <1.14
cabal-plan = doJailbreak super.cabal-plan; # base <4.21

View File

@@ -81,13 +81,7 @@ with haskellLib;
#
ghc-exactprint = doDistribute self.ghc-exactprint_1_14_0_0;
hedgehog = doDistribute self.hedgehog_1_7;
hie-bios = doDistribute (dontCheck self.hie-bios_0_19_0); # Tests access homeless-shelter.
lifted-async = doDistribute self.lifted-async_0_11_0;
parallel = doDistribute self.parallel_3_3_0_0;
tagged = doDistribute self.tagged_0_8_10;
unordered-containers = doDistribute self.unordered-containers_0_2_21;
HTTP = doDistribute self.HTTP_4000_5_0;
#
# Jailbreaks
@@ -147,7 +141,6 @@ with haskellLib;
self.extra
self.ghc-paths
self.silently
self.syb
self.HUnit
] super.ghc-exactprint_1_14_0_0;

View File

@@ -58,6 +58,13 @@ self: super: {
# Becomes a core package in GHC >= 9.10
os-string = doDistribute self.os-string_2_0_10;
# Become core packages in GHC >= 9.12
haddock-library = doDistribute (doJailbreak self.haddock-library_1_11_0);
haddock-api = doDistribute (doJailbreak self.haddock-api_2_27_0);
# Becomes a core package in GHC >= 9.12, but needs unix >= 2.8
file-io = null;
# Become core packages in GHC >= 9.10, no release compatible with GHC < 9.10 is available
ghc-experimental = null;
ghc-internal = null;
@@ -138,7 +145,6 @@ self: super: {
# https://github.com/kowainik/relude/issues/436
relude = dontCheck super.relude;
haddock-library = doJailbreak super.haddock-library;
path = self.path_0_9_5;
haskell-language-server =

View File

@@ -76,6 +76,11 @@ in
ghc-toolchain = null;
ghc-platform = null;
# Become core packages in GHC >= 9.12
file-io = doDistribute self.file-io_0_2_0;
haddock-api = doDistribute (doJailbreak self.haddock-api_2_29_1);
haddock-library = doJailbreak (doDistribute self.haddock-library_1_11_0);
# Needs base-orphans for GHC < 9.8 / base < 4.19
some = addBuildDepend self.base-orphans super.some;
@@ -208,7 +213,6 @@ in
ghc-lib = doDistribute self.ghc-lib_9_8_5_20250214;
ghc-lib-parser = doDistribute self.ghc-lib-parser_9_8_5_20250214;
ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_8_0_2;
haddock-library = doJailbreak super.haddock-library;
inherit
(
let

View File

@@ -73,6 +73,11 @@ in
ghc-toolchain = null;
ghc-platform = null;
# Become core packages in GHC >= 9.12
file-io = doDistribute self.file-io_0_2_0;
haddock-api = markBroken self.haddock-api_2_29_1; # no compatible release available
haddock-library = doJailbreak (doDistribute self.haddock-library_1_11_0);
#
# Version upgrades
#
@@ -106,7 +111,6 @@ in
# A given major version of ghc-exactprint only supports one version of GHC.
ghc-exactprint = doDistribute super.ghc-exactprint_1_8_0_0;
haddock-library = doJailbreak super.haddock-library;
ghc-lib = doDistribute self.ghc-lib_9_8_5_20250214;
ghc-lib-parser = doDistribute self.ghc-lib-parser_9_8_5_20250214;
ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_8_0_2;

View File

@@ -2408,7 +2408,6 @@ broken-packages:
- HackMail # failure in job https://hydra.nixos.org/build/233215224 at 2023-09-02
- hactor # failure in job https://hydra.nixos.org/build/233254977 at 2023-09-02
- hactors # failure in job https://hydra.nixos.org/build/233218599 at 2023-09-02
- haddock-api # failure in job https://hydra.nixos.org/build/233216515 at 2023-09-02
- haddock-leksah # failure in job https://hydra.nixos.org/build/233206878 at 2023-09-02
- haddock-test # failure in job https://hydra.nixos.org/build/233246641 at 2023-09-02
- hadoop-formats # failure in job https://hydra.nixos.org/build/233224647 at 2023-09-02
@@ -2627,7 +2626,6 @@ broken-packages:
- hasql-explain-tests # failure in job https://hydra.nixos.org/build/233247034 at 2023-09-02
- hasql-generate # failure in job https://hydra.nixos.org/build/324107360 at 2026-03-15
- hasql-generic # failure in job https://hydra.nixos.org/build/233204654 at 2023-09-02
- hasql-mapping # failure in job https://hydra.nixos.org/build/324107379 at 2026-03-15
- hasql-migration # failure in job https://hydra.nixos.org/build/295094132 at 2025-04-22
- hasql-mover # failure in job https://hydra.nixos.org/build/295094128 at 2025-04-22
- hasql-pipes # failure in job https://hydra.nixos.org/build/295094119 at 2025-04-22
@@ -2772,7 +2770,6 @@ broken-packages:
- hGelf # failure in job https://hydra.nixos.org/build/233203909 at 2023-09-02
- hgeometric # failure in job https://hydra.nixos.org/build/233197856 at 2023-09-02
- hgis # failure in job https://hydra.nixos.org/build/233200418 at 2023-09-02
- hgmp # failure in job https://hydra.nixos.org/build/307519217 at 2025-09-19
- hgom # failure in job https://hydra.nixos.org/build/233255569 at 2023-09-02
- hgopher # failure in job https://hydra.nixos.org/build/233222066 at 2023-09-02
- HGraphStorage # failure in job https://hydra.nixos.org/build/233217988 at 2023-09-02
@@ -3295,7 +3292,6 @@ broken-packages:
- ihaskell-parsec # failure in job https://hydra.nixos.org/build/233244271 at 2023-09-02
- ihaskell-plot # failure in job https://hydra.nixos.org/build/233255936 at 2023-09-02
- ihaskell-widgets # failure in job https://hydra.nixos.org/build/265955663 at 2024-07-14
- ihp-pglistener # failure in job https://hydra.nixos.org/build/325267877 at 2026-04-12
- illuminate # failure in job https://hydra.nixos.org/build/233219478 at 2023-09-02
- image-type # failure in job https://hydra.nixos.org/build/233251466 at 2023-09-02
- imagemagick # failure in job https://hydra.nixos.org/build/233598237 at 2023-09-02
@@ -4978,7 +4974,6 @@ broken-packages:
- postgresql-simple-interval # failure in job https://hydra.nixos.org/build/307611243 at 2025-09-19
- postgresql-simple-named # failure in job https://hydra.nixos.org/build/233202481 at 2023-09-02
- postgresql-simple-opts # failure in job https://hydra.nixos.org/build/252718901 at 2024-03-16
- postgresql-simple-postgresql-types # failure in job https://hydra.nixos.org/build/327522032 at 2026-04-30
- postgresql-simple-sop # failure in job https://hydra.nixos.org/build/233249757 at 2023-09-02
- postgresql-simple-url # failure in job https://hydra.nixos.org/build/295096191 at 2025-04-22
- postgresql-tx # failure in job https://hydra.nixos.org/build/252717914 at 2024-03-16

View File

@@ -27,9 +27,6 @@
default-package-overrides:
- chs-cabal == 0.1.1.2 # matches Cabal 3.12 (GHC 9.10)
- clash-lib-hedgehog < 1.9 # needs to match clash-lib from Stackage
# 2026-01-23: dataframe >= 0.3.3.7 uses random-1.3, which breaks dependency coherence on 25.11, whose default version is random-1.2
# TODO: when (likely in 25.x) Stackage bumps random to 1.3, review
- dataframe == 0.3.3.6
# 2025-12-26: Needs to match egison-pattern-src from Stackage LTS
- egison-pattern-src-th-mode < 0.2.2
- extensions == 0.1.0.2 # matches Cabal 3.12 (GHC 9.10)
@@ -40,6 +37,7 @@ default-package-overrides:
- hiedb < 0.8.0
# 2025-09-13: hnix 0.17.0 doesn't support hnix-store-core >= 0.8
# https://github.com/haskell-nix/hnix/pull/1112
# Note: When removing this, also remove hnix-store-core from maintainers/scripts/haskell/update-stackage.sh
- hnix-store-core < 0.7
- hnix-store-remote < 0.7
# 2025-08-03: need to match stackage version of hosc
@@ -77,6 +75,7 @@ extra-packages:
- Cabal == 3.14.*
- Cabal == 3.16.* # version required for cabal-install and other packages
- cabal-add == 0.1 # 2025-09-09: Only needed for hls 2.11 can be removed once we are past it.
- Cabal-syntax == 3.6.* # required for the GHC 9.0.2 package set
- Cabal-syntax == 3.10.*
- Cabal-syntax == 3.12.*
- Cabal-syntax == 3.14.*
@@ -89,7 +88,7 @@ extra-packages:
- ghc-exactprint == 1.6.* # 2023-03-30: needed for GHC == 9.4
- ghc-exactprint == 1.7.* # 2025-03-09: needed for GHC == 9.6
- ghc-exactprint == 1.8.* # 2024-05-20: needed for GHC == 9.8
- ghc-exactprint == 1.9.* # 2024-08-27: needed for GHC == 9.10
- ghc-exactprint == 1.10.* # 2024-08-27: needed for GHC == 9.10
- ghc-exactprint == 1.12.* # 2025-10-15: needed for GHC == 9.12
- ghc-lib == 9.6.* # 2022-02-17: preserve for GHC 9.4
- ghc-lib == 9.8.* # 2025-12-11: preserve for GHC 9.6, 9.8
@@ -100,7 +99,7 @@ extra-packages:
- ghc-lib-parser-ex == 9.8.* # 2024-12-26: preserve for GHC 9.6, 9.8
- ghc-tags == 1.7.* # 2023-02-18: preserve for ghc-lib == 9.6.*
- ghc-tags == 1.8.* # 2023-02-18: preserve for ghc-lib == 9.8.*
- ghc-typelits-natnormalise < 0.8 # 2025-09-15: Stackage is stuck at 0.7.10
- haddock-api == 2.27.* # 2026-05-22: latest version compatible with GHC 9.4
- happy == 1.20.* # for ghc-lib-parser == 9.6.*
- hashable < 1.5 # 2025-07-30: hashable >= 1.5 requires GHC >= 9.6
- hasql < 1.7 # 2025-01-19: Needed for building postgrest
@@ -112,18 +111,22 @@ extra-packages:
- hlint == 3.6.* # 2025-04-14: needed for hls with ghc-lib-parser 9.6
- hlint == 3.8.* # 2025-09-21: needed for hls with ghc-lib-parser 9.8
- hpack == 0.39.1 # 2026-03-15: to match upstream stack-3.9.3
- insert-ordered-containers < 0.3 # 2026-05-25: Needed for building postgrest
- language-javascript == 0.7.0.0 # required by purescript
- lawful-conversions < 0.2 # 2026-05-25: Needed for building postgrest
- network-run == 0.4.0 # 2024-10-20: for GHC 9.10/network == 3.1.*
- ormolu == 0.7.2.0 # 2023-11-13: for ghc-lib-parser 9.6 compat
- ormolu == 0.7.4.0 # 2023-09-21: for ghc-lib-parser 9.8 compat
- path == 0.9.5 # 2025-09-21: Pin for hls on ghc 9.4
- postgresql-binary < 0.14 # 2025-01-19: Needed for building postgrest
- semaphore-compat == 1.0.* # 2026-05-27: Match GHC 9.2 / Stackage Nightly
- shake-cabal < 0.2.2.3 # 2023-07-01: last version to support Cabal 3.6.*
- ShellCheck == 0.9.0 # 2024-03-21: pinned by haskell-ci
- ShellCheck == 0.10.0 # 2026-05-30: pinned by haskell-ci
- simple-get-opt < 0.5 # 2025-05-01: for crux-0.7.2
- stylish-haskell == 0.14.5.0 # 2025-04-14: needed for hls with ghc-lib 9.6
- stylish-haskell == 0.14.6.0 # 2025-09-21: needed for hls with ghc-lib 9.8
- stylish-haskell == 0.15.0.1 # 2025-04-14: needed for hls with ghc-lib 9.10
- swagger2 < 2.9 # 2026-05-25: Needed for building postgrest
- tar == 0.6.3.0 # 2025-08-17: last version to not require file-io and directory-ospath-streaming (for GHC < 9.6)
- text-builder < 1 # 2025-08-27: Needed for building postgrest
- text-builder-dev < 0.4 # 2025-08-27: Needed for building postgrest

View File

@@ -213,6 +213,7 @@ dont-distribute-packages:
- battleships
- bayes-stack
- bbi
- bcp47-orphans
- bdcs
- bdcs-api
- beam-th
@@ -280,7 +281,6 @@ dont-distribute-packages:
- Bitly
- bitly-cli
- bitmaps
- bits-extra
- bittorrent
- bla
- blakesum-demo
@@ -449,6 +449,9 @@ dont-distribute-packages:
- claferIG
- claferwiki
- clash
- clash-protocols
- clash-protocols-base
- clash-vexriscv
- classify-frog
- classy-effects
- classy-effects-th
@@ -593,6 +596,7 @@ dont-distribute-packages:
- CPBrainfuck
- cprng-aes
- cprng-aes-effect
- cql
- cql-io-tinylog
- cqrs-example
- cqrs-memory
@@ -650,7 +654,6 @@ dont-distribute-packages:
- darcswatch
- darkplaces-demo
- darkplaces-rcon-util
- dash-haskell
- data-basic
- data-cycle
- data-default-extra
@@ -665,6 +668,11 @@ dont-distribute-packages:
- datadog-tracing
- datafix
- dataflow
- dataframe
- dataframe-lazy
- dataframe-parquet
- dataframe-parquet-th
- dataframe-persistent
- datasets
- date-conversions
- dbjava
@@ -690,6 +698,7 @@ dont-distribute-packages:
- ddci-core
- dde
- debug
- decidable
- decimal-arithmetic
- dedukti
- DeepArrow
@@ -821,10 +830,12 @@ dont-distribute-packages:
- EditTimeReport
- effect-monad
- effective-aspects-mzv
- eigen-hhlo
- ekg-carbon
- elasticsearch-interchange
- electrs-client
- elerea-examples
- eliminators
- elliptic-curve
- elsa
- ema-extra
@@ -853,6 +864,9 @@ dont-distribute-packages:
- ersatz-viz
- esotericbot
- EsounD
- esqueleto
- esqueleto-compat
- esqueleto-postgis
- esqueleto-streaming
- estreps
- Etage-Graph
@@ -892,6 +906,11 @@ dont-distribute-packages:
- every-bit-counts
- exact-kantorovich
- exference
- exinst-aeson
- exinst-base
- exinst-bytes
- exinst-cereal
- exinst-serialise
- exist-instances
- existential
- expand
@@ -1052,6 +1071,7 @@ dont-distribute-packages:
- functor
- functor-combo
- functor-monad
- functor-products
- funflow
- funflow-nix
- funion
@@ -1189,6 +1209,7 @@ dont-distribute-packages:
- grapefruit-records
- grapefruit-ui
- grapefruit-ui-gtk
- grapesy-etcd
- graph-rewriting-cl
- graph-rewriting-gl
- graph-rewriting-lambdascope
@@ -1262,7 +1283,6 @@ dont-distribute-packages:
- hackage2twitter
- hackmanager
- haddock
- haddocset
- hadoop-tools
- haggis
- hails-bin
@@ -1276,6 +1296,7 @@ dont-distribute-packages:
- halma-gui
- halma-telegram-bot
- hamusic
- hanalyze
- hans-pcap
- happlets-lib-gtk
- HAppS-Data
@@ -1324,9 +1345,10 @@ dont-distribute-packages:
- haskell-admin-health
- haskell-admin-managed-functions
- haskell-aliyun
- haskell-bee-redis
- haskell-bee-stm
- haskell-bitmex-client
- haskell-debugger
- haskell-docs
- haskell-eigen-util
- haskell-ftp
- haskell-lsp
@@ -1334,6 +1356,7 @@ dont-distribute-packages:
- haskell-opentimestamps
- haskell-opentimestamps-client
- haskell-pdf-presenter
- haskell-pgmq
- haskell-platform-test
- haskell-reflect
- haskell-src-exts-observe
@@ -1381,6 +1404,7 @@ dont-distribute-packages:
- haskoin-crypto
- haskoin-protocol
- haskoin-script
- haskoin-wallet
- haskoon
- haskoon-httpspec
- haskoon-salvia
@@ -1399,7 +1423,6 @@ dont-distribute-packages:
- hasloGUI
- hasql-postgres
- hasql-postgres-options
- hasql-postgresql-types
- hasql-queue
- hasql-streams-core
- hasql-streams-example
@@ -1420,6 +1443,7 @@ dont-distribute-packages:
- Hayoo
- hback
- hbayes
- hbayesian
- hbb
- hbf
- hbro
@@ -1435,7 +1459,6 @@ dont-distribute-packages:
- hdbi-tests
- hdiff
- hdirect
- hdocs
- hdph
- heart-app
- heatitup
@@ -1548,8 +1571,8 @@ dont-distribute-packages:
- hmeap-utils
- hmep
- HMock
- hMPC
- hmt-diagrams
- hnix-store-db
- HNM
- hnormalise
- hob
@@ -1654,6 +1677,7 @@ dont-distribute-packages:
- hspec-pg-transact
- hspec-setup
- hspec-shouldbe
- hspec-webdriver
- hspecVariant
- hsprocess
- hsql-mysql
@@ -1664,6 +1688,7 @@ dont-distribute-packages:
- hsqml-demo-morris
- hsqml-morris
- hsreadability
- hsrs
- hssourceinfo
- hssqlppp-th
- hstar
@@ -1708,11 +1733,8 @@ dont-distribute-packages:
- huzzy
- hw-all
- hw-balancedparens
- hw-bits
- hw-eliasfano
- hw-excess
- hw-int
- hw-ip
- hw-json
- hw-json-demo
- hw-json-lens
@@ -1721,7 +1743,6 @@ dont-distribute-packages:
- hw-kafka-avro
- hw-rankselect
- hw-simd
- hw-streams
- hw-succinct
- hw-uri
- hworker-ses
@@ -1760,23 +1781,10 @@ dont-distribute-packages:
- iException
- ige-mac-integration
- igrf
- ihaskell-dataframe
- ihaskell-inline-r
- ihaskell-rlangqq
- ihaskell-symtegration
- ihp
- ihp-datasync
- ihp-datasync-typescript
- ihp-graphql
- ihp-hspec
- ihp-ide
- ihp-job-dashboard
- ihp-mail
- ihp-schema-compiler
- ihp-sitemap
- ihp-ssc
- ihp-typed-sql
- ihp-welcome
- ihp-zip
- ihttp
- imap
- imbib
@@ -1955,6 +1963,9 @@ dont-distribute-packages:
- KiCS-debugger
- KiCS-prophecy
- kif-parser
- kind-integer
- kind-rational
- kiroku-otel
- kit
- kmeans-par
- kmeans-vector
@@ -2076,6 +2087,7 @@ dont-distribute-packages:
- list-t-attoparsec
- list-t-html-parser
- list-tuple
- list-witnesses
- listenbrainz-client
- liszt
- lit
@@ -2274,6 +2286,12 @@ dont-distribute-packages:
- mongrel2-handler
- monky
- Monocle
- monoidmap
- monoidmap-aeson
- monoidmap-examples
- monoidmap-hashable
- monoidmap-internal
- monoidmap-quickcheck
- monomer
- monomer-flatpak-example
- monomer-hagrid
@@ -2362,6 +2380,7 @@ dont-distribute-packages:
- mysql-simple-typed
- myTestlll
- mywatch
- n-tuple
- n2o-web
- NaCl
- nakadi-client
@@ -2495,6 +2514,7 @@ dont-distribute-packages:
- optimal-blocks
- optimusprime
- optparse-enum
- orbits
- orchid
- orchid-demo
- order-maintenance
@@ -2573,7 +2593,11 @@ dont-distribute-packages:
- persistent-hssqlppp
- persistent-iproute
- persistent-map
- persistent-pagination
- persistent-postgresql
- persistent-protobuf
- persistent-sql-lifted
- persistent-typed-db
- persona-idp
- peyotls
- peyotls-codec
@@ -2633,6 +2657,7 @@ dont-distribute-packages:
- plugins-auto
- pms-application-service
- pms-domain-service
- pms-infra-agent-process
- pms-infra-cmdrun
- pms-infra-filesystem
- pms-infra-procspawn
@@ -2684,6 +2709,7 @@ dont-distribute-packages:
- poseidon
- poseidon-postgis
- postgresql-common-persistent
- postgresql-migration-persistent
- postgresql-pure
- postgresql-simple-ltree
- postgresql-simple-queue
@@ -2790,7 +2816,10 @@ dont-distribute-packages:
- queuelike
- quic-simple
- quick-process
- quickcheck-groups
- quickcheck-monoid-subclasses
- quickcheck-poly
- quickcheck-quid
- quickcheck-regex
- quickcheck-relaxng
- quicktest
@@ -2986,6 +3015,7 @@ dont-distribute-packages:
- rv
- s-expression
- S3
- safe-coloured-text-layout-gen
- safe-coupling
- safe-failure-cme
- safe-plugins
@@ -3180,6 +3210,9 @@ dont-distribute-packages:
- SimpleLog
- SimpleServer
- simseq
- singleton-nats
- singletons-base
- singletons-default
- singletons-presburger
- siphon
- siren-json
@@ -3552,6 +3585,7 @@ dont-distribute-packages:
- type-sub-th
- TypeClass
- typed-encoding-encoding
- typed-fsm
- typed-streams
- typedflow
- TypeIlluminator
@@ -3585,6 +3619,8 @@ dont-distribute-packages:
- uniqueness-periods-vector-filters
- uniqueness-periods-vector-general
- uniqueness-periods-vector-properties
- units
- units-defs
- unitym-servant
- unitym-yesod
- universal
@@ -3684,6 +3720,7 @@ dont-distribute-packages:
- waldo
- warp-grpc
- warp-quic
- warp-s2n-tls
- warped
- warpZ-tls
- WashNGo
@@ -3702,7 +3739,9 @@ dont-distribute-packages:
- WebBits-multiplate
- WebCont
- webcrank-wai
- webdriver
- webdriver-w3c
- webdriver-wrapper
- webify
- webserver
- websnap

View File

@@ -38,6 +38,7 @@ self: super: {
Cabal-syntax = doDistribute self.Cabal-syntax_3_16_1_0;
containers = doDistribute self.containers_0_8;
exceptions = doDistribute self.exceptions_0_10_12;
file-io = markBroken self.file-io_0_2_0;
filepath = doDistribute self.filepath_1_5_5_0;
ghc-bignum = null;
ghc-boot = null;
@@ -49,6 +50,8 @@ self: super: {
ghc-platform = null;
ghc-prim = null;
ghci = null;
haddock-api = markBroken self.haddock-api_2_29_1; # depends on ghc
haddock-library = markBroken self.haddock-library_1_11_0; # depends on ghc
haskeline = doDistribute self.haskeline_0_8_4_1;
hpc = markBroken self.hpc_0_7_0_2;
integer-gmp = markBroken self.integer-gmp_1_1;
@@ -63,7 +66,7 @@ self: super: {
system-cxx-std-lib = null;
template-haskell = null;
terminfo = doDistribute self.terminfo_0_4_1_7;
time = doDistribute self.time_1_15;
time = doDistribute self.time_1_16;
transformers = doDistribute self.transformers_0_6_3_0;
unix = markBroken self.unix_2_8_8_0;
xhtml = markBroken self.xhtml_3000_4_0_0;

View File

@@ -130,6 +130,10 @@ builtins.intersectAttrs super {
# Tests access homeless-shelter.
hie-bios = dontCheck super.hie-bios;
# The test suite depends on an impure cabal-install installation in
# $HOME, which we don't have in our build sandbox.
cabal-install-parsers = dontCheck super.cabal-install-parsers;
###########################################
### END HASKELL-LANGUAGE-SERVER SECTION ###
###########################################
@@ -1272,6 +1276,8 @@ builtins.intersectAttrs super {
ln -sf git-annex git-remote-tor-annex
PATH+=":$PWD"
checkFlagsArray+=("-J$NIX_BUILD_CORES")
echo checkFlags: $checkFlags ''${checkFlagsArray:+"''${checkFlagsArray[@]}"}
# Doesn't use Cabal's test mechanism
@@ -1661,6 +1667,15 @@ builtins.intersectAttrs super {
(disableCabalFlag "icu")
];
# Tests spawn ghc with -fplugin and need this package's in-place package db.
# The trailing colon keeps GHC's default package db in the package path.
# https://hydra.nixos.org/build/329190094
ghc-typelits-natnormalise = overrideCabal (drv: {
preCheck = (drv.preCheck or "") + ''
export NIX_GHC_PACKAGE_PATH_FOR_TEST=$PWD/dist/package.conf.inplace/:$packageConfDir:
'';
}) super.ghc-typelits-natnormalise;
# based on https://github.com/gibiansky/IHaskell/blob/aafeabef786154d81ab7d9d1882bbcd06fc8c6c4/release.nix
ihaskell = overrideCabal (drv: {
# ihaskell's cabal file forces building a shared executable, which we need

File diff suppressed because it is too large Load Diff

View File

@@ -202,7 +202,6 @@ let
in
python;
pythonVersion = with sourceVersion; "${major}.${minor}";
abiFlags = lib.optionalString (!enableGIL) "t" + lib.optionalString enableDebug "d";
libPrefix = "python${pythonVersion}${lib.optionalString (!enableGIL) "t"}";
in
passthruFun {
@@ -214,7 +213,7 @@ let
pythonVersion
;
implementation = "cpython";
executable = "python${pythonVersion}${abiFlags}";
executable = libPrefix;
sitePackages = "lib/${libPrefix}/site-packages";
inherit hasDistutilsCxxPatch pythonAttr;
inherit (splices)
@@ -228,7 +227,7 @@ let
pythonABITags = [
"abi3"
"none"
"cp${sourceVersion.major}${sourceVersion.minor}${abiFlags}"
"cp${sourceVersion.major}${sourceVersion.minor}${lib.optionalString (!enableGIL) "t"}"
];
};

View File

@@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "actron-neo-api";
version = "0.5.12";
version = "0.5.11";
pyproject = true;
src = fetchFromGitHub {
owner = "kclif9";
repo = "actronneoapi";
tag = "v${version}";
hash = "sha256-j7qjVkpZFkWLVQd+/ndnjPOi8/xo357ez6yte78ny5U=";
hash = "sha256-1cXYMYS8quBVtUbv+Wrcvm13I47VuSKTHwwlQKvGcRI=";
};
build-system = [

View File

@@ -11,14 +11,14 @@
buildPythonPackage (finalAttrs: {
pname = "aiostreammagic";
version = "2.13.2";
version = "2.13.1";
pyproject = true;
src = fetchFromGitHub {
owner = "noahhusby";
repo = "aiostreammagic";
tag = finalAttrs.version;
hash = "sha256-9HDQdzPq2YyVZ0GHmtJcK5ppk3OPNevYtlPK26hJ0TI=";
hash = "sha256-yxiK5zB6nYXMJGVrebjdCjDr1wpNPlagusCiyf4TeRA=";
};
build-system = [ poetry-core ];

View File

@@ -5,24 +5,19 @@
buildPythonPackage,
fetchPypi,
isodate,
setuptools,
}:
buildPythonPackage (finalAttrs: {
buildPythonPackage rec {
pname = "azure-mgmt-cdn";
version = "13.1.1";
pyproject = true;
__structuredAttrs = true;
format = "setuptools";
src = fetchPypi {
inherit (finalAttrs) pname version;
inherit pname version;
hash = "sha256-RmMwTzG2Zy3sMgx857qXFcK5nn2LaEs3XwtO/9qQIQw=";
};
build-system = [ setuptools ];
dependencies = [
propagatedBuildInputs = [
isodate
azure-common
azure-mgmt-core
@@ -31,13 +26,11 @@ buildPythonPackage (finalAttrs: {
# has no tests
doCheck = false;
pythonImportsCheck = [ "azure.mgmt.cdn" ];
meta = {
description = "This is the Microsoft Azure CDN Management Client Library";
homepage = "https://github.com/Azure/azure-sdk-for-python";
changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-mgmt-cdn_${finalAttrs.version}/sdk/cdn/azure-mgmt-cdn/CHANGELOG.md";
changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-mgmt-cdn_${version}/sdk/cdn/azure-mgmt-cdn/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ maxwilson ];
};
})
}

View File

@@ -2,23 +2,18 @@
lib,
fetchFromGitHub,
buildPythonPackage,
setuptools,
pytestCheckHook,
}:
buildPythonPackage (finalAttrs: {
buildPythonPackage rec {
pname = "base58check";
version = "1.0.2";
pyproject = true;
__structuredAttrs = true;
build-system = [ setuptools ];
format = "setuptools";
src = fetchFromGitHub {
owner = "joeblackwaslike";
repo = "base58check";
tag = "v${finalAttrs.version}";
rev = "v${version}";
hash = "sha256-Tig6beLRDsXC//x4+t/z2BGaJQWzcP0J+QEKx3D0rhs=";
};
@@ -32,4 +27,4 @@ buildPythonPackage (finalAttrs: {
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fab ];
};
})
}

View File

@@ -5,26 +5,21 @@
fetchFromGitHub,
ply,
pytestCheckHook,
setuptools,
}:
buildPythonPackage (finalAttrs: {
buildPythonPackage rec {
pname = "bc-jsonpath-ng";
version = "1.6.1";
pyproject = true;
__structuredAttrs = true;
format = "setuptools";
src = fetchFromGitHub {
owner = "bridgecrewio";
repo = "jsonpath-ng";
tag = finalAttrs.version;
tag = version;
hash = "sha256-FWP4tzlacAWVXG3YnPwl5MKc12geaCxZ2xyKx9PSarU=";
};
build-system = [ setuptools ];
dependencies = [
propagatedBuildInputs = [
decorator
ply
];
@@ -45,4 +40,4 @@ buildPythonPackage (finalAttrs: {
license = with lib.licenses; [ asl20 ];
maintainers = with lib.maintainers; [ fab ];
};
})
}

View File

@@ -2,33 +2,26 @@
lib,
fetchFromGitHub,
buildPythonPackage,
setuptools,
}:
buildPythonPackage (finalAttrs: {
buildPythonPackage rec {
pname = "beanstalkc";
version = "0.5.2";
pyproject = true;
__structuredAttrs = true;
format = "setuptools";
src = fetchFromGitHub {
owner = "bosondata";
repo = "beanstalkc";
tag = "v${finalAttrs.version}";
hash = "sha256-uvCdSIt5Owsvdn10TXuMGUHTU3Zi6VdntO6KW6MP67Y=";
rev = "v${version}";
sha256 = "1dpb1yimp2pfnikmgsb2fr9x6h8riixlsx3xfqphnfvrid49vw5s";
};
build-system = [ setuptools ];
doCheck = false;
pythonImportsCheck = [ "beanstalkc" ];
meta = {
description = "Simple beanstalkd client library for Python";
maintainers = with lib.maintainers; [ aanderse ];
license = lib.licenses.asl20;
homepage = "https://github.com/bosondata/beanstalkc";
homepage = "https://github.com/earl/beanstalkc";
};
})
}

View File

@@ -2,28 +2,23 @@
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
wcwidth,
pytestCheckHook,
}:
buildPythonPackage (finalAttrs: {
buildPythonPackage rec {
pname = "beautifultable";
version = "1.1.0";
pyproject = true;
__structuredAttrs = true;
format = "setuptools";
src = fetchFromGitHub {
owner = "pri22296";
repo = "beautifultable";
tag = "v${finalAttrs.version}";
rev = "v${version}";
hash = "sha256-/SReCEvSwiNjBoz/3tGJ9zUNBAag4mLsHlUXwm47zCw=";
};
build-system = [ setuptools ];
dependencies = [ wcwidth ];
propagatedBuildInputs = [ wcwidth ];
nativeCheckInputs = [ pytestCheckHook ];
@@ -37,4 +32,4 @@ buildPythonPackage (finalAttrs: {
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ fab ];
};
})
}

View File

@@ -17,14 +17,14 @@
buildPythonPackage rec {
pname = "dio-chacon-wifi-api";
version = "1.3.0";
version = "1.2.2";
pyproject = true;
src = fetchFromGitHub {
owner = "cnico";
repo = "dio-chacon-wifi-api";
tag = "v${version}";
hash = "sha256-c91xCrlNpCutZZYO6y0pOaqPCF4exbr7xVxfsf5LI0Q=";
hash = "sha256-YlomB3/EBX2tFifjcF38q+sr2z1bHwUjmqyNE2wTp90=";
};
build-system = [ poetry-core ];

View File

@@ -18,18 +18,24 @@
pytestCheckHook,
}:
buildPythonPackage (finalAttrs: {
buildPythonPackage rec {
pname = "extractcode";
version = "31.1.0";
version = "31.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "aboutcode-org";
repo = "extractcode";
tag = "v${finalAttrs.version}";
hash = "sha256-KTLhTvTn5awIJD32lsztm6nh15eoFew1mGJvHIT8H2U=";
tag = "v${version}";
hash = "sha256-mPHGe/pMaOnIykDd4AjGcvh/T4UrbaGxrSVGhchqYFM=";
};
postPatch = ''
# PEP440 support was removed in newer setuptools, https://github.com/nexB/extractcode/pull/46
substituteInPlace setup.cfg \
--replace-fail ">=3.6.*" ">=3.6"
'';
dontConfigure = true;
build-system = [ setuptools-scm ];
@@ -70,12 +76,6 @@ buildPythonPackage (finalAttrs: {
"test_extract_python_testtar_tar_archive_with_special_files"
# AssertionError: [<function extract at 0x7ffff493dd00>] == [] for archive/rar/basic.rar
"test_get_extractors_2"
# assert [functools.pa...ffff452df80>)] == []
"test_windows_media_player_skins_are_zip"
# AssertionError: assert Handler(name='Nuget', filetypes=('zip archive', 'mic...
"test_get_best_handler_nuget_is_selected_over_zip"
"test_get_best_handler_nuget_is_selected_over_zip2"
"test_get_best_handler_nuget_is_selected_over_zip3"
];
pythonImportsCheck = [ "extractcode" ];
@@ -83,10 +83,9 @@ buildPythonPackage (finalAttrs: {
meta = {
description = "Universal archive extractor using z7zip, libarchive, other libraries and the Python standard library";
homepage = "https://github.com/aboutcode-org/extractcode";
changelog = "https://github.com/aboutcode-org/extractcode/releases/tag/v${finalAttrs.version}";
mainProgram = "extractcode";
changelog = "https://github.com/aboutcode-org/extractcode/releases/tag/v${version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ eljamm ];
teams = with lib.teams; [ ngi ];
maintainers = [ ];
mainProgram = "extractcode";
};
})
}

View File

@@ -14,7 +14,7 @@
buildPythonPackage (finalAttrs: {
pname = "fastapi-pagination";
version = "0.15.14";
version = "0.15.13";
pyproject = true;
__structuredAttrs = true;
@@ -22,7 +22,7 @@ buildPythonPackage (finalAttrs: {
owner = "uriyyo";
repo = "fastapi-pagination";
tag = finalAttrs.version;
hash = "sha256-W3SgSne3GgRl2W6l3NWUguvzxigLCVgMLiT/fMIWSAE=";
hash = "sha256-c+bXtc4MQdd+UlsBHtVL6F2lBu46yry9OTKsMbu1Mhw=";
};
build-system = [

View File

@@ -15,7 +15,7 @@
# web assets
zip,
nodejs-slim,
nodejs_24,
pnpm_10,
fetchPnpmDeps,
pnpmConfigHook,
@@ -78,7 +78,8 @@
writableTmpDirAsHomeHook,
}:
let
pnpm = pnpm_10;
nodejs = nodejs_24;
pnpm = pnpm_10.override { inherit nodejs; };
in
buildPythonPackage (finalAttrs: {
pname = "gradio";
@@ -109,7 +110,7 @@ buildPythonPackage (finalAttrs: {
nativeBuildInputs = [
zip
nodejs-slim
nodejs
pnpm
pnpmConfigHook
writableTmpDirAsHomeHook

View File

@@ -13,14 +13,14 @@
buildPythonPackage (finalAttrs: {
pname = "homelink-integration-api";
version = "0.0.5";
version = "0.0.1";
pyproject = true;
src = fetchFromGitHub {
owner = "Gentex-Corporation";
repo = "homelink-integration-api";
tag = "v${finalAttrs.version}";
hash = "sha256-N46c7SgEUQUs2UlNVjcCLpNBpUNI4WPDydl3gB+jmag=";
hash = "sha256-ELEqx41JSAmXBEowwJ1tYPZV40hMjswaHQonD+1IG5E=";
};
build-system = [ setuptools ];

View File

@@ -1,5 +1,4 @@
{
bleak-retry-connector,
buildPythonPackage,
fetchFromGitHub,
idasen,
@@ -11,22 +10,19 @@
buildPythonPackage rec {
pname = "idasen-ha";
version = "2.7.0";
version = "2.6.5";
pyproject = true;
src = fetchFromGitHub {
owner = "abmantis";
repo = "idasen-ha";
tag = version;
hash = "sha256-1BciJ3Hox9Ky1HuNw+8jWGaMX3amAhGNTGAXqwWEDX8=";
hash = "sha256-Ksckc4aayv33Xd4tmfzCUq8e5kWPnxw7xAlPKOIlmow=";
};
build-system = [ setuptools ];
dependencies = [
bleak-retry-connector
idasen
];
dependencies = [ idasen ];
pythonImportsCheck = [ "idasen_ha" ];

View File

@@ -7,22 +7,22 @@
voluptuous,
pytestCheckHook,
pytest-asyncio,
setuptools,
poetry-core,
}:
buildPythonPackage (finalAttrs: {
buildPythonPackage rec {
pname = "idasen";
version = "0.13.1";
version = "0.12.0";
pyproject = true;
src = fetchFromGitHub {
owner = "newAM";
repo = "idasen";
tag = "v${finalAttrs.version}";
hash = "sha256-ejKfXAVvHyWIkg06XqC2pKJjpPuOgHEciPzBb/TGiSU=";
tag = "v${version}";
hash = "sha256-TQ+DBFpG+IeZ4/dN+YKMw3AM4Dl1rpqA1kRcb3Tb3jA=";
};
build-system = [ setuptools ];
build-system = [ poetry-core ];
dependencies = [
bleak
@@ -41,8 +41,8 @@ buildPythonPackage (finalAttrs: {
description = "Python API and CLI for the ikea IDÅSEN desk";
mainProgram = "idasen";
homepage = "https://github.com/newAM/idasen";
changelog = "https://github.com/newAM/idasen/blob/${finalAttrs.src.tag}/CHANGELOG.md";
changelog = "https://github.com/newAM/idasen/blob/v${version}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ newam ];
};
})
}

View File

@@ -15,14 +15,14 @@
buildPythonPackage (finalAttrs: {
pname = "imgw-pib";
version = "2.2.2";
version = "2.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "bieniu";
repo = "imgw-pib";
tag = finalAttrs.version;
hash = "sha256-LWyaTi4OIxK+Nyrwp9/Czl2hxCiRjoTeKhl0Yfw95pk=";
hash = "sha256-VAmRrcTTNro8J/+25YeHII7jpw2BI87FNeDIo5ATOjQ=";
};
build-system = [ setuptools ];

View File

@@ -15,14 +15,14 @@
buildPythonPackage (finalAttrs: {
pname = "llm-anthropic";
version = "0.25.1";
version = "0.25";
pyproject = true;
src = fetchFromGitHub {
owner = "simonw";
repo = "llm-anthropic";
tag = finalAttrs.version;
hash = "sha256-b9XnPxKDGsiy20Me70sYrkMVO36OF3EwWOHLyEd5z4E=";
hash = "sha256-dgt8DQkwVsAduzvwzN0xmLuJ4erj5KYU8x+SFCynDBI=";
};
build-system = [

View File

@@ -27,7 +27,7 @@
buildPythonPackage (finalAttrs: {
pname = "pycrdt-websocket";
version = "0.16.2";
version = "0.16.1";
pyproject = true;
__structuredAttrs = true;
@@ -35,7 +35,7 @@ buildPythonPackage (finalAttrs: {
owner = "y-crdt";
repo = "pycrdt-websocket";
tag = finalAttrs.version;
hash = "sha256-0HGDH3RP7uHr6eAU/s0e1LnRgtdz+v0ToZdrxG1wduc=";
hash = "sha256-OZ3LaXFwZY0gcLVHSkNKRrFZuCbggD9EeQNXYIVOSZ0=";
};
build-system = [ hatchling ];

View File

@@ -17,7 +17,7 @@
buildPythonPackage (finalAttrs: {
pname = "pysmartthings";
version = "4.0.1";
version = "4.0.0";
pyproject = true;
disabled = pythonOlder "3.13";
@@ -26,7 +26,7 @@ buildPythonPackage (finalAttrs: {
owner = "andrewsayre";
repo = "pysmartthings";
tag = "v${finalAttrs.version}";
hash = "sha256-yxGrtEMWMargZ9i0b4DqxSh/x3pbK1J8unL7goGnURY=";
hash = "sha256-ls+b37/m20CHVerl5wb6LIH0ttuN7H8Mr8cKNdk2+t0=";
};
build-system = [ hatchling ];

View File

@@ -59,14 +59,14 @@
xmltodict,
}:
buildPythonPackage (finalAttrs: {
buildPythonPackage rec {
pname = "scancode-toolkit";
version = "32.5.0";
pyproject = true;
src = fetchPypi {
pname = "scancode_toolkit";
inherit (finalAttrs) version;
inherit version;
hash = "sha256-WXAZCk0aRmKb1UU1ud95mZFHAMC9U+gDRd9w7TZTVSA=";
};
@@ -146,12 +146,11 @@ buildPythonPackage (finalAttrs: {
meta = {
description = "Tool to scan code for license, copyright, package and their documented dependencies and other interesting facts";
homepage = "https://github.com/nexB/scancode-toolkit";
changelog = "https://github.com/nexB/scancode-toolkit/blob/v${finalAttrs.version}/CHANGELOG.rst";
changelog = "https://github.com/nexB/scancode-toolkit/blob/v${version}/CHANGELOG.rst";
license = with lib.licenses; [
asl20
cc-by-40
];
maintainers = with lib.maintainers; [ eljamm ];
teams = with lib.teams; [ ngi ];
maintainers = [ ];
};
})
}

View File

@@ -1,46 +0,0 @@
{
lib,
buildPythonPackage,
fetchPypi,
# build-system
grpcio-tools,
setuptools,
}:
buildPythonPackage (finalAttrs: {
pname = "smg-grpc-proto";
version = "0.4.8";
pyproject = true;
__structuredAttrs = true;
# No tags on GitHub
src = fetchPypi {
format = "setuptools";
pname = "smg_grpc_proto";
inherit (finalAttrs) version;
hash = "sha256-BK2sEbhHsa5/+yej9SB5A06SHB+9oCuuMmwENHJPyHY=";
};
build-system = [
grpcio-tools
setuptools
];
postInstall = ''
find $out -name __pycache__ -type d | xargs rm -rv
'';
env.PYTHONDONTWRITEBYTECODE = 1;
pythonImportsCheck = [ "smg_grpc_proto" ];
# no tests
doCheck = false;
meta = {
description = "SMG gRPC proto definitions for SGLang, vLLM, TRT-LLM, and MLX";
homepage = "https://github.com/lightseekorg/smg/tree/main/crates/grpc_client/python";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ prince213 ];
};
})

View File

@@ -1,57 +0,0 @@
{
lib,
buildPythonPackage,
fetchPypi,
# build-system
setuptools,
# dependencies
grpcio,
grpcio-health-checking,
grpcio-reflection,
smg-grpc-proto,
}:
buildPythonPackage (finalAttrs: {
pname = "smg-grpc-servicer";
version = "0.5.3";
pyproject = true;
__structuredAttrs = true;
# No tags on GitHub
src = fetchPypi {
format = "setuptools";
pname = "smg_grpc_servicer";
inherit (finalAttrs) version;
hash = "sha256-/stjZWK+5XSTmD9iIRWq+dqthd5kRhty6F7Ffvbfr74=";
};
build-system = [
setuptools
];
dependencies = [
grpcio
grpcio-health-checking
grpcio-reflection
smg-grpc-proto
];
postInstall = ''
find $out -name __pycache__ -type d | xargs rm -rv
'';
env.PYTHONDONTWRITEBYTECODE = 1;
pythonImportsCheck = [ "smg_grpc_servicer" ];
# no tests
doCheck = false;
meta = {
description = "SMG gRPC servicer implementations for LLM inference engines (vLLM, SGLang, MLX)";
homepage = "https://github.com/lightseekorg/smg/tree/main/grpc_servicer";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ prince213 ];
};
})

View File

@@ -53,8 +53,12 @@ buildPythonPackage (finalAttrs: {
# Many of the failures below are reported in:
# https://github.com/aboutcode-org/typecode/issues/36
# AssertionError: assert 'application/x-bytecode.python'...
"test_package_json"
# fails due to change in file (libmagic) 5.45
"test_media_image_img"
"test_doc_postscript_eps"
"test_package_debian"
];
pythonImportsCheck = [ "typecode" ];
@@ -64,7 +68,6 @@ buildPythonPackage (finalAttrs: {
homepage = "https://github.com/aboutcode-org/typecode";
changelog = "https://github.com/aboutcode-org/typecode/releases/tag/v${finalAttrs.version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ eljamm ];
teams = with lib.teams; [ ngi ];
maintainers = [ ];
};
})

View File

@@ -6,7 +6,7 @@
file,
zlib,
}:
buildPythonPackage (finalAttrs: {
buildPythonPackage rec {
pname = "typecode-libmagic";
version = "21.5.31";
format = "setuptools";
@@ -14,11 +14,11 @@ buildPythonPackage (finalAttrs: {
src = fetchFromGitHub {
owner = "aboutcode-org";
repo = "scancode-plugins";
tag = "v${finalAttrs.version}";
tag = "v${version}";
hash = "sha256-nGgFjp1N1IM/Sm4xLJw5WiZncc369/LqNcwFJBS1EQs=";
};
sourceRoot = "${finalAttrs.src.name}/builtins/typecode_libmagic-linux";
sourceRoot = "${src.name}/builtins/typecode_libmagic-linux";
propagatedBuildInputs = [ plugincode ];
@@ -42,8 +42,7 @@ buildPythonPackage (finalAttrs: {
description = "ScanCode Toolkit plugin to provide pre-built binary libraries and utilities and their locations";
homepage = "https://github.com/aboutcode-org/scancode-plugins/tree/main/builtins/typecode_libmagic-linux";
license = lib.licenses.asl20;
maintainers = [ ];
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ eljamm ];
teams = with lib.teams; [ ngi ];
};
})
}

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