mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-26 07:31:20 +00:00
Merge pull request #121627 from NixOS/haskell-updates
This commit is contained in:
commit
958855d30c
12
.github/CODEOWNERS
vendored
12
.github/CODEOWNERS
vendored
|
@ -79,11 +79,13 @@
|
|||
/pkgs/development/tools/poetry2nix @adisbladis
|
||||
|
||||
# Haskell
|
||||
/pkgs/development/compilers/ghc @cdepillabout @sternenseemann
|
||||
/pkgs/development/haskell-modules @cdepillabout @sternenseemann
|
||||
/pkgs/development/haskell-modules/default.nix @cdepillabout @sternenseemann
|
||||
/pkgs/development/haskell-modules/generic-builder.nix @cdepillabout @sternenseemann
|
||||
/pkgs/development/haskell-modules/hoogle.nix @cdepillabout @sternenseemann
|
||||
/doc/languages-frameworks/haskell.section.md @cdepillabout @sternenseemann @maralorn
|
||||
/maintainers/scripts/haskell @cdepillabout @sternenseemann @maralorn
|
||||
/pkgs/development/compilers/ghc @cdepillabout @sternenseemann @maralorn
|
||||
/pkgs/development/haskell-modules @cdepillabout @sternenseemann @maralorn
|
||||
/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
|
||||
/pkgs/development/interpreters/perl @volth @stigtsp
|
||||
|
|
3
.github/labeler.yml
vendored
3
.github/labeler.yml
vendored
|
@ -50,10 +50,13 @@
|
|||
|
||||
"6.topic: haskell":
|
||||
- doc/languages-frameworks/haskell.section.md
|
||||
- maintainers/scripts/haskell/**/*
|
||||
- pkgs/development/compilers/ghc/**/*
|
||||
- pkgs/development/haskell-modules/**/*
|
||||
- pkgs/development/tools/haskell/**/*
|
||||
- pkgs/test/haskell/**/*
|
||||
- pkgs/top-level/haskell-packages.nix
|
||||
- pkgs/top-level/release-haskell.nix
|
||||
|
||||
"6.topic: 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.";
|
||||
};
|
||||
|
||||
haskell = {
|
||||
members = [
|
||||
maralorn
|
||||
cdepillabout
|
||||
sternenseemann
|
||||
];
|
||||
scope = "Maintain Haskell packages and infrastructure.";
|
||||
};
|
||||
|
||||
home-assistant = {
|
||||
members = [
|
||||
fab
|
||||
|
|
|
@ -1,12 +1,8 @@
|
|||
{ mkDerivation, callPackage, buildPackages
|
||||
{ mkDerivation
|
||||
, 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 {
|
||||
pname = "petrinizer";
|
||||
version = "0.9.1.1";
|
||||
|
@ -22,10 +18,11 @@ mkDerivation rec {
|
|||
isLibrary = false;
|
||||
isExecutable = true;
|
||||
executableHaskellDepends = [
|
||||
async base bytestring containers mtl parallel-io parsec sbv stm
|
||||
async base bytestring containers mtl parallel-io parsec sbv_7_13 stm
|
||||
transformers
|
||||
];
|
||||
description = "Safety and Liveness Analysis of Petri Nets with SMT solvers";
|
||||
license = lib.licenses.gpl3;
|
||||
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
|
||||
taffybarEnv = ghcWithPackages (self: [ self.taffybar ] ++ packages self);
|
||||
taffybarEnv = haskellPackages.ghc.withPackages (self: [
|
||||
self.taffybar
|
||||
] ++ packages self);
|
||||
in stdenv.mkDerivation {
|
||||
name = "taffybar-with-packages-${taffybarEnv.version}";
|
||||
|
||||
|
@ -13,8 +15,5 @@ in stdenv.mkDerivation {
|
|||
--set NIX_GHC "${taffybarEnv}/bin/ghc"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
platforms = lib.platforms.unix;
|
||||
license = lib.licenses.bsd3;
|
||||
};
|
||||
inherit (haskellPackages.taffybar) meta;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
# Hackage database snapshot, used by maintainers/scripts/regenerate-hackage-packages.sh
|
||||
# and callHackage
|
||||
{ fetchurl }:
|
||||
|
||||
let
|
||||
pin = builtins.fromJSON (builtins.readFile ./pin.json);
|
||||
in
|
||||
fetchurl {
|
||||
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/d202e2aff06500ede787ed63544476f6d41e9eb7.tar.gz";
|
||||
sha256 = "00hmclrhr3a2h9vshsl909g0zgymlamx491lkhwr5kgb3qx9sfh2";
|
||||
inherit (pin) url sha256;
|
||||
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;
|
||||
|
||||
# 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.
|
||||
search = dontCheck super.search;
|
||||
|
@ -291,7 +303,6 @@ self: super: {
|
|||
htsn = dontCheck super.htsn;
|
||||
htsn-import = dontCheck super.htsn-import;
|
||||
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;
|
||||
integer-roots = dontCheck super.integer-roots; # requires an old version of smallcheck, will be fixed in > 1.0
|
||||
itanium-abi = dontCheck super.itanium-abi;
|
||||
|
@ -362,7 +373,6 @@ self: super: {
|
|||
tickle = dontCheck super.tickle;
|
||||
tpdb = dontCheck super.tpdb;
|
||||
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;
|
||||
unagi-chan = dontCheck super.unagi-chan;
|
||||
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
|
||||
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
|
||||
# should be moved into the cabal2nix generator.
|
||||
hledger = overrideCabal super.hledger (drv: {
|
||||
|
@ -1284,16 +1291,34 @@ self: super: {
|
|||
# https://github.com/kowainik/policeman/issues/57
|
||||
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
|
||||
jsaddle-webkit2gtk = appendPatch super.jsaddle-webkit2gtk (pkgs.fetchpatch {
|
||||
url = "https://github.com/ghcjs/jsaddle/compare/9727365...f842748.patch";
|
||||
sha256 = "07l4l999lmlx7sqxf7v4f70rmxhx9r0cjblkgc4n0y6jin4iv1cb";
|
||||
stripLen = 2;
|
||||
extraPrefix = "";
|
||||
});
|
||||
jsaddle-webkit2gtk = appendPatch super.jsaddle-webkit2gtk ./patches/jsaddle-webkit2gtk.patch;
|
||||
|
||||
# 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
|
||||
|
@ -1790,4 +1815,74 @@ self: super: {
|
|||
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
|
||||
|
|
|
@ -98,4 +98,10 @@ self: super: {
|
|||
# The test suite seems pretty broken.
|
||||
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 =
|
||||
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 {
|
||||
url = "https://github.com/purescript/purescript-docs-search/releases/download/v0.0.10/docs-search-app.js";
|
||||
sha256 = "0m5ah29x290r0zk19hx2wix2djy7bs4plh9kvjz6bs9r45x25pa5";
|
||||
|
@ -681,17 +677,8 @@ self: super: builtins.intersectAttrs super {
|
|||
sha256 = "1hjdprm990vyxz86fgq14ajn0lkams7i00h8k2i2g1a0hjdwppq6";
|
||||
};
|
||||
|
||||
spagoFixHpack = overrideCabal spagoWithOverrides (drv: {
|
||||
spagoDocs = overrideCabal super.spago (drv: {
|
||||
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
|
||||
# with Template Haskell. They are fetched at build-time from the
|
||||
# `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
|
||||
# package.yaml file, the tests are disabled.
|
||||
spagoWithoutChecks = dontCheck spagoFixHpack;
|
||||
# Tests require network access.
|
||||
spagoWithoutChecks = dontCheck spagoDocs;
|
||||
in
|
||||
spagoWithoutChecks;
|
||||
|
||||
|
@ -826,4 +812,59 @@ self: super: builtins.intersectAttrs super {
|
|||
|
||||
# Tests access internet
|
||||
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 = ''
|
||||
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
|
||||
local packageConfDir="$out/lib/${ghc.name}/package.conf.d"
|
||||
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];
|
||||
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; });
|
||||
dontHyperlinkSource = drv: overrideCabal drv (drv: { hyperlinkSource = false; });
|
||||
|
||||
|
|
|
@ -11,6 +11,10 @@ self: super: {
|
|||
|
||||
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
|
||||
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
|
||||
, withLLVM ? false
|
||||
, withLLVM ? !(stdenv.hostPlatform.isx86_64 || stdenv.hostPlatform.isPowerPC)
|
||||
, postBuild ? ""
|
||||
, 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 ? [] }:
|
||||
|
||||
let
|
||||
binPath = lib.makeBinPath ([ hyper-haskell-server ] ++ extra-packages);
|
||||
electron = electron_3;
|
||||
in stdenv.mkDerivation rec {
|
||||
electron = electron_10;
|
||||
in stdenvNoCC.mkDerivation rec {
|
||||
pname = "hyper-haskell";
|
||||
version = "0.1.0.2";
|
||||
version = "0.2.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "HeinrichApfelmus";
|
||||
repo = "hyper-haskell";
|
||||
rev = "v${version}";
|
||||
sha256 = "1k38h7qx12z7463z8466pji0nwfkp4qkg7q83kns2mzmwmw5jnmb";
|
||||
sha256 = "1nmkry4wh6a2dy98fcs81mq2p7zhxp1k0f4m3szr6fm3j1zwrd43";
|
||||
};
|
||||
|
||||
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
|
||||
|
||||
# Electron app
|
||||
cp -R $src/app $out
|
||||
cp -R app $out
|
||||
|
||||
# Desktop Launcher
|
||||
cp $src/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 $src/resources/shared-mime-info.xml $out/share/mime/packages/hyper-haskell.xml
|
||||
cp resources/hyper-haskell.desktop $out/share/applications/hyper-haskell.desktop
|
||||
cp resources/icons/icon.svg $out/share/icons/hicolor/scalable/apps/hyper-haskell.svg
|
||||
cp resources/shared-mime-info.xml $out/share/mime/packages/hyper-haskell.xml
|
||||
|
||||
# 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`
|
||||
done
|
||||
|
||||
|
|
|
@ -2,9 +2,8 @@
|
|||
let
|
||||
ihaskellEnv = ghcWithPackages (self: [
|
||||
self.ihaskell
|
||||
(haskell.lib.doJailbreak self.ihaskell-blaze)
|
||||
(haskell.lib.doJailbreak self.ihaskell-diagrams)
|
||||
(haskell.lib.doJailbreak self.ihaskell-display)
|
||||
self.ihaskell-blaze
|
||||
self.ihaskell-diagrams
|
||||
] ++ packages self);
|
||||
ihaskellSh = writeScriptBin "ihaskell-notebook" ''
|
||||
#! ${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
|
||||
, base, bower-json, bytestring, Cabal, containers, cryptonite
|
||||
, dhall, directory, either, extra, fetchgit, file-embed, filepath
|
||||
, foldl, fsnotify, generic-lens, Glob, hpack, hspec, hspec-discover
|
||||
, base, bower-json, bytestring, containers, cryptonite, dhall
|
||||
, directory, either, extra, fetchgit, file-embed, filepath, foldl
|
||||
, fsnotify, generic-lens, Glob, hspec, hspec-discover
|
||||
, hspec-megaparsec, http-client, http-conduit, http-types
|
||||
, lens-family-core, lib, megaparsec, mtl, network-uri, open-browser
|
||||
, optparse-applicative, prettyprinter, process, QuickCheck, retry
|
||||
, rio, rio-orphans, safe, semver-range, stm, stringsearch
|
||||
, tar, template-haskell, temporary, text, time, transformers
|
||||
, turtle, unliftio, unordered-containers, utf8-string, versions
|
||||
, with-utf8, zlib
|
||||
, rio, rio-orphans, safe, semver-range, stm, stringsearch, tar
|
||||
, template-haskell, temporary, text, time, transformers, turtle
|
||||
, unliftio, unordered-containers, utf8-string, versions, with-utf8
|
||||
, zlib
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "spago";
|
||||
version = "0.20.1";
|
||||
version = "0.20.2";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/purescript/spago.git";
|
||||
sha256 = "1j2yi6zz9m0k0298wllin39h244v8b2rx87yxxgdbjg77kn96vxg";
|
||||
rev = "41ad739614f4f2c2356ac921308f9475a5a918f4";
|
||||
sha256 = "11jh3bszvl8zfi4xcabpx43jply28dxdywd6fadxspaa05jdxxn2";
|
||||
rev = "0f38c9153e46f30e9d87963e181f5c1a595f4b64";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
libraryHaskellDepends = [
|
||||
aeson aeson-pretty ansi-terminal async-pool base bower-json
|
||||
bytestring Cabal containers cryptonite dhall directory either
|
||||
file-embed filepath foldl fsnotify generic-lens Glob http-client
|
||||
http-conduit http-types lens-family-core megaparsec mtl network-uri
|
||||
open-browser optparse-applicative prettyprinter process retry rio
|
||||
rio-orphans safe semver-range stm stringsearch tar template-haskell
|
||||
temporary text time transformers turtle unliftio
|
||||
unordered-containers utf8-string versions with-utf8 zlib
|
||||
bytestring containers cryptonite dhall directory either file-embed
|
||||
filepath foldl fsnotify generic-lens Glob http-client http-conduit
|
||||
http-types lens-family-core megaparsec mtl network-uri open-browser
|
||||
optparse-applicative prettyprinter process retry rio rio-orphans
|
||||
safe semver-range stm stringsearch tar template-haskell temporary
|
||||
text time transformers turtle unliftio unordered-containers
|
||||
utf8-string versions with-utf8 zlib
|
||||
];
|
||||
libraryToolDepends = [ hpack ];
|
||||
executableHaskellDepends = [
|
||||
ansi-terminal base text turtle with-utf8
|
||||
];
|
||||
|
@ -40,7 +41,6 @@ mkDerivation {
|
|||
process QuickCheck temporary text turtle versions
|
||||
];
|
||||
testToolDepends = [ hspec-discover ];
|
||||
prePatch = "hpack";
|
||||
homepage = "https://github.com/purescript/spago#readme";
|
||||
license = lib.licenses.bsd3;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/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
|
||||
# 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 "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
|
||||
# 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
|
||||
all movement on the battlefield has ceased).'';
|
||||
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; };
|
||||
stdenv-inputs = callPackage ./stdenv-inputs { };
|
||||
|
||||
haskell-shellFor = callPackage ./haskell-shellFor { };
|
||||
haskell-documentationTarball = callPackage ./haskell-documentationTarball { };
|
||||
haskell = callPackage ./haskell { };
|
||||
|
||||
cc-multilib-gcc = callPackage ./cc-wrapper/multilib.nix { stdenv = gccMultiStdenv; };
|
||||
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 {
|
||||
packages = p: [ p.database-id-class p.constraints ];
|
||||
packages = p: [ p.constraints p.linear ];
|
||||
nativeBuildInputs = [ cabal-install ];
|
||||
phases = [ "unpackPhase" "buildPhase" "installPhase" ];
|
||||
unpackPhase = ''
|
||||
sourceRoot=$(pwd)/scratch
|
||||
mkdir -p "$sourceRoot"
|
||||
cd "$sourceRoot"
|
||||
tar -xf ${haskellPackages.database-id-class.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 = ''
|
||||
export HOME=$(mktemp -d)
|
||||
mkdir -p $HOME/.cabal
|
||||
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 = ''
|
||||
touch $out
|
|
@ -8673,9 +8673,7 @@ in
|
|||
|
||||
stunnel = callPackage ../tools/networking/stunnel { };
|
||||
|
||||
stutter = haskell.lib.overrideCabal (haskell.lib.justStaticExecutables haskellPackages.stutter) (drv: {
|
||||
preCheck = "export PATH=dist/build/stutter:$PATH";
|
||||
});
|
||||
stutter = haskell.lib.justStaticExecutables haskellPackages.stutter;
|
||||
|
||||
strongswan = callPackage ../tools/networking/strongswan { };
|
||||
strongswanTNC = strongswan.override { enableTNC = true; };
|
||||
|
@ -23828,14 +23826,7 @@ in
|
|||
|
||||
pinboard = with python3Packages; toPythonApplication pinboard;
|
||||
|
||||
pinboard-notes-backup = haskell.lib.overrideCabal
|
||||
(haskell.lib.generateOptparseApplicativeCompletion "pnbackup"
|
||||
haskellPackages.pinboard-notes-backup)
|
||||
(drv: {
|
||||
postInstall = ''
|
||||
install -D man/pnbackup.1 $out/share/man/man1/pnbackup.1
|
||||
'' + (drv.postInstall or "");
|
||||
});
|
||||
pinboard-notes-backup = haskell.lib.justStaticExecutables haskellPackages.pinboard-notes-backup;
|
||||
|
||||
pixelnuke = callPackage ../applications/graphics/pixelnuke { };
|
||||
|
||||
|
@ -26287,9 +26278,7 @@ in
|
|||
# customConfig = builtins.readFile ./tabbed.config.h;
|
||||
};
|
||||
|
||||
taffybar = callPackage ../applications/window-managers/taffybar {
|
||||
inherit (haskellPackages) ghcWithPackages;
|
||||
};
|
||||
taffybar = callPackage ../applications/window-managers/taffybar {};
|
||||
|
||||
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…
Reference in a new issue