Merge pull request #227288 from NixOS/haskell-updates

haskellPackages: update stackage and hackage
This commit is contained in:
maralorn 2023-04-29 20:45:23 +02:00 committed by GitHub
commit 54668c8ef7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 1398 additions and 340 deletions

View file

@ -15514,6 +15514,12 @@
githubId = 3268082;
name = "Thibaut Marty";
};
thielema = {
name = "Henning Thielemann";
email = "nix@henning-thielemann.de";
github = "thielema";
githubId = 898989;
};
thled = {
name = "Thomas Le Duc";
email = "dev@tleduc.de";

View file

@ -32,8 +32,6 @@ EOF
sort -iu "$tmpfile" >> "$broken_config"
clear="env -u HOME -u NIXPKGS_CONFIG"
$clear maintainers/scripts/haskell/regenerate-hackage-packages.sh
$clear maintainers/scripts/haskell/regenerate-transitive-broken-packages.sh
$clear maintainers/scripts/haskell/regenerate-hackage-packages.sh
evalline=$(maintainers/scripts/haskell/hydra-report.hs eval-info)
if [[ "${1:-}" == "--do-commit" ]]; then

View file

@ -1,22 +1,69 @@
#! /usr/bin/env nix-shell
#! nix-shell -i bash -p coreutils haskellPackages.cabal2nix-unstable git nix -I nixpkgs=.
# This script is used to regenerate nixpkgs' Haskell package set, using the
# tool hackage2nix from the nixos/cabal2nix repo. hackage2nix looks at the
# config files in pkgs/development/haskell-modules/configuration-hackage2nix
# and generates a Nix expression for package version specified there, using the
# Cabal files from the Hackage database (available under all-cabal-hashes) and
# its companion tool cabal2nix.
#
# Related scripts are update-hackage.sh, for updating the snapshot of the
# Hackage database used by hackage2nix, and update-cabal2nix-unstable.sh,
# for updating the version of hackage2nix used to perform this task.
#
# Note that this script doesn't gcroot anything, so it may be broken by an
# unfortunately timed nix-store --gc.
set -euo pipefail
self=$0
print_help () {
cat <<END_HELP
Usage: $self [options]
Options:
--do-commit Commit changes to this file.
-f | --fast Do not update the transitive-broken.yaml file.
-h | --help Show this help.
This script is used to regenerate nixpkgs' Haskell package set, using the
tool hackage2nix from the nixos/cabal2nix repo. hackage2nix looks at the
config files in pkgs/development/haskell-modules/configuration-hackage2nix
and generates a Nix expression for package version specified there, using the
Cabal files from the Hackage database (available under all-cabal-hashes) and
its companion tool cabal2nix.
Unless --fast is used, it will then use the generated nix expression by
running regenerate-transitive-broken-packages.sh which updates the transitive-broken.yaml
file. Then it re-runs hackage2nix.
Related scripts are update-hackage.sh, for updating the snapshot of the
Hackage database used by hackage2nix, and update-cabal2nix-unstable.sh,
for updating the version of hackage2nix used to perform this task.
Note that this script doesn't gcroot anything, so it may be broken by an
unfortunately timed nix-store --gc.
END_HELP
}
DO_COMMIT=0
REGENERATE_TRANSITIVE=1
options=$(getopt -o "fh" -l "help,fast,do-commit" -- "$@")
eval set -- "$options"
while true; do
case "$1" in
--do-commit)
DO_COMMIT=1
;;
-f|--fast)
REGENERATE_TRANSITIVE=0
;;
-h|--help)
print_help
exit 0
;;
--)
break;;
*)
print_help
exit 1
;;
esac
shift
done
HACKAGE2NIX="${HACKAGE2NIX:-hackage2nix}"
# To prevent hackage2nix fails because of encoding.
@ -25,14 +72,7 @@ export LC_ALL=C.UTF-8
config_dir=pkgs/development/haskell-modules/configuration-hackage2nix
echo "Obtaining Hackage data"
extraction_derivation='with import ./. {}; runCommandLocal "unpacked-cabal-hashes" { } "tar xf ${all-cabal-hashes} --strip-components=1 --one-top-level=$out"'
unpacked_hackage="$(nix-build -E "$extraction_derivation" --no-out-link)"
echo "Generating compiler configuration"
compiler_config="$(nix-build -A haskellPackages.cabal2nix-unstable.compilerConfig --no-out-link)"
echo "Starting hackage2nix to regenerate pkgs/development/haskell-modules/hackage-packages.nix ..."
run_hackage2nix() {
"$HACKAGE2NIX" \
--hackage "$unpacked_hackage" \
--preferred-versions <(for n in "$unpacked_hackage"/*/preferred-versions; do cat "$n"; echo; done) \
@ -42,8 +82,33 @@ echo "Starting hackage2nix to regenerate pkgs/development/haskell-modules/hackag
--config "$config_dir/stackage.yaml" \
--config "$config_dir/broken.yaml" \
--config "$config_dir/transitive-broken.yaml"
}
if [[ "${1:-}" == "--do-commit" ]]; then
echo "Obtaining Hackage data …"
extraction_derivation='with import ./. {}; runCommandLocal "unpacked-cabal-hashes" { } "tar xf ${all-cabal-hashes} --strip-components=1 --one-top-level=$out"'
unpacked_hackage="$(nix-build -E "$extraction_derivation" --no-out-link)"
echo "Generating compiler configuration …"
compiler_config="$(nix-build -A haskellPackages.cabal2nix-unstable.compilerConfig --no-out-link)"
echo "Running hackage2nix to regenerate pkgs/development/haskell-modules/hackage-packages.nix …"
run_hackage2nix
if [[ "$REGENERATE_TRANSITIVE" -eq 1 ]]; then
echo "Regenerating transitive-broken.yaml … (pass --fast to $self to skip this step)"
maintainers/scripts/haskell/regenerate-transitive-broken-packages.sh
echo "Running hackage2nix again to reflect changes in transitive-broken.yaml …"
run_hackage2nix
fi
if [[ "$DO_COMMIT" -eq 1 ]]; then
git add pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
git add pkgs/development/haskell-modules/hackage-packages.nix
git commit -F - << EOF
haskellPackages: regenerate package set based on current config

View file

@ -11,5 +11,4 @@ cat > $config_file << EOF
dont-distribute-packages:
EOF
echo "Regenerating list of transitive broken packages ..."
nix-instantiate --eval --option restrict-eval true -I . --strict --json maintainers/scripts/haskell/transitive-broken-packages.nix | jq -r . | LC_ALL=C.UTF-8 sort -i >> $config_file

View file

@ -1,6 +1,6 @@
{
"commit": "67ecaa60725908a5bc562294a2c0e03e30858aa7",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/67ecaa60725908a5bc562294a2c0e03e30858aa7.tar.gz",
"sha256": "0yf0dliq65j5achg3iqz0hkf25jjkgxarsdsr5vl2r5h41n39qg3",
"msg": "Update from Hackage at 2023-04-18T09:14:41Z"
"commit": "835ef6db789d6459876c083419d61e068de15dd3",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/835ef6db789d6459876c083419d61e068de15dd3.tar.gz",
"sha256": "11506nwsd15b3jhdydr54j0jk5pzj3qhs92c167xv0f0czw5pj8a",
"msg": "Update from Hackage at 2023-04-22T18:19:29Z"
}

View file

@ -61,15 +61,15 @@ self: super: {
# not solvable short of recompiling GHC. Instead of adding
# allowInconsistentDependencies for all reverse dependencies of hspec-core,
# just upgrade to an hspec version without the offending dependency.
hspec-core = cself.hspec-core_2_10_10;
hspec-discover = cself.hspec-discover_2_10_10;
hspec = cself.hspec_2_10_10;
hspec-core = cself.hspec-core_2_11_0;
hspec-discover = cself.hspec-discover_2_11_0;
hspec = cself.hspec_2_11_0;
# hspec-discover and hspec-core depend on hspec-meta for testing which
# we need to avoid since it depends on ghc as well. Since hspec*_2_10*
# are overridden to take the versioned attributes as inputs, we need
# to make sure to override the versioned attribute with this fix.
hspec-discover_2_10_10 = dontCheck csuper.hspec-discover_2_10_10;
hspec-discover_2_11_0 = dontCheck csuper.hspec-discover_2_11_0;
# Prevent dependency on doctest which causes an inconsistent dependency
# due to depending on ghc which depends on directory etc.
@ -415,11 +415,14 @@ self: super: {
# 2022-01-29: Tests require package to be in ghc-db.
aeson-schemas = dontCheck super.aeson-schemas;
# matterhorn-50200.17.0 won't work with brick >= 0.71, brick-skylighting >= 1.0
matterhorn = doJailbreak (super.matterhorn.overrideScope (self: super: {
brick = self.brick_0_70_1;
brick-skylighting = self.brick-skylighting_0_3;
}));
# 2023-04-20: Restrictive bytestring bound in tests.
storablevector = doJailbreak super.storablevector;
# 2023-04-20: Pretends to need brick 1.6 but the commit history here
# https://github.com/matterhorn-chat/matterhorn/commits/master/matterhorn.cabal
# makes very clear that 1.4 is equally fine.
# Generally a slightly packaging hostile bound practice.
matterhorn = doJailbreak super.matterhorn;
# 2020-06-05: HACK: does not pass own build suite - `dontCheck`
# 2022-11-24: jailbreak as it has too strict bounds on a bunch of things
@ -627,6 +630,10 @@ self: super: {
})
] (dontCheck super.snappy);
# 2023-04-22: omfort-fftw 0.0.0.1 contains fixes to the tests. We can drop
# this override as soon as stackage advances.
comfort-fftw = doDistribute super.comfort-fftw_0_0_0_1;
# https://github.com/vincenthz/hs-crypto-pubkey/issues/20
crypto-pubkey = dontCheck super.crypto-pubkey;
@ -998,12 +1005,12 @@ self: super: {
testHaskellDepends = drv.testHaskellDepends or [] ++ [ self.hspec-meta_2_10_5 ];
testToolDepends = drv.testToolDepends or [] ++ [ pkgs.git ];
}) (super.sensei.override {
hspec = self.hspec_2_10_10;
hspec = self.hspec_2_11_0;
hspec-wai = self.hspec-wai.override {
hspec = self.hspec_2_10_10;
hspec = self.hspec_2_11_0;
};
hspec-contrib = self.hspec-contrib.override {
hspec-core = self.hspec-core_2_10_10;
hspec-core = self.hspec-core_2_11_0;
};
fsnotify = self.fsnotify_0_4_1_0;
});
@ -1667,16 +1674,16 @@ self: super: {
servant-openapi3 = dontCheck super.servant-openapi3;
# Give hspec 2.10.* correct dependency versions without overrideScope
hspec_2_10_10 = doDistribute (super.hspec_2_10_10.override {
hspec-discover = self.hspec-discover_2_10_10;
hspec-core = self.hspec-core_2_10_10;
hspec_2_11_0 = doDistribute (super.hspec_2_11_0.override {
hspec-discover = self.hspec-discover_2_11_0;
hspec-core = self.hspec-core_2_11_0;
});
hspec-discover_2_10_10 = doDistribute (super.hspec-discover_2_10_10.override {
hspec-discover_2_11_0 = doDistribute (super.hspec-discover_2_11_0.override {
hspec-meta = self.hspec-meta_2_10_5;
});
# Need to disable tests to prevent an infinite recursion if hspec-core_2_10_10
# Need to disable tests to prevent an infinite recursion if hspec-core_2_11_0
# is overlayed to hspec-core.
hspec-core_2_10_10 = doDistribute (dontCheck (super.hspec-core_2_10_10.override {
hspec-core_2_11_0 = doDistribute (dontCheck (super.hspec-core_2_11_0.override {
hspec-meta = self.hspec-meta_2_10_5;
}));
@ -2618,4 +2625,11 @@ self: super: {
# compatability with other gi- packages.
# Take another look when gi-webkit2 updates as it may have become compatible with libsoup-3
gi-soup = assert versions.major self.gi-webkit2.version == "4"; self.gi-soup_2_4_28;
llvm-ffi = super.llvm-ffi.override {
LLVM = pkgs.llvmPackages_13.libllvm;
};
# libfuse3 fails to mount fuse file systems within the build environment
libfuse3 = dontCheck super.libfuse3;
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super

View file

@ -107,14 +107,6 @@ in {
base-orphans = dontCheck (doDistribute super.base-orphans);
generically = addBuildDepend self.base-orphans super.generically;
# Note: Any compilation fixes need to be done on the versioned attributes,
# since those are used for the internal dependencies between the versioned
# hspec packages in configuration-common.nix.
hspec = self.hspec_2_10_10;
hspec-core = self.hspec-core_2_10_10;
hspec-meta = self.hspec-meta_2_10_5;
hspec-discover = self.hspec-discover_2_10_10;
# the dontHaddock is due to a GHC panic. might be this bug, not sure.
# https://gitlab.haskell.org/ghc/ghc/-/issues/21619
#
@ -225,4 +217,6 @@ in {
# failing during the Setup.hs phase: https://github.com/gtk2hs/gtk2hs/issues/323.
gtk2hs-buildtools = appendPatch ./patches/gtk2hs-buildtools-fix-ghc-9.4.x.patch super.gtk2hs-buildtools;
# Pending text-2.0 support https://github.com/gtk2hs/gtk2hs/issues/327
gtk = doJailbreak super.gtk;
}

View file

@ -9,6 +9,11 @@ let
overrideCabal (old: {
jailbreak = assert old.revision or "0" == toString rev; true;
});
checkAgainAfter = pkg: ver: msg: act:
if builtins.compareVersions pkg.version ver <= 0 then act
else
builtins.throw "Check if '${msg}' was resolved in ${pkg.pname} ${pkg.version} and update or remove this";
jailbreakForCurrentVersion = p: v: checkAgainAfter p v "bad bounds" (doJailbreak p);
in
self: super: {
@ -61,37 +66,47 @@ self: super: {
inspection-testing = doDistribute self.inspection-testing_0_5_0_1; # allows base >= 4.18
OneTuple = doDistribute (dontCheck super.OneTuple_0_4_1_1); # allows base >= 4.18
primitive = doDistribute (dontCheck self.primitive_0_7_4_0); # allows base >= 4.18
http-api-data = doDistribute self.http-api-data_0_5_1; # allows base >= 4.18
attoparsec-iso8601 = doDistribute self.attoparsec-iso8601_1_1_0_0; # for http-api-data-0.5.1
tagged = doDistribute self.tagged_0_8_7; # allows template-haskell-2.20
some = doDistribute self.some_1_0_5;
tasty-inspection-testing = doDistribute self.tasty-inspection-testing_0_2;
th-abstraction = doDistribute self.th-abstraction_0_5_0_0;
th-desugar = doDistribute self.th-desugar_1_15;
# Too strict bounds on ghc-prim and template-haskell
aeson = doDistribute (doJailbreak self.aeson_2_1_2_1);
# Too strict bounds on ghc-prim
turtle = doDistribute self.turtle_1_6_1;
aeson = doDistribute self.aeson_2_1_2_1;
memory = doDistribute self.memory_0_18_0;
ghc-lib = doDistribute self.ghc-lib_9_6_1_20230312;
ghc-lib-parser = doDistribute self.ghc-lib-parser_9_6_1_20230312;
ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_6_0_0;
# allows mtl, template-haskell, text and transformers
hedgehog = doDistribute self.hedgehog_1_2;
# allows base >= 4.18
tasty-hedgehog = doDistribute self.tasty-hedgehog_1_4_0_1;
# v0.1.6 forbids base >= 4.18
singleton-bool = doDistribute super.singleton-bool_0_1_7;
#
# Too strict bounds without upstream fix
#
# Forbids transformers >= 0.6
quickcheck-classes-base = doJailbreak super.quickcheck-classes-base;
# Forbids base >= 4.18
singleton-bool = doJailbreak super.singleton-bool;
# Forbids base >= 4.18
unliftio-core = doJailbreak super.unliftio-core;
# Forbids mtl >= 2.3
ChasingBottoms = doJailbreak super.ChasingBottoms;
# Forbids base >= 4.18
cabal-install-solver = doJailbreak super.cabal-install-solver;
cabal-install = doJailbreak super.cabal-install;
# Forbids base >= 4.18
lukko = doJailbreak super.lukko;
# Forbids base >= 4.18, fix proposed: https://github.com/sjakobi/newtype-generics/pull/25
newtype-generics = jailbreakForCurrentVersion super.newtype-generics "0.6.2";
# Forbids base >= 4.18, fix proposed: https://github.com/well-typed/cborg/pull/312
cborg = jailbreakForCurrentVersion super.cborg "0.2.8.0";
cborg-json = jailbreakForCurrentVersion super.cborg-json "0.2.5.0";
serialise = jailbreakForCurrentVersion super.serialise "0.2.6.0";
#
# Too strict bounds, waiting on Hackage release in nixpkgs
@ -122,6 +137,18 @@ self: super: {
})
] (super.foundation);
# Add support for time 1.10
# https://github.com/vincenthz/hs-hourglass/pull/56
hourglass = appendPatches [
(pkgs.fetchpatch {
name = "hourglass-pr-56.patch";
url =
"https://github.com/vincenthz/hs-hourglass/commit/cfc2a4b01f9993b1b51432f0a95fa6730d9a558a.patch";
sha256 = "sha256-gntZf7RkaR4qzrhjrXSC69jE44SknPDBmfs4z9rVa5Q=";
})
] (super.hourglass);
# Test suite doesn't compile with base-4.18 / GHC 9.6
# https://github.com/dreixel/syb/issues/40
syb = dontCheck super.syb;
@ -146,7 +173,6 @@ self: super: {
rebase = doJailbreak super.rebase_1_20;
rerebase = doJailbreak super.rerebase_1_20;
hiedb = dontCheck super.hiedb;
lucid = doJailbreak (dontCheck super.lucid);
retrie = dontCheck (super.retrie);
ghc-exactprint = unmarkBroken (addBuildDepends (with self.ghc-exactprint.scope; [

View file

@ -129,7 +129,6 @@ broken-packages:
- alpino-tools
- alsa
- alsa-midi
- alsa-seq
- altcomposition
- alternative-extra
- alternative-io
@ -411,6 +410,7 @@ broken-packages:
- biscuit-haskell
- bisect-binary
- bishbosh
- bitcoind-rpc # dependency missing in job https://hydra.nixos.org/build/217579845 at 2023-04-29
- bitcoin-hs
- bitcoin-keys
- bitcoin-rpc
@ -981,7 +981,6 @@ broken-packages:
- curryrs
- curves
- custom-prelude
- cutter
- cut-the-crap
- CV
- d3js
@ -1118,6 +1117,7 @@ broken-packages:
- derp-lib
- describe
- descriptive
- desktop-portal # test failure in job https://hydra.nixos.org/build/217585702 at 2023-04-29
- deterministic-game-engine
- detrospector
- deunicode
@ -1208,7 +1208,6 @@ broken-packages:
- docopt
- docrecords
- doctest-discover-configurator
- doctest-extract
- doctest-prop
- docusign-example
- docvim
@ -1373,7 +1372,6 @@ broken-packages:
- epoll
- epubname
- Eq
- equal-files
- EqualitySolver
- equational-reasoning-induction
- equeue
@ -1648,6 +1646,7 @@ broken-packages:
- ftphs
- full-sessions
- funbot-client
- funcons-lambda-cbv-mp # failure building executable 'lambda-cbv' in job https://hydra.nixos.org/build/217559083 at 2023-04-29
- functional-arrow
- function-instances-algebra
- functor-combinators
@ -1902,7 +1901,6 @@ broken-packages:
- grm
- GroteTrap
- groundhog
- group-by-date
- groups-generic
- group-theory
- group-with
@ -2686,7 +2684,6 @@ broken-packages:
- ieee-utils
- iexcloud
- ifcxt
- iff
- if-instance
- IFS
- ig
@ -3080,7 +3077,6 @@ broken-packages:
- lhslatex
- LibClang
- libexpect
- libfuse3
- libGenI
- libhbb
- libinfluxdb
@ -3156,7 +3152,7 @@ broken-packages:
- ll-picosat
- llsd
- llvm-base
- llvm-ffi
- llvm-extra # dependency missing in job https://hydra.nixos.org/build/217586045 at 2023-04-29
- llvm-general-pure
- llvm-hs
- llvm-ht
@ -3287,7 +3283,6 @@ broken-packages:
- MazesOfMonad
- MBot
- mbox-tools
- mbox-utility
- mbug
- mcl
- mcm
@ -3354,6 +3349,7 @@ broken-packages:
- microsoft-translator
- mida
- midi-simple
- midisurface # dependency missing in job https://hydra.nixos.org/build/217805409 at 2023-04-29
- midi-utils
- mighty-metropolis # test failure in job https://hydra.nixos.org/build/214599789 at 2023-04-07
- migrant-postgresql-simple
@ -4600,6 +4596,7 @@ broken-packages:
- rustls
- rws
- RxHaskell
- rzk # failure in compileBuildDriverPhase in job https://hydra.nixos.org/build/217574605 at 2023-04-29
- rz-pipe
- SableCC2Hs
- safe-buffer-monad
@ -5086,7 +5083,6 @@ broken-packages:
- stooq-api
- storable
- storable-static-array
- storablevector
- stp
- str
- Strafunski-ATermLib
@ -5096,6 +5092,7 @@ broken-packages:
- stratux-types
- stream
- streamdeck
- streamed # dependency missing in job https://hydra.nixos.org/build/217576821 at 2023-04-29
- stream-fusion
- streaming-benchmarks
- streaming-brotli
@ -5209,6 +5206,7 @@ broken-packages:
- sync-mht
- syntax-trees
- syntax-trees-fork-bairyn
- synthesizer # dependency missing in job https://hydra.nixos.org/build/217577245 at 2023-04-29
- Sysmon
- system-canonicalpath
- system-command
@ -5229,7 +5227,6 @@ broken-packages:
- tabloid
- tabs
- tag-bits
- tagchup
- tagged-exception-core
- tagged-timers
- taggy-lens
@ -5335,7 +5332,6 @@ broken-packages:
- text-offset
- text-position
- text-register-machine
- text-time
- text-trie
- textual
- text-utf7
@ -5405,6 +5401,7 @@ broken-packages:
- time-quote
- time-recurrence
- time-series
- timeseries # dependency missing in job https://hydra.nixos.org/build/217565262 at 2023-04-29
- time-series-lib
- timeutils
- time-w3c
@ -5524,6 +5521,7 @@ broken-packages:
- twilio
- twiml
- twine
- twirl # dependency missing in job https://hydra.nixos.org/build/217564808 at 2023-04-29
- twirp
- twisty
- twitchapi

View file

@ -49,6 +49,10 @@ default-package-overrides:
# 2023-04-13: latest version requires ghc-events >= 0.19 but it's not on LTS yet
- eventlog2html < 0.10
# 2023-04-22: For dhall < 1.42 compatibility
- dhall-nixpkgs == 1.0.9
- dhall-nix == 1.1.25
extra-packages:
- Cabal == 2.2.* # required for jailbreak-cabal etc.
- Cabal == 2.4.* # required for cabal-install etc.
@ -433,6 +437,120 @@ package-maintainers:
- rhine-gloss
- simple-affine-space
- time-domain
thielema:
- accelerate-arithmetic
- accelerate-fftw
- accelerate-fourier
- accelerate-utility
- align-audio
- alsa-core
- alsa-pcm
- alsa-seq
- apportionment
- audacity
- battleship-combinatorics
- bibtex
- board-games
- buffer-pipe
- cabal-flatpak
- calendar-recycling
- checksum
- check-pvp
- combinatorial
- comfort-graph
- comfort-array
- comfort-array-shape
- comfort-fftw
- comfort-glpk
- concurrent-split
- cutter
- data-accessor
- data-accessor-mtl
- data-accessor-template
- data-accessor-transformers
- data-ref
- doctest-exitcode-stdio
- doctest-extract
- doctest-lib
- dsp
- enumset
- equal-files
- event-list
- explicit-exception
- fixed-length
- fftw-ffi
- gnuplot
- group-by-date
- guarded-allocation
- iff
- interpolation
- jack
- latex
- lazyio
- markov-chain
- midi
- midi-alsa
- midi-music-box
- mbox-utility
- med-module
- monoid-transformer
- non-empty
- non-negative
- numeric-prelude
- numeric-quest
- pathtype
- pooled-io
- probability
- quickcheck-transformer
- reactive-midyim
- reactive-balsa
- reactive-jack
- sample-frame
- sample-frame-np
- set-cover
- shell-utility
- sound-collage
- sox
- soxlib
- split-record
- spreadsheet
- stm-split
- storable-record
- storable-tuple
- storablevector
- synthesizer-core
- synthesizer-dimensional
- synthesizer-alsa
- synthesizer-midi
- tagchup
- tfp
- unicode
- unique-logic
- unique-logic-tf
- unsafe
- utility-ht
- wuerfelschlange
- xml-basic
- youtube
- prelude-compat
- fft
- carray
- lapack-ffi-tools
- netlib-ffi
- blas-ffi
- lapack-ffi
- netlib-carray
- blas-carray
- lapack-carray
- netlib-comfort-array
- blas-comfort-array
- lapack-comfort-array
- lapack
- lapack-hmatrix
- hmm-lapack
- magico
- resistor-cube
- linear-circuit
utdemir:
- nix-tree
zowoq:
@ -523,6 +641,7 @@ unsupported-platforms:
spade: [ platforms.darwin ] # depends on sdl2-mixer, which doesn't work on darwin
synthesizer-alsa: [ platforms.darwin ]
taffybar: [ platforms.darwin ]
twirl: [ platforms.darwin ] # depends on sdl2-mixer
emanote: [ x86_64-darwin ] # Depends on stork which is broken on macOS sdk < 10.14
termonad: [ platforms.darwin ]
tokyotyrant-haskell: [ platforms.darwin ]
@ -533,6 +652,7 @@ unsupported-platforms:
VulkanMemoryAllocator: [ i686-linux, armv7l-linux, platforms.darwin ]
vulkan-utils: [ platforms.darwin ]
webkit2gtk3-javascriptcore: [ platforms.darwin ]
wiringPi: [ aarch64-darwin ]
xattr: [ platforms.darwin ]
xgboost-haskell: [ aarch64-linux, armv7l-linux ]
xmobar: [ platforms.darwin ]
@ -578,13 +698,15 @@ supported-platforms:
keid-sound-openal: [ x86_64-linux ] # geomancy (only x86), vulkan (no i686, no darwin, …)
keid-ui-dearimgui: [ x86_64-linux ] # geomancy (only x86), vulkan (no i686, no darwin, …)
kqueue: [ platforms.netbsd, platforms.freebsd, platforms.openbsd, platforms.darwin ]
libfuse3: [ platforms.linux ]
linux-evdev: [ platforms.linux ]
linux-file-extents: [ platforms.linux ]
linux-inotify: [ platforms.linux ]
linux-mount: [ platforms.linux ]
linux-namespaces: [ platforms.linux ]
lxc: [ platforms.linux ]
midi-alsa: [ platforms.linux ]
midi-alsa: [ platforms.linux ] # alsa-core only supported on linux
midisurface: [ platforms.linux ] # alsa-core only supported on linux
OrderedBits: [ platforms.x86 ] # lacks implementations for non-x86: https://github.com/choener/OrderedBits/blob/401cbbe933b1635aa33e8e9b29a4a570b0a8f044/lib/Data/Bits/Ordered.hs#L316
password: [ platforms.x86 ] # uses scrypt, which requries x86
password-instances: [ platforms.x86 ] # uses scrypt, which requries x86
@ -593,6 +715,7 @@ supported-platforms:
scat: [ platforms.x86 ] # uses scrypt, which requries x86
scrypt: [ platforms.x86 ] # https://github.com/informatikr/scrypt/issues/8
seqalign: [ platforms.x86 ] # x86 intrinsics
streamed: [ platforms.linux] # alsa-core only supported on linux
swisstable: [ platforms.x86_64 ] # Needs AVX2
tasty-papi: [ platforms.linux ] # limited by pkgs.papi
udev: [ platforms.linux ]

View file

@ -467,7 +467,6 @@ dont-distribute-packages:
- algorithmic-composition-basic
- algorithmic-composition-frequency-shift
- algorithmic-composition-overtones
- align-audio
- alms
- alpha
- alsa-gui
@ -698,7 +697,6 @@ dont-distribute-packages:
- attoparsec-iteratee
- attoparsec-text-enumerator
- atuin
- audacity
- audiovisual
- aura
- authoring
@ -762,7 +760,6 @@ dont-distribute-packages:
- batching
- battlenet-yesod
- battleplace-api
- battleship-combinatorics
- battleships
- bayes-stack
- bbi
@ -812,13 +809,13 @@ dont-distribute-packages:
- bitcoin-block
- bitcoin-tx
- bitcoin-types
- bitcoind-regtest
- bitfield
- bitly-cli
- bitmaps
- bittorrent
- bla
- blakesum-demo
- blas-comfort-array
- blastxml
- blatex
- blaze-builder-enumerator
@ -1029,10 +1026,6 @@ dont-distribute-packages:
- columbia
- columnar
- comark
- comfort-array
- comfort-array-shape
- comfort-fftw
- comfort-glpk
- commsec
- commsec-keyexchange
- comonad-random
@ -2269,7 +2262,6 @@ dont-distribute-packages:
- hslua-objectorientation_2_3_0
- hslua-packaging_2_3_0
- hslua_2_3_0
- hsndfile-storablevector
- hspec-expectations-pretty
- hspec-pg-transact
- hspec-setup
@ -2563,7 +2555,6 @@ dont-distribute-packages:
- language-qux
- language-spelling
- lapack
- lapack-comfort-array
- lapack-hmatrix
- large-anon
- lat
@ -2650,12 +2641,10 @@ dont-distribute-packages:
- llvm-data-interop
- llvm-dsl
- llvm-extension
- llvm-extra
- llvm-general
- llvm-general-quote
- llvm-hs-pretty
- llvm-pretty-bc-parser
- llvm-tf
- llvm-tools
- lmonad-yesod
- lnd-client
@ -2769,9 +2758,7 @@ dont-distribute-packages:
- metronome
- micro-gateway
- microformats2-types
- midi-alsa
- midimory
- midisurface
- mighttpd
- minecraft-data
- minesweeper
@ -2910,7 +2897,6 @@ dont-distribute-packages:
- net-spider-rpl
- net-spider-rpl-cli
- netcore
- netlib-comfort-array
- netlines
- netstring-enumerator
- nettle-frp
@ -3208,6 +3194,7 @@ dont-distribute-packages:
- prolog-graph-lib
- prologue
- prolude
- proof-assistant-bot
- propane
- proplang
- prosidyc
@ -3260,6 +3247,7 @@ dont-distribute-packages:
- quickcheck-relaxng
- quickcheck-state-machine
- quickcheck-state-machine-distributed
- quickcheck-state-machine_0_7_2
- quicktest
- quipper
- quipper-algorithms
@ -3702,9 +3690,7 @@ dont-distribute-packages:
- solr
- sonic-visualiser
- souffle-dsl
- sound-collage
- source-code-server
- soxlib
- sparkle
- sparrow
- sparsebit
@ -3722,7 +3708,6 @@ dont-distribute-packages:
- spice
- spike
- splines
- split-record
- sprinkles
- sproxy
- sproxy-web
@ -3767,14 +3752,12 @@ dont-distribute-packages:
- stm-actor
- stm-supply
- stmcontrol
- storablevector-carray
- storablevector-streamfusion
- stratum-tool
- stratux
- stratux-demo
- stratux-http
- stratux-websockets
- streamed
- streaming-fft
- streaming-process
- strelka
@ -3852,13 +3835,7 @@ dont-distribute-packages:
- syntax-pretty
- syntax-printer
- syntaxnet-haskell
- synthesizer
- synthesizer-alsa
- synthesizer-core
- synthesizer-dimensional
- synthesizer-filter
- synthesizer-llvm
- synthesizer-midi
- sys-process
- systemstats
- t3-client
@ -3924,7 +3901,6 @@ dont-distribute-packages:
- time-io-access
- time-warp
- timeprint
- timeseries
- timezone-unix
- tinkoff-invest-sdk
- tintin

View file

@ -177,6 +177,15 @@ self: super: builtins.intersectAttrs super {
### END HASKELL-LANGUAGE-SERVER SECTION ###
###########################################
audacity = enableCabalFlag "buildExamples" (overrideCabal (drv: {
executableHaskellDepends = [self.optparse-applicative self.soxlib];
}) super.audacity);
# 2023-04-27: Deactivating examples for now because they cause a non-trivial build failure.
# med-module = enableCabalFlag "buildExamples" super.med-module;
spreadsheet = enableCabalFlag "buildExamples" (overrideCabal (drv: {
executableHaskellDepends = [self.optparse-applicative self.shell-utility];
}) super.spreadsheet);
# fix errors caused by hardening flags
epanet-haskell = disableHardening ["format"] super.epanet-haskell;
@ -252,14 +261,24 @@ self: super: builtins.intersectAttrs super {
heist = addTestToolDepend pkgs.pandoc super.heist;
# https://github.com/NixOS/cabal2nix/issues/136 and https://github.com/NixOS/cabal2nix/issues/216
gio = disableHardening ["fortify"] (addPkgconfigDepend pkgs.glib (addBuildTool self.buildHaskellPackages.gtk2hs-buildtools super.gio));
gio = lib.pipe super.gio
[ (disableHardening ["fortify"])
(addBuildTool self.buildHaskellPackages.gtk2hs-buildtools)
(addPkgconfigDepends (with pkgs; [ glib pcre2 util-linux pcre ]
++ (if pkgs.stdenv.isLinux then [libselinux libsepol] else [])))
];
glib = disableHardening ["fortify"] (addPkgconfigDepend pkgs.glib (addBuildTool self.buildHaskellPackages.gtk2hs-buildtools super.glib));
gtk3 = disableHardening ["fortify"] (super.gtk3.override { inherit (pkgs) gtk3; });
gtk = let gtk1 = addBuildTool self.buildHaskellPackages.gtk2hs-buildtools super.gtk;
gtk2 = addPkgconfigDepend pkgs.gtk2 gtk1;
gtk3 = disableHardening ["fortify"] gtk1;
gtk4 = if pkgs.stdenv.isDarwin then appendConfigureFlag "-fhave-quartz-gtk" gtk3 else gtk4;
in gtk3;
gtk = lib.pipe super.gtk (
[ (disableHardening ["fortify"])
(addBuildTool self.buildHaskellPackages.gtk2hs-buildtools)
(addPkgconfigDepends (with pkgs; [ gtk2 pcre2 util-linux pcre fribidi
libthai libdatrie xorg.libXdmcp libdeflate
]
++ (if pkgs.stdenv.isLinux then [libselinux libsepol] else [])))
] ++
( if pkgs.stdenv.isDarwin then [(appendConfigureFlag "-fhave-quartz-gtk")] else [] )
);
gtksourceview2 = addPkgconfigDepend pkgs.gtk2 super.gtksourceview2;
gtk-traymanager = addPkgconfigDepend pkgs.gtk3 super.gtk-traymanager;

File diff suppressed because it is too large Load diff