mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-04-29 12:17:08 +00:00
Merge pull request #121627 from NixOS/haskell-updates
This commit is contained in:
commit
958855d30c
46 changed files with 4672 additions and 4071 deletions
12
.github/CODEOWNERS
vendored
12
.github/CODEOWNERS
vendored
|
@ -79,11 +79,13 @@
|
||||||
/pkgs/development/tools/poetry2nix @adisbladis
|
/pkgs/development/tools/poetry2nix @adisbladis
|
||||||
|
|
||||||
# Haskell
|
# Haskell
|
||||||
/pkgs/development/compilers/ghc @cdepillabout @sternenseemann
|
/doc/languages-frameworks/haskell.section.md @cdepillabout @sternenseemann @maralorn
|
||||||
/pkgs/development/haskell-modules @cdepillabout @sternenseemann
|
/maintainers/scripts/haskell @cdepillabout @sternenseemann @maralorn
|
||||||
/pkgs/development/haskell-modules/default.nix @cdepillabout @sternenseemann
|
/pkgs/development/compilers/ghc @cdepillabout @sternenseemann @maralorn
|
||||||
/pkgs/development/haskell-modules/generic-builder.nix @cdepillabout @sternenseemann
|
/pkgs/development/haskell-modules @cdepillabout @sternenseemann @maralorn
|
||||||
/pkgs/development/haskell-modules/hoogle.nix @cdepillabout @sternenseemann
|
/pkgs/test/haskell @cdepillabout @sternenseemann @maralorn
|
||||||
|
/pkgs/top-level/release-haskell.nix @cdepillabout @sternenseemann @maralorn
|
||||||
|
/pkgs/top-level/haskell-packages.nix @cdepillabout @sternenseemann @maralorn
|
||||||
|
|
||||||
# Perl
|
# Perl
|
||||||
/pkgs/development/interpreters/perl @volth @stigtsp
|
/pkgs/development/interpreters/perl @volth @stigtsp
|
||||||
|
|
3
.github/labeler.yml
vendored
3
.github/labeler.yml
vendored
|
@ -50,10 +50,13 @@
|
||||||
|
|
||||||
"6.topic: haskell":
|
"6.topic: haskell":
|
||||||
- doc/languages-frameworks/haskell.section.md
|
- doc/languages-frameworks/haskell.section.md
|
||||||
|
- maintainers/scripts/haskell/**/*
|
||||||
- pkgs/development/compilers/ghc/**/*
|
- pkgs/development/compilers/ghc/**/*
|
||||||
- pkgs/development/haskell-modules/**/*
|
- pkgs/development/haskell-modules/**/*
|
||||||
- pkgs/development/tools/haskell/**/*
|
- pkgs/development/tools/haskell/**/*
|
||||||
|
- pkgs/test/haskell/**/*
|
||||||
- pkgs/top-level/haskell-packages.nix
|
- pkgs/top-level/haskell-packages.nix
|
||||||
|
- pkgs/top-level/release-haskell.nix
|
||||||
|
|
||||||
"6.topic: kernel":
|
"6.topic: kernel":
|
||||||
- pkgs/build-support/kernel/**/*
|
- pkgs/build-support/kernel/**/*
|
||||||
|
|
37
maintainers/scripts/haskell/regenerate-hackage-packages.sh
Executable file
37
maintainers/scripts/haskell/regenerate-hackage-packages.sh
Executable file
|
@ -0,0 +1,37 @@
|
||||||
|
#! /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 a tool
|
||||||
|
# called hackage2nix. 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.
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
extraction_derivation='with import ./. {}; runCommand "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)"
|
||||||
|
config_dir=pkgs/development/haskell-modules/configuration-hackage2nix
|
||||||
|
|
||||||
|
hackage2nix \
|
||||||
|
--hackage "$unpacked_hackage" \
|
||||||
|
--preferred-versions <(for n in "$unpacked_hackage"/*/preferred-versions; do cat "$n"; echo; done) \
|
||||||
|
--nixpkgs "$PWD" \
|
||||||
|
--config "$config_dir/main.yaml" \
|
||||||
|
--config "$config_dir/stackage.yaml" \
|
||||||
|
--config "$config_dir/broken.yaml" \
|
||||||
|
--config "$config_dir/transitive-broken.yaml"
|
||||||
|
|
||||||
|
if [[ "${1:-}" == "--do-commit" ]]; then
|
||||||
|
git add pkgs/development/haskell-modules/hackage-packages.nix
|
||||||
|
git commit -F - << EOF
|
||||||
|
hackage-packages.nix: Regenerate based on current config
|
||||||
|
|
||||||
|
This commit has been generated by maintainers/scripts/haskell/regenerate-hackage-packages.sh
|
||||||
|
EOF
|
||||||
|
fi
|
3
maintainers/scripts/haskell/regenerate-transitive-broken-packages.sh
Executable file
3
maintainers/scripts/haskell/regenerate-transitive-broken-packages.sh
Executable file
|
@ -0,0 +1,3 @@
|
||||||
|
#! /usr/bin/env nix-shell
|
||||||
|
#! nix-shell -i bash -p coreutils nix gnused -I nixpkgs=.
|
||||||
|
echo -e $(nix-instantiate --eval --strict maintainers/scripts/haskell/transitive-broken-packages.nix) | sed 's/\"//' > pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
|
21
maintainers/scripts/haskell/transitive-broken-packages.nix
Normal file
21
maintainers/scripts/haskell/transitive-broken-packages.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
let
|
||||||
|
nixpkgs = import ../../..;
|
||||||
|
inherit (nixpkgs {}) pkgs lib;
|
||||||
|
getEvaluating = x:
|
||||||
|
builtins.attrNames (
|
||||||
|
lib.filterAttrs (
|
||||||
|
_: v: (builtins.tryEval (v.outPath or null)).success && lib.isDerivation v && !v.meta.broken
|
||||||
|
) x
|
||||||
|
);
|
||||||
|
brokenDeps = lib.subtractLists
|
||||||
|
(getEvaluating pkgs.haskellPackages)
|
||||||
|
(getEvaluating (nixpkgs { config.allowBroken = true; }).haskellPackages);
|
||||||
|
in
|
||||||
|
''
|
||||||
|
# This file is automatically generated by
|
||||||
|
# maintainers/scripts/haskell/regenerate-transitive-broken-packages.sh
|
||||||
|
# It is supposed to list all haskellPackages that cannot evaluate because they
|
||||||
|
# depend on a dependency marked as broken.
|
||||||
|
dont-distribute-packages:
|
||||||
|
${lib.concatMapStringsSep "\n" (x: " - ${x}") brokenDeps}
|
||||||
|
''
|
17
maintainers/scripts/haskell/update-cabal2nix-unstable.sh
Executable file
17
maintainers/scripts/haskell/update-cabal2nix-unstable.sh
Executable file
|
@ -0,0 +1,17 @@
|
||||||
|
#! /usr/bin/env nix-shell
|
||||||
|
#! nix-shell -i bash -p coreutils curl jq gnused haskellPackages.cabal2nix-unstable -I nixpkgs=.
|
||||||
|
|
||||||
|
# Updates cabal2nix-unstable to the latest master of the nixos/cabal2nix repository.
|
||||||
|
# See regenerate-hackage-packages.sh for details on the purpose of this script.
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# fetch current master HEAD from Github
|
||||||
|
head_info="$(curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/NixOS/cabal2nix/branches/master)"
|
||||||
|
# extract commit hash
|
||||||
|
commit="$(jq -r .commit.sha <<< "$head_info")"
|
||||||
|
# extract commit timestamp and convert to date
|
||||||
|
date="$(date "--date=$(jq -r .commit.commit.committer.date <<< "$head_info")" +%F)"
|
||||||
|
# generate nix expression from cabal file, replacing the version with the commit date
|
||||||
|
echo '# This file defines cabal2nix-unstable, used by maintainers/scripts/haskell/regenerate-hackage-packages.sh.' > pkgs/development/haskell-modules/cabal2nix-unstable.nix
|
||||||
|
cabal2nix "https://github.com/NixOS/cabal2nix/archive/$commit.tar.gz" | sed -e 's/version = ".*"/version = "'"unstable-$date"'"/' >> pkgs/development/haskell-modules/cabal2nix-unstable.nix
|
35
maintainers/scripts/haskell/update-hackage.sh
Executable file
35
maintainers/scripts/haskell/update-hackage.sh
Executable file
|
@ -0,0 +1,35 @@
|
||||||
|
#! /usr/bin/env nix-shell
|
||||||
|
#! nix-shell -i bash -p nix curl jq nix-prefetch-github git gnused -I nixpkgs=.
|
||||||
|
|
||||||
|
# See regenerate-hackage-packages.sh for details on the purpose of this script.
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
pin_file=pkgs/data/misc/hackage/pin.json
|
||||||
|
current_commit="$(jq -r .commit $pin_file)"
|
||||||
|
old_date="$(jq -r .msg $pin_file | sed 's/Update from Hackage at //')"
|
||||||
|
git_info="$(curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/commercialhaskell/all-cabal-hashes/branches/hackage)"
|
||||||
|
head_commit="$(echo "$git_info" | jq -r .commit.sha)"
|
||||||
|
commit_msg="$(echo "$git_info" | jq -r .commit.commit.message)"
|
||||||
|
new_date="$(echo "$commit_msg" | sed 's/Update from Hackage at //')"
|
||||||
|
|
||||||
|
if [ "$current_commit" != "$head_commit" ]; then
|
||||||
|
url="https://github.com/commercialhaskell/all-cabal-hashes/archive/$head_commit.tar.gz"
|
||||||
|
hash="$(nix-prefetch-url "$url")"
|
||||||
|
jq -n \
|
||||||
|
--arg commit "$head_commit" \
|
||||||
|
--arg hash "$hash" \
|
||||||
|
--arg url "$url" \
|
||||||
|
--arg commit_msg "$commit_msg" \
|
||||||
|
'{commit: $commit, url: $url, sha256: $hash, msg: $commit_msg}' \
|
||||||
|
> $pin_file
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${1:-}" == "--do-commit" ]]; then
|
||||||
|
git add pkgs/data/misc/hackage/pin.json
|
||||||
|
git commit -F - << EOF
|
||||||
|
all-cabal-hashes: $old_date -> $new_date
|
||||||
|
|
||||||
|
This commit has been generated by maintainers/scripts/haskell/update-hackage.sh
|
||||||
|
EOF
|
||||||
|
fi
|
68
maintainers/scripts/haskell/update-stackage.sh
Executable file
68
maintainers/scripts/haskell/update-stackage.sh
Executable file
|
@ -0,0 +1,68 @@
|
||||||
|
#! /usr/bin/env nix-shell
|
||||||
|
#! nix-shell -i bash -p nix curl jq nix-prefetch-github git gnused gnugrep -I nixpkgs=.
|
||||||
|
|
||||||
|
set -eu -o pipefail
|
||||||
|
|
||||||
|
tmpfile=$(mktemp "update-stackage.XXXXXXX")
|
||||||
|
# shellcheck disable=SC2064
|
||||||
|
|
||||||
|
stackage_config="pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml"
|
||||||
|
|
||||||
|
trap "rm ${tmpfile} ${tmpfile}.new" 0
|
||||||
|
touch "$tmpfile" "$tmpfile.new" # Creating files here so that trap creates no errors.
|
||||||
|
|
||||||
|
curl -L -s "https://stackage.org/nightly/cabal.config" >"$tmpfile"
|
||||||
|
old_version=$(grep "# Stackage Nightly" $stackage_config | sed -E 's/.*([0-9]{4}-[0-9]{2}-[0-9]{2}).*/\1/')
|
||||||
|
version=$(sed -rn "s/^--.*http:..(www.)?stackage.org.snapshot.nightly-//p" "$tmpfile")
|
||||||
|
|
||||||
|
if [[ "$old_version" == "$version" ]]; then
|
||||||
|
echo "No new stackage version"
|
||||||
|
exit 0 # Nothing to do
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create a simple yaml version of the file.
|
||||||
|
sed -r \
|
||||||
|
-e '/^--/d' \
|
||||||
|
-e 's|^constraints:||' \
|
||||||
|
-e 's|^ +| - |' \
|
||||||
|
-e 's|,$||' \
|
||||||
|
-e '/installed$/d' \
|
||||||
|
-e '/^$/d' \
|
||||||
|
< "${tmpfile}" | sort --ignore-case >"${tmpfile}.new"
|
||||||
|
|
||||||
|
cat > $stackage_config << EOF
|
||||||
|
# Stackage Nightly $version
|
||||||
|
# This file is auto-generated by
|
||||||
|
# maintainers/scripts/haskell/update-stackage.sh
|
||||||
|
default-package-overrides:
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Drop restrictions on some tools where we always want the latest version.
|
||||||
|
sed -r \
|
||||||
|
-e '/ cabal-install /d' \
|
||||||
|
-e '/ cabal2nix /d' \
|
||||||
|
-e '/ cabal2spec /d' \
|
||||||
|
-e '/ distribution-nixpkgs /d' \
|
||||||
|
-e '/ git-annex /d' \
|
||||||
|
-e '/ hindent /d' \
|
||||||
|
-e '/ hledger/d' \
|
||||||
|
-e '/ hlint /d' \
|
||||||
|
-e '/ hoogle /d' \
|
||||||
|
-e '/ hopenssl /d' \
|
||||||
|
-e '/ jailbreak-cabal /d' \
|
||||||
|
-e '/ json-autotype/d' \
|
||||||
|
-e '/ language-nix /d' \
|
||||||
|
-e '/ shake /d' \
|
||||||
|
-e '/ ShellCheck /d' \
|
||||||
|
-e '/ stack /d' \
|
||||||
|
-e '/ weeder /d' \
|
||||||
|
< "${tmpfile}.new" >> $stackage_config
|
||||||
|
|
||||||
|
if [[ "${1:-}" == "--do-commit" ]]; then
|
||||||
|
git add $config_file
|
||||||
|
git commit -F - << EOF
|
||||||
|
Stackage Nightly: $old_version -> $version
|
||||||
|
|
||||||
|
This commit has been generated by maintainers/scripts/haskell/update-stackage.sh
|
||||||
|
EOF
|
||||||
|
fi
|
|
@ -96,6 +96,15 @@ with lib.maintainers; {
|
||||||
scope = "Maintain GNOME desktop environment and platform.";
|
scope = "Maintain GNOME desktop environment and platform.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
haskell = {
|
||||||
|
members = [
|
||||||
|
maralorn
|
||||||
|
cdepillabout
|
||||||
|
sternenseemann
|
||||||
|
];
|
||||||
|
scope = "Maintain Haskell packages and infrastructure.";
|
||||||
|
};
|
||||||
|
|
||||||
home-assistant = {
|
home-assistant = {
|
||||||
members = [
|
members = [
|
||||||
fab
|
fab
|
||||||
|
|
|
@ -1,12 +1,8 @@
|
||||||
{ mkDerivation, callPackage, buildPackages
|
{ mkDerivation
|
||||||
, async, base, bytestring, containers, fetchFromGitLab, mtl
|
, async, base, bytestring, containers, fetchFromGitLab, mtl
|
||||||
, parallel-io, parsec, lib, stm, transformers
|
, parallel-io, parsec, lib, stm, transformers, sbv_7_13, z3
|
||||||
}:
|
}:
|
||||||
let
|
|
||||||
z3 = callPackage ./z3.nix { gomp = null; z3 = buildPackages.z3; };
|
|
||||||
in let
|
|
||||||
sbv = callPackage ./sbv-7.13.nix { inherit z3; };
|
|
||||||
in
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "petrinizer";
|
pname = "petrinizer";
|
||||||
version = "0.9.1.1";
|
version = "0.9.1.1";
|
||||||
|
@ -22,10 +18,11 @@ mkDerivation rec {
|
||||||
isLibrary = false;
|
isLibrary = false;
|
||||||
isExecutable = true;
|
isExecutable = true;
|
||||||
executableHaskellDepends = [
|
executableHaskellDepends = [
|
||||||
async base bytestring containers mtl parallel-io parsec sbv stm
|
async base bytestring containers mtl parallel-io parsec sbv_7_13 stm
|
||||||
transformers
|
transformers
|
||||||
];
|
];
|
||||||
description = "Safety and Liveness Analysis of Petri Nets with SMT solvers";
|
description = "Safety and Liveness Analysis of Petri Nets with SMT solvers";
|
||||||
license = lib.licenses.gpl3;
|
license = lib.licenses.gpl3;
|
||||||
maintainers = with lib.maintainers; [ raskin ];
|
maintainers = with lib.maintainers; [ raskin ];
|
||||||
|
inherit (sbv_7_13.meta) platforms;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,26 +0,0 @@
|
||||||
{ mkDerivation, array, async, base, bytestring, containers
|
|
||||||
, crackNum, deepseq, directory, doctest, filepath, generic-deriving
|
|
||||||
, ghc, Glob, hlint, mtl, pretty, process, QuickCheck, random
|
|
||||||
, lib, syb, tasty, tasty-golden, tasty-hunit, tasty-quickcheck
|
|
||||||
, template-haskell, time, z3
|
|
||||||
}:
|
|
||||||
mkDerivation {
|
|
||||||
pname = "sbv";
|
|
||||||
version = "7.13";
|
|
||||||
sha256 = "0bk400swnb4s98c5p71ml1px6jndaiqhf5dj7zmnliyplqcgpfik";
|
|
||||||
enableSeparateDataOutput = true;
|
|
||||||
libraryHaskellDepends = [
|
|
||||||
array async base containers crackNum deepseq directory filepath
|
|
||||||
generic-deriving ghc mtl pretty process QuickCheck random syb
|
|
||||||
template-haskell time
|
|
||||||
];
|
|
||||||
testHaskellDepends = [
|
|
||||||
base bytestring containers crackNum directory doctest filepath Glob
|
|
||||||
hlint mtl QuickCheck random syb tasty tasty-golden tasty-hunit
|
|
||||||
tasty-quickcheck template-haskell
|
|
||||||
];
|
|
||||||
testSystemDepends = [ z3 ];
|
|
||||||
homepage = "http://leventerkok.github.com/sbv/";
|
|
||||||
description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving";
|
|
||||||
license = lib.licenses.bsd3;
|
|
||||||
}
|
|
|
@ -1,24 +0,0 @@
|
||||||
{ mkDerivation, fetchpatch
|
|
||||||
, base, containers, gomp, hspec, QuickCheck, lib
|
|
||||||
, transformers, z3
|
|
||||||
}:
|
|
||||||
mkDerivation {
|
|
||||||
pname = "z3";
|
|
||||||
version = "408.0";
|
|
||||||
sha256 = "13qkzy9wc17rm60i24fa9sx15ywbxq4a80g33w20887gvqyc0q53";
|
|
||||||
isLibrary = true;
|
|
||||||
isExecutable = true;
|
|
||||||
libraryHaskellDepends = [ base containers transformers ];
|
|
||||||
librarySystemDepends = [ gomp z3 ];
|
|
||||||
testHaskellDepends = [ base hspec QuickCheck ];
|
|
||||||
homepage = "https://github.com/IagoAbal/haskell-z3";
|
|
||||||
description = "Bindings for the Z3 Theorem Prover";
|
|
||||||
license = lib.licenses.bsd3;
|
|
||||||
doCheck = false;
|
|
||||||
patches = [
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/IagoAbal/haskell-z3/commit/b10e09b8a809fb5bbbb1ef86aeb62109ece99cae.patch";
|
|
||||||
sha256 = "13fnrs27mg3985r3lwks8fxfxr5inrayy2cyx2867d92pnl3yry4";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,7 +1,9 @@
|
||||||
{ lib, stdenv, ghcWithPackages, makeWrapper, packages ? (x: []) }:
|
{ lib, stdenv, haskellPackages, makeWrapper, packages ? (x: []) }:
|
||||||
|
|
||||||
let
|
let
|
||||||
taffybarEnv = ghcWithPackages (self: [ self.taffybar ] ++ packages self);
|
taffybarEnv = haskellPackages.ghc.withPackages (self: [
|
||||||
|
self.taffybar
|
||||||
|
] ++ packages self);
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation {
|
||||||
name = "taffybar-with-packages-${taffybarEnv.version}";
|
name = "taffybar-with-packages-${taffybarEnv.version}";
|
||||||
|
|
||||||
|
@ -13,8 +15,5 @@ in stdenv.mkDerivation {
|
||||||
--set NIX_GHC "${taffybarEnv}/bin/ghc"
|
--set NIX_GHC "${taffybarEnv}/bin/ghc"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
inherit (haskellPackages.taffybar) meta;
|
||||||
platforms = lib.platforms.unix;
|
|
||||||
license = lib.licenses.bsd3;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
|
# Hackage database snapshot, used by maintainers/scripts/regenerate-hackage-packages.sh
|
||||||
|
# and callHackage
|
||||||
{ fetchurl }:
|
{ fetchurl }:
|
||||||
|
let
|
||||||
|
pin = builtins.fromJSON (builtins.readFile ./pin.json);
|
||||||
|
in
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/d202e2aff06500ede787ed63544476f6d41e9eb7.tar.gz";
|
inherit (pin) url sha256;
|
||||||
sha256 = "00hmclrhr3a2h9vshsl909g0zgymlamx491lkhwr5kgb3qx9sfh2";
|
passthru.updateScript = ../../../../maintainers/scripts/haskell/update-hackage.sh;
|
||||||
}
|
}
|
||||||
|
|
6
pkgs/data/misc/hackage/pin.json
Normal file
6
pkgs/data/misc/hackage/pin.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"commit": "95e79fb1492c7f34c2454dcb783ac8b46c0f5c8c",
|
||||||
|
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/95e79fb1492c7f34c2454dcb783ac8b46c0f5c8c.tar.gz",
|
||||||
|
"sha256": "1wp7m8j6z2j6h8z14cnzg223jmkcgpsafraxiirbih3h4wqq2nhr",
|
||||||
|
"msg": "Update from Hackage at 2021-05-03T20:39:01Z"
|
||||||
|
}
|
40
pkgs/development/haskell-modules/cabal2nix-unstable.nix
Normal file
40
pkgs/development/haskell-modules/cabal2nix-unstable.nix
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
# This file defines cabal2nix-unstable, used by maintainers/scripts/haskell/regenerate-hackage-packages.sh.
|
||||||
|
{ mkDerivation, aeson, ansi-wl-pprint, base, bytestring, Cabal
|
||||||
|
, containers, deepseq, directory, distribution-nixpkgs, fetchzip
|
||||||
|
, filepath, hackage-db, hopenssl, hpack, language-nix, lens, lib
|
||||||
|
, monad-par, monad-par-extras, mtl, optparse-applicative, pretty
|
||||||
|
, process, split, tasty, tasty-golden, text, time, transformers
|
||||||
|
, yaml
|
||||||
|
}:
|
||||||
|
mkDerivation {
|
||||||
|
pname = "cabal2nix";
|
||||||
|
version = "unstable-2021-05-06";
|
||||||
|
src = fetchzip {
|
||||||
|
url = "https://github.com/NixOS/cabal2nix/archive/b598bc4682b0827554b5780acdd6f948d320283b.tar.gz";
|
||||||
|
sha256 = "04afm56cyhj2l41cvq4z11k92jjchr21a8vg9pjaz438pma7jgw1";
|
||||||
|
};
|
||||||
|
isLibrary = true;
|
||||||
|
isExecutable = true;
|
||||||
|
libraryHaskellDepends = [
|
||||||
|
aeson ansi-wl-pprint base bytestring Cabal containers deepseq
|
||||||
|
directory distribution-nixpkgs filepath hackage-db hopenssl hpack
|
||||||
|
language-nix lens optparse-applicative pretty process split text
|
||||||
|
time transformers yaml
|
||||||
|
];
|
||||||
|
executableHaskellDepends = [
|
||||||
|
aeson base bytestring Cabal containers directory
|
||||||
|
distribution-nixpkgs filepath hopenssl language-nix lens monad-par
|
||||||
|
monad-par-extras mtl optparse-applicative pretty
|
||||||
|
];
|
||||||
|
testHaskellDepends = [
|
||||||
|
base Cabal containers directory filepath language-nix lens pretty
|
||||||
|
process tasty tasty-golden
|
||||||
|
];
|
||||||
|
preCheck = ''
|
||||||
|
export PATH="$PWD/dist/build/cabal2nix:$PATH"
|
||||||
|
export HOME="$TMPDIR/home"
|
||||||
|
'';
|
||||||
|
homepage = "https://github.com/nixos/cabal2nix#readme";
|
||||||
|
description = "Convert Cabal files into Nix build instructions";
|
||||||
|
license = lib.licenses.bsd3;
|
||||||
|
}
|
|
@ -197,7 +197,19 @@ self: super: {
|
||||||
digit = doJailbreak super.digit;
|
digit = doJailbreak super.digit;
|
||||||
|
|
||||||
# 2020-06-05: HACK: does not pass own build suite - `dontCheck`
|
# 2020-06-05: HACK: does not pass own build suite - `dontCheck`
|
||||||
hnix = generateOptparseApplicativeCompletion "hnix" (dontCheck super.hnix);
|
hnix = generateOptparseApplicativeCompletion "hnix"
|
||||||
|
(overrideCabal super.hnix (drv: {
|
||||||
|
doCheck = false;
|
||||||
|
prePatch = ''
|
||||||
|
# fix encoding problems when patching
|
||||||
|
${pkgs.dos2unix}/bin/dos2unix hnix.cabal
|
||||||
|
'' + (drv.prePatch or "");
|
||||||
|
patches = [
|
||||||
|
# support ref-tf in hnix 0.12.0.1, can be removed after
|
||||||
|
# https://github.com/haskell-nix/hnix/pull/918
|
||||||
|
./patches/hnix-ref-tf-0.5-support.patch
|
||||||
|
] ++ (drv.patches or []);
|
||||||
|
}));
|
||||||
|
|
||||||
# Fails for non-obvious reasons while attempting to use doctest.
|
# Fails for non-obvious reasons while attempting to use doctest.
|
||||||
search = dontCheck super.search;
|
search = dontCheck super.search;
|
||||||
|
@ -291,7 +303,6 @@ self: super: {
|
||||||
htsn = dontCheck super.htsn;
|
htsn = dontCheck super.htsn;
|
||||||
htsn-import = dontCheck super.htsn-import;
|
htsn-import = dontCheck super.htsn-import;
|
||||||
http-link-header = dontCheck super.http-link-header; # non deterministic failure https://hydra.nixos.org/build/75041105
|
http-link-header = dontCheck super.http-link-header; # non deterministic failure https://hydra.nixos.org/build/75041105
|
||||||
ihaskell = dontCheck super.ihaskell;
|
|
||||||
influxdb = dontCheck super.influxdb;
|
influxdb = dontCheck super.influxdb;
|
||||||
integer-roots = dontCheck super.integer-roots; # requires an old version of smallcheck, will be fixed in > 1.0
|
integer-roots = dontCheck super.integer-roots; # requires an old version of smallcheck, will be fixed in > 1.0
|
||||||
itanium-abi = dontCheck super.itanium-abi;
|
itanium-abi = dontCheck super.itanium-abi;
|
||||||
|
@ -362,7 +373,6 @@ self: super: {
|
||||||
tickle = dontCheck super.tickle;
|
tickle = dontCheck super.tickle;
|
||||||
tpdb = dontCheck super.tpdb;
|
tpdb = dontCheck super.tpdb;
|
||||||
translatable-intset = dontCheck super.translatable-intset;
|
translatable-intset = dontCheck super.translatable-intset;
|
||||||
trifecta = if pkgs.stdenv.hostPlatform.isAarch64 then dontCheck super.trifecta else super.trifecta; # affected by this bug https://gitlab.haskell.org/ghc/ghc/-/issues/15275#note_295461
|
|
||||||
ua-parser = dontCheck super.ua-parser;
|
ua-parser = dontCheck super.ua-parser;
|
||||||
unagi-chan = dontCheck super.unagi-chan;
|
unagi-chan = dontCheck super.unagi-chan;
|
||||||
wai-logger = dontCheck super.wai-logger;
|
wai-logger = dontCheck super.wai-logger;
|
||||||
|
@ -854,9 +864,6 @@ self: super: {
|
||||||
snap-templates = doJailbreak super.snap-templates; # https://github.com/snapframework/snap-templates/issues/22
|
snap-templates = doJailbreak super.snap-templates; # https://github.com/snapframework/snap-templates/issues/22
|
||||||
swagger2 = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontHaddock (dontCheck super.swagger2) else super.swagger2;
|
swagger2 = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontHaddock (dontCheck super.swagger2) else super.swagger2;
|
||||||
|
|
||||||
# hledger-lib requires the latest version of pretty-simple
|
|
||||||
hledger-lib = super.hledger-lib.override { pretty-simple = self.pretty-simple; };
|
|
||||||
|
|
||||||
# Copy hledger man pages from data directory into the proper place. This code
|
# Copy hledger man pages from data directory into the proper place. This code
|
||||||
# should be moved into the cabal2nix generator.
|
# should be moved into the cabal2nix generator.
|
||||||
hledger = overrideCabal super.hledger (drv: {
|
hledger = overrideCabal super.hledger (drv: {
|
||||||
|
@ -1284,16 +1291,34 @@ self: super: {
|
||||||
# https://github.com/kowainik/policeman/issues/57
|
# https://github.com/kowainik/policeman/issues/57
|
||||||
policeman = doJailbreak super.policeman;
|
policeman = doJailbreak super.policeman;
|
||||||
|
|
||||||
haskell-gi-base = addBuildDepends super.haskell-gi-base [ pkgs.gobject-introspection ];
|
# nixpkgs has bumped gdkpixbuf C lib, so we need gi-gdkpixbuf_2_0_26 to link against that.
|
||||||
|
# This leads to all this bumps which can be removed once stackage has haskell-gi 0.25.
|
||||||
|
haskell-gi = self.haskell-gi_0_25_0;
|
||||||
|
haskell-gi-base = addBuildDepends super.haskell-gi-base_0_25_0 [ pkgs.gobject-introspection ];
|
||||||
|
gi-glib = self.gi-glib_2_0_25;
|
||||||
|
gi-cairo = self.gi-cairo_1_0_25;
|
||||||
|
gi-gobject = self.gi-gobject_2_0_26;
|
||||||
|
gi-atk = self.gi-atk_2_0_23;
|
||||||
|
gi-gio = self.gi-gio_2_0_28;
|
||||||
|
gi-harfbuzz = self.gi-harfbuzz_0_0_4;
|
||||||
|
gi-javascriptcore = self.gi-javascriptcore_4_0_23;
|
||||||
|
gi-pango = self.gi-pango_1_0_24;
|
||||||
|
gi-soup = self.gi-soup_2_4_24;
|
||||||
|
gi-gdkpixbuf = self.gi-gdkpixbuf_2_0_26;
|
||||||
|
gi-gdk = self.gi-gdk_3_0_24;
|
||||||
|
gi-gtk = self.gi-gtk_3_0_37;
|
||||||
|
gi-webkit2 = self.gi-webkit2_4_0_27;
|
||||||
|
gi-cairo-render = doJailbreak super.gi-cairo-render;
|
||||||
|
gi-cairo-connector = doJailbreak super.gi-cairo-connector;
|
||||||
|
gi-gtk-hs = self.gi-gtk-hs_0_3_10;
|
||||||
|
gi-dbusmenu = self.gi-dbusmenu_0_4_9;
|
||||||
|
gi-xlib = self.gi-xlib_2_0_10;
|
||||||
|
gi-gdkx11 = self.gi-gdkx11_3_0_11;
|
||||||
|
gi-dbusmenugtk3 = self.gi-dbusmenugtk3_0_4_10;
|
||||||
|
|
||||||
# 2020-08-14: Needs some manual patching to be compatible with haskell-gi-base 0.24
|
# 2021-05-17: Needs some manual patching to be compatible with haskell-gi-base 0.25
|
||||||
# Created upstream PR @ https://github.com/ghcjs/jsaddle/pull/119
|
# Created upstream PR @ https://github.com/ghcjs/jsaddle/pull/119
|
||||||
jsaddle-webkit2gtk = appendPatch super.jsaddle-webkit2gtk (pkgs.fetchpatch {
|
jsaddle-webkit2gtk = appendPatch super.jsaddle-webkit2gtk ./patches/jsaddle-webkit2gtk.patch;
|
||||||
url = "https://github.com/ghcjs/jsaddle/compare/9727365...f842748.patch";
|
|
||||||
sha256 = "07l4l999lmlx7sqxf7v4f70rmxhx9r0cjblkgc4n0y6jin4iv1cb";
|
|
||||||
stripLen = 2;
|
|
||||||
extraPrefix = "";
|
|
||||||
});
|
|
||||||
|
|
||||||
# Missing -Iinclude parameter to doc-tests (pull has been accepted, so should be resolved when 0.5.3 released)
|
# Missing -Iinclude parameter to doc-tests (pull has been accepted, so should be resolved when 0.5.3 released)
|
||||||
# https://github.com/lehins/massiv/pull/104
|
# https://github.com/lehins/massiv/pull/104
|
||||||
|
@ -1790,4 +1815,74 @@ self: super: {
|
||||||
excludes = ["test/buildtest"];
|
excludes = ["test/buildtest"];
|
||||||
});
|
});
|
||||||
|
|
||||||
|
# workaround for https://github.com/peti/distribution-nixpkgs/issues/9
|
||||||
|
pam = super.pam.override { inherit (pkgs) pam; };
|
||||||
|
|
||||||
|
# Too strict version bounds on base:
|
||||||
|
# https://github.com/obsidiansystems/database-id/issues/1
|
||||||
|
database-id-class = doJailbreak super.database-id-class;
|
||||||
|
|
||||||
|
cabal2nix-unstable = overrideCabal super.cabal2nix-unstable {
|
||||||
|
passthru.updateScript = ../../../maintainers/scripts/haskell/update-cabal2nix-unstable.sh;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Too strict version bounds on base and optparse-applicative
|
||||||
|
# https://github.com/diagrams/diagrams-cairo/issues/77
|
||||||
|
diagrams-cairo = doJailbreak super.diagrams-cairo;
|
||||||
|
|
||||||
|
# Too strict version bounds on base
|
||||||
|
# https://github.com/gibiansky/IHaskell/issues/1217
|
||||||
|
ihaskell-display = doJailbreak super.ihaskell-display;
|
||||||
|
ihaskell-basic = doJailbreak super.ihaskell-basic;
|
||||||
|
|
||||||
|
# too strict bounds on QuickCheck
|
||||||
|
# https://github.com/HeinrichApfelmus/hyper-haskell/issues/42
|
||||||
|
hyper-extra = doJailbreak super.hyper-extra;
|
||||||
|
|
||||||
|
# Fixes too strict version bounds on regex libraries
|
||||||
|
# Presumably to be removed at the next release
|
||||||
|
yi-language = appendPatch super.yi-language (pkgs.fetchpatch {
|
||||||
|
url = "https://github.com/yi-editor/yi/commit/0d3bcb5ba4c237d57ce33a3dc39b63c56d890765.patch";
|
||||||
|
sha256 = "0r4mzngs0x1akqpajzx7ssa9rax977fvj5ra8d3grfbpx6z0nm01";
|
||||||
|
includes = [ "yi-language.cabal" ];
|
||||||
|
stripLen = 2;
|
||||||
|
extraPrefix = "";
|
||||||
|
});
|
||||||
|
|
||||||
|
# https://github.com/ghcjs/jsaddle/issues/123
|
||||||
|
jsaddle = overrideCabal super.jsaddle (drv: {
|
||||||
|
# lift conditional version constraint on ref-tf
|
||||||
|
postPatch = ''
|
||||||
|
sed -i 's/ref-tf.*,/ref-tf,/' jsaddle.cabal
|
||||||
|
'' + (drv.postPatch or "");
|
||||||
|
});
|
||||||
|
|
||||||
|
# Doctests fail on aarch64 due to a GHCi linking bug
|
||||||
|
# https://gitlab.haskell.org/ghc/ghc/-/issues/15275#note_295437
|
||||||
|
ad = overrideCabal super.ad {
|
||||||
|
doCheck = !pkgs.stdenv.hostPlatform.isAarch64;
|
||||||
|
};
|
||||||
|
trifecta = if pkgs.stdenv.hostPlatform.isAarch64 then dontCheck super.trifecta else super.trifecta;
|
||||||
|
vinyl = overrideCabal super.vinyl {
|
||||||
|
doCheck = !pkgs.stdenv.hostPlatform.isAarch64;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Tests need to lookup target triple x86_64-unknown-linux
|
||||||
|
# https://github.com/llvm-hs/llvm-hs/issues/334
|
||||||
|
llvm-hs = overrideCabal super.llvm-hs {
|
||||||
|
doCheck = pkgs.stdenv.targetPlatform.system == "x86_64-linux";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Fix build failure by picking patch from 8.5,
|
||||||
|
# we need this version of sbv for petrinizer
|
||||||
|
sbv_7_13 = appendPatch super.sbv_7_13
|
||||||
|
(pkgs.fetchpatch {
|
||||||
|
url = "https://github.com/LeventErkok/sbv/commit/57014b9c7c67dd9b63619a996e2c66e32c33c958.patch";
|
||||||
|
sha256 = "10npa8nh2413n6p6qld795qfkbld08icm02bspmk93y0kabpgmgm";
|
||||||
|
});
|
||||||
|
|
||||||
|
# Too strict bounds on ref-tf
|
||||||
|
# https://github.com/travitch/haggle/issues/4
|
||||||
|
haggle = doJailbreak super.haggle;
|
||||||
|
|
||||||
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
|
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
|
||||||
|
|
|
@ -98,4 +98,10 @@ self: super: {
|
||||||
# The test suite seems pretty broken.
|
# The test suite seems pretty broken.
|
||||||
base64-bytestring = dontCheck super.base64-bytestring;
|
base64-bytestring = dontCheck super.base64-bytestring;
|
||||||
|
|
||||||
|
# 5.6 introduced support for GHC 9.0.x, but hasn't landed in stackage yet
|
||||||
|
profunctors = super.profunctors_5_6_2;
|
||||||
|
|
||||||
|
# 5 introduced support for GHC 9.0.x, but hasn't landed in stackage yet
|
||||||
|
lens = super.lens_5_0_1;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,439 @@
|
||||||
|
# pkgs/development/haskell-modules/configuration-hackage2nix.yaml
|
||||||
|
|
||||||
|
compiler: ghc-8.10.4
|
||||||
|
|
||||||
|
core-packages:
|
||||||
|
- array-0.5.4.0
|
||||||
|
- base-4.14.1.0
|
||||||
|
- binary-0.8.8.0
|
||||||
|
- bytestring-0.10.12.0
|
||||||
|
- Cabal-3.2.1.0
|
||||||
|
- containers-0.6.2.1
|
||||||
|
- deepseq-1.4.4.0
|
||||||
|
- directory-1.3.6.0
|
||||||
|
- exceptions-0.10.4
|
||||||
|
- filepath-1.4.2.1
|
||||||
|
- ghc-8.10.4
|
||||||
|
- ghc-boot-8.10.4
|
||||||
|
- ghc-boot-th-8.10.4
|
||||||
|
- ghc-compact-0.1.0.0
|
||||||
|
- ghc-heap-8.10.4
|
||||||
|
- ghc-prim-0.6.1
|
||||||
|
- ghci-8.10.4
|
||||||
|
- haskeline-0.8.0.1
|
||||||
|
- hpc-0.6.1.0
|
||||||
|
- integer-gmp-1.0.3.0
|
||||||
|
- libiserv-8.10.4
|
||||||
|
- mtl-2.2.2
|
||||||
|
- parsec-3.1.14.0
|
||||||
|
- pretty-1.1.3.6
|
||||||
|
- process-1.6.9.0
|
||||||
|
- rts-1.0
|
||||||
|
- stm-2.5.0.0
|
||||||
|
- template-haskell-2.16.0.0
|
||||||
|
- terminfo-0.4.1.4
|
||||||
|
- text-1.2.4.1
|
||||||
|
- time-1.9.3
|
||||||
|
- transformers-0.5.6.2
|
||||||
|
- unix-2.7.2.2
|
||||||
|
- xhtml-3000.2.2.1
|
||||||
|
|
||||||
|
# Hack: The following package is a core package of GHCJS. If we don't declare
|
||||||
|
# it, then hackage2nix will generate a Hackage database where all dependants
|
||||||
|
# of this library are marked as "broken".
|
||||||
|
- ghcjs-base-0
|
||||||
|
|
||||||
|
# This is a list of packages with versions from the latest Stackage LTS release.
|
||||||
|
#
|
||||||
|
# The packages and versions in this list cause the `hackage2nix` tool to
|
||||||
|
# generate the package at the given version.
|
||||||
|
#
|
||||||
|
# For instance, with a line like the following:
|
||||||
|
#
|
||||||
|
# - aeson ==1.4.6.0
|
||||||
|
#
|
||||||
|
# `hackage2nix` will generate the `aeson` package at version 1.4.6.0 in the
|
||||||
|
# ./hackage-packages.nix file.
|
||||||
|
#
|
||||||
|
# Since the packages in the LTS package set are sometimes older than the latest
|
||||||
|
# on Hackage, `hackage2nix` is smart enough to also generate the latest version
|
||||||
|
# of a given package.
|
||||||
|
#
|
||||||
|
# In the above example with aeson, if there was version 1.5.0.0 of aeson
|
||||||
|
# available on Hackage, `hackage2nix` would generate two packages, `aeson`
|
||||||
|
# at version 1.4.6.0 and `aeson_1_5_0_0` at version 1.5.0.0.
|
||||||
|
#
|
||||||
|
# WARNING: This list is generated semiautomatically based on the most recent
|
||||||
|
# LTS package set. If you want to add entries to it, you must do so before the
|
||||||
|
# comment saying "# LTS Haskell x.y". Any changes after that comment will be
|
||||||
|
# lost the next time `update-stackage.sh` runs.
|
||||||
|
default-package-overrides:
|
||||||
|
# This was only intended for ghc-7.0.4, and has very old deps, one hidden behind a flag
|
||||||
|
- MissingH ==1.4.2.0
|
||||||
|
# gi-gdkx11-4.x requires gtk-4.x, which is still under development and
|
||||||
|
# not yet available in Nixpkgs
|
||||||
|
- gi-gdkx11 < 4
|
||||||
|
# Needs Cabal 3.4 for Setup.hs
|
||||||
|
- gi-javascriptcore < 4.0.23 #
|
||||||
|
- gi-soup < 2.4.24 #
|
||||||
|
- gi-webkit2 < 4.0.27 #
|
||||||
|
# To stay hls 1.0 compatible
|
||||||
|
- ghcide < 1.1
|
||||||
|
- hls-retrie-plugin < 1.0.0.1
|
||||||
|
- lsp < 1.2
|
||||||
|
- lsp-types < 1.2
|
||||||
|
- hls-plugin-api < 1.1.0.0
|
||||||
|
- hls-explicit-imports-plugin < 1.0.0.1
|
||||||
|
|
||||||
|
extra-packages:
|
||||||
|
- base16-bytestring < 1 # required for cabal-install etc.
|
||||||
|
- Cabal == 2.2.* # required for jailbreak-cabal etc.
|
||||||
|
- Cabal == 2.4.* # required for cabal-install etc.
|
||||||
|
- Cabal == 3.2.* # required for cabal-install etc.
|
||||||
|
- dependent-map == 0.2.4.0 # required by Hasura 1.3.1, 2020-08-20
|
||||||
|
- dependent-sum == 0.4 # required by Hasura 1.3.1, 2020-08-20
|
||||||
|
- dhall == 1.29.0 # required for ats-pkg
|
||||||
|
- Diff < 0.4 # required by liquidhaskell-0.8.10.2: https://github.com/ucsd-progsys/liquidhaskell/issues/1729
|
||||||
|
- ghc-tcplugins-extra ==0.3.2 # required for polysemy-plugin 0.2.5.0
|
||||||
|
- haddock == 2.23.* # required on GHC < 8.10.x
|
||||||
|
- haddock-api == 2.23.* # required on GHC < 8.10.x
|
||||||
|
- haddock-library ==1.7.* # required by stylish-cabal-0.5.0.0
|
||||||
|
- happy == 1.19.9 # for purescript
|
||||||
|
- hinotify == 0.3.9 # for xmonad-0.26: https://github.com/kolmodin/hinotify/issues/29
|
||||||
|
- hlint < 3.3 # We don‘t have ghc-lib-parser 9.0.X yet.
|
||||||
|
- immortal == 0.2.2.1 # required by Hasura 1.3.1, 2020-08-20
|
||||||
|
- lsp-test < 0.14 # needed for hls 1.0.0
|
||||||
|
- mmorph == 1.1.3 # Newest working version of mmorph on ghc 8.6.5. needed for hls
|
||||||
|
- network == 2.6.3.1 # required by pkgs/games/hedgewars/default.nix, 2020-11-15
|
||||||
|
- optparse-applicative < 0.16 # needed for niv-0.2.19
|
||||||
|
- refinery == 0.3.* # required by hls-tactics-plugin-1.0.0.0
|
||||||
|
- resolv == 0.1.1.2 # required to build cabal-install-3.0.0.0 with pre ghc-8.8.x
|
||||||
|
- sbv == 7.13 # required for pkgs.petrinizer
|
||||||
|
- gi-gdk == 3.0.24 # 2021-05-07: For haskell-gi 0.25 without gtk4
|
||||||
|
- gi-gtk < 4.0 # 2021-05-07: For haskell-gi 0.25 without gtk4
|
||||||
|
- gi-gdkx11 == 3.0.11 # 2021-05-07: For haskell-gi 0.25 without gtk4
|
||||||
|
|
||||||
|
package-maintainers:
|
||||||
|
peti:
|
||||||
|
- cabal-install
|
||||||
|
- cabal2nix
|
||||||
|
- cabal2spec
|
||||||
|
- distribution-nixpkgs
|
||||||
|
- funcmp
|
||||||
|
- git-annex
|
||||||
|
- hackage-db
|
||||||
|
- hledger
|
||||||
|
- hledger-interest
|
||||||
|
- hledger-ui
|
||||||
|
- hledger-web
|
||||||
|
- hopenssl
|
||||||
|
- hsdns
|
||||||
|
- hsemail
|
||||||
|
- hsyslog
|
||||||
|
- jailbreak-cabal
|
||||||
|
- language-nix
|
||||||
|
- logging-facade-syslog
|
||||||
|
- nix-paths
|
||||||
|
- pandoc
|
||||||
|
- structured-haskell-mode
|
||||||
|
- titlecase
|
||||||
|
- xmonad
|
||||||
|
- xmonad-contrib
|
||||||
|
gridaphobe:
|
||||||
|
- located-base
|
||||||
|
jb55:
|
||||||
|
# - bson-lens
|
||||||
|
- cased
|
||||||
|
- elm-export-persistent
|
||||||
|
# - pipes-mongodb
|
||||||
|
- streaming-wai
|
||||||
|
kiwi:
|
||||||
|
- config-schema
|
||||||
|
- config-value
|
||||||
|
- glirc
|
||||||
|
- irc-core
|
||||||
|
- matterhorn
|
||||||
|
- mattermost-api
|
||||||
|
- mattermost-api-qc
|
||||||
|
- Unique
|
||||||
|
psibi:
|
||||||
|
- path-pieces
|
||||||
|
- persistent
|
||||||
|
- persistent-sqlite
|
||||||
|
- persistent-template
|
||||||
|
- shakespeare
|
||||||
|
abbradar:
|
||||||
|
- Agda
|
||||||
|
roberth:
|
||||||
|
- arion-compose
|
||||||
|
- hercules-ci-agent
|
||||||
|
- hercules-ci-api
|
||||||
|
- hercules-ci-api-agent
|
||||||
|
- hercules-ci-api-core
|
||||||
|
- hercules-ci-cli
|
||||||
|
- hercules-ci-cnix-expr
|
||||||
|
- hercules-ci-cnix-store
|
||||||
|
cdepillabout:
|
||||||
|
- pretty-simple
|
||||||
|
- spago
|
||||||
|
terlar:
|
||||||
|
- nix-diff
|
||||||
|
maralorn:
|
||||||
|
- reflex-dom
|
||||||
|
- cabal-fmt
|
||||||
|
- shh
|
||||||
|
- neuron
|
||||||
|
- releaser
|
||||||
|
- taskwarrior
|
||||||
|
- haskell-language-server
|
||||||
|
- shake-bench
|
||||||
|
- iCalendar
|
||||||
|
- stm-containers
|
||||||
|
sorki:
|
||||||
|
- cayenne-lpp
|
||||||
|
- data-stm32
|
||||||
|
- gcodehs
|
||||||
|
- nix-derivation
|
||||||
|
- nix-narinfo
|
||||||
|
- ttn
|
||||||
|
- ttn-client
|
||||||
|
- update-nix-fetchgit
|
||||||
|
- zre
|
||||||
|
utdemir:
|
||||||
|
- nix-tree
|
||||||
|
turion:
|
||||||
|
- rhine
|
||||||
|
- rhine-gloss
|
||||||
|
- essence-of-live-coding
|
||||||
|
- essence-of-live-coding-gloss
|
||||||
|
- essence-of-live-coding-pulse
|
||||||
|
- essence-of-live-coding-quickcheck
|
||||||
|
- Agda
|
||||||
|
- dunai
|
||||||
|
- finite-typelits
|
||||||
|
- pulse-simple
|
||||||
|
- simple-affine-space
|
||||||
|
sternenseemann:
|
||||||
|
# also maintain upstream package
|
||||||
|
- spacecookie
|
||||||
|
- gopher-proxy
|
||||||
|
# other packages I can help out for
|
||||||
|
- systemd
|
||||||
|
- fast-logger
|
||||||
|
- flat
|
||||||
|
- Euterpea2
|
||||||
|
- utc
|
||||||
|
- socket
|
||||||
|
- gitit
|
||||||
|
- yarn-lock
|
||||||
|
- yarn2nix
|
||||||
|
poscat:
|
||||||
|
- hinit
|
||||||
|
bdesham:
|
||||||
|
- pinboard-notes-backup
|
||||||
|
|
||||||
|
unsupported-platforms:
|
||||||
|
alsa-mixer: [ x86_64-darwin ]
|
||||||
|
alsa-pcm: [ x86_64-darwin ]
|
||||||
|
alsa-seq: [ x86_64-darwin ]
|
||||||
|
AWin32Console: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
|
||||||
|
barbly: [ i686-linux, x86_64-linux, aarch64-linux, armv7l-linux ]
|
||||||
|
bdcs-api: [ x86_64-darwin ]
|
||||||
|
bindings-sane: [ x86_64-darwin ]
|
||||||
|
bindings-directfb: [ x86_64-darwin ]
|
||||||
|
cut-the-crap: [ x86_64-darwin ]
|
||||||
|
d3d11binding: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
|
||||||
|
DirectSound: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
|
||||||
|
dx9base: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
|
||||||
|
dx9d3d: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
|
||||||
|
dx9d3dx: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
|
||||||
|
Euterpea: [ x86_64-darwin ]
|
||||||
|
freenect: [ x86_64-darwin ]
|
||||||
|
FTGL: [ x86_64-darwin ]
|
||||||
|
gi-dbusmenugtk3: [ x86_64-darwin ]
|
||||||
|
gi-dbusmenu: [ x86_64-darwin ]
|
||||||
|
gi-ggit: [ x86_64-darwin ]
|
||||||
|
gi-ibus: [ x86_64-darwin ]
|
||||||
|
gi-ostree: [ x86_64-darwin ]
|
||||||
|
gi-vte: [ x86_64-darwin ]
|
||||||
|
gnome-keyring: [ x86_64-darwin ]
|
||||||
|
gtk-mac-integration: [ i686-linux, x86_64-linux, aarch64-linux, armv7l-linux ]
|
||||||
|
gtk-sni-tray: [ x86_64-darwin ]
|
||||||
|
gtk-sni-tray: [ x86_64-darwin ]
|
||||||
|
haskell-snake: [ x86_64-darwin ]
|
||||||
|
hcwiid: [ x86_64-darwin ]
|
||||||
|
HFuse: [ x86_64-darwin ]
|
||||||
|
hidapi: [ x86_64-darwin ]
|
||||||
|
hommage-ds: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
|
||||||
|
HSoM: [ x86_64-darwin ]
|
||||||
|
iwlib: [ x86_64-darwin ]
|
||||||
|
libmodbus: [ x86_64-darwin ]
|
||||||
|
libsystemd-journal: [ x86_64-darwin ]
|
||||||
|
libsystemd-journal: [ x86_64-darwin ]
|
||||||
|
libtelnet: [ x86_64-darwin ]
|
||||||
|
libzfs: [ x86_64-darwin ]
|
||||||
|
linearEqSolver: [ aarch64-linux ]
|
||||||
|
lio-fs: [ x86_64-darwin ]
|
||||||
|
logging-facade-journald: [ x86_64-darwin ]
|
||||||
|
midi-alsa: [ x86_64-darwin ]
|
||||||
|
mpi-hs: [ aarch64-linux, x86_64-darwin ]
|
||||||
|
mpi-hs-binary: [ aarch64-linux, x86_64-darwin ]
|
||||||
|
mpi-hs-cereal: [ aarch64-linux, x86_64-darwin ]
|
||||||
|
mpi-hs-store: [ aarch64-linux, x86_64-darwin ]
|
||||||
|
mplayer-spot: [ aarch64-linux ]
|
||||||
|
oculus: [ x86_64-darwin ]
|
||||||
|
pam: [ x86_64-darwin ]
|
||||||
|
piyo: [ x86_64-darwin ]
|
||||||
|
PortMidi-simple: [ x86_64-darwin ]
|
||||||
|
PortMidi: [ x86_64-darwin ]
|
||||||
|
posix-api: [ x86_64-darwin ]
|
||||||
|
Raincat: [ x86_64-darwin ]
|
||||||
|
reactivity: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
|
||||||
|
reflex-dom: [ x86_64-darwin ]
|
||||||
|
rtlsdr: [ x86_64-darwin ]
|
||||||
|
rubberband: [ x86_64-darwin ]
|
||||||
|
sbv: [ aarch64-linux ]
|
||||||
|
sdl2-mixer: [ x86_64-darwin ]
|
||||||
|
sdl2-ttf: [ x86_64-darwin ]
|
||||||
|
synthesizer-alsa: [ x86_64-darwin ]
|
||||||
|
taffybar: [ x86_64-darwin ]
|
||||||
|
termonad: [ x86_64-darwin ]
|
||||||
|
tokyotyrant-haskell: [ x86_64-darwin ]
|
||||||
|
udev: [ x86_64-darwin ]
|
||||||
|
vrpn: [ x86_64-darwin ]
|
||||||
|
vulkan: [ i686-linux, armv7l-linux, x86_64-darwin ]
|
||||||
|
VulkanMemoryAllocator: [ i686-linux, armv7l-linux ]
|
||||||
|
VulkanMemoryAllocator: [ x86_64-darwin ]
|
||||||
|
vulkan-utils: [ x86_64-darwin ]
|
||||||
|
webkit2gtk3-javascriptcore: [ x86_64-darwin ]
|
||||||
|
Win32-console: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
|
||||||
|
Win32-dhcp-server: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
|
||||||
|
Win32-errors: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
|
||||||
|
Win32-extras: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
|
||||||
|
Win32: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
|
||||||
|
Win32-junction-point: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
|
||||||
|
Win32-notify: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
|
||||||
|
Win32-security: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
|
||||||
|
Win32-services: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
|
||||||
|
Win32-services-wrapper: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
|
||||||
|
xattr: [ x86_64-darwin ]
|
||||||
|
xgboost-haskell: [ aarch64-linux, armv7l-linux ]
|
||||||
|
XInput: [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
|
||||||
|
xmobar: [ x86_64-darwin ]
|
||||||
|
xmonad-extras: [ x86_64-darwin ]
|
||||||
|
xmonad-volume: [ x86_64-darwin ]
|
||||||
|
|
||||||
|
dont-distribute-packages:
|
||||||
|
# Depends on shine, which is a ghcjs project.
|
||||||
|
- shine-varying
|
||||||
|
|
||||||
|
# these packages depend on software with an unfree license
|
||||||
|
- accelerate-bignum
|
||||||
|
- accelerate-blas
|
||||||
|
- accelerate-cublas
|
||||||
|
- accelerate-cuda
|
||||||
|
- accelerate-cufft
|
||||||
|
- accelerate-examples
|
||||||
|
- accelerate-fft
|
||||||
|
- accelerate-fourier-benchmark
|
||||||
|
- accelerate-io-array
|
||||||
|
- accelerate-io-bmp
|
||||||
|
- accelerate-io-bytestring
|
||||||
|
- accelerate-io-cereal
|
||||||
|
- accelerate-io-JuicyPixels
|
||||||
|
- accelerate-io-repa
|
||||||
|
- accelerate-io-vector
|
||||||
|
- accelerate-kullback-liebler
|
||||||
|
- accelerate-llvm-ptx
|
||||||
|
- bindings-yices
|
||||||
|
- boolector
|
||||||
|
- ccelerate-cuda
|
||||||
|
- containers-accelerate
|
||||||
|
- cplex-hs
|
||||||
|
- cublas
|
||||||
|
- cuda # 2020-08-18 because of dependency nvidia-x11
|
||||||
|
- cufft
|
||||||
|
- cusolver
|
||||||
|
- cusparse
|
||||||
|
- gloss-raster-accelerate
|
||||||
|
- hashable-accelerate
|
||||||
|
- libnvvm
|
||||||
|
- matlab
|
||||||
|
- nvvm
|
||||||
|
- Obsidian
|
||||||
|
- odpic-raw
|
||||||
|
- patch-image
|
||||||
|
# license for input data unclear, dependency not on Hackage
|
||||||
|
# see https://github.com/NixOS/nixpkgs/pull/88604
|
||||||
|
- tensorflow-mnist
|
||||||
|
- yices-easy
|
||||||
|
- yices-painless
|
||||||
|
|
||||||
|
# these packages don't evaluate because they have broken (system) dependencies
|
||||||
|
- XML
|
||||||
|
- comark
|
||||||
|
- couch-simple
|
||||||
|
- diagrams-hsqml
|
||||||
|
- diagrams-reflex
|
||||||
|
- dialog
|
||||||
|
- fltkhs-demos
|
||||||
|
- fltkhs-fluid-demos
|
||||||
|
- fltkhs-hello-world
|
||||||
|
- fltkhs-themes
|
||||||
|
- ghcjs-dom-hello
|
||||||
|
- ghcjs-dom-webkit
|
||||||
|
- gi-javascriptcore
|
||||||
|
- gi-webkit
|
||||||
|
- gi-webkit2
|
||||||
|
- gi-webkit2webextension
|
||||||
|
- gsmenu
|
||||||
|
- haste-gapi
|
||||||
|
- haste-perch
|
||||||
|
- hbro
|
||||||
|
- hplayground
|
||||||
|
- hs-mesos
|
||||||
|
- hsqml
|
||||||
|
- hsqml-datamodel
|
||||||
|
- hsqml-datamodel-vinyl
|
||||||
|
- hsqml-datemodel-vinyl
|
||||||
|
- hsqml-demo-manic
|
||||||
|
- hsqml-demo-morris
|
||||||
|
- hsqml-demo-notes
|
||||||
|
- hsqml-demo-notes
|
||||||
|
- hsqml-demo-samples
|
||||||
|
- hsqml-morris
|
||||||
|
- hsqml-morris
|
||||||
|
- hstorchat
|
||||||
|
- imprevu-happstack
|
||||||
|
- jsaddle-webkit2gtk
|
||||||
|
- jsaddle-webkitgtk
|
||||||
|
- jsc
|
||||||
|
- lambdacat
|
||||||
|
- leksah
|
||||||
|
- manatee-all
|
||||||
|
- manatee-browser
|
||||||
|
- manatee-reader
|
||||||
|
- markup-preview
|
||||||
|
- nomyx-api
|
||||||
|
- nomyx-core
|
||||||
|
- nomyx-language
|
||||||
|
- nomyx-library
|
||||||
|
- nomyx-server
|
||||||
|
- passman-cli
|
||||||
|
- passman-core
|
||||||
|
- reflex-dom-colonnade
|
||||||
|
- reflex-dom-contrib
|
||||||
|
- reflex-dom-fragment-shader-canvas
|
||||||
|
- reflex-dom-helpers
|
||||||
|
- reflex-jsx
|
||||||
|
- sneathlane-haste
|
||||||
|
- spike
|
||||||
|
- tianbar
|
||||||
|
- trasa-reflex
|
||||||
|
- treersec
|
||||||
|
- wai-middleware-brotli
|
||||||
|
- web-browser-in-haskell
|
||||||
|
- webkit
|
||||||
|
- webkitgtk3
|
||||||
|
- webkitgtk3-javascriptcore
|
||||||
|
- websnap
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,121 @@
|
||||||
|
# This file is automatically generated by
|
||||||
|
# maintainers/scripts/haskell/regenerate-transitive-broken-packages.sh
|
||||||
|
# It is supposed to list all haskellPackages that cannot evaluate because they
|
||||||
|
# depend on a dependency marked as broken.
|
||||||
|
dont-distribute-packages:
|
||||||
|
- AesonBson
|
||||||
|
- HGamer3D-API
|
||||||
|
- HGamer3D-CAudio-Binding
|
||||||
|
- HGamer3D-OIS-Binding
|
||||||
|
- HipmunkPlayground
|
||||||
|
- Holumbus-Distribution
|
||||||
|
- Holumbus-MapReduce
|
||||||
|
- Holumbus-Storage
|
||||||
|
- KiCS
|
||||||
|
- KiCS-debugger
|
||||||
|
- KiCS-prophecy
|
||||||
|
- RESTng
|
||||||
|
- ViennaRNA-bindings
|
||||||
|
- XML
|
||||||
|
- acme-safe
|
||||||
|
- aeson-bson
|
||||||
|
- approx-rand-test
|
||||||
|
- barley
|
||||||
|
- bson-mapping
|
||||||
|
- clash-prelude-quickcheck
|
||||||
|
- click-clack
|
||||||
|
- cloudyfs
|
||||||
|
- cognimeta-utils
|
||||||
|
- comark
|
||||||
|
- comonad-random
|
||||||
|
- containers-accelerate
|
||||||
|
- definitive-graphics
|
||||||
|
- ecdsa
|
||||||
|
- effective-aspects-mzv
|
||||||
|
- eliminators_0_8
|
||||||
|
- fltkhs-demos
|
||||||
|
- fltkhs-fluid-demos
|
||||||
|
- fltkhs-hello-world
|
||||||
|
- fltkhs-themes
|
||||||
|
- fluent-logger-conduit
|
||||||
|
- gi-gtk_4_0_4
|
||||||
|
- goat
|
||||||
|
- gridfs
|
||||||
|
- gsmenu
|
||||||
|
- gtk2hs-cast-glade
|
||||||
|
- gtk2hs-cast-gnomevfs
|
||||||
|
- gtk2hs-cast-gtkglext
|
||||||
|
- gtk2hs-cast-gtksourceview2
|
||||||
|
- hakyll-contrib-i18n
|
||||||
|
- hascat
|
||||||
|
- hascat-lib
|
||||||
|
- hascat-setup
|
||||||
|
- hascat-system
|
||||||
|
- haste-gapi
|
||||||
|
- haste-perch
|
||||||
|
- hatexmpp3
|
||||||
|
- hplayground
|
||||||
|
- hs2dot
|
||||||
|
- hsqml-datamodel-vinyl
|
||||||
|
- hsqml-demo-morris
|
||||||
|
- hsqml-morris
|
||||||
|
- hubris
|
||||||
|
- hxt-binary
|
||||||
|
- hxt-filter
|
||||||
|
- imprevu-happstack
|
||||||
|
- javaclass
|
||||||
|
- keera-posture
|
||||||
|
- lambdabot-xmpp
|
||||||
|
- leksah
|
||||||
|
- liquidhaskell-cabal-demo
|
||||||
|
- mp3decoder
|
||||||
|
- network-pgi
|
||||||
|
- nomyx-api
|
||||||
|
- nomyx-core
|
||||||
|
- nomyx-language
|
||||||
|
- nomyx-library
|
||||||
|
- nomyx-server
|
||||||
|
- one-liner_2_0
|
||||||
|
- openpgp-crypto-api
|
||||||
|
- patch-image
|
||||||
|
- perdure
|
||||||
|
- persistent-mysql_2_12_1_0
|
||||||
|
- persistent-postgresql_2_12_1_1
|
||||||
|
- persistent-sqlite_2_12_0_0
|
||||||
|
- pontarius-mediaserver
|
||||||
|
- pontarius-xmpp-extras
|
||||||
|
- pontarius-xpmn
|
||||||
|
- procrastinating-structure
|
||||||
|
- reactive
|
||||||
|
- redHandlers
|
||||||
|
- reflex-dom-colonnade
|
||||||
|
- regex-genex
|
||||||
|
- ribosome
|
||||||
|
- ribosome-root
|
||||||
|
- ribosome-test
|
||||||
|
- ripple
|
||||||
|
- robot
|
||||||
|
- roguestar-engine
|
||||||
|
- roguestar-gl
|
||||||
|
- roguestar-glut
|
||||||
|
- route-generator
|
||||||
|
- sc2hs
|
||||||
|
- sexpresso
|
||||||
|
- shine-varying
|
||||||
|
- singleton-nats_0_4_6
|
||||||
|
- smtp2mta
|
||||||
|
- sneathlane-haste
|
||||||
|
- sock2stream
|
||||||
|
- starrover2
|
||||||
|
- text-xml-generic
|
||||||
|
- trasa-reflex
|
||||||
|
- treersec
|
||||||
|
- tuple-hlist
|
||||||
|
- wai-dispatch
|
||||||
|
- wai-hastache
|
||||||
|
- wai-middleware-brotli
|
||||||
|
- wai-session-tokyocabinet
|
||||||
|
- wx
|
||||||
|
- wxc
|
||||||
|
- wxcore
|
||||||
|
|
|
@ -657,10 +657,6 @@ self: super: builtins.intersectAttrs super {
|
||||||
|
|
||||||
spago =
|
spago =
|
||||||
let
|
let
|
||||||
# spago requires an older version of megaparsec, but it appears to work
|
|
||||||
# fine with newer versions.
|
|
||||||
spagoWithOverrides = doJailbreak super.spago;
|
|
||||||
|
|
||||||
docsSearchApp_0_0_10 = pkgs.fetchurl {
|
docsSearchApp_0_0_10 = pkgs.fetchurl {
|
||||||
url = "https://github.com/purescript/purescript-docs-search/releases/download/v0.0.10/docs-search-app.js";
|
url = "https://github.com/purescript/purescript-docs-search/releases/download/v0.0.10/docs-search-app.js";
|
||||||
sha256 = "0m5ah29x290r0zk19hx2wix2djy7bs4plh9kvjz6bs9r45x25pa5";
|
sha256 = "0m5ah29x290r0zk19hx2wix2djy7bs4plh9kvjz6bs9r45x25pa5";
|
||||||
|
@ -681,17 +677,8 @@ self: super: builtins.intersectAttrs super {
|
||||||
sha256 = "1hjdprm990vyxz86fgq14ajn0lkams7i00h8k2i2g1a0hjdwppq6";
|
sha256 = "1hjdprm990vyxz86fgq14ajn0lkams7i00h8k2i2g1a0hjdwppq6";
|
||||||
};
|
};
|
||||||
|
|
||||||
spagoFixHpack = overrideCabal spagoWithOverrides (drv: {
|
spagoDocs = overrideCabal super.spago (drv: {
|
||||||
postUnpack = (drv.postUnpack or "") + ''
|
postUnpack = (drv.postUnpack or "") + ''
|
||||||
# The source for spago is pulled directly from GitHub. It uses a
|
|
||||||
# package.yaml file with hpack, not a .cabal file. In the package.yaml file,
|
|
||||||
# it uses defaults from the master branch of the hspec repo. It will try to
|
|
||||||
# fetch these at build-time (but it will fail if running in the sandbox).
|
|
||||||
#
|
|
||||||
# The following line modifies the package.yaml to not pull in
|
|
||||||
# defaults from the hspec repo.
|
|
||||||
substituteInPlace "$sourceRoot/package.yaml" --replace 'defaults: hspec/hspec@master' ""
|
|
||||||
|
|
||||||
# Spago includes the following two files directly into the binary
|
# Spago includes the following two files directly into the binary
|
||||||
# with Template Haskell. They are fetched at build-time from the
|
# with Template Haskell. They are fetched at build-time from the
|
||||||
# `purescript-docs-search` repo above. If they cannot be fetched at
|
# `purescript-docs-search` repo above. If they cannot be fetched at
|
||||||
|
@ -717,9 +704,8 @@ self: super: builtins.intersectAttrs super {
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
# Because of the problem above with pulling in hspec defaults to the
|
# Tests require network access.
|
||||||
# package.yaml file, the tests are disabled.
|
spagoWithoutChecks = dontCheck spagoDocs;
|
||||||
spagoWithoutChecks = dontCheck spagoFixHpack;
|
|
||||||
in
|
in
|
||||||
spagoWithoutChecks;
|
spagoWithoutChecks;
|
||||||
|
|
||||||
|
@ -826,4 +812,59 @@ self: super: builtins.intersectAttrs super {
|
||||||
|
|
||||||
# Tests access internet
|
# Tests access internet
|
||||||
prune-juice = dontCheck super.prune-juice;
|
prune-juice = dontCheck super.prune-juice;
|
||||||
|
|
||||||
|
# based on https://github.com/gibiansky/IHaskell/blob/aafeabef786154d81ab7d9d1882bbcd06fc8c6c4/release.nix
|
||||||
|
ihaskell = overrideCabal super.ihaskell (drv: {
|
||||||
|
configureFlags = (drv.configureFlags or []) ++ [
|
||||||
|
# ihaskell's cabal file forces building a shared executable,
|
||||||
|
# but without passing --enable-executable-dynamic, the RPATH
|
||||||
|
# contains /build/ and leads to a build failure with nix
|
||||||
|
"--enable-executable-dynamic"
|
||||||
|
];
|
||||||
|
preCheck = ''
|
||||||
|
export HOME=$TMPDIR/home
|
||||||
|
export PATH=$PWD/dist/build/ihaskell:$PATH
|
||||||
|
export GHC_PACKAGE_PATH=$PWD/dist/package.conf.inplace/:$GHC_PACKAGE_PATH
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
|
||||||
|
# tests need to execute the built executable
|
||||||
|
stutter = overrideCabal super.stutter (drv: {
|
||||||
|
preCheck = ''
|
||||||
|
export PATH=dist/build/stutter:$PATH
|
||||||
|
'' + (drv.preCheck or "");
|
||||||
|
});
|
||||||
|
|
||||||
|
# Install man page and generate shell completions
|
||||||
|
pinboard-notes-backup = overrideCabal
|
||||||
|
(generateOptparseApplicativeCompletion "pnbackup" super.pinboard-notes-backup)
|
||||||
|
(drv: {
|
||||||
|
postInstall = ''
|
||||||
|
install -D man/pnbackup.1 $out/share/man/man1/pnbackup.1
|
||||||
|
'' + (drv.postInstall or "");
|
||||||
|
});
|
||||||
|
|
||||||
|
FractalArt = overrideCabal super.FractalArt (drv: {
|
||||||
|
librarySystemDepends = pkgs.lib.optionals pkgs.stdenv.hostPlatform.isDarwin [
|
||||||
|
pkgs.darwin.libobjc
|
||||||
|
pkgs.darwin.apple_sdk.frameworks.AppKit
|
||||||
|
] ++ (drv.librarySystemDepends or []);
|
||||||
|
});
|
||||||
|
|
||||||
|
arbtt = overrideCabal super.arbtt (drv: {
|
||||||
|
librarySystemDepends = pkgs.lib.optionals pkgs.stdenv.hostPlatform.isDarwin [
|
||||||
|
pkgs.darwin.apple_sdk.frameworks.Foundation
|
||||||
|
pkgs.darwin.apple_sdk.frameworks.Carbon
|
||||||
|
pkgs.darwin.apple_sdk.frameworks.IOKit
|
||||||
|
] ++ (drv.librarySystemDepends or []);
|
||||||
|
});
|
||||||
|
|
||||||
|
# set more accurate set of platforms instead of maintaining
|
||||||
|
# an ever growing list of platforms to exclude via unsupported-platforms
|
||||||
|
cpuid = overrideCabal super.cpuid {
|
||||||
|
platforms = pkgs.lib.platforms.x86;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Pass the correct libarchive into the package.
|
||||||
|
streamly-archive = super.streamly-archive.override { archive = pkgs.libarchive; };
|
||||||
}
|
}
|
||||||
|
|
|
@ -464,7 +464,12 @@ stdenv.mkDerivation ({
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
|
||||||
${if !isLibrary then "${setupCommand} install" else ''
|
${if !isLibrary && buildTarget == "" then "${setupCommand} install"
|
||||||
|
# ^^ if the project is not a library, and no build target is specified, we can just use "install".
|
||||||
|
else if !isLibrary then "${setupCommand} copy ${buildTarget}"
|
||||||
|
# ^^ if the project is not a library, and we have a build target, then use "copy" to install
|
||||||
|
# just the target specified; "install" will error here, since not all targets have been built.
|
||||||
|
else ''
|
||||||
${setupCommand} copy
|
${setupCommand} copy
|
||||||
local packageConfDir="$out/lib/${ghc.name}/package.conf.d"
|
local packageConfDir="$out/lib/${ghc.name}/package.conf.d"
|
||||||
local packageConfFile="$packageConfDir/${pname}-${version}.conf"
|
local packageConfFile="$packageConfDir/${pname}-${version}.conf"
|
||||||
|
|
1245
pkgs/development/haskell-modules/hackage-packages.nix
generated
1245
pkgs/development/haskell-modules/hackage-packages.nix
generated
File diff suppressed because it is too large
Load diff
|
@ -196,6 +196,16 @@ rec {
|
||||||
appendPatch = drv: x: appendPatches drv [x];
|
appendPatch = drv: x: appendPatches drv [x];
|
||||||
appendPatches = drv: xs: overrideCabal drv (drv: { patches = (drv.patches or []) ++ xs; });
|
appendPatches = drv: xs: overrideCabal drv (drv: { patches = (drv.patches or []) ++ xs; });
|
||||||
|
|
||||||
|
/* Set a specific build target instead of compiling all targets in the package.
|
||||||
|
* For example, imagine we have a .cabal file with a library, and 2 executables "dev" and "server".
|
||||||
|
* We can build only "server" and not wait on the compilation of "dev" by using setBuildTarget as follows:
|
||||||
|
*
|
||||||
|
* setBuildTarget (callCabal2nix "thePackageName" thePackageSrc {}) "server"
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
setBuildTargets = drv: xs: overrideCabal drv (drv: { buildTarget = lib.concatStringsSep " " xs; });
|
||||||
|
setBuildTarget = drv: x: setBuildTargets drv [x];
|
||||||
|
|
||||||
doHyperlinkSource = drv: overrideCabal drv (drv: { hyperlinkSource = true; });
|
doHyperlinkSource = drv: overrideCabal drv (drv: { hyperlinkSource = true; });
|
||||||
dontHyperlinkSource = drv: overrideCabal drv (drv: { hyperlinkSource = false; });
|
dontHyperlinkSource = drv: overrideCabal drv (drv: { hyperlinkSource = false; });
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,10 @@ self: super: {
|
||||||
|
|
||||||
ldgallery-compiler = self.callPackage ../../tools/graphics/ldgallery/compiler { };
|
ldgallery-compiler = self.callPackage ../../tools/graphics/ldgallery/compiler { };
|
||||||
|
|
||||||
|
# Used by maintainers/scripts/regenerate-hackage-packages.sh, and generated
|
||||||
|
# from the latest master instead of the current version on Hackage.
|
||||||
|
cabal2nix-unstable = self.callPackage ./cabal2nix-unstable.nix { };
|
||||||
|
|
||||||
# https://github.com/channable/vaultenv/issues/1
|
# https://github.com/channable/vaultenv/issues/1
|
||||||
vaultenv = self.callPackage ../tools/haskell/vaultenv { };
|
vaultenv = self.callPackage ../tools/haskell/vaultenv { };
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
diff '--color=auto' '--color=never' -r --unified hnix-0.12.0.1/hnix.cabal hnix-patched/hnix.cabal
|
||||||
|
--- hnix-0.12.0.1/hnix.cabal 2001-09-09 03:46:40.000000000 +0200
|
||||||
|
+++ hnix-patched/hnix.cabal 2021-05-05 12:07:38.388267353 +0200
|
||||||
|
@@ -430,7 +430,7 @@
|
||||||
|
, parser-combinators >= 1.0.1 && < 1.3
|
||||||
|
, prettyprinter >= 1.7.0 && < 1.8
|
||||||
|
, process >= 1.6.3 && < 1.7
|
||||||
|
- , ref-tf >= 0.4.0 && < 0.5
|
||||||
|
+ , ref-tf >= 0.5
|
||||||
|
, regex-tdfa >= 1.2.3 && < 1.4
|
||||||
|
, scientific >= 0.3.6 && < 0.4
|
||||||
|
, semialign >= 1 && < 1.2
|
||||||
|
diff '--color=auto' '--color=never' -r --unified hnix-0.12.0.1/src/Nix/Fresh.hs hnix-patched/src/Nix/Fresh.hs
|
||||||
|
--- hnix-0.12.0.1/src/Nix/Fresh.hs 2001-09-09 03:46:40.000000000 +0200
|
||||||
|
+++ hnix-patched/src/Nix/Fresh.hs 2021-05-05 12:07:45.841267497 +0200
|
||||||
|
@@ -65,18 +65,3 @@
|
||||||
|
|
||||||
|
runFreshIdT :: Functor m => Var m i -> FreshIdT i m a -> m a
|
||||||
|
runFreshIdT i m = runReaderT (unFreshIdT m) i
|
||||||
|
-
|
||||||
|
--- Orphan instance needed by Infer.hs and Lint.hs
|
||||||
|
-
|
||||||
|
--- Since there's no forking, it's automatically atomic.
|
||||||
|
-instance MonadAtomicRef (ST s) where
|
||||||
|
- atomicModifyRef r f = do
|
||||||
|
- v <- readRef r
|
||||||
|
- let (a, b) = f v
|
||||||
|
- writeRef r a
|
||||||
|
- return b
|
||||||
|
- atomicModifyRef' r f = do
|
||||||
|
- v <- readRef r
|
||||||
|
- let (a, b) = f v
|
||||||
|
- writeRef r $! a
|
||||||
|
- return b
|
|
@ -0,0 +1,65 @@
|
||||||
|
From 09f44aa3271390c14f92a3f196ab2ba475b4907f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Malte Brandy <malte.brandy@maralorn.de>
|
||||||
|
Date: Fri, 14 Aug 2020 17:52:28 +0200
|
||||||
|
Subject: [PATCH 1/2] jsaddle-webkit2gtk: Bump haskell-gi-base upper bound
|
||||||
|
|
||||||
|
---
|
||||||
|
jsaddle-webkit2gtk/jsaddle-webkit2gtk.cabal | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/jsaddle-webkit2gtk/jsaddle-webkit2gtk.cabal b/jsaddle-webkit2gtk/jsaddle-webkit2gtk.cabal
|
||||||
|
index 93d0b77..60c2312 100644
|
||||||
|
--- a/jsaddle-webkit2gtk.cabal
|
||||||
|
+++ b/jsaddle-webkit2gtk.cabal
|
||||||
|
@@ -35,7 +35,7 @@ library
|
||||||
|
gi-gtk >=3.0.17 && <3.1,
|
||||||
|
gi-webkit2 >=4.0.14 && <4.1,
|
||||||
|
gi-javascriptcore >=4.0.14 && <4.1,
|
||||||
|
- haskell-gi-base >=0.20 && <0.24,
|
||||||
|
+ haskell-gi-base >=0.20 && <0.26,
|
||||||
|
haskell-gi-overloading >=0.0 && < 2.0,
|
||||||
|
jsaddle >=0.9.4.0 && <0.10,
|
||||||
|
text >=1.2.1.3 && <1.3,
|
||||||
|
|
||||||
|
From f8427480ca827b2bee1d9b33dfa6118e14fe2924 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Malte Brandy <malte.brandy@maralorn.de>
|
||||||
|
Date: Fri, 14 Aug 2020 18:10:26 +0200
|
||||||
|
Subject: [PATCH 2/2] Locally define noAdjustment and noCancellable
|
||||||
|
|
||||||
|
Those two convenience definitions disappeared from gi-gio and gi-gtk in
|
||||||
|
newer versions.
|
||||||
|
---
|
||||||
|
.../src/Language/Javascript/JSaddle/WebKitGTK.hs | 10 ++++++++--
|
||||||
|
1 file changed, 8 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/jsaddle-webkit2gtk/src/Language/Javascript/JSaddle/WebKitGTK.hs b/jsaddle-webkit2gtk/src/Language/Javascript/JSaddle/WebKitGTK.hs
|
||||||
|
index 898dac2..5249477 100644
|
||||||
|
--- a/src/Language/Javascript/JSaddle/WebKitGTK.hs
|
||||||
|
+++ b/src/Language/Javascript/JSaddle/WebKitGTK.hs
|
||||||
|
@@ -55,11 +55,11 @@ import GI.GLib (timeoutAdd, idleAdd, pattern PRIORITY_HIGH, pattern PRIORITY_DEF
|
||||||
|
import qualified GI.Gtk as Gtk (main, init)
|
||||||
|
import GI.Gtk
|
||||||
|
(windowSetPosition, windowSetDefaultSize, windowNew,
|
||||||
|
- scrolledWindowNew, noAdjustment, containerAdd,
|
||||||
|
+ scrolledWindowNew, Adjustment, containerAdd,
|
||||||
|
WindowType(..), WindowPosition(..), widgetDestroy,
|
||||||
|
widgetGetToplevel, widgetShowAll, onWidgetDestroy,
|
||||||
|
mainQuit)
|
||||||
|
-import GI.Gio (noCancellable)
|
||||||
|
+import GI.Gio (Cancellable)
|
||||||
|
import GI.JavaScriptCore (valueToString)
|
||||||
|
import GI.WebKit2
|
||||||
|
(scriptDialogPromptSetText, scriptDialogPromptGetDefaultText,
|
||||||
|
@@ -82,6 +82,12 @@ import Language.Javascript.JSaddle (JSM, Results, Batch)
|
||||||
|
import Language.Javascript.JSaddle.Run (runJavaScript)
|
||||||
|
import Language.Javascript.JSaddle.Run.Files (initState, runBatch, ghcjsHelpers)
|
||||||
|
|
||||||
|
+noAdjustment :: Maybe Adjustment
|
||||||
|
+noAdjustment = Nothing
|
||||||
|
+
|
||||||
|
+noCancellable :: Maybe Cancellable
|
||||||
|
+noCancellable = Nothing
|
||||||
|
+
|
||||||
|
quitWebView :: WebView -> IO ()
|
||||||
|
quitWebView wv = postGUIAsync $ do w <- widgetGetToplevel wv --TODO: Shouldn't this be postGUISync?
|
||||||
|
widgetDestroy w
|
|
@ -1,5 +1,5 @@
|
||||||
{ lib, stdenv, ghc, llvmPackages, packages, symlinkJoin, makeWrapper
|
{ lib, stdenv, ghc, llvmPackages, packages, symlinkJoin, makeWrapper
|
||||||
, withLLVM ? false
|
, withLLVM ? !(stdenv.hostPlatform.isx86_64 || stdenv.hostPlatform.isPowerPC)
|
||||||
, postBuild ? ""
|
, postBuild ? ""
|
||||||
, ghcLibdir ? null # only used by ghcjs, when resolving plugins
|
, ghcLibdir ? null # only used by ghcjs, when resolving plugins
|
||||||
}:
|
}:
|
||||||
|
|
|
@ -1,35 +1,37 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, jshon, electron_3
|
{ lib, stdenvNoCC, fetchFromGitHub, jshon, electron_10
|
||||||
, runtimeShell, hyper-haskell-server, extra-packages ? [] }:
|
, runtimeShell, hyper-haskell-server, extra-packages ? [] }:
|
||||||
|
|
||||||
let
|
let
|
||||||
binPath = lib.makeBinPath ([ hyper-haskell-server ] ++ extra-packages);
|
binPath = lib.makeBinPath ([ hyper-haskell-server ] ++ extra-packages);
|
||||||
electron = electron_3;
|
electron = electron_10;
|
||||||
in stdenv.mkDerivation rec {
|
in stdenvNoCC.mkDerivation rec {
|
||||||
pname = "hyper-haskell";
|
pname = "hyper-haskell";
|
||||||
version = "0.1.0.2";
|
version = "0.2.3.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "HeinrichApfelmus";
|
owner = "HeinrichApfelmus";
|
||||||
repo = "hyper-haskell";
|
repo = "hyper-haskell";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1k38h7qx12z7463z8466pji0nwfkp4qkg7q83kns2mzmwmw5jnmb";
|
sha256 = "1nmkry4wh6a2dy98fcs81mq2p7zhxp1k0f4m3szr6fm3j1zwrd43";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = extra-packages;
|
propagatedBuildInputs = extra-packages;
|
||||||
|
|
||||||
buildCommand = ''
|
dontBuild = true;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
mkdir -p $out/bin $out/share/hyper-haskell/worksheets $out/share/applications $out/share/icons/hicolor/scalable/apps $out/share/mime/packages
|
mkdir -p $out/bin $out/share/hyper-haskell/worksheets $out/share/applications $out/share/icons/hicolor/scalable/apps $out/share/mime/packages
|
||||||
|
|
||||||
# Electron app
|
# Electron app
|
||||||
cp -R $src/app $out
|
cp -R app $out
|
||||||
|
|
||||||
# Desktop Launcher
|
# Desktop Launcher
|
||||||
cp $src/resources/hyper-haskell.desktop $out/share/applications/hyper-haskell.desktop
|
cp resources/hyper-haskell.desktop $out/share/applications/hyper-haskell.desktop
|
||||||
cp $src/resources/icons/icon.svg $out/share/icons/hicolor/scalable/apps/hyper-haskell.svg
|
cp resources/icons/icon.svg $out/share/icons/hicolor/scalable/apps/hyper-haskell.svg
|
||||||
cp $src/resources/shared-mime-info.xml $out/share/mime/packages/hyper-haskell.xml
|
cp resources/shared-mime-info.xml $out/share/mime/packages/hyper-haskell.xml
|
||||||
|
|
||||||
# install example worksheets with backend set to nix
|
# install example worksheets with backend set to nix
|
||||||
for worksheet in "$src/worksheets/"*.hhs; do
|
for worksheet in "worksheets/"*.hhs; do
|
||||||
${jshon}/bin/jshon -e settings -s nix -i packageTool -p < $worksheet > $out/share/hyper-haskell/worksheets/`basename $worksheet`
|
${jshon}/bin/jshon -e settings -s nix -i packageTool -p < $worksheet > $out/share/hyper-haskell/worksheets/`basename $worksheet`
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
|
@ -2,9 +2,8 @@
|
||||||
let
|
let
|
||||||
ihaskellEnv = ghcWithPackages (self: [
|
ihaskellEnv = ghcWithPackages (self: [
|
||||||
self.ihaskell
|
self.ihaskell
|
||||||
(haskell.lib.doJailbreak self.ihaskell-blaze)
|
self.ihaskell-blaze
|
||||||
(haskell.lib.doJailbreak self.ihaskell-diagrams)
|
self.ihaskell-diagrams
|
||||||
(haskell.lib.doJailbreak self.ihaskell-display)
|
|
||||||
] ++ packages self);
|
] ++ packages self);
|
||||||
ihaskellSh = writeScriptBin "ihaskell-notebook" ''
|
ihaskellSh = writeScriptBin "ihaskell-notebook" ''
|
||||||
#! ${stdenv.shell}
|
#! ${stdenv.shell}
|
||||||
|
|
|
@ -1,37 +1,38 @@
|
||||||
|
# This has been automatically generated by the script
|
||||||
|
# ./update.sh. This should not be changed by hand.
|
||||||
{ mkDerivation, aeson, aeson-pretty, ansi-terminal, async-pool
|
{ mkDerivation, aeson, aeson-pretty, ansi-terminal, async-pool
|
||||||
, base, bower-json, bytestring, Cabal, containers, cryptonite
|
, base, bower-json, bytestring, containers, cryptonite, dhall
|
||||||
, dhall, directory, either, extra, fetchgit, file-embed, filepath
|
, directory, either, extra, fetchgit, file-embed, filepath, foldl
|
||||||
, foldl, fsnotify, generic-lens, Glob, hpack, hspec, hspec-discover
|
, fsnotify, generic-lens, Glob, hspec, hspec-discover
|
||||||
, hspec-megaparsec, http-client, http-conduit, http-types
|
, hspec-megaparsec, http-client, http-conduit, http-types
|
||||||
, lens-family-core, lib, megaparsec, mtl, network-uri, open-browser
|
, lens-family-core, lib, megaparsec, mtl, network-uri, open-browser
|
||||||
, optparse-applicative, prettyprinter, process, QuickCheck, retry
|
, optparse-applicative, prettyprinter, process, QuickCheck, retry
|
||||||
, rio, rio-orphans, safe, semver-range, stm, stringsearch
|
, rio, rio-orphans, safe, semver-range, stm, stringsearch, tar
|
||||||
, tar, template-haskell, temporary, text, time, transformers
|
, template-haskell, temporary, text, time, transformers, turtle
|
||||||
, turtle, unliftio, unordered-containers, utf8-string, versions
|
, unliftio, unordered-containers, utf8-string, versions, with-utf8
|
||||||
, with-utf8, zlib
|
, zlib
|
||||||
}:
|
}:
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
pname = "spago";
|
pname = "spago";
|
||||||
version = "0.20.1";
|
version = "0.20.2";
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://github.com/purescript/spago.git";
|
url = "https://github.com/purescript/spago.git";
|
||||||
sha256 = "1j2yi6zz9m0k0298wllin39h244v8b2rx87yxxgdbjg77kn96vxg";
|
sha256 = "11jh3bszvl8zfi4xcabpx43jply28dxdywd6fadxspaa05jdxxn2";
|
||||||
rev = "41ad739614f4f2c2356ac921308f9475a5a918f4";
|
rev = "0f38c9153e46f30e9d87963e181f5c1a595f4b64";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
isLibrary = true;
|
isLibrary = true;
|
||||||
isExecutable = true;
|
isExecutable = true;
|
||||||
libraryHaskellDepends = [
|
libraryHaskellDepends = [
|
||||||
aeson aeson-pretty ansi-terminal async-pool base bower-json
|
aeson aeson-pretty ansi-terminal async-pool base bower-json
|
||||||
bytestring Cabal containers cryptonite dhall directory either
|
bytestring containers cryptonite dhall directory either file-embed
|
||||||
file-embed filepath foldl fsnotify generic-lens Glob http-client
|
filepath foldl fsnotify generic-lens Glob http-client http-conduit
|
||||||
http-conduit http-types lens-family-core megaparsec mtl network-uri
|
http-types lens-family-core megaparsec mtl network-uri open-browser
|
||||||
open-browser optparse-applicative prettyprinter process retry rio
|
optparse-applicative prettyprinter process retry rio rio-orphans
|
||||||
rio-orphans safe semver-range stm stringsearch tar template-haskell
|
safe semver-range stm stringsearch tar template-haskell temporary
|
||||||
temporary text time transformers turtle unliftio
|
text time transformers turtle unliftio unordered-containers
|
||||||
unordered-containers utf8-string versions with-utf8 zlib
|
utf8-string versions with-utf8 zlib
|
||||||
];
|
];
|
||||||
libraryToolDepends = [ hpack ];
|
|
||||||
executableHaskellDepends = [
|
executableHaskellDepends = [
|
||||||
ansi-terminal base text turtle with-utf8
|
ansi-terminal base text turtle with-utf8
|
||||||
];
|
];
|
||||||
|
@ -40,7 +41,6 @@ mkDerivation {
|
||||||
process QuickCheck temporary text turtle versions
|
process QuickCheck temporary text turtle versions
|
||||||
];
|
];
|
||||||
testToolDepends = [ hspec-discover ];
|
testToolDepends = [ hspec-discover ];
|
||||||
prePatch = "hpack";
|
|
||||||
homepage = "https://github.com/purescript/spago#readme";
|
homepage = "https://github.com/purescript/spago#readme";
|
||||||
license = lib.licenses.bsd3;
|
license = lib.licenses.bsd3;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env nix-shell
|
#!/usr/bin/env nix-shell
|
||||||
#!nix-shell -i bash -p cabal2nix curl jq
|
#!nix-shell -i bash -p cabal2nix curl jq haskellPackages.cabal2nix-unstable -I nixpkgs=.
|
||||||
#
|
#
|
||||||
# This script will update the spago derivation to the latest version using
|
# This script will update the spago derivation to the latest version using
|
||||||
# cabal2nix.
|
# cabal2nix.
|
||||||
|
@ -25,7 +25,10 @@ new_version=$(curl --silent "https://api.github.com/repos/purescript/spago/relea
|
||||||
echo "Updating spago from old version $old_version to new version $new_version."
|
echo "Updating spago from old version $old_version to new version $new_version."
|
||||||
echo "Running cabal2nix and outputting to ${spago_derivation_file}..."
|
echo "Running cabal2nix and outputting to ${spago_derivation_file}..."
|
||||||
|
|
||||||
cabal2nix --revision "$new_version" "https://github.com/purescript/spago.git" > "$spago_derivation_file"
|
echo "# This has been automatically generated by the script" > "$spago_derivation_file"
|
||||||
|
echo "# ./update.sh. This should not be changed by hand." >> "$spago_derivation_file"
|
||||||
|
|
||||||
|
cabal2nix --revision "$new_version" "https://github.com/purescript/spago.git" >> "$spago_derivation_file"
|
||||||
|
|
||||||
# TODO: This should ideally also automatically update the docsSearchVersion
|
# TODO: This should ideally also automatically update the docsSearchVersion
|
||||||
# from pkgs/development/haskell/configuration-nix.nix.
|
# from pkgs/development/haskell/configuration-nix.nix.
|
||||||
|
|
|
@ -102,6 +102,6 @@ mkDerivation rec {
|
||||||
hedgehog or hedgehogs after a player's or CPU turn is shown only when
|
hedgehog or hedgehogs after a player's or CPU turn is shown only when
|
||||||
all movement on the battlefield has ceased).'';
|
all movement on the battlefield has ceased).'';
|
||||||
maintainers = with maintainers; [ kragniz fpletz ];
|
maintainers = with maintainers; [ kragniz fpletz ];
|
||||||
inherit (ghc.meta) platforms;
|
inherit (fpc.meta) platforms;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,8 +22,7 @@ with pkgs;
|
||||||
cc-wrapper-libcxx-9 = callPackage ./cc-wrapper { stdenv = llvmPackages_9.libcxxStdenv; };
|
cc-wrapper-libcxx-9 = callPackage ./cc-wrapper { stdenv = llvmPackages_9.libcxxStdenv; };
|
||||||
stdenv-inputs = callPackage ./stdenv-inputs { };
|
stdenv-inputs = callPackage ./stdenv-inputs { };
|
||||||
|
|
||||||
haskell-shellFor = callPackage ./haskell-shellFor { };
|
haskell = callPackage ./haskell { };
|
||||||
haskell-documentationTarball = callPackage ./haskell-documentationTarball { };
|
|
||||||
|
|
||||||
cc-multilib-gcc = callPackage ./cc-wrapper/multilib.nix { stdenv = gccMultiStdenv; };
|
cc-multilib-gcc = callPackage ./cc-wrapper/multilib.nix { stdenv = gccMultiStdenv; };
|
||||||
cc-multilib-clang = callPackage ./cc-wrapper/multilib.nix { stdenv = clangMultiStdenv; };
|
cc-multilib-clang = callPackage ./cc-wrapper/multilib.nix { stdenv = clangMultiStdenv; };
|
||||||
|
|
7
pkgs/test/haskell/default.nix
Normal file
7
pkgs/test/haskell/default.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{ lib, callPackage }:
|
||||||
|
|
||||||
|
lib.recurseIntoAttrs {
|
||||||
|
shellFor = callPackage ./shellFor { };
|
||||||
|
documentationTarball = callPackage ./documentationTarball { };
|
||||||
|
setBuildTarget = callPackage ./setBuildTarget { };
|
||||||
|
}
|
4
pkgs/test/haskell/setBuildTarget/Bar.hs
Normal file
4
pkgs/test/haskell/setBuildTarget/Bar.hs
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
module Main where
|
||||||
|
|
||||||
|
main :: IO ()
|
||||||
|
main = putStrLn "Hello, Bar!"
|
4
pkgs/test/haskell/setBuildTarget/Foo.hs
Normal file
4
pkgs/test/haskell/setBuildTarget/Foo.hs
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
module Main where
|
||||||
|
|
||||||
|
main :: IO ()
|
||||||
|
main = putStrLn "Hello, Foo!"
|
2
pkgs/test/haskell/setBuildTarget/Setup.hs
Normal file
2
pkgs/test/haskell/setBuildTarget/Setup.hs
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
import Distribution.Simple
|
||||||
|
main = defaultMain
|
38
pkgs/test/haskell/setBuildTarget/default.nix
Normal file
38
pkgs/test/haskell/setBuildTarget/default.nix
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
{ pkgs, haskellPackages }:
|
||||||
|
|
||||||
|
let
|
||||||
|
# This can be regenerated by running `cabal2nix .` in the current directory.
|
||||||
|
pkgDef =
|
||||||
|
{ mkDerivation, base, lib }:
|
||||||
|
mkDerivation {
|
||||||
|
pname = "haskell-setBuildTarget";
|
||||||
|
version = "0.1.0.0";
|
||||||
|
src = ./.;
|
||||||
|
isLibrary = false;
|
||||||
|
isExecutable = true;
|
||||||
|
executableHaskellDepends = [ base ];
|
||||||
|
license = lib.licenses.bsd3;
|
||||||
|
};
|
||||||
|
|
||||||
|
drv = haskellPackages.callPackage pkgDef {};
|
||||||
|
|
||||||
|
test = target: excluded:
|
||||||
|
let only = pkgs.haskell.lib.setBuildTarget drv target;
|
||||||
|
in ''
|
||||||
|
if [[ ! -f "${only}/bin/${target}" ]]; then
|
||||||
|
echo "${target} was not built"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -f "${only}/bin/${excluded}" ]]; then
|
||||||
|
echo "${excluded} was built, when it should not have been"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
|
||||||
|
in pkgs.runCommand "test haskell.lib.setBuildTarget" {} ''
|
||||||
|
${test "foo" "bar"}
|
||||||
|
${test "bar" "foo"}
|
||||||
|
touch "$out"
|
||||||
|
''
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
cabal-version: >=1.10
|
||||||
|
name: haskell-setBuildTarget
|
||||||
|
version: 0.1.0.0
|
||||||
|
author: Isaac Shapira
|
||||||
|
maintainer: fresheyeball@protonmail.com
|
||||||
|
build-type: Simple
|
||||||
|
|
||||||
|
executable foo
|
||||||
|
main-is: Foo.hs
|
||||||
|
build-depends: base
|
||||||
|
default-language: Haskell2010
|
||||||
|
|
||||||
|
executable bar
|
||||||
|
main-is: Bar.hs
|
||||||
|
build-depends: base
|
||||||
|
default-language: Haskell2010
|
|
@ -1,22 +1,22 @@
|
||||||
{ lib, haskellPackages, cabal-install }:
|
{ lib, writeText, haskellPackages, cabal-install }:
|
||||||
|
|
||||||
(haskellPackages.shellFor {
|
(haskellPackages.shellFor {
|
||||||
packages = p: [ p.database-id-class p.constraints ];
|
packages = p: [ p.constraints p.linear ];
|
||||||
nativeBuildInputs = [ cabal-install ];
|
nativeBuildInputs = [ cabal-install ];
|
||||||
phases = [ "unpackPhase" "buildPhase" "installPhase" ];
|
phases = [ "unpackPhase" "buildPhase" "installPhase" ];
|
||||||
unpackPhase = ''
|
unpackPhase = ''
|
||||||
sourceRoot=$(pwd)/scratch
|
sourceRoot=$(pwd)/scratch
|
||||||
mkdir -p "$sourceRoot"
|
mkdir -p "$sourceRoot"
|
||||||
cd "$sourceRoot"
|
cd "$sourceRoot"
|
||||||
tar -xf ${haskellPackages.database-id-class.src}
|
|
||||||
tar -xf ${haskellPackages.constraints.src}
|
tar -xf ${haskellPackages.constraints.src}
|
||||||
cp ${builtins.toFile "cabal.project" "packages: database-id-class* constraints*"} cabal.project
|
tar -xf ${haskellPackages.linear.src}
|
||||||
|
cp ${writeText "cabal.project" "packages: constraints* linear*"} cabal.project
|
||||||
'';
|
'';
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
export HOME=$(mktemp -d)
|
export HOME=$(mktemp -d)
|
||||||
mkdir -p $HOME/.cabal
|
mkdir -p $HOME/.cabal
|
||||||
touch $HOME/.cabal/config
|
touch $HOME/.cabal/config
|
||||||
cabal v2-build --offline --verbose database-id-class constraints --ghc-options="-O0 -j$NIX_BUILD_CORES"
|
cabal v2-build --offline --verbose constraints linear --ghc-options="-O0 -j$NIX_BUILD_CORES"
|
||||||
'';
|
'';
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
touch $out
|
touch $out
|
|
@ -8673,9 +8673,7 @@ in
|
||||||
|
|
||||||
stunnel = callPackage ../tools/networking/stunnel { };
|
stunnel = callPackage ../tools/networking/stunnel { };
|
||||||
|
|
||||||
stutter = haskell.lib.overrideCabal (haskell.lib.justStaticExecutables haskellPackages.stutter) (drv: {
|
stutter = haskell.lib.justStaticExecutables haskellPackages.stutter;
|
||||||
preCheck = "export PATH=dist/build/stutter:$PATH";
|
|
||||||
});
|
|
||||||
|
|
||||||
strongswan = callPackage ../tools/networking/strongswan { };
|
strongswan = callPackage ../tools/networking/strongswan { };
|
||||||
strongswanTNC = strongswan.override { enableTNC = true; };
|
strongswanTNC = strongswan.override { enableTNC = true; };
|
||||||
|
@ -23828,14 +23826,7 @@ in
|
||||||
|
|
||||||
pinboard = with python3Packages; toPythonApplication pinboard;
|
pinboard = with python3Packages; toPythonApplication pinboard;
|
||||||
|
|
||||||
pinboard-notes-backup = haskell.lib.overrideCabal
|
pinboard-notes-backup = haskell.lib.justStaticExecutables haskellPackages.pinboard-notes-backup;
|
||||||
(haskell.lib.generateOptparseApplicativeCompletion "pnbackup"
|
|
||||||
haskellPackages.pinboard-notes-backup)
|
|
||||||
(drv: {
|
|
||||||
postInstall = ''
|
|
||||||
install -D man/pnbackup.1 $out/share/man/man1/pnbackup.1
|
|
||||||
'' + (drv.postInstall or "");
|
|
||||||
});
|
|
||||||
|
|
||||||
pixelnuke = callPackage ../applications/graphics/pixelnuke { };
|
pixelnuke = callPackage ../applications/graphics/pixelnuke { };
|
||||||
|
|
||||||
|
@ -26287,9 +26278,7 @@ in
|
||||||
# customConfig = builtins.readFile ./tabbed.config.h;
|
# customConfig = builtins.readFile ./tabbed.config.h;
|
||||||
};
|
};
|
||||||
|
|
||||||
taffybar = callPackage ../applications/window-managers/taffybar {
|
taffybar = callPackage ../applications/window-managers/taffybar {};
|
||||||
inherit (haskellPackages) ghcWithPackages;
|
|
||||||
};
|
|
||||||
|
|
||||||
tagainijisho = callPackage ../applications/office/tagainijisho {};
|
tagainijisho = callPackage ../applications/office/tagainijisho {};
|
||||||
|
|
||||||
|
|
265
pkgs/top-level/release-haskell.nix
Normal file
265
pkgs/top-level/release-haskell.nix
Normal file
|
@ -0,0 +1,265 @@
|
||||||
|
/*
|
||||||
|
To debug this expression you can use `hydra-eval-jobs` from
|
||||||
|
`pkgs.hydra-unstable` which prints the jobset description
|
||||||
|
to `stdout`:
|
||||||
|
|
||||||
|
$ hydra-eval-jobs -I . pkgs/top-level/release-haskell.nix
|
||||||
|
*/
|
||||||
|
{ supportedSystems ? [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" ] }:
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
releaseLib = import ./release-lib.nix {
|
||||||
|
inherit supportedSystems;
|
||||||
|
};
|
||||||
|
|
||||||
|
inherit (releaseLib)
|
||||||
|
pkgs
|
||||||
|
packagePlatforms
|
||||||
|
mapTestOn
|
||||||
|
aggregate
|
||||||
|
;
|
||||||
|
|
||||||
|
inherit (pkgs) lib;
|
||||||
|
|
||||||
|
# helper function which traverses a (nested) set
|
||||||
|
# of derivations produced by mapTestOn and flattens
|
||||||
|
# it to a list of derivations suitable to be passed
|
||||||
|
# to `releaseTools.aggregate` as constituents.
|
||||||
|
accumulateDerivations = jobList:
|
||||||
|
lib.concatMap (
|
||||||
|
attrs:
|
||||||
|
if lib.isDerivation attrs
|
||||||
|
then [ attrs ]
|
||||||
|
else if lib.isAttrs attrs
|
||||||
|
then accumulateDerivations (lib.attrValues attrs)
|
||||||
|
else []
|
||||||
|
) jobList;
|
||||||
|
|
||||||
|
# names of all subsets of `pkgs.haskell.packages`
|
||||||
|
compilerNames = lib.mapAttrs (name: _: name) pkgs.haskell.packages;
|
||||||
|
|
||||||
|
# list of all compilers to test specific packages on
|
||||||
|
all = with compilerNames; [
|
||||||
|
ghc884
|
||||||
|
ghc8104
|
||||||
|
ghc901
|
||||||
|
];
|
||||||
|
|
||||||
|
# packagePlatforms applied to `haskell.packages.*`
|
||||||
|
compilerPlatforms = lib.mapAttrs
|
||||||
|
(_: v: packagePlatforms v)
|
||||||
|
pkgs.haskell.packages;
|
||||||
|
|
||||||
|
# This function lets you specify specific packages
|
||||||
|
# which are to be tested on a list of specific GHC
|
||||||
|
# versions and returns a job set for all specified
|
||||||
|
# combinations. See `jobs` below for an example.
|
||||||
|
versionedCompilerJobs = config: mapTestOn {
|
||||||
|
haskell.packages =
|
||||||
|
(lib.mapAttrs (
|
||||||
|
ghc: jobs:
|
||||||
|
lib.filterAttrs (
|
||||||
|
jobName: platforms:
|
||||||
|
lib.elem ghc (config."${jobName}" or [])
|
||||||
|
) jobs
|
||||||
|
) compilerPlatforms);
|
||||||
|
};
|
||||||
|
|
||||||
|
# hydra jobs for `pkgs` of which we import a subset of
|
||||||
|
pkgsPlatforms = packagePlatforms pkgs;
|
||||||
|
|
||||||
|
# names of packages in an attribute set that are maintained
|
||||||
|
maintainedPkgNames = set: builtins.attrNames
|
||||||
|
(lib.filterAttrs (
|
||||||
|
_: v: builtins.length (v.meta.maintainers or []) > 0
|
||||||
|
) set);
|
||||||
|
|
||||||
|
jobs = mapTestOn {
|
||||||
|
haskellPackages = packagePlatforms pkgs.haskellPackages;
|
||||||
|
haskell.compiler = packagePlatforms pkgs.haskell.compiler;
|
||||||
|
|
||||||
|
tests = let
|
||||||
|
testPlatforms = packagePlatforms pkgs.tests;
|
||||||
|
in {
|
||||||
|
haskell = testPlatforms.haskell;
|
||||||
|
writers = testPlatforms.writers;
|
||||||
|
};
|
||||||
|
|
||||||
|
# top-level packages that depend on haskellPackages
|
||||||
|
inherit (pkgsPlatforms)
|
||||||
|
agda
|
||||||
|
arion
|
||||||
|
bench
|
||||||
|
bustle
|
||||||
|
blucontrol
|
||||||
|
cabal-install
|
||||||
|
cabal2nix
|
||||||
|
cachix
|
||||||
|
carp
|
||||||
|
cedille
|
||||||
|
client-ip-echo
|
||||||
|
darcs
|
||||||
|
dconf2nix
|
||||||
|
dhall
|
||||||
|
dhall-bash
|
||||||
|
dhall-docs
|
||||||
|
dhall-lsp-server
|
||||||
|
dhall-json
|
||||||
|
dhall-nix
|
||||||
|
dhall-text
|
||||||
|
diagrams-builder
|
||||||
|
elm2nix
|
||||||
|
fffuu
|
||||||
|
futhark
|
||||||
|
ghcid
|
||||||
|
git-annex
|
||||||
|
git-brunch
|
||||||
|
gitit
|
||||||
|
glirc
|
||||||
|
hadolint
|
||||||
|
haskell-ci
|
||||||
|
haskell-language-server
|
||||||
|
hasura-graphql-engine
|
||||||
|
hci
|
||||||
|
hercules-ci-agent
|
||||||
|
hinit
|
||||||
|
hedgewars
|
||||||
|
hledger
|
||||||
|
hledger-iadd
|
||||||
|
hledger-interest
|
||||||
|
hledger-ui
|
||||||
|
hledger-web
|
||||||
|
hlint
|
||||||
|
hpack
|
||||||
|
hyper-haskell
|
||||||
|
hyper-haskell-server-with-packages
|
||||||
|
icepeak
|
||||||
|
idris
|
||||||
|
ihaskell
|
||||||
|
jl
|
||||||
|
koka
|
||||||
|
krank
|
||||||
|
lambdabot
|
||||||
|
ldgallery
|
||||||
|
madlang
|
||||||
|
matterhorn
|
||||||
|
mueval
|
||||||
|
neuron-notes
|
||||||
|
niv
|
||||||
|
nix-delegate
|
||||||
|
nix-deploy
|
||||||
|
nix-diff
|
||||||
|
nix-linter
|
||||||
|
nix-output-monitor
|
||||||
|
nix-script
|
||||||
|
nix-tree
|
||||||
|
nixfmt
|
||||||
|
nota
|
||||||
|
ormolu
|
||||||
|
pandoc
|
||||||
|
pakcs
|
||||||
|
petrinizer
|
||||||
|
place-cursor-at
|
||||||
|
pinboard-notes-backup
|
||||||
|
pretty-simple
|
||||||
|
shake
|
||||||
|
shellcheck
|
||||||
|
sourceAndTags
|
||||||
|
spacecookie
|
||||||
|
spago
|
||||||
|
splot
|
||||||
|
stack
|
||||||
|
stack2nix
|
||||||
|
stutter
|
||||||
|
stylish-haskell
|
||||||
|
taffybar
|
||||||
|
tamarin-prover
|
||||||
|
taskell
|
||||||
|
termonad-with-packages
|
||||||
|
tldr-hs
|
||||||
|
tweet-hs
|
||||||
|
update-nix-fetchgit
|
||||||
|
uqm
|
||||||
|
uuagc
|
||||||
|
vaultenv
|
||||||
|
wstunnel
|
||||||
|
xmobar
|
||||||
|
xmonad-with-packages
|
||||||
|
yi
|
||||||
|
zsh-git-prompt
|
||||||
|
;
|
||||||
|
|
||||||
|
elmPackages.elm = pkgsPlatforms.elmPackages.elm;
|
||||||
|
} // versionedCompilerJobs {
|
||||||
|
# Packages which should be checked on more than the
|
||||||
|
# default GHC version. This list can be used to test
|
||||||
|
# the state of the package set with newer compilers
|
||||||
|
# and to confirm that critical packages for the
|
||||||
|
# package sets (like Cabal, jailbreak-cabal) are
|
||||||
|
# working as expected.
|
||||||
|
cabal-install = all;
|
||||||
|
Cabal_3_4_0_0 = with compilerNames; [ ghc884 ghc8104 ];
|
||||||
|
funcmp = all;
|
||||||
|
haskell-language-server = all;
|
||||||
|
hoogle = all;
|
||||||
|
hsdns = all;
|
||||||
|
jailbreak-cabal = all;
|
||||||
|
language-nix = all;
|
||||||
|
nix-paths = all;
|
||||||
|
titlecase = all;
|
||||||
|
} // {
|
||||||
|
mergeable = pkgs.releaseTools.aggregate {
|
||||||
|
name = "haskell-updates-mergeable";
|
||||||
|
meta = {
|
||||||
|
description = ''
|
||||||
|
Critical haskell packages that should work at all times,
|
||||||
|
serves as minimum requirement for an update merge
|
||||||
|
'';
|
||||||
|
maintainers = lib.teams.haskell.members;
|
||||||
|
};
|
||||||
|
constituents = accumulateDerivations [
|
||||||
|
# haskell specific tests
|
||||||
|
jobs.tests.haskell
|
||||||
|
jobs.tests.writers # writeHaskell{,Bin}
|
||||||
|
# important top-level packages
|
||||||
|
jobs.cabal-install
|
||||||
|
jobs.cabal2nix
|
||||||
|
jobs.cachix
|
||||||
|
jobs.darcs
|
||||||
|
jobs.haskell-language-server
|
||||||
|
jobs.hledger
|
||||||
|
jobs.hledger-ui
|
||||||
|
jobs.hpack
|
||||||
|
jobs.niv
|
||||||
|
jobs.pandoc
|
||||||
|
jobs.stack
|
||||||
|
jobs.stylish-haskell
|
||||||
|
# important haskell (library) packages
|
||||||
|
jobs.haskellPackages.cabal-plan
|
||||||
|
jobs.haskellPackages.distribution-nixpkgs
|
||||||
|
jobs.haskellPackages.hackage-db
|
||||||
|
jobs.haskellPackages.policeman
|
||||||
|
jobs.haskellPackages.xmonad
|
||||||
|
jobs.haskellPackages.xmonad-contrib
|
||||||
|
# haskell packages maintained by @peti
|
||||||
|
# imported from the old hydra jobset
|
||||||
|
jobs.haskellPackages.hopenssl
|
||||||
|
jobs.haskellPackages.hsemail
|
||||||
|
jobs.haskellPackages.hsyslog
|
||||||
|
];
|
||||||
|
};
|
||||||
|
maintained = pkgs.releaseTools.aggregate {
|
||||||
|
name = "maintained-haskell-packages";
|
||||||
|
meta = {
|
||||||
|
description = "Aggregate jobset of all haskell packages with a maintainer";
|
||||||
|
maintainers = lib.teams.haskell.members;
|
||||||
|
};
|
||||||
|
constituents = accumulateDerivations
|
||||||
|
(builtins.map
|
||||||
|
(name: jobs.haskellPackages."${name}")
|
||||||
|
(maintainedPkgNames pkgs.haskellPackages));
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
in jobs
|
Loading…
Add table
Reference in a new issue