mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-10 03:23:29 +03:00
Merge haskell-updates PR #371032 into staging
This commit is contained in:
commit
b35c701857
79 changed files with 19704 additions and 27192 deletions
|
@ -58,7 +58,7 @@ Each of those compiler versions has a corresponding attribute set `packages` bui
|
|||
it. However, the non-standard package sets are not tested regularly and, as a
|
||||
result, contain fewer working packages. The corresponding package set for GHC
|
||||
9.4.8 is `haskell.packages.ghc948`. In fact `haskellPackages` (at the time of writing) is just an alias
|
||||
for `haskell.packages.ghc966`:
|
||||
for `haskell.packages.ghc984`:
|
||||
|
||||
Every package set also re-exposes the GHC used to build its packages as `haskell.packages.*.ghc`.
|
||||
|
||||
|
@ -297,8 +297,8 @@ Defaults to `false`.
|
|||
: Whether to build (HTML) documentation using [haddock][haddock].
|
||||
Defaults to `true` if supported.
|
||||
|
||||
`testTarget`
|
||||
: Name of the test suite to build and run. If unset, all test suites will be executed.
|
||||
`testTargets`
|
||||
: Names of the test suites to build and run. If unset, all test suites will be executed.
|
||||
|
||||
`preCompileBuildDriver`
|
||||
: Shell code to run before compiling `Setup.hs`.
|
||||
|
@ -621,6 +621,12 @@ environment. This means you can reuse Nix expressions of packages included in
|
|||
nixpkgs, but also use local Nix expressions like this: `hpkgs: [
|
||||
(hpkgs.callPackage ./my-project.nix { }) ]`.
|
||||
|
||||
`extraDependencies`
|
||||
: Extra dependencies, in the form of cabal2nix build attributes. An example use
|
||||
case is when you have Haskell scripts that use libraries that don't occur in
|
||||
your packages' dependencies. Example: `hpkgs: {libraryHaskellDepends =
|
||||
[ hpkgs.releaser ]}`. Defaults to `hpkgs: { }`.
|
||||
|
||||
`nativeBuildInputs`
|
||||
: Expects a list of derivations to add as build tools to the build environment.
|
||||
This is the place to add packages like `cabal-install`, `doctest` or `hlint`.
|
||||
|
@ -773,7 +779,7 @@ that depend on that library, you may want to use:
|
|||
|
||||
```nix
|
||||
haskellPackages.haskell-ci.overrideScope (self: super: {
|
||||
Cabal = self.Cabal_3_14_1_0;
|
||||
Cabal = self.Cabal_3_14_1_1;
|
||||
})
|
||||
```
|
||||
|
||||
|
|
|
@ -15,6 +15,9 @@
|
|||
- GCC has been updated from GCC 13 to GCC 14.
|
||||
This introduces some backwards‐incompatible changes; see the [upstream porting guide](https://gcc.gnu.org/gcc-14/porting_to.html) for details.
|
||||
|
||||
- The default GHC version has been updated from 9.6 to 9.8.
|
||||
`haskellPackages` also uses Stackage LTS 23 (instead of LTS 22) as a baseline.
|
||||
|
||||
- LLVM has been updated from LLVM 16 (on Darwin) and LLVM 18 (on other platforms) to LLVM 19.
|
||||
This introduces some backwards‐incompatible changes; see the [upstream release notes](https://releases.llvm.org/) for details.
|
||||
|
||||
|
@ -405,6 +408,10 @@
|
|||
- `lib.types.coercedTo`
|
||||
- `lib.types.either`
|
||||
|
||||
- The `testTarget` argument of `haskellPackages.mkDerivation` has been deprecated in favour of `testTargets`.
|
||||
`testTarget` took a space separated string of targets, whereas the new `testTargets` argument takes a list of targets.
|
||||
For instance, `testTarget = "foo bar baz"` should become `testTargets = [ "foo" "bar" "baz" ]`.
|
||||
|
||||
- Plasma 5 and Qt 5 based versions of associated software are deprecated in NixOS 25.05, and will be removed in NixOS 25.11. Users are encouraged to upgrade to Plasma 6.
|
||||
|
||||
- `rustPlatform.buildRustPackage` stops handling the deprecated argument `cargoSha256`. Out-of-tree packages that haven't migrated from `cargoSha256` to `cargoHash` now receive errors.
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p git gh -I nixpkgs=.
|
||||
#
|
||||
# Script to merge the currently open haskell-updates PR into master, bump the
|
||||
# Stackage version and Hackage versions, and open the next haskell-updates PR.
|
||||
# Script to merge the currently open haskell-updates PR , bump the Stackage
|
||||
# version and Hackage versions, and open the next haskell-updates PR.
|
||||
|
||||
set -eu -o pipefail
|
||||
|
||||
|
@ -79,10 +79,6 @@ fi
|
|||
echo "Merging https://github.com/NixOS/nixpkgs/pull/${curr_haskell_updates_pr_num}..."
|
||||
gh pr merge --repo NixOS/nixpkgs --merge "$curr_haskell_updates_pr_num"
|
||||
|
||||
# Update the list of Haskell package versions in NixOS on Hackage.
|
||||
echo "Updating list of Haskell package versions in NixOS on Hackage..."
|
||||
./maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh
|
||||
|
||||
# Update stackage, Hackage hashes, and regenerate Haskell package set
|
||||
echo "Updating Stackage..."
|
||||
./maintainers/scripts/haskell/update-stackage.sh --do-commit
|
||||
|
@ -100,7 +96,7 @@ git push "$push_remote" haskell-updates
|
|||
new_pr_body=$(cat <<EOF
|
||||
### This Merge
|
||||
|
||||
This PR is the regular merge of the \`haskell-updates\` branch into \`master\`.
|
||||
This PR is the regular merge of the \`haskell-updates\` branch into \`staging\`.
|
||||
|
||||
This branch is being continually built and tested by hydra at https://hydra.nixos.org/jobset/nixpkgs/haskell-updates. You may be able to find an up-to-date Hydra build report at [cdepillabout/nix-haskell-updates-status](https://github.com/cdepillabout/nix-haskell-updates-status).
|
||||
|
||||
|
@ -113,7 +109,7 @@ Our workflow is currently described in [\`pkgs/development/haskell-modules/HACKI
|
|||
The short version is this:
|
||||
* We regularly update the Stackage and Hackage pins on \`haskell-updates\` (normally at the beginning of a merge window).
|
||||
* The community fixes builds of Haskell packages on that branch.
|
||||
* We aim at at least one merge of \`haskell-updates\` into \`master\` every two weeks.
|
||||
* We aim at at least one merge of \`haskell-updates\` into \`staging\` every two weeks.
|
||||
* We only do the merge if the [\`mergeable\`](https://hydra.nixos.org/job/nixpkgs/haskell-updates/mergeable) job is succeeding on hydra.
|
||||
* If a [\`maintained\`](https://hydra.nixos.org/job/nixpkgs/haskell-updates/maintained) package is still broken at the time of merge, we will only merge if the maintainer has been pinged 7 days in advance. (If you care about a Haskell package, become a maintainer!)
|
||||
|
||||
|
@ -126,4 +122,4 @@ EOF
|
|||
)
|
||||
|
||||
echo "Opening a PR for the next haskell-updates merge cycle..."
|
||||
gh pr create --repo NixOS/nixpkgs --base master --head haskell-updates --title "haskellPackages: update stackage and hackage" --body "$new_pr_body"
|
||||
gh pr create --repo NixOS/nixpkgs --base staging --head haskell-updates --title "haskellPackages: update stackage and hackage" --body "$new_pr_body"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p coreutils haskellPackages.cabal2nix-unstable git nix -I nixpkgs=.
|
||||
#! nix-shell -i bash -p coreutils haskellPackages.cabal2nix-unstable git nix nixfmt-rfc-style -I nixpkgs=.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
|
@ -102,6 +102,7 @@ run_hackage2nix
|
|||
|
||||
fi
|
||||
|
||||
nixfmt pkgs/development/haskell-modules/hackage-packages.nix
|
||||
|
||||
if [[ "$DO_COMMIT" -eq 1 ]]; then
|
||||
git add pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
|
||||
|
|
31
maintainers/scripts/haskell/unbreak.nu
Executable file
31
maintainers/scripts/haskell/unbreak.nu
Executable file
|
@ -0,0 +1,31 @@
|
|||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell -i nu -p nushell flock gnused -I nixpkgs=.
|
||||
|
||||
# This script tests to build all packages listed in broken.yaml, expecting a build failure.
|
||||
# It will remove all packages that build fine from the list.
|
||||
|
||||
# Attention: For unknown reasons, the script can't be easily cancelled and needs to be killed manually if it shouldn't run to completion.
|
||||
|
||||
use std log
|
||||
|
||||
let broken_config = "pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml"
|
||||
|
||||
def is-broken [package : string]: nothing -> bool {
|
||||
let res = with-env { NIXPKGS_ALLOW_BROKEN: "1" } {
|
||||
# rather high timeout of half an hour, just to prevent never-ending builds
|
||||
^nix-build --no-out-link -j 1 --cores 1 --timeout 1800 -A $"haskellPackages.($package)" | complete
|
||||
}
|
||||
if $res.exit_code == 0 {
|
||||
log warning $"($package) is not broken anymore!"
|
||||
return false
|
||||
} else {
|
||||
log info $"($package) is still broken."
|
||||
log debug $"($package) build log:\n($res.stderr)"
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
def main [] {
|
||||
$broken_config | open | get broken-packages
|
||||
| par-each {|package| if not (is-broken $package) { ^flock -x $broken_config -c $"sed -i -e '/^ - ($package) /d' ($broken_config)" }}
|
||||
}
|
|
@ -8,7 +8,7 @@ set -eu -o pipefail
|
|||
# (should be capitalized like the display name)
|
||||
SOLVER=LTS
|
||||
# Stackage solver verson, if any. Use latest if empty
|
||||
VERSION=22
|
||||
VERSION=
|
||||
TMP_TEMPLATE=update-stackage.XXXXXXX
|
||||
readonly SOLVER
|
||||
readonly VERSION
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{
|
||||
haskellPackages,
|
||||
mkDerivation,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
stdenv,
|
||||
|
@ -13,6 +12,8 @@
|
|||
}:
|
||||
|
||||
let
|
||||
inherit (haskellPackages) mkDerivation;
|
||||
|
||||
version = "1.10.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tamarin-prover";
|
||||
|
|
120
pkgs/by-name/ec/echidna/package.nix
Normal file
120
pkgs/by-name/ec/echidna/package.nix
Normal file
|
@ -0,0 +1,120 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
makeWrapper,
|
||||
haskellPackages,
|
||||
fetchFromGitHub,
|
||||
# dependencies
|
||||
slither-analyzer,
|
||||
}:
|
||||
|
||||
haskellPackages.mkDerivation rec {
|
||||
pname = "echidna";
|
||||
version = "2.2.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "crytic";
|
||||
repo = "echidna";
|
||||
tag = "v${version}";
|
||||
sha256 = "sha256-5nzis7MXOqs0bhx2jrEexjZYZI2qY6D0D7AWO+SPs+A=";
|
||||
};
|
||||
|
||||
isExecutable = true;
|
||||
|
||||
buildTools = with haskellPackages; [
|
||||
hpack
|
||||
];
|
||||
|
||||
executableHaskellDepends = with haskellPackages; [
|
||||
# base dependencies
|
||||
aeson
|
||||
base
|
||||
containers
|
||||
directory
|
||||
hevm
|
||||
MonadRandom
|
||||
mtl
|
||||
text
|
||||
# library dependencies
|
||||
ansi-terminal
|
||||
async
|
||||
base16-bytestring
|
||||
binary
|
||||
brick
|
||||
bytestring
|
||||
data-bword
|
||||
data-dword
|
||||
deepseq
|
||||
exceptions
|
||||
extra
|
||||
filepath
|
||||
hashable
|
||||
html-conduit
|
||||
html-entities
|
||||
http-conduit
|
||||
ListLike
|
||||
optics
|
||||
optics-core
|
||||
process
|
||||
random
|
||||
rosezipper
|
||||
semver
|
||||
signal
|
||||
split
|
||||
strip-ansi-escape
|
||||
time
|
||||
unliftio
|
||||
utf8-string
|
||||
vector
|
||||
vty
|
||||
vty-crossplatform
|
||||
wai-extra
|
||||
warp
|
||||
word-wrap
|
||||
xml-conduit
|
||||
yaml
|
||||
# executable dependencies
|
||||
code-page
|
||||
filepath
|
||||
hashable
|
||||
optparse-applicative
|
||||
time
|
||||
with-utf8
|
||||
];
|
||||
|
||||
executableToolDepends = [
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
hpack
|
||||
'';
|
||||
|
||||
postInstall =
|
||||
with haskellPackages;
|
||||
# https://github.com/NixOS/nixpkgs/pull/304352
|
||||
lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) ''
|
||||
remove-references-to -t ${warp.out} "$out/bin/echidna"
|
||||
remove-references-to -t ${wreq.out} "$out/bin/echidna"
|
||||
''
|
||||
# make slither-analyzer a runtime dependency
|
||||
+ ''
|
||||
wrapProgram $out/bin/echidna \
|
||||
--prefix PATH : ${lib.makeBinPath [ slither-analyzer ]}
|
||||
'';
|
||||
|
||||
doHaddock = false;
|
||||
|
||||
# tests depend on a specific version of solc
|
||||
doCheck = false;
|
||||
|
||||
homepage = "https://github.com/crytic/echidna";
|
||||
description = "Ethereum smart contract fuzzer";
|
||||
license = lib.licenses.agpl3Plus;
|
||||
maintainers = with lib.maintainers; [
|
||||
arturcygan
|
||||
hellwolf
|
||||
];
|
||||
platforms = lib.platforms.unix;
|
||||
mainProgram = "echidna";
|
||||
}
|
|
@ -12,7 +12,7 @@ let
|
|||
|
||||
# nom has unit-tests and golden-tests
|
||||
# golden-tests call nix and thus can’t be run in a nix build.
|
||||
testTarget = "unit-tests";
|
||||
testTargets = [ "unit-tests" ];
|
||||
|
||||
buildTools = [ installShellFiles ];
|
||||
postInstall = ''
|
||||
|
|
|
@ -41,9 +41,6 @@ in
|
|||
remove-references-to \
|
||||
-t ${pandoc-cli.scope.pandoc} \
|
||||
$out/bin/pandoc
|
||||
''
|
||||
# https://github.com/jgm/typst-hs/commit/9707b74ce60d71c2ba0f35249ffbd01dea197a6e
|
||||
+ lib.optionalString (lib.versionAtLeast pandoc-cli.scope.typst.version "0.6.1") ''
|
||||
remove-references-to \
|
||||
-t ${pandoc-cli.scope.typst} \
|
||||
$out/bin/pandoc
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"commit": "c9ce1cc4a029220ec3582fbcf69e082d245d78b6",
|
||||
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/c9ce1cc4a029220ec3582fbcf69e082d245d78b6.tar.gz",
|
||||
"sha256": "02x3z4rg4dwarzb6p88z7sff40bkbq41gxnczvzph8s3s8jq9iw1",
|
||||
"msg": "Update from Hackage at 2024-12-23T18:27:47Z"
|
||||
"commit": "6fc5e0d20fed4a6e8ec26f6956786d0077f028b4",
|
||||
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/6fc5e0d20fed4a6e8ec26f6956786d0077f028b4.tar.gz",
|
||||
"sha256": "08vkrfn4s1jb680rq1flxas8hv04f5l715z0kh8sv909k3psbfak",
|
||||
"msg": "Update from Hackage at 2025-03-30T11:13:14Z"
|
||||
}
|
||||
|
|
|
@ -22,8 +22,8 @@ let
|
|||
# Haskell packages that require ghc 8.10
|
||||
hs810Pkgs = import ./packages/ghc8_10 { inherit pkgs lib; };
|
||||
|
||||
# Haskell packages that require ghc 9.2
|
||||
hs92Pkgs = import ./packages/ghc9_2 { inherit pkgs lib; };
|
||||
# Haskell packages that require ghc 9.4
|
||||
hs94Pkgs = import ./packages/ghc9_4 { inherit pkgs lib; };
|
||||
|
||||
# Patched, originally npm-downloaded, packages
|
||||
patchedNodePkgs = import ./packages/node {
|
||||
|
@ -38,7 +38,7 @@ let
|
|||
assembleScope =
|
||||
self: basics:
|
||||
(hs96Pkgs self).elmPkgs
|
||||
// (hs92Pkgs self).elmPkgs
|
||||
// (hs94Pkgs self).elmPkgs
|
||||
// (hs810Pkgs self).elmPkgs
|
||||
// (patchedNodePkgs self)
|
||||
// basics;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ pkgs, lib }:
|
||||
|
||||
self:
|
||||
pkgs.haskell.packages.ghc92.override {
|
||||
pkgs.haskell.packages.ghc94.override {
|
||||
overrides =
|
||||
self: super:
|
||||
let
|
||||
|
@ -49,12 +49,5 @@ pkgs.haskell.packages.ghc92.override {
|
|||
elm-format-lib = fixHaddock (doJailbreak (self.callPackage ./elm-format/elm-format-lib.nix { }));
|
||||
elm-format-test-lib = fixHaddock (self.callPackage ./elm-format/elm-format-test-lib.nix { });
|
||||
elm-format-markdown = fixHaddock (self.callPackage ./elm-format/elm-format-markdown.nix { });
|
||||
|
||||
# elm-format requires text >= 2.0
|
||||
text = self.text_2_0_2;
|
||||
# unordered-container's tests indirectly depend on text < 2.0
|
||||
unordered-containers = overrideCabal (drv: { doCheck = false; }) super.unordered-containers;
|
||||
# relude-1.1.0.0's tests depend on hedgehog < 1.2, which indirectly depends on text < 2.0
|
||||
relude = overrideCabal (drv: { doCheck = false; }) super.relude;
|
||||
};
|
||||
}
|
|
@ -299,6 +299,20 @@ stdenv.mkDerivation (
|
|||
sha256 = "0kmhfamr16w8gch0lgln2912r8aryjky1hfcda3jkcwa5cdzgjdv";
|
||||
})
|
||||
|
||||
# Determine size of time related types using hsc2hs instead of assuming CLong.
|
||||
# Prevents failures when e.g. stat(2)ing on 32bit systems with 64bit time_t etc.
|
||||
# https://github.com/haskell/ghcup-hs/issues/1107
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/25095
|
||||
# Note that in normal situations this shouldn't be the case since nixpkgs
|
||||
# doesn't set -D_FILE_OFFSET_BITS=64 and friends (yet).
|
||||
(fetchpatch {
|
||||
name = "unix-fix-ctimeval-size-32-bit.patch";
|
||||
url = "https://github.com/haskell/unix/commit/8183e05b97ce870dd6582a3677cc82459ae566ec.patch";
|
||||
sha256 = "17q5yyigqr5kxlwwzb95sx567ysfxlw6bp3j4ji20lz0947aw6gv";
|
||||
stripLen = 1;
|
||||
extraPrefix = "libraries/unix/";
|
||||
})
|
||||
|
||||
# See upstream patch at
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build
|
||||
# from source distributions, the auto-generated configure script needs to be
|
||||
|
|
4
pkgs/development/compilers/ghc/9.12.2.nix
Normal file
4
pkgs/development/compilers/ghc/9.12.2.nix
Normal file
|
@ -0,0 +1,4 @@
|
|||
import ./common-hadrian.nix rec {
|
||||
version = "9.12.2";
|
||||
sha256 = "0e49cd5dde43f348c5716e5de9a5d7a0f8d68d945dc41cf75dfdefe65084f933";
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
import ./common-make-native-bignum.nix {
|
||||
version = "9.2.5";
|
||||
sha256 = "0606797d1b38e2d88ee2243f38ec6b9a1aa93e9b578e95f0de9a9c0a4144021c";
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
import ./common-make-native-bignum.nix {
|
||||
version = "9.2.6";
|
||||
sha256 = "7a54cf0398ad488b4ed219e15d1d1e64c0b6876c43a0564550dd11f0540d7305";
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
import ./common-make-native-bignum.nix {
|
||||
version = "9.2.7";
|
||||
sha256 = "a253567a17b734a4c0dd0ffa296d33c2a5b5a54a77df988806a2a1e1ca7e88b8";
|
||||
}
|
4
pkgs/development/compilers/ghc/9.6.7.nix
Normal file
4
pkgs/development/compilers/ghc/9.6.7.nix
Normal file
|
@ -0,0 +1,4 @@
|
|||
import ./common-hadrian.nix {
|
||||
version = "9.6.7";
|
||||
sha256 = "sha256-0FO/bOHViKdc/oyTFiaUhunY+4nc32/ZKDb6Lj32EwU=";
|
||||
}
|
|
@ -181,9 +181,42 @@
|
|||
in
|
||||
|
||||
# Fix docs build with Sphinx >= 7 https://gitlab.haskell.org/ghc/ghc/-/issues/24129
|
||||
lib.optionals (lib.versionOlder version "9.8") [
|
||||
lib.optionals (lib.versionOlder version "9.6.7") [
|
||||
./docs-sphinx-7.patch
|
||||
]
|
||||
++ lib.optionals (lib.versionAtLeast version "9.6" && lib.versionOlder version "9.6.5") [
|
||||
# Fix aarch64-linux builds of 9.6.0 - 9.6.4.
|
||||
# Fixes a pointer type mismatch in the RTS.
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/24348
|
||||
(fetchpatch {
|
||||
name = "fix-incompatible-pointer-types.patch";
|
||||
url = "https://gitlab.haskell.org/ghc/ghc/-/commit/1e48c43483693398001bfb0ae644a3558bf6a9f3.diff";
|
||||
hash = "sha256-zUlzpX7J1n+MCEv9AWpj69FTy2uzJH8wrQDkTexGbgM=";
|
||||
})
|
||||
]
|
||||
++
|
||||
lib.optionals
|
||||
(
|
||||
# 2025-01-16: unix >= 2.8.6.0 is unaffected which is shipped by GHC 9.12.1 and 9.8.4
|
||||
lib.versionOlder version "9.11"
|
||||
&& !(lib.versionAtLeast version "9.6.7" && lib.versionOlder version "9.8")
|
||||
&& !(lib.versionAtLeast version "9.8.4" && lib.versionOlder version "9.9")
|
||||
)
|
||||
[
|
||||
# Determine size of time related types using hsc2hs instead of assuming CLong.
|
||||
# Prevents failures when e.g. stat(2)ing on 32bit systems with 64bit time_t etc.
|
||||
# https://github.com/haskell/ghcup-hs/issues/1107
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/25095
|
||||
# Note that in normal situations this shouldn't be the case since nixpkgs
|
||||
# doesn't set -D_FILE_OFFSET_BITS=64 and friends (yet).
|
||||
(fetchpatch {
|
||||
name = "unix-fix-ctimeval-size-32-bit.patch";
|
||||
url = "https://github.com/haskell/unix/commit/8183e05b97ce870dd6582a3677cc82459ae566ec.patch";
|
||||
sha256 = "17q5yyigqr5kxlwwzb95sx567ysfxlw6bp3j4ji20lz0947aw6gv";
|
||||
stripLen = 1;
|
||||
extraPrefix = "libraries/unix/";
|
||||
})
|
||||
]
|
||||
++ lib.optionals (lib.versionAtLeast version "9.6" && lib.versionOlder version "9.6.6") [
|
||||
(fetchpatch {
|
||||
name = "fix-fully_static.patch";
|
||||
|
|
|
@ -283,7 +283,22 @@ stdenv.mkDerivation (
|
|||
];
|
||||
|
||||
patches =
|
||||
lib.optionals (lib.versionOlder version "9.4") [
|
||||
[
|
||||
# Determine size of time related types using hsc2hs instead of assuming CLong.
|
||||
# Prevents failures when e.g. stat(2)ing on 32bit systems with 64bit time_t etc.
|
||||
# https://github.com/haskell/ghcup-hs/issues/1107
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/25095
|
||||
# Note that in normal situations this shouldn't be the case since nixpkgs
|
||||
# doesn't set -D_FILE_OFFSET_BITS=64 and friends (yet).
|
||||
(fetchpatch {
|
||||
name = "unix-fix-ctimeval-size-32-bit.patch";
|
||||
url = "https://github.com/haskell/unix/commit/8183e05b97ce870dd6582a3677cc82459ae566ec.patch";
|
||||
sha256 = "17q5yyigqr5kxlwwzb95sx567ysfxlw6bp3j4ji20lz0947aw6gv";
|
||||
stripLen = 1;
|
||||
extraPrefix = "libraries/unix/";
|
||||
})
|
||||
]
|
||||
++ lib.optionals (lib.versionOlder version "9.4") [
|
||||
# fix hyperlinked haddock sources: https://github.com/haskell/haddock/pull/1482
|
||||
(fetchpatch {
|
||||
url = "https://patch-diff.githubusercontent.com/raw/haskell/haddock/pull/1482.patch";
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import ./common-hadrian.nix {
|
||||
version = "9.13.20241031";
|
||||
rev = "0b11cdc022ce33d089db95b2b2e7c1f4bb326d37";
|
||||
sha256 = "0kqnpcgv49ricbr950lffs8gx7jrcg6anzc0qvwy5pb518w0d37i";
|
||||
version = "9.13.20250205";
|
||||
rev = "5622a14a7a036ab36e28963a4fba826a5ac798a7";
|
||||
sha256 = "1djhs67gz136xvky7wsv44ic60j7xk4fzabr5why2jh312r4vlr4";
|
||||
}
|
||||
|
|
|
@ -34,6 +34,8 @@ self: super: {
|
|||
# Allow transformers-compat >= 0.7
|
||||
optparse-applicative = doJailbreak self.optparse-applicative_0_15_1_0;
|
||||
ansi-wl-pprint = self.ansi-wl-pprint_0_6_9;
|
||||
ansi-terminal = self.ansi-terminal_1_0_2;
|
||||
ansi-terminal-types = self.ansi-terminal-types_0_11_5;
|
||||
}
|
||||
)
|
||||
);
|
||||
|
|
|
@ -7,28 +7,30 @@ there are no Haskell-related evaluation errors or build errors that get into
|
|||
the Nixpkgs `master` branch.
|
||||
|
||||
We do this by periodically merging an updated set of Haskell packages on the
|
||||
`haskell-updates` branch into the `master` branch. Each member of the team
|
||||
`haskell-updates` branch into the `staging` branch. Each member of the team
|
||||
takes a two week period where they are in charge of merging the
|
||||
`haskell-updates` branch into `master`. This is the documentation for this
|
||||
`haskell-updates` branch into `staging`. This is the documentation for this
|
||||
workflow.
|
||||
|
||||
The workflow generally proceeds in three main steps:
|
||||
|
||||
1. create the initial `haskell-updates` PR, and update Stackage and Hackage snapshots
|
||||
1. wait for contributors to fix newly broken Haskell packages
|
||||
1. merge `haskell-updates` into `master`
|
||||
1. merge `haskell-updates` into `staging`
|
||||
|
||||
Each of these steps is described in a separate section.
|
||||
|
||||
There is a script that automates the workflow for merging the currently open
|
||||
`haskell-updates` PR into `master` and opening the next PR. It is described
|
||||
`haskell-updates` PR into `staging` and opening the next PR. It is described
|
||||
at the end of this document.
|
||||
|
||||
## Initial `haskell-updates` PR
|
||||
|
||||
In this section we create the PR for merging `haskell-updates` into `master`.
|
||||
In this section we create the PR for merging `haskell-updates` into `staging`.
|
||||
|
||||
1. Make sure the `haskell-updates` branch is up-to-date with `master`.
|
||||
1. Make sure the `haskell-updates` branch is up-to-date with a _merge base_ of
|
||||
`staging` and `master`. `haskell-updates` is not based _on_ `staging`,
|
||||
so that it can share binary cache with `master`.
|
||||
|
||||
1. Update the Stackage Nightly resolver used by Nixpkgs and create a commit:
|
||||
|
||||
|
@ -50,7 +52,7 @@ In this section we create the PR for merging `haskell-updates` into `master`.
|
|||
|
||||
1. Push these commits to the `haskell-updates` branch of the NixOS/nixpkgs repository.
|
||||
|
||||
1. Open a PR on Nixpkgs for merging `haskell-updates` into `master`. The recommended
|
||||
1. Open a PR on Nixpkgs for merging `haskell-updates` into `staging`. The recommended
|
||||
PR title and body text are described in the `merge-and-open-pr.sh` section.
|
||||
|
||||
## Notify Maintainers and Fix Broken Packages
|
||||
|
@ -85,7 +87,7 @@ most recent build report.
|
|||
|
||||
Maintainers should be given at least 7 days to fix up their packages when they
|
||||
break. If maintainers don't fix up their packages within 7 days, then they
|
||||
may be marked broken before merging `haskell-updates` into `master`.
|
||||
may be marked broken before merging `haskell-updates` into `staging`.
|
||||
|
||||
### Fix Broken Packages
|
||||
|
||||
|
@ -153,7 +155,7 @@ following will happen:
|
|||
|
||||
- All updated files will be committed.
|
||||
|
||||
## Merge `haskell-updates` into `master`
|
||||
## Merge `haskell-updates` into `staging`
|
||||
|
||||
Now it is time to merge the `haskell-updates` PR you opened above.
|
||||
|
||||
|
@ -168,33 +170,12 @@ Before doing this, make sure of the following:
|
|||
have been pinged on GitHub and given at least a week to fix their packages.
|
||||
This is especially important for widely-used packages like `cachix`.
|
||||
|
||||
- Make sure you first merge the `master` branch into `haskell-updates`. Wait
|
||||
for Hydra to evaluate the new `haskell-updates` jobset. Make sure you only
|
||||
merge `haskell-updates` into `master` when there are no evaluation errors.
|
||||
|
||||
- Due to Hydra having only a small number of Darwin build machines, the
|
||||
`haskell-updates` jobset on Hydra often has many queued Darwin jobs.
|
||||
In order to not have these queued Darwin jobs prevent the `haskell-updates`
|
||||
branch from being merged to `master` in a timely manner, we have special
|
||||
rules for Darwin jobs.
|
||||
|
||||
- It is alright to merge the `haskell-updates` branch to `master` if
|
||||
there are remaining queued Darwin jobs on Hydra.
|
||||
|
||||
- We would like to keep GHC and the `mergeable` job building on Darwin.
|
||||
Do not merge the `haskell-updates` branch to `master` if GHC is failing
|
||||
to build, or the `mergeable` job has failing Darwin constituent jobs.
|
||||
|
||||
If GHC and the `mergeable` job are not failing, but merely queued,
|
||||
it is alright to merge the `haskell-updates` branch to `master`.
|
||||
|
||||
- We do not need to keep the `maintained` job building on Darwin.
|
||||
If `maintained` packages are failing on Darwin, it is helpful to
|
||||
mark them as broken on that platform.
|
||||
|
||||
When you've double-checked these points, go ahead and merge the `haskell-updates` PR.
|
||||
After merging, **make sure not to delete the `haskell-updates` branch**, since it
|
||||
causes all currently open Haskell-related pull-requests to be automatically closed on GitHub.
|
||||
- Keep an eye on the next `staging-next` iteration (which is branched off
|
||||
from `staging`) to confirm that there are no show stopping issues stemming
|
||||
from interactions between changes on `staging` and `haskell-updates`.
|
||||
Also be aware that build or eval regressions from a `haskell-updates`
|
||||
iteration may only become apparent on `staging-next`, especially when the
|
||||
`haskell-updates` jobset had e.g. Darwin builds disabled.
|
||||
|
||||
## Script for Merging `haskell-updates` and Opening a New PR
|
||||
|
||||
|
@ -233,10 +214,6 @@ opening the next one. When you want to merge the currently open
|
|||
$ ./maintainers/scripts/haskell/mark-broken.sh --do-commit
|
||||
```
|
||||
|
||||
1. Merge `master` into `haskell-updates` and make sure to push to the
|
||||
`haskell-updates` branch. (This can be skipped if `master` has recently
|
||||
been merged into `haskell-updates`.)
|
||||
|
||||
1. Go to https://hydra.nixos.org/jobset/nixpkgs/haskell-updates and force an
|
||||
evaluation of the `haskell-updates` jobset. See one of the following
|
||||
sections for how to do this. Make sure there are no evaluation errors. If
|
||||
|
@ -270,11 +247,14 @@ opening the next one. When you want to merge the currently open
|
|||
|
||||
## Update Hackage Version Information
|
||||
|
||||
After merging into `master` you can update what Hackage displays as the current
|
||||
Remember to regularly update what Hackage displays as the current
|
||||
version in NixOS for every individual package. To do this you run
|
||||
`maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh`. See the
|
||||
script for how to provide credentials. Once you have configured credentials,
|
||||
running this takes only a few seconds.
|
||||
`maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh` on a checkout
|
||||
of `master` (or `nixpkgs-unstable`). See the script for how to provide credentials.
|
||||
Once you have configured credentials, running this takes only a few seconds.
|
||||
|
||||
The best time to do this is after `staging-next` has been merged since this is
|
||||
the way Haskell package updates propagate to `master`.
|
||||
|
||||
## Additional Info
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
{
|
||||
mkDerivation,
|
||||
aeson,
|
||||
ansi-terminal,
|
||||
ansi-wl-pprint,
|
||||
base,
|
||||
bytestring,
|
||||
|
@ -34,16 +35,17 @@
|
|||
}:
|
||||
mkDerivation {
|
||||
pname = "cabal2nix";
|
||||
version = "unstable-2024-12-31";
|
||||
version = "unstable-2025-04-22";
|
||||
src = fetchzip {
|
||||
url = "https://github.com/NixOS/cabal2nix/archive/e290b906f056dd1414ede71b4bb6375be2d0aa5d.tar.gz";
|
||||
sha256 = "0x94w4dfjfxp3f5h7w5738znkyb8barzjki0xsf94asiffiqsgxn";
|
||||
url = "https://github.com/NixOS/cabal2nix/archive/e6ed81965def7775aabdda7456d0c13f626295ee.tar.gz";
|
||||
sha256 = "1fh428r4wfrqjj77dxy1l3d9scm4ywz89rp7dhp07y3bq5yr7hs4";
|
||||
};
|
||||
postUnpack = "sourceRoot+=/cabal2nix; echo source root reset to $sourceRoot";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
libraryHaskellDepends = [
|
||||
aeson
|
||||
ansi-terminal
|
||||
ansi-wl-pprint
|
||||
base
|
||||
bytestring
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -243,40 +243,12 @@ self: super:
|
|||
# Otherwise impure gcc is used, which is Apple's weird wrapper
|
||||
c2hsc = addTestToolDepends [ pkgs.gcc ] super.c2hsc;
|
||||
|
||||
http-client-tls = overrideCabal (drv: {
|
||||
postPatch =
|
||||
''
|
||||
# This comment has been inserted, so the derivation hash changes, forcing
|
||||
# a rebuild of this derivation which has succeeded to build on Hydra before,
|
||||
# but apparently been corrupted, causing reverse dependencies to fail.
|
||||
#
|
||||
# This workaround can be removed upon the next darwin stdenv rebuild,
|
||||
# presumably https://github.com/NixOS/nixpkgs/pull/152850 or the next
|
||||
# full haskellPackages rebuild.
|
||||
''
|
||||
+ drv.postPatch or "";
|
||||
}) super.http-client-tls;
|
||||
|
||||
http2 = super.http2.overrideAttrs (drv: {
|
||||
# Allow access to local networking when the Darwin sandbox is enabled, so http2 can run tests
|
||||
# that access localhost.
|
||||
__darwinAllowLocalNetworking = true;
|
||||
});
|
||||
|
||||
foldl = overrideCabal (drv: {
|
||||
postPatch =
|
||||
''
|
||||
# This comment has been inserted, so the derivation hash changes, forcing
|
||||
# a rebuild of this derivation which has succeeded to build on Hydra before,
|
||||
# but apparently been corrupted, causing reverse dependencies to fail.
|
||||
#
|
||||
# This workaround can be removed upon the next darwin stdenv rebuild,
|
||||
# presumably https://github.com/NixOS/nixpkgs/pull/152850 or the next
|
||||
# full haskellPackages rebuild.
|
||||
''
|
||||
+ drv.postPatch or "";
|
||||
}) super.foldl;
|
||||
|
||||
# https://hydra.nixos.org/build/230964714/nixlog/1
|
||||
inline-c-cpp = appendPatch (pkgs.fetchpatch {
|
||||
url = "https://github.com/fpco/inline-c/commit/e8dc553b13bb847409fdced649a6a863323cff8a.patch";
|
||||
|
@ -362,6 +334,8 @@ self: super:
|
|||
http-reverse-proxy = dontCheck super.http-reverse-proxy;
|
||||
servant-auth-server = dontCheck super.servant-auth-server;
|
||||
|
||||
sysinfo = dontCheck super.sysinfo;
|
||||
|
||||
}
|
||||
// lib.optionalAttrs pkgs.stdenv.hostPlatform.isAarch64 {
|
||||
# aarch64-darwin
|
||||
|
|
|
@ -46,7 +46,7 @@ self: super: {
|
|||
if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then
|
||||
null
|
||||
else
|
||||
doDistribute self.terminfo_0_4_1_6;
|
||||
doDistribute self.terminfo_0_4_1_7;
|
||||
text = null;
|
||||
time = null;
|
||||
transformers = null;
|
||||
|
@ -61,6 +61,20 @@ self: super: {
|
|||
# their existence to callPackages, but their is no shim for lower GHC versions.
|
||||
system-cxx-std-lib = null;
|
||||
|
||||
# Becomes a core package in GHC >= 9.8
|
||||
semaphore-compat = doDistribute self.semaphore-compat_1_0_0;
|
||||
|
||||
# only broken for >= 9.6
|
||||
calligraphy = doDistribute (unmarkBroken super.calligraphy);
|
||||
|
||||
# Only required for ghc >= 9.2
|
||||
nothunks = super.nothunks.override {
|
||||
wherefrom-compat = null;
|
||||
};
|
||||
|
||||
# Tests require nothunks < 0.3 (conflicting with Stackage) for GHC < 9.8
|
||||
aeson = dontCheck super.aeson;
|
||||
|
||||
# For GHC < 9.4, some packages need data-array-byte as an extra dependency
|
||||
# For GHC < 9.2, os-string is not required.
|
||||
primitive = addBuildDepends [ self.data-array-byte ] super.primitive;
|
||||
|
@ -77,6 +91,9 @@ self: super: {
|
|||
);
|
||||
hashable-time = doDistribute (unmarkBroken super.hashable-time);
|
||||
|
||||
# Needs base-orphans for GHC < 9.8 / base < 4.19
|
||||
some = addBuildDepend self.base-orphans super.some;
|
||||
|
||||
# Too strict lower bounds on base
|
||||
primitive-addr = doJailbreak super.primitive-addr;
|
||||
|
||||
|
@ -84,7 +101,7 @@ self: super: {
|
|||
ghc-api-compat = doDistribute (unmarkBroken self.ghc-api-compat_8_10_7);
|
||||
|
||||
# Needs to use ghc-lib due to incompatible GHC
|
||||
ghc-tags = doDistribute (addBuildDepend self.ghc-lib self.ghc-tags_1_5);
|
||||
ghc-tags = doDistribute self.ghc-tags_1_5;
|
||||
|
||||
# Jailbreak to fix the build.
|
||||
base-noprelude = doJailbreak super.base-noprelude;
|
||||
|
@ -133,8 +150,16 @@ self: super: {
|
|||
# bundled with GHC < 9.0.
|
||||
wai-extra = dontHaddock super.wai-extra;
|
||||
|
||||
# Overly-strict bounds introduced by a revision in version 0.3.2.
|
||||
text-metrics = doJailbreak super.text-metrics;
|
||||
# tar > 0.6 requires os-string which can't be built with bytestring < 0.11
|
||||
tar = overrideCabal (drv: {
|
||||
jailbreak = true;
|
||||
buildDepends = drv.buildDepends or [ ] ++ [
|
||||
self.bytestring-handle
|
||||
];
|
||||
}) self.tar_0_6_0_0;
|
||||
# text-metrics >= 0.3.3 requires GHC2021
|
||||
text-metrics = doDistribute (doJailbreak self.text-metrics_0_3_2);
|
||||
bytestring-handle = unmarkBroken (doDistribute super.bytestring-handle);
|
||||
|
||||
# Doesn't build with 9.0, see https://github.com/yi-editor/yi/issues/1125
|
||||
yi-core = doDistribute (markUnbroken super.yi-core);
|
||||
|
|
|
@ -8,8 +8,12 @@ in
|
|||
|
||||
self: super: {
|
||||
|
||||
# Should be llvmPackages_6 which has been removed from nixpkgs
|
||||
llvmPackages = null;
|
||||
# Should be llvmPackages_6 which has been removed from nixpkgs,
|
||||
# create attribute set to prevent eval errors.
|
||||
llvmPackages = {
|
||||
llvm = null;
|
||||
clang = null;
|
||||
};
|
||||
|
||||
# Disable GHC 8.6.x core libraries.
|
||||
array = null;
|
||||
|
@ -43,7 +47,7 @@ self: super: {
|
|||
if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then
|
||||
null
|
||||
else
|
||||
doDistribute self.terminfo_0_4_1_6;
|
||||
doDistribute self.terminfo_0_4_1_7;
|
||||
text = null;
|
||||
time = null;
|
||||
transformers = null;
|
||||
|
@ -58,6 +62,9 @@ self: super: {
|
|||
# their existence to callPackages, but their is no shim for lower GHC versions.
|
||||
system-cxx-std-lib = null;
|
||||
|
||||
# Becomes a core package in GHC >= 9.8
|
||||
semaphore-compat = doDistribute self.semaphore-compat_1_0_0;
|
||||
|
||||
# Needs Cabal 3.0.x.
|
||||
jailbreak-cabal = super.jailbreak-cabal.overrideScope (cself: _: { Cabal = cself.Cabal_3_2_1_0; });
|
||||
|
||||
|
@ -93,6 +100,9 @@ self: super: {
|
|||
# ghc versions prior to 8.8.x needs additional dependency to compile successfully.
|
||||
ghc-lib-parser-ex = addBuildDepend self.ghc-lib-parser super.ghc-lib-parser-ex;
|
||||
|
||||
# Needs base-orphans for GHC < 9.8 / base < 4.19
|
||||
some = addBuildDepend self.base-orphans super.some;
|
||||
|
||||
# This became a core library in ghc 8.10., so we don’t have an "exception" attribute anymore.
|
||||
exceptions = self.exceptions_0_10_9;
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@ self: super: {
|
|||
if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then
|
||||
null
|
||||
else
|
||||
doDistribute self.terminfo_0_4_1_6;
|
||||
doDistribute self.terminfo_0_4_1_7;
|
||||
text = null;
|
||||
time = null;
|
||||
transformers = null;
|
||||
|
@ -60,8 +60,24 @@ self: super: {
|
|||
# their existence to callPackages, but their is no shim for lower GHC versions.
|
||||
system-cxx-std-lib = null;
|
||||
|
||||
# Becomes a core package in GHC >= 9.8
|
||||
semaphore-compat = doDistribute self.semaphore-compat_1_0_0;
|
||||
|
||||
# Only required for ghc >= 9.2
|
||||
nothunks = super.nothunks.override {
|
||||
wherefrom-compat = null;
|
||||
};
|
||||
|
||||
# Needs base-orphans for GHC < 9.8 / base < 4.19
|
||||
some = addBuildDepend self.base-orphans super.some;
|
||||
|
||||
# Jailbreaks & Version Updates
|
||||
|
||||
# tar > 0.6 requires os-string which can't be built with bytestring < 0.11
|
||||
tar = doDistribute (doJailbreak self.tar_0_6_0_0);
|
||||
# text-metrics >= 0.3.3 requires GHC2021
|
||||
text-metrics = doDistribute self.text-metrics_0_3_2;
|
||||
|
||||
# For GHC < 9.4, some packages need data-array-byte as an extra dependency
|
||||
primitive = addBuildDepends [ self.data-array-byte ] super.primitive;
|
||||
# For GHC < 9.2, os-string is not required.
|
||||
|
@ -95,7 +111,7 @@ self: super: {
|
|||
haskell-language-server = throw "haskell-language-server has dropped support for ghc 9.0 in version 2.4.0.0, please use a newer ghc version or an older nixpkgs version";
|
||||
|
||||
# Needs to use ghc-lib due to incompatible GHC
|
||||
ghc-tags = doDistribute (addBuildDepend self.ghc-lib self.ghc-tags_1_5);
|
||||
ghc-tags = doDistribute self.ghc-tags_1_5;
|
||||
|
||||
# ghc-lib >= 9.6 and friends no longer build with GHC 9.0
|
||||
ghc-lib-parser = doDistribute self.ghc-lib-parser_9_2_8_20230729;
|
||||
|
@ -121,6 +137,9 @@ self: super: {
|
|||
# https://github.com/lspitzner/butcher/issues/7
|
||||
butcher = doJailbreak super.butcher;
|
||||
|
||||
# Tests require nothunks < 0.3 (conflicting with Stackage) for GHC < 9.8
|
||||
aeson = dontCheck super.aeson;
|
||||
|
||||
# We use a GHC patch to support the fix for https://github.com/fpco/inline-c/issues/127
|
||||
# which means that the upstream cabal file isn't allowed to add the flag.
|
||||
inline-c-cpp =
|
||||
|
|
|
@ -51,7 +51,7 @@ self: super: {
|
|||
if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then
|
||||
null
|
||||
else
|
||||
doDistribute self.terminfo_0_4_1_6;
|
||||
doDistribute self.terminfo_0_4_1_7;
|
||||
text = null;
|
||||
time = null;
|
||||
transformers = null;
|
||||
|
@ -64,35 +64,14 @@ self: super: {
|
|||
|
||||
# Upgrade to accommodate new core library versions, where the authors have
|
||||
# already made the relevant changes.
|
||||
aeson = doDistribute self.aeson_2_2_3_0;
|
||||
attoparsec-aeson = doDistribute self.attoparsec-aeson_2_2_2_0;
|
||||
auto-update = doDistribute self.auto-update_0_2_6;
|
||||
dependent-sum-template = doJailbreak self.dependent-sum-template_0_2_0_1; # template-haskell < 2.22
|
||||
extensions = doDistribute self.extensions_0_1_0_2;
|
||||
fourmolu = doDistribute self.fourmolu_0_16_2_0;
|
||||
hashable = doDistribute self.hashable_1_4_7_0;
|
||||
integer-conversion = doDistribute self.integer-conversion_0_1_1;
|
||||
ghc-lib = doDistribute self.ghc-lib_9_10_1_20241103;
|
||||
ghc-lib-parser = doDistribute self.ghc-lib-parser_9_10_1_20241103;
|
||||
# 2025-04-09: jailbreak to allow hedgehog >= 1.5, hspec-hedgehog >=0.2
|
||||
extensions = doJailbreak (doDistribute self.extensions_0_1_0_2);
|
||||
fourmolu = doDistribute self.fourmolu_0_16_0_0;
|
||||
ghc-lib = doDistribute self.ghc-lib_9_10_1_20250103;
|
||||
ghc-lib-parser = doDistribute self.ghc-lib-parser_9_10_1_20250103;
|
||||
ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_10_0_0;
|
||||
http2 = doDistribute self.http2_5_3_9;
|
||||
http-semantics = doDistribute self.http-semantics_0_3_0;
|
||||
htree = doDistribute self.htree_0_2_0_0;
|
||||
lens = doDistribute self.lens_5_3_2;
|
||||
lukko = doDistribute self.lukko_0_1_2;
|
||||
network-control = super.network-control_0_1_3;
|
||||
network-run = super.network-run_0_4_0;
|
||||
ormolu = doDistribute self.ormolu_0_7_7_0;
|
||||
primitive = doDistribute self.primitive_0_9_0_0;
|
||||
quickcheck-instances = doDistribute self.quickcheck-instances_0_3_32;
|
||||
rebase = doDistribute self.rebase_1_21_1;
|
||||
rerebase = doDistribute self.rerebase_1_21_1;
|
||||
scientific = doDistribute self.scientific_0_3_8_0;
|
||||
semirings = doDistribute self.semirings_0_7;
|
||||
time-manager = doDistribute self.time-manager_0_2_2;
|
||||
th-abstraction = doDistribute self.th-abstraction_0_7_1_0;
|
||||
uuid-types = doDistribute self.uuid-types_1_0_6;
|
||||
warp = pkgs.haskell.lib.dontCheck super.warp_3_4_7; # test suite assumes it can freely call curl
|
||||
|
||||
# A given major version of ghc-exactprint only supports one version of GHC.
|
||||
ghc-exactprint = doDistribute self.ghc-exactprint_1_9_0_0;
|
||||
|
@ -109,32 +88,34 @@ self: super: {
|
|||
# Jailbreaks
|
||||
#
|
||||
base64 = doJailbreak super.base64; # base <4.20
|
||||
commutative-semigroups = doJailbreak super.commutative-semigroups; # base <4.20
|
||||
dejafu = doJailbreak super.dejafu; # containers <0.7
|
||||
# 2025-04-09: base <4.20, containers <0.7, filepath <1.5, Cabal-syntax <3.11
|
||||
cabal-install-parsers =
|
||||
assert super.cabal-install-parsers.version == "0.6.1.1";
|
||||
doJailbreak super.cabal-install-parsers;
|
||||
floskell = doJailbreak super.floskell; # base <4.20
|
||||
lucid = doJailbreak super.lucid; # base <4.20
|
||||
tar = doJailbreak super.tar; # base <4.20
|
||||
# 2025-04-09: filepath <1.5
|
||||
haddock-library =
|
||||
assert super.haddock-library.version == "1.11.0";
|
||||
doJailbreak super.haddock-library;
|
||||
spdx = doJailbreak super.spdx; # Cabal-syntax < 3.13
|
||||
tasty-coverage = doJailbreak super.tasty-coverage; # base <4.20, filepath <1.5
|
||||
tree-diff = doJailbreak super.tree-diff; # base <4.20
|
||||
tree-sitter = doJailbreak super.tree-sitter; # containers <0.7, filepath <1.5
|
||||
time-compat = doJailbreak super.time-compat; # base <4.20
|
||||
# https://github.com/haskell-party/feed/issues/73
|
||||
feed = doJailbreak super.feed; # base
|
||||
|
||||
bitvec = doJailbreak super.bitvec; # primitive <0.9
|
||||
|
||||
hashable_1_4_7_0 = doJailbreak super.hashable_1_4_7_0; # relax bounds for QuickCheck, tasty, and tasty-quickcheck
|
||||
hashable_1_5_0_0 = doJailbreak super.hashable_1_5_0_0; # relax bounds for QuickCheck, tasty, and tasty-quickcheck
|
||||
|
||||
broadcast-chan = doJailbreak super.broadcast-chan; # base <4.19 https://github.com/merijn/broadcast-chan/pull/19
|
||||
|
||||
#
|
||||
# Test suite issues
|
||||
#
|
||||
call-stack = dontCheck super.call-stack; # https://github.com/sol/call-stack/issues/19
|
||||
lifted-base = dontCheck super.lifted-base; # doesn't compile with transformers ==0.6.*
|
||||
lukko_0_1_2 = dontCheck super.lukko_0_1_2; # doesn't compile with tasty ==1.4.*
|
||||
resolv = dontCheck super.resolv; # doesn't compile with filepath ==1.5.*
|
||||
primitive-unlifted = dontCheck super.primitive-unlifted; # doesn't compile with primitive ==0.9.*
|
||||
bsb-http-chunked = pkgs.haskell.lib.dontCheck super.bsb-http-chunked; # https://github.com/sjakobi/bsb-http-chunked/issues/45
|
||||
fsnotify = dontCheck super.fsnotify; # https://github.com/haskell-fswatch/hfsnotify/issues/115
|
||||
hinotify = pkgs.haskell.lib.dontCheck super.hinotify; # https://github.com/kolmodin/hinotify/issues/38
|
||||
monad-dijkstra = dontCheck super.monad-dijkstra; # needs hlint 3.10
|
||||
|
||||
haskell-language-server = disableCabalFlag "retrie" (
|
||||
disableCabalFlag "hlint" (
|
||||
|
|
|
@ -1,12 +1,29 @@
|
|||
{ pkgs, haskellLib }:
|
||||
|
||||
self: super:
|
||||
|
||||
let
|
||||
inherit (pkgs) lib;
|
||||
|
||||
versionAtMost = a: b: lib.versionAtLeast b a;
|
||||
|
||||
warnVersion =
|
||||
predicate: ver: pkg:
|
||||
let
|
||||
pname = pkg.pname;
|
||||
in
|
||||
lib.warnIf (predicate ver
|
||||
super.${pname}.version
|
||||
) "override for haskell.packages.ghc912.${pname} may no longer be needed" pkg;
|
||||
|
||||
warnAfterVersion = warnVersion lib.versionOlder;
|
||||
warnFromVersion = warnVersion versionAtMost;
|
||||
|
||||
in
|
||||
|
||||
with haskellLib;
|
||||
|
||||
self: super: {
|
||||
{
|
||||
llvmPackages = lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
|
||||
|
||||
# Disable GHC core libraries
|
||||
|
@ -20,6 +37,7 @@ self: super: {
|
|||
deepseq = null;
|
||||
directory = null;
|
||||
exceptions = null;
|
||||
file-io = null;
|
||||
filepath = null;
|
||||
ghc-bignum = null;
|
||||
ghc-boot = null;
|
||||
|
@ -32,6 +50,8 @@ self: super: {
|
|||
ghc-prim = null;
|
||||
ghc-toolchain = null;
|
||||
ghci = null;
|
||||
haddock-api = null;
|
||||
haddock-library = null;
|
||||
haskeline = null;
|
||||
hpc = null;
|
||||
integer-gmp = null;
|
||||
|
@ -50,29 +70,138 @@ self: super: {
|
|||
if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then
|
||||
null
|
||||
else
|
||||
haskellLib.doDistribute self.terminfo_0_4_1_6;
|
||||
haskellLib.doDistribute self.terminfo_0_4_1_7;
|
||||
text = null;
|
||||
time = null;
|
||||
transformers = null;
|
||||
unix = null;
|
||||
xhtml = null;
|
||||
|
||||
# Version upgrades
|
||||
jailbreak-cabal = overrideCabal {
|
||||
# Manually update jailbreak-cabal to 1.4.1 (which supports Cabal >= 3.14)
|
||||
# since Hackage bump containing it is tied up in the update to Stackage LTS 23.
|
||||
version = "1.4.1";
|
||||
sha256 = "0q6l608m965s6932xabm7v2kav5cxrihb5qcbrwz0c4xiwrz4l5x";
|
||||
#
|
||||
# Hand pick versions that are compatible with ghc 9.12 and base 4.21
|
||||
#
|
||||
|
||||
revision = null;
|
||||
editedCabalFile = null;
|
||||
} super.jailbreak-cabal;
|
||||
extra = doDistribute self.extra_1_8;
|
||||
htree = doDistribute self.htree_0_2_0_0;
|
||||
primitive = doDistribute self.primitive_0_9_0_0;
|
||||
splitmix = doDistribute self.splitmix_0_1_1;
|
||||
tagged = doDistribute self.tagged_0_8_9;
|
||||
tar = doDistribute self.tar_0_6_3_0;
|
||||
time-compat = doDistribute self.time-compat_1_9_8;
|
||||
extensions = doDistribute self.extensions_0_1_0_3;
|
||||
doctest = doDistribute self.doctest_0_24_0;
|
||||
ghc-syntax-highlighter = doDistribute self.ghc-syntax-highlighter_0_0_13_0;
|
||||
ghc-lib = doDistribute self.ghc-lib_9_12_2_20250320;
|
||||
ghc-exactprint = doDistribute self.ghc-exactprint_1_12_0_0;
|
||||
ghc-lib-parser = doDistribute self.ghc-lib-parser_9_12_2_20250320;
|
||||
ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_12_0_0;
|
||||
hlint = doDistribute self.hlint_3_10;
|
||||
fourmolu = doDistribute self.fourmolu_0_18_0_0;
|
||||
ormolu = doDistribute self.ormolu_0_8_0_0;
|
||||
apply-refact = doDistribute self.apply-refact_0_15_0_0;
|
||||
|
||||
#
|
||||
# Jailbreaks
|
||||
#
|
||||
|
||||
lucid = doJailbreak super.lucid; # base <4.21
|
||||
extensions_0_1_0_3 = doJailbreak super.extensions_0_1_0_3; # hedgehog >=1.0 && <1.5, hspec-hedgehog >=0.0.1 && <0.2
|
||||
hie-compat = doJailbreak super.hie-compat; # base <4.21
|
||||
hiedb = doJailbreak super.hiedb; # base >=4.12 && <4.21, ghc >=8.6 && <9.11
|
||||
ed25519 = doJailbreak super.ed25519; # https://github.com/thoughtpolice/hs-ed25519/issues/39
|
||||
ghc-trace-events = doJailbreak super.ghc-trace-events; # base <4.21
|
||||
time-compat_1_9_8 = doJailbreak super.time-compat_1_9_8; # too strict lower bound on QuickCheck
|
||||
cpphs = overrideCabal (drv: {
|
||||
# jail break manually the conditional dependencies
|
||||
postPatch = ''
|
||||
sed -i 's/time >=1.5 \&\& <1.13/time >=1.5 \&\& <=1.14/g' cpphs.cabal
|
||||
'';
|
||||
}) super.cpphs;
|
||||
vector = doJailbreak super.vector; # doctest >=0.15 && <0.24
|
||||
binary-instances = doJailbreak super.binary-instances; # base >=4.6.0.1 && <4.21, tagged >=0.8.8 && <0.8.9
|
||||
cabal-install-parsers = doJailbreak super.cabal-install-parsers; # base, Cabal-syntax, etc.
|
||||
http-api-data = doJailbreak super.http-api-data; # base < 4.21
|
||||
servant = doJailbreak super.servant; # base < 4.21
|
||||
ghc-exactprint_1_12_0_0 = addBuildDepends [
|
||||
# somehow buildDepends was missing
|
||||
self.Diff
|
||||
self.extra
|
||||
self.ghc-paths
|
||||
self.silently
|
||||
self.syb
|
||||
self.HUnit
|
||||
] super.ghc-exactprint_1_12_0_0;
|
||||
co-log-core = doJailbreak super.co-log-core; # doctest >=0.16.0 && <0.24
|
||||
|
||||
#
|
||||
# Test suite issues
|
||||
#
|
||||
|
||||
call-stack = dontCheck super.call-stack; # https://github.com/sol/call-stack/issues/19
|
||||
|
||||
relude = dontCheck super.relude;
|
||||
|
||||
doctest_0_24_0 = overrideCabal (drv: {
|
||||
testFlags = drv.testFlags or [ ] ++ [
|
||||
# These tests require cabal-install (would cause infinite recursion)
|
||||
"--skip=/Cabal.Options"
|
||||
"--skip=/Cabal.Paths/paths"
|
||||
"--skip=/Cabal.ReplOptions" # >= 0.23
|
||||
];
|
||||
}) super.doctest_0_24_0;
|
||||
|
||||
# https://github.com/typeable/generic-arbitrary/issues/18
|
||||
generic-arbitrary = overrideCabal (drv: {
|
||||
patches = drv.patches or [ ] ++ [
|
||||
(pkgs.fetchpatch {
|
||||
name = "hellwolf:fix-recursive-test-hidding-unit";
|
||||
url = "https://github.com/typeable/generic-arbitrary/commit/133b80be93e6744f21e0e5ed4180a24c589f92e4.patch";
|
||||
sha256 = "sha256-z9EVcD1uNAYUOVTwmCCnrEFFOvFB7lD94Y6BwGVwVRQ=";
|
||||
})
|
||||
];
|
||||
}) super.generic-arbitrary;
|
||||
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/25930
|
||||
generic-lens = dontCheck super.generic-lens;
|
||||
|
||||
# Cabal 3.14 regression (incorrect datadir in tests): https://github.com/haskell/cabal/issues/10717
|
||||
alex = overrideCabal (drv: {
|
||||
preCheck =
|
||||
drv.preCheck or ""
|
||||
+ ''
|
||||
export alex_datadir="$(pwd)/data"
|
||||
'';
|
||||
}) super.alex;
|
||||
|
||||
# https://github.com/sjakobi/newtype-generics/pull/28/files
|
||||
newtype-generics = warnAfterVersion "0.6.2" (doJailbreak super.newtype-generics);
|
||||
|
||||
#
|
||||
# Multiple issues
|
||||
#
|
||||
|
||||
fourmolu_0_18_0_0 = dontCheck (
|
||||
super.fourmolu_0_18_0_0.override {
|
||||
# Diff >=1 && <2
|
||||
Diff = super.Diff_1_0_2;
|
||||
}
|
||||
);
|
||||
|
||||
doctest-parallel = overrideCabal (drv: {
|
||||
patches = drv.patches or [ ] ++ [
|
||||
(pkgs.fetchpatch {
|
||||
name = "doctest-0.23.0-ghc-9.12.patch";
|
||||
url = "https://github.com/martijnbastiaan/doctest-parallel/commit/d3df7aa5d223f3daeb676c8a7efe093ee743d54f.patch";
|
||||
sha256 = "sha256-92CtqBCulfOTjLAeC205cIrqL/2CBP1YFLijTVcTD2M=";
|
||||
includes = [ "src/Test/DocTest/Helpers.hs" ];
|
||||
})
|
||||
];
|
||||
}) (dontCheck (doJailbreak super.doctest-parallel)); # Cabal >=2.4 && <3.13
|
||||
|
||||
haskell-language-server = disableCabalFlag "retrie" (
|
||||
disableCabalFlag "stylishhaskel" (
|
||||
super.haskell-language-server.override {
|
||||
stylish-haskell = null;
|
||||
floskell = null;
|
||||
retrie = null;
|
||||
}
|
||||
)
|
||||
);
|
||||
}
|
||||
|
|
|
@ -52,7 +52,7 @@ self: super: {
|
|||
if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then
|
||||
null
|
||||
else
|
||||
haskellLib.doDistribute self.terminfo_0_4_1_6;
|
||||
haskellLib.doDistribute self.terminfo_0_4_1_7;
|
||||
text = null;
|
||||
time = null;
|
||||
transformers = null;
|
||||
|
|
|
@ -45,7 +45,7 @@ self: super: {
|
|||
if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then
|
||||
null
|
||||
else
|
||||
doDistribute self.terminfo_0_4_1_6;
|
||||
doDistribute self.terminfo_0_4_1_7;
|
||||
text = null;
|
||||
time = null;
|
||||
transformers = null;
|
||||
|
@ -60,6 +60,9 @@ self: super: {
|
|||
# their existence to callPackages, but their is no shim for lower GHC versions.
|
||||
system-cxx-std-lib = null;
|
||||
|
||||
# Becomes a core package in GHC >= 9.8
|
||||
semaphore-compat = doDistribute self.semaphore-compat_1_0_0;
|
||||
|
||||
# weeder >= 2.5 requires GHC 9.4
|
||||
weeder = doDistribute self.weeder_2_4_1;
|
||||
# Allow dhall 1.42.*
|
||||
|
@ -71,20 +74,7 @@ self: super: {
|
|||
}
|
||||
);
|
||||
|
||||
haskell-language-server = lib.pipe super.haskell-language-server [
|
||||
(disableCabalFlag "fourmolu")
|
||||
(disableCabalFlag "ormolu")
|
||||
(disableCabalFlag "cabal")
|
||||
(disableCabalFlag "stylishHaskell")
|
||||
(
|
||||
d:
|
||||
d.override {
|
||||
ormolu = null;
|
||||
fourmolu = null;
|
||||
stan = null;
|
||||
}
|
||||
)
|
||||
];
|
||||
haskell-language-server = throw "haskell-language-server has dropped support for ghc 9.2 in version 2.10.0.0, please use a newer ghc version or an older nixpkgs version";
|
||||
|
||||
# For GHC < 9.4, some packages need data-array-byte as an extra dependency
|
||||
hashable = addBuildDepends [ self.data-array-byte ] super.hashable;
|
||||
|
@ -93,6 +83,9 @@ self: super: {
|
|||
# Too strict lower bound on base
|
||||
primitive-addr = doJailbreak super.primitive-addr;
|
||||
|
||||
# Needs base-orphans for GHC < 9.8 / base < 4.19
|
||||
some = addBuildDepend self.base-orphans super.some;
|
||||
|
||||
# Jailbreaks & Version Updates
|
||||
hashable-time = doJailbreak super.hashable-time;
|
||||
|
||||
|
@ -101,17 +94,30 @@ self: super: {
|
|||
# https://mail.haskell.org/pipermail/haskell-cafe/2022-October/135613.html
|
||||
language-javascript_0_7_0_0 = dontCheck super.language-javascript_0_7_0_0;
|
||||
|
||||
# Needs to match ghc version
|
||||
ghc-tags = doDistribute self.ghc-tags_1_5;
|
||||
# Needs to match ghc-lib version
|
||||
ghc-tags = doDistribute (doJailbreak self.ghc-tags_1_7);
|
||||
|
||||
# For "ghc-lib" flag see https://github.com/haskell/haskell-language-server/issues/3185#issuecomment-1250264515
|
||||
hlint = enableCabalFlag "ghc-lib" super.hlint;
|
||||
# Needs to match ghc-lib
|
||||
hlint = doDistribute self.hlint_3_6_1;
|
||||
|
||||
# ghc-lib >= 9.8 and friends no longer build with GHC 9.2 since they require semaphore-compat
|
||||
ghc-lib-parser = doDistribute (
|
||||
self.ghc-lib-parser_9_6_7_20250325.override {
|
||||
happy = self.happy_1_20_1_1; # wants happy < 1.21
|
||||
}
|
||||
);
|
||||
ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_6_0_2;
|
||||
ghc-lib = doDistribute (
|
||||
self.ghc-lib_9_6_7_20250325.override {
|
||||
happy = self.happy_1_20_1_1; # wants happy < 1.21
|
||||
}
|
||||
);
|
||||
|
||||
# 0.2.2.3 requires Cabal >= 3.8
|
||||
shake-cabal = doDistribute self.shake-cabal_0_2_2_2;
|
||||
|
||||
# https://github.com/sjakobi/bsb-http-chunked/issues/38
|
||||
bsb-http-chunked = dontCheck super.bsb-http-chunked;
|
||||
# Tests require nothunks < 0.3 (conflicting with Stackage) for GHC < 9.8
|
||||
aeson = dontCheck super.aeson;
|
||||
|
||||
# https://github.com/NixOS/cabal2nix/issues/554
|
||||
# https://github.com/clash-lang/clash-compiler/blob/f0f6275e19b8c672f042026c478484c5fd45191d/README.md#ghc-compatibility
|
||||
|
@ -129,6 +135,9 @@ self: super: {
|
|||
# A given major version of ghc-exactprint only supports one version of GHC.
|
||||
ghc-exactprint = super.ghc-exactprint_1_5_0;
|
||||
|
||||
# only broken for >= 9.6
|
||||
calligraphy = doDistribute (unmarkBroken super.calligraphy);
|
||||
|
||||
# Packages which need compat library for GHC < 9.6
|
||||
inherit (lib.mapAttrs (_: addBuildDepends [ self.foldable1-classes-compat ]) super)
|
||||
indexed-traversable
|
||||
|
|
|
@ -54,7 +54,7 @@ in
|
|||
if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then
|
||||
null
|
||||
else
|
||||
doDistribute self.terminfo_0_4_1_6;
|
||||
doDistribute self.terminfo_0_4_1_7;
|
||||
text = null;
|
||||
time = null;
|
||||
transformers = null;
|
||||
|
@ -63,6 +63,12 @@ in
|
|||
# still the case when updating: https://gitlab.haskell.org/ghc/ghc/-/blob/0198841877f6f04269d6050892b98b5c3807ce4c/ghc.mk#L463
|
||||
xhtml = if self.ghc.hasHaddock or true then null else doDistribute self.xhtml_3000_4_0_0;
|
||||
|
||||
# Becomes a core package in GHC >= 9.8
|
||||
semaphore-compat = doDistribute self.semaphore-compat_1_0_0;
|
||||
|
||||
# only broken for >= 9.6
|
||||
calligraphy = doDistribute (unmarkBroken super.calligraphy);
|
||||
|
||||
# Jailbreaks & Version Updates
|
||||
|
||||
hashable-time = doJailbreak super.hashable-time;
|
||||
|
@ -74,6 +80,9 @@ in
|
|||
self.base-orphans
|
||||
] super.generically;
|
||||
|
||||
# Needs base-orphans for GHC < 9.8 / base < 4.19
|
||||
some = addBuildDepend self.base-orphans super.some;
|
||||
|
||||
# the dontHaddock is due to a GHC panic. might be this bug, not sure.
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/21619
|
||||
hedgehog = dontHaddock super.hedgehog;
|
||||
|
@ -86,16 +95,26 @@ in
|
|||
] ++ drv.testFlags or [ ];
|
||||
}) (doJailbreak super.hpack);
|
||||
|
||||
# https://github.com/sjakobi/bsb-http-chunked/issues/38
|
||||
bsb-http-chunked = dontCheck super.bsb-http-chunked;
|
||||
|
||||
# 2022-08-01: Tests are broken on ghc 9.2.4: https://github.com/wz1000/HieDb/issues/46
|
||||
hiedb = dontCheck super.hiedb;
|
||||
|
||||
# 2022-10-06: https://gitlab.haskell.org/ghc/ghc/-/issues/22260
|
||||
ghc-check = dontHaddock super.ghc-check;
|
||||
|
||||
ghc-tags = self.ghc-tags_1_6;
|
||||
ghc-tags = doDistribute (doJailbreak self.ghc-tags_1_7); # aeson < 2.2
|
||||
|
||||
# ghc-lib >= 9.8 and friends no longer build with GHC 9.4 since they require semaphore-compat
|
||||
ghc-lib-parser = doDistribute (
|
||||
self.ghc-lib-parser_9_6_7_20250325.override {
|
||||
happy = self.happy_1_20_1_1; # wants happy < 1.21
|
||||
}
|
||||
);
|
||||
ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_6_0_2;
|
||||
ghc-lib = doDistribute (
|
||||
self.ghc-lib_9_6_7_20250325.override {
|
||||
happy = self.happy_1_20_1_1; # wants happy < 1.21
|
||||
}
|
||||
);
|
||||
|
||||
# A given major version of ghc-exactprint only supports one version of GHC.
|
||||
ghc-exactprint = super.ghc-exactprint_1_6_1_3;
|
||||
|
@ -112,14 +131,15 @@ in
|
|||
let
|
||||
hls_overlay = lself: lsuper: {
|
||||
Cabal-syntax = lself.Cabal-syntax_3_10_3_0;
|
||||
Cabal = lself.Cabal_3_10_3_0;
|
||||
};
|
||||
in
|
||||
lib.mapAttrs (_: pkg: doDistribute (pkg.overrideScope hls_overlay)) {
|
||||
haskell-language-server = allowInconsistentDependencies super.haskell-language-server;
|
||||
fourmolu = super.fourmolu;
|
||||
ormolu = super.ormolu;
|
||||
hlint = super.hlint;
|
||||
stylish-haskell = super.stylish-haskell;
|
||||
fourmolu = doJailbreak self.fourmolu_0_14_0_0; # ansi-terminal, Diff
|
||||
ormolu = doJailbreak self.ormolu_0_7_2_0; # ansi-terminal
|
||||
hlint = self.hlint_3_6_1;
|
||||
stylish-haskell = self.stylish-haskell_0_14_5_0;
|
||||
}
|
||||
)
|
||||
haskell-language-server
|
||||
|
@ -140,6 +160,9 @@ in
|
|||
self.OneTuple
|
||||
] super.base-compat-batteries;
|
||||
|
||||
# Tests require nothunks < 0.3 (conflicting with Stackage) for GHC < 9.8
|
||||
aeson = dontCheck super.aeson;
|
||||
|
||||
# Too strict lower bound on base
|
||||
primitive-addr = doJailbreak super.primitive-addr;
|
||||
}
|
||||
|
|
|
@ -62,13 +62,19 @@ self: super:
|
|||
if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then
|
||||
null
|
||||
else
|
||||
doDistribute self.terminfo_0_4_1_6;
|
||||
doDistribute self.terminfo_0_4_1_7;
|
||||
text = null;
|
||||
time = null;
|
||||
transformers = null;
|
||||
unix = null;
|
||||
xhtml = null;
|
||||
|
||||
# Becomes a core package in GHC >= 9.8
|
||||
semaphore-compat = doDistribute self.semaphore-compat_1_0_0;
|
||||
|
||||
# Needs base-orphans for GHC < 9.8 / base < 4.19
|
||||
some = addBuildDepend self.base-orphans super.some;
|
||||
|
||||
#
|
||||
# Version deviations from Stackage LTS
|
||||
#
|
||||
|
@ -78,7 +84,8 @@ self: super:
|
|||
th-extras = doJailbreak super.th-extras;
|
||||
|
||||
# not in Stackage, needs to match ghc-lib
|
||||
ghc-tags = doDistribute self.ghc-tags_1_7;
|
||||
# since expression is generated for 9.8, ghc-lib dep needs to be added manually
|
||||
ghc-tags = doDistribute (addBuildDepends [ self.ghc-lib ] self.ghc-tags_1_8);
|
||||
|
||||
#
|
||||
# Too strict bounds without upstream fix
|
||||
|
@ -100,8 +107,6 @@ self: super:
|
|||
# Jailbreaks for servant <0.20
|
||||
servant-lucid = doJailbreak super.servant-lucid;
|
||||
|
||||
lifted-base = dontCheck super.lifted-base;
|
||||
hw-prim = dontCheck (doJailbreak super.hw-prim);
|
||||
stm-containers = dontCheck super.stm-containers;
|
||||
regex-tdfa = dontCheck super.regex-tdfa;
|
||||
hiedb = dontCheck super.hiedb;
|
||||
|
@ -124,9 +129,6 @@ self: super:
|
|||
# A factor of 100 is insufficient, 200 seems seems to work.
|
||||
hip = appendConfigureFlag "--ghc-options=-fsimpl-tick-factor=200" super.hip;
|
||||
|
||||
# Doctest comments have bogus imports.
|
||||
bsb-http-chunked = dontCheck super.bsb-http-chunked;
|
||||
|
||||
# This can be removed once https://github.com/typeclasses/ascii-predicates/pull/1
|
||||
# is merged and in a release that's being tracked.
|
||||
ascii-predicates = appendPatch (pkgs.fetchpatch {
|
||||
|
@ -145,6 +147,9 @@ self: super:
|
|||
sha256 = "sha256-buw1UeW57CFefEfqdDUraSyQ+H/NvCZOv6WF2ORiYQg=";
|
||||
}) super.ascii-numbers;
|
||||
|
||||
# Tests require nothunks < 0.3 (conflicting with Stackage) for GHC < 9.8
|
||||
aeson = dontCheck super.aeson;
|
||||
|
||||
# Apply patch from PR with mtl-2.3 fix.
|
||||
ConfigFile = overrideCabal (drv: {
|
||||
editedCabalFile = null;
|
||||
|
@ -159,6 +164,9 @@ self: super:
|
|||
];
|
||||
}) super.ConfigFile;
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/pull/367998#issuecomment-2598941240
|
||||
libtorch-ffi-helper = unmarkBroken (doDistribute super.libtorch-ffi-helper);
|
||||
|
||||
# Compatibility with core libs of GHC 9.6
|
||||
# Jailbreak to lift bound on time
|
||||
kqueue = doJailbreak (
|
||||
|
@ -187,6 +195,9 @@ self: super:
|
|||
;
|
||||
|
||||
singletons-base = dontCheck super.singletons-base;
|
||||
|
||||
# A given major version of ghc-exactprint only supports one version of GHC.
|
||||
ghc-exactprint = addBuildDepend self.extra super.ghc-exactprint_1_7_1_0;
|
||||
}
|
||||
# super.ghc is required to break infinite recursion as Nix is strict in the attrNames
|
||||
//
|
||||
|
|
|
@ -41,6 +41,7 @@ self: super:
|
|||
process = null;
|
||||
rts = null;
|
||||
stm = null;
|
||||
semaphore-compat = null;
|
||||
system-cxx-std-lib = null;
|
||||
template-haskell = null;
|
||||
# GHC only builds terminfo if it is a native compiler
|
||||
|
@ -48,7 +49,7 @@ self: super:
|
|||
if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then
|
||||
null
|
||||
else
|
||||
doDistribute self.terminfo_0_4_1_6;
|
||||
doDistribute self.terminfo_0_4_1_7;
|
||||
text = null;
|
||||
time = null;
|
||||
transformers = null;
|
||||
|
@ -58,79 +59,25 @@ self: super:
|
|||
#
|
||||
# Version upgrades
|
||||
#
|
||||
th-abstraction = doDistribute self.th-abstraction_0_7_1_0;
|
||||
ghc-lib-parser = doDistribute self.ghc-lib-parser_9_8_4_20241130;
|
||||
ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_8_0_2;
|
||||
ghc-lib = doDistribute self.ghc-lib_9_8_4_20241130;
|
||||
megaparsec = doDistribute self.megaparsec_9_7_0;
|
||||
# aeson 2.2.3.0 seemingly unnecessesarily bumped the lower bound on hashable
|
||||
# https://github.com/haskell/aeson/commit/1a666febd0775d8e88d315ece1b97cd20602fb5f
|
||||
aeson = doJailbreak (doDistribute self.aeson_2_2_3_0);
|
||||
attoparsec-aeson = doDistribute self.attoparsec-aeson_2_2_2_0;
|
||||
dependent-sum-template = self.dependent-sum-template_0_2_0_1; # template-haskell < 2.22
|
||||
xmonad = doDistribute self.xmonad_0_18_0;
|
||||
apply-refact = self.apply-refact_0_14_0_0;
|
||||
ormolu = self.ormolu_0_7_4_0;
|
||||
fourmolu = self.fourmolu_0_15_0_0;
|
||||
stylish-haskell = self.stylish-haskell_0_14_6_0;
|
||||
hlint = self.hlint_3_8;
|
||||
ghc-syntax-highlighter = self.ghc-syntax-highlighter_0_0_12_0;
|
||||
websockets = self.websockets_0_13_0_0;
|
||||
th-desugar = doJailbreak self.th-desugar_1_16; # th-abstraction >=0.6 && <0.7
|
||||
singletons-th = self.singletons-th_3_3;
|
||||
singletons-base = self.singletons-base_3_3;
|
||||
ghc-tags = self.ghc-tags_1_8;
|
||||
|
||||
# A given major version of ghc-exactprint only supports one version of GHC.
|
||||
ghc-exactprint = self.ghc-exactprint_1_8_0_0;
|
||||
ghc-exactprint_1_8_0_0 = addBuildDepends [
|
||||
self.Diff
|
||||
self.HUnit
|
||||
self.data-default
|
||||
self.extra
|
||||
self.free
|
||||
self.ghc-paths
|
||||
self.ordered-containers
|
||||
self.silently
|
||||
self.syb
|
||||
] super.ghc-exactprint_1_8_0_0;
|
||||
|
||||
#
|
||||
# Jailbreaks
|
||||
#
|
||||
blaze-svg = doJailbreak super.blaze-svg; # base <4.19
|
||||
commutative-semigroups = doJailbreak super.commutative-semigroups; # base < 4.19
|
||||
diagrams-lib = doJailbreak super.diagrams-lib; # base <4.19, text <2.1
|
||||
diagrams-postscript = doJailbreak super.diagrams-postscript; # base <4.19, bytestring <0.12
|
||||
diagrams-svg = doJailbreak super.diagrams-svg; # base <4.19, text <2.1
|
||||
generics-sop = doJailbreak super.generics-sop_0_5_1_4; # th-abstraction >=0.6 && <0.7
|
||||
ghc-trace-events = doJailbreak super.ghc-trace-events; # text < 2.1, bytestring < 0.12, base < 4.19
|
||||
hashing = doJailbreak super.hashing; # bytestring <0.12
|
||||
json-sop = doJailbreak super.json-sop; # aeson <2.2, base <4.19, text <2.1
|
||||
primitive-unlifted = doJailbreak super.primitive-unlifted; # bytestring < 0.12
|
||||
statestack = doJailbreak super.statestack; # base < 4.19
|
||||
newtype-generics = doJailbreak super.newtype-generics; # base < 4.19
|
||||
hw-prim = doJailbreak super.hw-prim; # doctest < 0.22, ghc-prim < 0.11, hedgehog < 1.4
|
||||
svg-builder = doJailbreak super.svg-builder; # base <4.19, bytestring <0.12, text <2.1
|
||||
# Too strict bound on base, believe it or not.
|
||||
# https://github.com/judah/terminfo/pull/55#issuecomment-1876894232
|
||||
terminfo_0_4_1_6 = doJailbreak super.terminfo_0_4_1_6;
|
||||
hevm = appendPatch (pkgs.fetchpatch {
|
||||
url = "https://github.com/hellwolf/hevm/commit/338674d1fe22d46ea1e8582b24c224d76d47d0f3.patch";
|
||||
name = "release-0.54.2-ghc-9.8.4-patch";
|
||||
sha256 = "sha256-Mo65FfP1nh7QTY+oLia22hj4eV2v9hpXlYsrFKljA3E=";
|
||||
}) super.hevm;
|
||||
HaskellNet-SSL = doJailbreak super.HaskellNet-SSL; # bytestring >=0.9 && <0.12
|
||||
raven-haskell = doJailbreak super.raven-haskell; # aeson <2.2
|
||||
saltine = doJailbreak super.saltine; # bytestring && <0.12, deepseq <1.5, text > 1.2 && <1.3 || >=2.0 && <2.1
|
||||
stripe-concepts = doJailbreak super.stripe-concepts; # text >=1.2.5 && <1.3 || >=2.0 && <2.1
|
||||
stripe-signature = doJailbreak super.stripe-signature; # text >=1.2.5 && <1.3 || >=2.0 && <2.1
|
||||
string-random = doJailbreak super.string-random; # text >=1.2.2.1 && <2.1
|
||||
inflections = doJailbreak super.inflections; # text >=0.2 && <2.1
|
||||
universe-some = doJailbreak super.universe-some; # th-abstraction < 0.7
|
||||
broadcast-chan = doJailbreak super.broadcast-chan; # base <4.19 https://github.com/merijn/broadcast-chan/pull/19
|
||||
|
||||
#
|
||||
# Test suite issues
|
||||
#
|
||||
unordered-containers = dontCheck super.unordered-containers; # ChasingBottoms doesn't support base 4.20
|
||||
lifted-base = dontCheck super.lifted-base; # doesn't compile with transformers == 0.6.*
|
||||
bsb-http-chunked = dontCheck super.bsb-http-chunked; # umaintained, test suite doesn't compile anymore
|
||||
pcre-heavy = dontCheck super.pcre-heavy; # GHC warnings cause the tests to fail
|
||||
|
||||
#
|
||||
|
@ -140,6 +87,17 @@ self: super:
|
|||
# 2023-12-23: It needs this to build under ghc-9.6.3.
|
||||
# A factor of 100 is insufficient, 200 seems seems to work.
|
||||
hip = appendConfigureFlag "--ghc-options=-fsimpl-tick-factor=200" super.hip;
|
||||
|
||||
# 2025-04-21: "flavor" for GHC 9.8.5 is missing a fix introduced for 9.8.4. See:
|
||||
# https://github.com/digital-asset/ghc-lib/pull/571#discussion_r2052684630
|
||||
ghc-lib-parser =
|
||||
assert super.ghc-lib-parser.version == "9.8.5.20250214";
|
||||
overrideCabal {
|
||||
postPatch = ''
|
||||
substituteInPlace compiler/cbits/genSym.c \
|
||||
--replace-fail "HsWord64 u = atomic_inc64" "HsWord64 u = atomic_inc"
|
||||
'';
|
||||
} super.ghc-lib-parser;
|
||||
}
|
||||
// lib.optionalAttrs (lib.versionAtLeast super.ghc.version "9.8.3") {
|
||||
# Breakage related to GHC 9.8.3 / deepseq 1.5.1.0
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, haskellLib }:
|
||||
|
||||
let
|
||||
inherit (pkgs) lib;
|
||||
in
|
||||
|
||||
with haskellLib;
|
||||
|
||||
# cabal2nix doesn't properly add dependencies conditional on arch(javascript)
|
||||
|
@ -20,17 +24,41 @@ with haskellLib;
|
|||
ghcjs-dom-javascript = addBuildDepend self.ghcjs-base super.ghcjs-dom-javascript;
|
||||
jsaddle = addBuildDepend self.ghcjs-base super.jsaddle;
|
||||
jsaddle-dom = addBuildDepend self.ghcjs-base super.jsaddle-dom;
|
||||
jsaddle-warp = overrideCabal (drv: {
|
||||
libraryHaskellDepends = [ ];
|
||||
testHaskellDepends = [ ];
|
||||
}) super.jsaddle-warp;
|
||||
|
||||
entropy = addBuildDepend self.ghcjs-dom super.entropy;
|
||||
|
||||
reflex-dom = super.reflex-dom.override (drv: {
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/25083#note_578275
|
||||
patch = haskellLib.disableParallelBuilding super.patch;
|
||||
reflex-dom-core = haskellLib.disableParallelBuilding super.reflex-dom-core;
|
||||
|
||||
reflex-dom =
|
||||
lib.warn "reflex-dom builds with JS backend but it is missing fixes for working at runtime"
|
||||
super.reflex-dom.override
|
||||
(drv: {
|
||||
jsaddle-webkit2gtk = null;
|
||||
});
|
||||
patch = pkgs.lib.pipe super.patch (
|
||||
with haskellLib;
|
||||
|
||||
miso-examples = pkgs.lib.pipe super.miso-examples [
|
||||
(addBuildDepends (
|
||||
with self;
|
||||
[
|
||||
disableParallelBuilding # https://gitlab.haskell.org/ghc/ghc/-/issues/25083#note_578275
|
||||
doJailbreak
|
||||
aeson
|
||||
ghcjs-base
|
||||
jsaddle-warp
|
||||
miso
|
||||
servant
|
||||
]
|
||||
);
|
||||
))
|
||||
];
|
||||
|
||||
# https://github.com/haskellari/splitmix/pull/75
|
||||
splitmix = appendPatch (pkgs.fetchpatch {
|
||||
url = "https://github.com/haskellari/splitmix/commit/7ffb3158f577c48ab5de774abea47767921ef3e9.patch";
|
||||
sha256 = "sha256-n2q4FGf/pPcI1bhb9srHjHLzaNVehkdN6kQgL0F4MMg=";
|
||||
}) super.splitmix;
|
||||
|
||||
})
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -24,106 +24,108 @@
|
|||
# tracked in stackage.yaml. Adding conflicting overrides with stackage here will
|
||||
# not work.
|
||||
default-package-overrides:
|
||||
# gi-gdkx11-4.x requires gtk-4.x, but stackage still restricts gi-gtk to 3.*
|
||||
- gi-gdkx11 < 4
|
||||
# 2021-11-09: ghc-bignum is bundled starting with 9.0.1; only 1.0 builds with GHCs prior to 9.2.1
|
||||
- ghc-bignum == 1.0
|
||||
- extensions < 0.1.0.2 # Incompatible with Cabal < 3.12, the newest extensions version is only needed on ghc 9.10
|
||||
# 2024-05-10: need to match hlegder from stackage
|
||||
- hledger-ui < 1.33
|
||||
- chs-cabal < 0.1.1.2 # Incompatible with Cabal < 3.12
|
||||
# 2024-08-17: Stackage doesn't contain hnix-store-core >= 0.8 yet, so we need to restrict hnix-store-remote
|
||||
- hnix-store-remote < 0.7
|
||||
# 2024-09-12: match xmonad 0.17.* from Stackage LTS
|
||||
- xmonad-contrib < 0.18.1
|
||||
# 2024-11-01: no release version of http2/3 supports http-semantics >= 0.3.0 at the moment
|
||||
- http-semantics < 0.3.0
|
||||
# 2024-12-23: last version to be compatible with Stackage LTS 22/23 (due to data-default)
|
||||
- diagrams-input < 0.1.4
|
||||
# 2024-12-31: last version that's compatible with GHC < 9.9
|
||||
- htree < 0.2.0.0
|
||||
# 2025-01-17: need to match stackage version of hosc
|
||||
- hsc3 < 0.21
|
||||
|
||||
extra-packages:
|
||||
- Cabal == 3.2.* # Used for packages needing newer Cabal on ghc 8.6 and 8.8
|
||||
- Cabal-syntax == 3.6.* # Dummy package that ensures packages depending on Cabal-syntax can work for Cabal < 3.8
|
||||
- Cabal-syntax == 3.8.* # version required for ormolu and fourmolu on ghc 9.2 and 9.0
|
||||
- Cabal-syntax == 3.10.*
|
||||
- Cabal == 3.10.*
|
||||
- Cabal == 3.12.* # version required for cabal-install and other packages
|
||||
- Cabal-syntax == 3.6.* # Dummy package that ensures packages depending on Cabal-syntax can work for Cabal < 3.8
|
||||
- Cabal-syntax == 3.8.* # version required for ormolu and fourmolu on ghc 9.0
|
||||
- Cabal-syntax == 3.10.*
|
||||
- Cabal-syntax == 3.12.* # version required for cabal-install and other packages
|
||||
- ShellCheck == 0.9.0 # 2024-03-21: pinned by haskell-ci
|
||||
- aeson < 2 # required by pantry-0.5.2
|
||||
- algebraic-graphs < 0.7 # 2023-08-14: Needed for building weeder < 2.6.0
|
||||
- ansi-terminal < 1.1 # 2025-02-27: required for ghcjs
|
||||
- ansi-terminal-types == 0.11.5 # 2025-02-27: required for ghcjs
|
||||
- ansi-wl-pprint >= 0.6 && < 0.7 # 2024-03-23: required for ghcjs
|
||||
- apply-refact == 0.9.* # 2022-12-12: needed for GHC < 9.2
|
||||
- apply-refact == 0.11.* # 2023-02-02: needed for hls-hlint-plugin on GHC 9.2
|
||||
- attoparsec == 0.13.* # 2022-02-23: Needed to compile elm for now
|
||||
- commonmark-pandoc < 0.2.3 # 2025-04-06: Needed for pandoc 3.6
|
||||
- extensions == 0.1.0.2 # 2024-10-20: for GHC 9.10/Cabal 3.12
|
||||
- fourmolu == 0.14.0.0 # 2023-11-13: for ghc-lib-parser 9.6 compat
|
||||
- fourmolu == 0.16.0.0 # 2025-01-27: for ghc 9.10 compat
|
||||
- fsnotify < 0.4 # 2024-04-22: required by spago-0.21
|
||||
- fuzzyset == 0.2.4 # 2023-12-20: Needed for building postgrest > 10
|
||||
- ghc-api-compat == 8.10.7 # 2022-02-17: preserve for GHC 8.10.7
|
||||
- ghc-exactprint == 0.6.* # 2022-12-12: needed for GHC < 9.2
|
||||
- ghc-exactprint == 1.5.* # 2023-03-30: needed for GHC == 9.2
|
||||
- ghc-exactprint == 1.6.* # 2023-03-30: needed for GHC == 9.4
|
||||
- ghc-exactprint == 1.7.* # 2025-03-09: needed for GHC == 9.6
|
||||
- ghc-exactprint == 1.8.* # 2024-05-20: needed for GHC == 9.8
|
||||
- ghc-exactprint == 1.9.* # 2024-08-27: needed for GHC == 9.10
|
||||
- ghc-lib == 9.2.* # 2022-02-17: preserve for GHC 8.10, 9.0
|
||||
- ghc-lib == 9.8.* # 2024-05-19: preserve for GHC 9.8
|
||||
- ghc-lib-parser == 9.2.* # 2022-02-17: preserve for GHC 8.10, 9.0
|
||||
- ghc-lib-parser == 9.8.* # 2024-05-19: preserve for GHC 9.8
|
||||
- ghc-lib == 9.6.* # 2022-02-17: preserve for GHC 9.2, 9.4
|
||||
- ghc-lib == 9.10.* # 2024-12-30: preserve for GHC 9.10/ghc-tags 1.9
|
||||
- ghc-lib-parser == 9.10.* # 2024-12-26: preserve for ghc-syntax-highlighter == 0.0.12.0
|
||||
- ghc-lib-parser-ex == 9.10.* # 2024-12-26: preserve for 9.10 HLS
|
||||
- ghc-lib-parser == 9.2.* # 2022-02-17: preserve for GHC 8.10, 9.0
|
||||
- ghc-lib-parser == 9.6.* # 2024-05-19: preserve for GHC 9.2, 9.4
|
||||
- ghc-lib-parser == 9.10.* # 2024-12-26: preserve for GHC 9.10
|
||||
- ghc-lib-parser-ex == 9.2.* # 2022-07-13: preserve for GHC 8.10, 9.0
|
||||
- ghc-lib-parser-ex == 9.8.* # 2024-05-19: preserve for GHC 9.8
|
||||
- ghc-lib-parser-ex == 9.6.* # 2024-05-19: preserve for GHC 9.2, 9.4
|
||||
- ghc-lib-parser-ex == 9.10.* # 2024-12-26: preserve for 9.10 HLS
|
||||
- ghc-source-gen < 0.4.6.0 # 2024-12-31: support GHC < 9.0
|
||||
- ghc-tags == 1.5.* # 2023-02-18: preserve for ghc-lib == 9.2.*
|
||||
- ghc-tags == 1.7.* # 2023-02-18: preserve for ghc-lib == 9.6.*
|
||||
- ghc-tags == 1.8.* # 2023-02-18: preserve for ghc-lib == 9.8.*
|
||||
- happy == 1.19.12 # for ghcjs
|
||||
- hashable == 1.4.7.0 # allows GHC 9.10
|
||||
- ansi-wl-pprint >= 0.6 && < 0.7 # 2024-03-23: required for ghcjs
|
||||
- hlint == 3.4.1 # 2022-09-21: needed for hls with ghc-lib-parser 9.2
|
||||
- happy == 1.20.* # for ghc-lib-parser == 9.6.*
|
||||
- hasql < 1.7 # 2025-01-19: Needed for building postgrest
|
||||
- hasql-dynamic-statements < 0.3.1.6 # 2025-01-19: Needed for building postgrest
|
||||
- hasql-implicits < 0.2 # 2025-01-19: Needed for building postgrest
|
||||
- hasql-notifications < 0.2.3 # 2025-01-19: Needed for building postgrest
|
||||
- hasql-pool < 1.1 # 2025-01-19: Needed for building postgrest
|
||||
- hasql-transaction < 1.1.1 # 2025-01-19: Needed for building postgrest
|
||||
- hlint == 3.4.1 # 2022-09-21: preserve for ghc 8.10
|
||||
- hlint == 3.6.* # 2025-04-14: needed for hls with ghc-lib-parser 9.6
|
||||
- hnix-store-core < 0.7 # 2023-12-11: required by hnix-store-remote 0.6
|
||||
- hspec < 2.8 # 2022-04-07: Needed for tasty-hspec 1.1.6
|
||||
- hspec-core < 2.8 # 2022-04-07: Needed for tasty-hspec 1.1.6
|
||||
- hspec-discover < 2.8 # 2022-04-07: Needed for tasty-hspec 1.1.6
|
||||
- hspec-megaparsec == 2.2.0 # 2023-11-18: Latest version compatible with ghc 9.0, needed for HLS
|
||||
- hspec-megaparsec == 2.2.0 # 2023-11-18: Latest version compatible with ghc 9.0
|
||||
- hspec-meta < 2.8 # 2022-12-07: Needed for elmPackages.elm / hspec-discover
|
||||
- immortal == 0.2.2.1 # required by Hasura 1.3.1, 2020-08-20
|
||||
- language-docker == 11.0.0 # required by hadolint 2.12.0, 2022-11-16
|
||||
- language-javascript == 0.7.0.0 # required by purescript
|
||||
- lsp == 2.1.0.0 # 2024-02-28: need for dhall-lsp-server unstable
|
||||
- lsp-types == 2.0.2.0 # 2024-02-28: need for dhall-lsp-server unstable
|
||||
- lsp < 2.5 # 2024-07-08: need for koka
|
||||
- lsp-types < 2.2 # 2024-07-08: need for koka
|
||||
- lsp == 2.1.* # 2024-02-28: need for dhall-lsp-server
|
||||
- lsp-types == 2.1.* # 2024-02-28: need for dhall-lsp-server and koka
|
||||
- network-run == 0.4.0 # 2024-10-20: for GHC 9.10/network == 3.1.*
|
||||
- optparse-applicative < 0.16 # needed for niv-0.2.19
|
||||
- fourmolu == 0.14.0.0 # 2023-11-13: for ghc-lib-parser 9.6 compat
|
||||
- fourmolu == 0.15.0.0 # 2024-07-07: for ghc 9.8 compat
|
||||
- ormolu == 0.5.2.0 # 2023-08-08: for hls on ghc 9.0 and 9.2
|
||||
- ormolu == 0.5.2.0 # 2023-08-08: preserve for ghc 9.0
|
||||
- ormolu == 0.7.2.0 # 2023-11-13: for ghc-lib-parser 9.6 compat
|
||||
- ormolu == 0.7.4.0 # 2024-07-07: for ghc 9.8 compat
|
||||
- primitive-unlifted == 0.1.3.1 # 2024-03-16: Needed for hls on ghc 9.2
|
||||
- stylish-haskell == 0.14.4.0 # 2022-09-19: needed for hls on ghc 9.2
|
||||
- ormolu == 0.7.7.0 # 2025-01-27: for ghc 9.10 compat
|
||||
- postgresql-binary < 0.14 # 2025-01-19: Needed for building postgrest
|
||||
- primitive-unlifted == 0.1.3.1 # 2024-03-16: preserve for ghc 9.2
|
||||
- retrie < 1.2.0.0 # 2022-12-30: preserve for ghc < 9.2
|
||||
- shake-cabal < 0.2.2.3 # 2023-07-01: last version to support Cabal 3.6.*
|
||||
- stylish-haskell == 0.14.4.0 # 2022-09-19: preserve for ghc 9.0
|
||||
- stylish-haskell == 0.14.5.0 # 2025-04-14: needed for hls with ghc-lib 9.6
|
||||
- tar == 0.6.0.0 # 2025-02-08: last version to not require os-string (which can't be built with GHC < 9.2)
|
||||
- text == 2.0.2 # 2023-09-14: Needed for elm (which is currently on ghc-8.10)
|
||||
- text-metrics < 0.3.3 # 2025-02-08: >= 0.3.3 uses GHC2021
|
||||
- versions < 6 # 2024-04-22: required by spago-0.21
|
||||
- weeder == 2.2.* # 2022-02-21: preserve for GHC 8.10.7
|
||||
- weeder == 2.3.* # 2022-05-31: preserve for GHC 9.0.2
|
||||
- weeder == 2.4.* # 2023-02-02: preserve for GHC 9.2.*
|
||||
- retrie < 1.2.0.0 # 2022-12-30: required for hls on ghc < 9.2
|
||||
- ghc-tags == 1.5.* # 2023-02-18: preserve for ghc-lib == 9.2.*
|
||||
- ghc-tags == 1.6.* # 2023-02-18: preserve for ghc-lib == 9.4.*
|
||||
- ghc-tags == 1.7.* # 2023-02-18: preserve for ghc-lib == 9.6.*
|
||||
- ghc-tags == 1.8.* # 2023-02-18: preserve for ghc-lib == 9.8.*
|
||||
- shake-cabal < 0.2.2.3 # 2023-07-01: last version to support Cabal 3.6.*
|
||||
- algebraic-graphs < 0.7 # 2023-08-14: Needed for building weeder < 2.6.0
|
||||
- fuzzyset == 0.2.4 # 2023-12-20: Needed for building postgrest > 10
|
||||
- ShellCheck == 0.9.0 # 2024-03-21: pinned by haskell-ci
|
||||
- versions < 6 # 2024-04-22: required by spago-0.21
|
||||
- fsnotify < 0.4 # 2024-04-22: required by spago-0.21
|
||||
- th-desugar == 1.16 # 2024-06-28: preserve for GHC 9.8
|
||||
- singletons-th == 3.3 # 2024-06-28: preserve for GHC 9.8
|
||||
- singletons-base == 3.3 # 2024-06-28: preserve for GHC 9.8
|
||||
- tls < 2.1.0 # 2024-07-19: requested by darcs == 2.18.3
|
||||
- extensions == 0.1.0.2 # 2024-10-20: for GHC 9.10/Cabal 3.12
|
||||
- network-run == 0.4.0 # 2024-10-20: for GHC 9.10/network == 3.1.*
|
||||
- ghc-source-gen < 0.4.6.0 # 2024-12-31: support GHC < 9.0
|
||||
|
||||
package-maintainers:
|
||||
abbradar:
|
||||
- Agda
|
||||
alexfmpe:
|
||||
- aeson-gadt-th
|
||||
- android-activity
|
||||
- basic-sop
|
||||
- bytestring-aeson-orphans
|
||||
- cli-extras
|
||||
- cli-git
|
||||
- cli-nix
|
||||
|
@ -157,6 +159,7 @@ package-maintainers:
|
|||
- large-records
|
||||
- lens-sop
|
||||
- linux-namespaces
|
||||
- monoid-map
|
||||
- monoidal-containers
|
||||
- nix-thunk
|
||||
- patch
|
||||
|
@ -168,6 +171,8 @@ package-maintainers:
|
|||
- reflex-dom
|
||||
- reflex-dom-core
|
||||
- reflex-gadt-api
|
||||
- reflex-fsnotify
|
||||
- th-abstraction
|
||||
- universe
|
||||
- universe-some
|
||||
- vessel
|
||||
|
@ -203,7 +208,6 @@ package-maintainers:
|
|||
- nfc
|
||||
dalpd:
|
||||
- dhall-lsp-server
|
||||
- espial
|
||||
- ghc-vis
|
||||
- patat
|
||||
- svgcairo
|
||||
|
@ -296,6 +300,15 @@ package-maintainers:
|
|||
- sensei
|
||||
malo:
|
||||
- cornelis
|
||||
mangoiv:
|
||||
- fused-effects
|
||||
- htree
|
||||
- http-barf
|
||||
- libsodium-bindings
|
||||
- scoped-codensity
|
||||
- sel
|
||||
- text-display
|
||||
- unclogging
|
||||
maralorn:
|
||||
- bluefin
|
||||
- cabal-fmt
|
||||
|
@ -344,8 +357,6 @@ package-maintainers:
|
|||
- shake
|
||||
nomeata:
|
||||
- cabal-plan-bounds
|
||||
- candid
|
||||
- leb128-cereal
|
||||
- lhs2tex
|
||||
- rec-def
|
||||
- tasty-expected-failure
|
||||
|
@ -405,6 +416,14 @@ package-maintainers:
|
|||
- taffybar
|
||||
- arbtt
|
||||
- lentil
|
||||
sellout:
|
||||
- dualizer
|
||||
- no-recursion
|
||||
- yaya
|
||||
- yaya-containers
|
||||
- yaya-hedgehog
|
||||
- yaya-quickcheck
|
||||
- yaya-unsafe
|
||||
sheepforce:
|
||||
- mpi-hs
|
||||
- mpi-hs-store
|
||||
|
@ -645,7 +664,10 @@ package-maintainers:
|
|||
- minio-hs
|
||||
- smtp-mail
|
||||
- pdftotext
|
||||
- warp-systemd
|
||||
- amazonka
|
||||
wolfgangwalther:
|
||||
- postgres-websockets
|
||||
- postgrest
|
||||
|
||||
unsupported-platforms:
|
||||
|
@ -823,6 +845,8 @@ supported-platforms:
|
|||
memfd: [ platforms.linux ]
|
||||
midi-alsa: [ platforms.linux ] # alsa-core only supported on linux
|
||||
midisurface: [ platforms.linux ] # alsa-core only supported on linux
|
||||
miso-action-logger: [ javascript-ghcjs ] # https://github.com/Lermex/miso-action-logger/issues/1
|
||||
miso-examples: [ javascript-ghcjs ]
|
||||
OrderedBits: [ platforms.x86 ] # lacks implementations for non-x86: https://github.com/choener/OrderedBits/blob/401cbbe933b1635aa33e8e9b29a4a570b0a8f044/lib/Data/Bits/Ordered.hs#L316
|
||||
reactivity: [ platforms.windows ]
|
||||
reflex-libtelnet: [ platforms.linux ] # pkgs.libtelnet only supports linux
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -54,6 +54,11 @@ builtins.intersectAttrs super {
|
|||
### HASKELL-LANGUAGE-SERVER SECTION ###
|
||||
#######################################
|
||||
|
||||
cabal-add = overrideCabal (drv: {
|
||||
# tests depend on executable
|
||||
preCheck = ''export PATH="$PWD/dist/build/cabal-add:$PATH"'';
|
||||
}) super.cabal-add;
|
||||
|
||||
haskell-language-server = overrideCabal (drv: {
|
||||
# starting with 1.6.1.1 haskell-language-server wants to be linked dynamically
|
||||
# by default. Unless we reflect this in the generic builder, GHC is going to
|
||||
|
@ -79,7 +84,7 @@ builtins.intersectAttrs super {
|
|||
self.cabal-install
|
||||
pkgs.git
|
||||
];
|
||||
testTarget = "func-test"; # wrapper test accesses internet
|
||||
testTargets = [ "func-test" ]; # wrapper test accesses internet
|
||||
preCheck = ''
|
||||
export PATH=$PATH:$PWD/dist/build/haskell-language-server:$PWD/dist/build/haskell-language-server-wrapper
|
||||
export HOME=$TMPDIR
|
||||
|
@ -93,8 +98,6 @@ builtins.intersectAttrs super {
|
|||
ghcide = overrideCabal (drv: {
|
||||
# tests depend on executable
|
||||
preCheck = ''export PATH="$PWD/dist/build/ghcide:$PATH"'';
|
||||
# tests disabled because they require network
|
||||
doCheck = false;
|
||||
}) super.ghcide;
|
||||
|
||||
hiedb = overrideCabal (drv: {
|
||||
|
@ -119,42 +122,11 @@ builtins.intersectAttrs super {
|
|||
+ drv.preCheck or "";
|
||||
}) super.agda2lagda;
|
||||
|
||||
# - Disable scrypt support since the library used only works on x86 due to SSE2:
|
||||
# https://github.com/informatikr/scrypt/issues/8
|
||||
# - Use crypton as the encryption backend. That override becomes obsolete with
|
||||
# 3.1.* since cabal2nix picks crypton by default then.
|
||||
password =
|
||||
let
|
||||
scryptSupported = pkgs.stdenv.hostPlatform.isx86;
|
||||
in
|
||||
|
||||
lib.pipe
|
||||
(super.password.override (
|
||||
{
|
||||
cryptonite = self.crypton;
|
||||
}
|
||||
// lib.optionalAttrs (!scryptSupported) {
|
||||
# scrypt requires SSE2
|
||||
password = super.password.override (
|
||||
lib.optionalAttrs (!(lib.meta.availableOn pkgs.stdenv.hostPlatform self.scrypt)) {
|
||||
scrypt = null;
|
||||
}
|
||||
))
|
||||
(
|
||||
[
|
||||
(enableCabalFlag "crypton")
|
||||
(disableCabalFlag "cryptonite")
|
||||
# https://github.com/cdepillabout/password/pull/84
|
||||
(appendPatch ./patches/password-3.0.4.0-scrypt-conditional.patch)
|
||||
(overrideCabal (drv: {
|
||||
# patch doesn't apply otherwise because of revisions
|
||||
prePatch =
|
||||
drv.prePatch or ""
|
||||
+ ''
|
||||
${pkgs.buildPackages.dos2unix}/bin/dos2unix *.cabal
|
||||
'';
|
||||
}))
|
||||
]
|
||||
++ lib.optionals (!scryptSupported) [
|
||||
(disableCabalFlag "scrypt")
|
||||
]
|
||||
);
|
||||
|
||||
audacity = enableCabalFlag "buildExamples" (
|
||||
|
@ -242,43 +214,14 @@ builtins.intersectAttrs super {
|
|||
});
|
||||
in
|
||||
{
|
||||
hledger = installHledgerExtraFiles "" super.hledger;
|
||||
hledger = installHledgerExtraFiles "embeddedfiles" super.hledger;
|
||||
hledger-web = installHledgerExtraFiles "" (hledgerWebTestFix super.hledger-web);
|
||||
hledger-ui = installHledgerExtraFiles "" super.hledger-ui;
|
||||
|
||||
hledger_1_40 = installHledgerExtraFiles "embeddedfiles" (
|
||||
doDistribute (
|
||||
super.hledger_1_40.override {
|
||||
hledger-lib = self.hledger-lib_1_40;
|
||||
}
|
||||
)
|
||||
);
|
||||
hledger-ui_1_40 = installHledgerExtraFiles "" (
|
||||
doDistribute (
|
||||
super.hledger-ui_1_40.override {
|
||||
hledger = self.hledger_1_40;
|
||||
hledger-lib = self.hledger-lib_1_40;
|
||||
}
|
||||
)
|
||||
);
|
||||
hledger-web_1_40 = installHledgerExtraFiles "" (
|
||||
hledgerWebTestFix (
|
||||
doDistribute (
|
||||
super.hledger-web_1_40.override {
|
||||
hledger = self.hledger_1_40;
|
||||
hledger-lib = self.hledger-lib_1_40;
|
||||
}
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
)
|
||||
hledger
|
||||
hledger-web
|
||||
hledger-ui
|
||||
hledger_1_40
|
||||
hledger-ui_1_40
|
||||
hledger-web_1_40
|
||||
;
|
||||
|
||||
cufft = overrideCabal (drv: {
|
||||
|
@ -424,27 +367,23 @@ builtins.intersectAttrs super {
|
|||
digitalocean-kzs = dontCheck super.digitalocean-kzs; # https://github.com/KazumaSATO/digitalocean-kzs/issues/1
|
||||
github-types = dontCheck super.github-types; # http://hydra.cryp.to/build/1114046/nixlog/1/raw
|
||||
hadoop-rpc = dontCheck super.hadoop-rpc; # http://hydra.cryp.to/build/527461/nixlog/2/raw
|
||||
hjsonschema = overrideCabal (drv: { testTarget = "local"; }) super.hjsonschema;
|
||||
hjsonschema = overrideCabal (drv: { testTargets = [ "local" ]; }) super.hjsonschema;
|
||||
marmalade-upload = dontCheck super.marmalade-upload; # http://hydra.cryp.to/build/501904/nixlog/1/raw
|
||||
mongoDB = dontCheck super.mongoDB;
|
||||
network-transport-tcp = dontCheck super.network-transport-tcp;
|
||||
network-transport-zeromq = dontCheck super.network-transport-zeromq; # https://github.com/tweag/network-transport-zeromq/issues/30
|
||||
oidc-client = dontCheck super.oidc-client; # the spec runs openid against google.com
|
||||
persistent-migration = dontCheck super.persistent-migration; # spec requires pg_ctl binary
|
||||
pipes-mongodb = dontCheck super.pipes-mongodb; # http://hydra.cryp.to/build/926195/log/raw
|
||||
pixiv = dontCheck super.pixiv;
|
||||
raven-haskell = dontCheck super.raven-haskell; # http://hydra.cryp.to/build/502053/log/raw
|
||||
riak = dontCheck super.riak; # http://hydra.cryp.to/build/498763/log/raw
|
||||
scotty-binding-play = dontCheck super.scotty-binding-play;
|
||||
servant-router = dontCheck super.servant-router;
|
||||
serversession-backend-redis = dontCheck super.serversession-backend-redis;
|
||||
slack-api = dontCheck super.slack-api; # https://github.com/mpickering/slack-api/issues/5
|
||||
socket = dontCheck super.socket;
|
||||
stackage = dontCheck super.stackage; # http://hydra.cryp.to/build/501867/nixlog/1/raw
|
||||
textocat-api = dontCheck super.textocat-api; # http://hydra.cryp.to/build/887011/log/raw
|
||||
wreq = dontCheck super.wreq; # http://hydra.cryp.to/build/501895/nixlog/1/raw
|
||||
wreq-sb = dontCheck super.wreq-sb; # http://hydra.cryp.to/build/783948/log/raw
|
||||
wuss = dontCheck super.wuss; # http://hydra.cryp.to/build/875964/nixlog/2/raw
|
||||
download = dontCheck super.download;
|
||||
http-client = dontCheck super.http-client;
|
||||
http-client-openssl = dontCheck super.http-client-openssl;
|
||||
|
@ -452,10 +391,8 @@ builtins.intersectAttrs super {
|
|||
http-conduit = dontCheck super.http-conduit;
|
||||
transient-universe = dontCheck super.transient-universe;
|
||||
telegraph = dontCheck super.telegraph;
|
||||
typed-process = dontCheck super.typed-process;
|
||||
js-jquery = dontCheck super.js-jquery;
|
||||
hPDB-examples = dontCheck super.hPDB-examples;
|
||||
configuration-tools = dontCheck super.configuration-tools; # https://github.com/alephcloud/hs-configuration-tools/issues/40
|
||||
tcp-streams = dontCheck super.tcp-streams;
|
||||
holy-project = dontCheck super.holy-project;
|
||||
mustache = dontCheck super.mustache;
|
||||
|
@ -721,7 +658,7 @@ builtins.intersectAttrs super {
|
|||
'';
|
||||
}) super.GLUT;
|
||||
|
||||
libsystemd-journal = doJailbreak (addExtraLibrary pkgs.systemd super.libsystemd-journal);
|
||||
libsystemd-journal = addExtraLibrary pkgs.systemd super.libsystemd-journal;
|
||||
|
||||
# does not specify tests in cabal file, instead has custom runTest cabal hook,
|
||||
# so cabal2nix will not detect test dependencies.
|
||||
|
@ -732,9 +669,6 @@ builtins.intersectAttrs super {
|
|||
];
|
||||
}) super.either-unwrap;
|
||||
|
||||
# https://github.com/haskell-fswatch/hfsnotify/issues/62
|
||||
fsnotify = dontCheck super.fsnotify;
|
||||
|
||||
hs-GeoIP = super.hs-GeoIP.override { GeoIP = pkgs.geoipWithDatabase; };
|
||||
|
||||
discount = super.discount.override { markdown = pkgs.discount; };
|
||||
|
@ -833,12 +767,32 @@ builtins.intersectAttrs super {
|
|||
|
||||
# Not running the "example" test because it requires a binary from lsps test
|
||||
# suite which is not part of the output of lsp.
|
||||
lsp-test = overrideCabal (old: { testTarget = "tests func-test"; }) super.lsp-test;
|
||||
lsp-test = overrideCabal (old: {
|
||||
testTargets = [
|
||||
"tests"
|
||||
"func-test"
|
||||
];
|
||||
}) super.lsp-test;
|
||||
|
||||
# the test suite attempts to run the binaries built in this package
|
||||
# through $PATH but they aren't in $PATH
|
||||
dhall-lsp-server = dontCheck super.dhall-lsp-server;
|
||||
|
||||
# Test suite requires z3 to be in PATH
|
||||
copilot-libraries = overrideCabal (drv: {
|
||||
testToolDepends = drv.testToolDepends or [ ] ++ [
|
||||
pkgs.z3
|
||||
];
|
||||
}) super.copilot-libraries;
|
||||
# tests need to execute the built executable
|
||||
ogma-cli = overrideCabal (drv: {
|
||||
preCheck =
|
||||
''
|
||||
export PATH=dist/build/ogma:$PATH
|
||||
''
|
||||
+ (drv.preCheck or "");
|
||||
}) super.ogma-cli;
|
||||
|
||||
# Expects z3 to be on path so we replace it with a hard
|
||||
#
|
||||
# The tests expect additional solvers on the path, replace the
|
||||
|
@ -864,6 +818,13 @@ builtins.intersectAttrs super {
|
|||
# The test-suite requires a running PostgreSQL server.
|
||||
Frames-beam = dontCheck super.Frames-beam;
|
||||
|
||||
# Test suite requires yices to be in PATH
|
||||
crucible-symio = overrideCabal (drv: {
|
||||
testToolDepends = drv.testToolDepends or [ ] ++ [
|
||||
pkgs.yices
|
||||
];
|
||||
}) super.crucible-symio;
|
||||
|
||||
# Compile manpages (which are in RST and are compiled with Sphinx).
|
||||
futhark =
|
||||
overrideCabal
|
||||
|
@ -912,6 +873,15 @@ builtins.intersectAttrs super {
|
|||
executableSystemDepends = runtimeExecDeps;
|
||||
enableSharedExecutables = false;
|
||||
|
||||
# Unnecessary for Setup.hs, but we reuse the setup package db
|
||||
# for the installation utilities.
|
||||
setupHaskellDepends = drv.setupHaskellDepends or [ ] ++ [
|
||||
self.buildHaskellPackages.unix-compat
|
||||
self.buildHaskellPackages.IfElse
|
||||
self.buildHaskellPackages.QuickCheck
|
||||
self.buildHaskellPackages.data-default
|
||||
];
|
||||
|
||||
preConfigure =
|
||||
drv.preConfigure or ""
|
||||
+ ''
|
||||
|
@ -995,9 +965,6 @@ builtins.intersectAttrs super {
|
|||
# The test suite has undeclared dependencies on git.
|
||||
githash = dontCheck super.githash;
|
||||
|
||||
# Avoid infitite recursion with yaya.
|
||||
yaya-hedgehog = super.yaya-hedgehog.override { yaya = dontCheck self.yaya; };
|
||||
|
||||
# Avoid infitite recursion with tonatona.
|
||||
tonaparser = dontCheck super.tonaparser;
|
||||
|
||||
|
@ -1048,7 +1015,8 @@ builtins.intersectAttrs super {
|
|||
in
|
||||
lib.pipe
|
||||
(super.spago.override {
|
||||
versions = self.versions_5_0_5;
|
||||
# base <4.19, text <2.1
|
||||
versions = doJailbreak self.versions_5_0_5;
|
||||
fsnotify = self.fsnotify_0_3_0_1;
|
||||
})
|
||||
[
|
||||
|
@ -1109,7 +1077,6 @@ builtins.intersectAttrs super {
|
|||
# break infinite recursion with base-orphans
|
||||
primitive = dontCheck super.primitive;
|
||||
primitive_0_7_1_0 = dontCheck super.primitive_0_7_1_0;
|
||||
primitive_0_9_0_0 = dontCheck super.primitive_0_9_0_0;
|
||||
|
||||
cut-the-crap =
|
||||
let
|
||||
|
@ -1126,7 +1093,7 @@ builtins.intersectAttrs super {
|
|||
}) (addBuildTool pkgs.buildPackages.makeWrapper super.cut-the-crap);
|
||||
|
||||
# Compiling the readme throws errors and has no purpose in nixpkgs
|
||||
aeson-gadt-th = disableCabalFlag "build-readme" (doJailbreak super.aeson-gadt-th);
|
||||
aeson-gadt-th = disableCabalFlag "build-readme" super.aeson-gadt-th;
|
||||
|
||||
# Fix compilation of Setup.hs by removing the module declaration.
|
||||
# See: https://github.com/tippenein/guid/issues/1
|
||||
|
@ -1160,6 +1127,9 @@ builtins.intersectAttrs super {
|
|||
retrie_1_2_0_0 = addTestToolDepends [ pkgs.git pkgs.mercurial ] super.retrie_1_2_0_0;
|
||||
retrie_1_2_1_1 = addTestToolDepends [ pkgs.git pkgs.mercurial ] super.retrie_1_2_1_1;
|
||||
|
||||
# Just an executable
|
||||
ret = enableSeparateBinOutput super.ret;
|
||||
|
||||
# there are three very heavy test suites that need external repos, one requires network access
|
||||
hevm = dontCheck super.hevm;
|
||||
|
||||
|
@ -1241,7 +1211,7 @@ builtins.intersectAttrs super {
|
|||
substituteInPlace src/Nix/Diff/Types.hs \
|
||||
--replace "{-# OPTIONS_GHC -Wno-orphans #-}" "{-# OPTIONS_GHC -Wno-orphans -fconstraint-solver-iterations=0 #-}"
|
||||
'';
|
||||
}) (doJailbreak (dontCheck super.nix-diff));
|
||||
}) (dontCheck super.nix-diff);
|
||||
|
||||
# mockery's tests depend on hspec-discover which dependso on mockery for its tests
|
||||
mockery = dontCheck super.mockery;
|
||||
|
@ -1312,7 +1282,7 @@ builtins.intersectAttrs super {
|
|||
rel8 = pkgs.lib.pipe super.rel8 [
|
||||
(addTestToolDepend pkgs.postgresql)
|
||||
# https://github.com/NixOS/nixpkgs/issues/198495
|
||||
(dontCheckIf (!pkgs.postgresql.doCheck))
|
||||
(dontCheckIf (!pkgs.postgresql.doInstallCheck))
|
||||
];
|
||||
|
||||
cloudy = pkgs.lib.pipe super.cloudy [
|
||||
|
@ -1409,10 +1379,6 @@ builtins.intersectAttrs super {
|
|||
)
|
||||
);
|
||||
|
||||
# Test suite is just the default example executable which doesn't work if not
|
||||
# executed by Setup.hs, but works if started on a proper TTY
|
||||
isocline = dontCheck super.isocline;
|
||||
|
||||
# Some hash implementations are x86 only, but part of the test suite.
|
||||
# So executing and building it on non-x86 platforms will always fail.
|
||||
hashes = dontCheckIf (!pkgs.stdenv.hostPlatform.isx86) super.hashes;
|
||||
|
@ -1458,8 +1424,8 @@ builtins.intersectAttrs super {
|
|||
builtins.mapAttrs (_: fourmoluTestFix) super
|
||||
)
|
||||
fourmolu
|
||||
fourmolu_0_15_0_0
|
||||
fourmolu_0_16_2_0
|
||||
fourmolu_0_14_0_0
|
||||
fourmolu_0_16_0_0
|
||||
;
|
||||
|
||||
# Test suite needs to execute 'disco' binary
|
||||
|
@ -1475,7 +1441,7 @@ builtins.intersectAttrs super {
|
|||
"!/oeis/"
|
||||
];
|
||||
# disco-examples needs network access
|
||||
testTarget = "disco-tests";
|
||||
testTargets = [ "disco-tests" ];
|
||||
}) super.disco;
|
||||
|
||||
# Apply a patch which hardcodes the store path of graphviz instead of using
|
||||
|
@ -1505,17 +1471,39 @@ builtins.intersectAttrs super {
|
|||
|
||||
# Test have become more fussy in >= 2.0. We need to have which available for
|
||||
# tests to succeed and the makefile no longer finds happy by itself.
|
||||
happy_2_1_3 = overrideCabal (drv: {
|
||||
inherit
|
||||
(lib.mapAttrs
|
||||
(
|
||||
_:
|
||||
overrideCabal (drv: {
|
||||
buildTools = drv.buildTools or [ ] ++ [ pkgs.buildPackages.which ];
|
||||
preCheck =
|
||||
drv.preCheck or ""
|
||||
+ ''
|
||||
export PATH="$PWD/dist/build/happy:$PATH"
|
||||
'';
|
||||
}) super.happy_2_1_3;
|
||||
})
|
||||
)
|
||||
{
|
||||
inherit (super) happy;
|
||||
happy_2_1_5 = super.happy_2_1_5.override {
|
||||
happy-lib = self.happy-lib_2_1_5;
|
||||
};
|
||||
}
|
||||
)
|
||||
happy_2_1_5
|
||||
happy
|
||||
;
|
||||
|
||||
# Additionally install documentation
|
||||
jacinda = overrideCabal (drv: {
|
||||
enableSeparateDocOutput = true;
|
||||
# Test suite is broken by DOS line endings inserted by Hackage revisions
|
||||
# https://github.com/vmchale/jacinda/issues/5
|
||||
postPatch = ''
|
||||
${drv.postPatch or ""}
|
||||
${pkgs.buildPackages.dos2unix}/bin/dos2unix *.cabal
|
||||
'';
|
||||
postInstall = ''
|
||||
${drv.postInstall or ""}
|
||||
|
||||
|
@ -1565,9 +1553,9 @@ builtins.intersectAttrs super {
|
|||
# is not commonly installed on systems, so we add it to PATH. Closure size
|
||||
# penalty is about 10MB at the time of writing this (2022-08-20).
|
||||
cabal-install = overrideCabal (old: {
|
||||
executableToolDepends = [
|
||||
buildTools = [
|
||||
pkgs.buildPackages.makeWrapper
|
||||
] ++ old.buildToolDepends or [ ];
|
||||
] ++ old.buildTools or [ ];
|
||||
postInstall =
|
||||
old.postInstall
|
||||
+ ''
|
||||
|
@ -1639,14 +1627,21 @@ builtins.intersectAttrs super {
|
|||
}
|
||||
) super)
|
||||
gi-javascriptcore
|
||||
gi-javascriptcore4
|
||||
gi-javascriptcore6
|
||||
gi-webkit2webextension
|
||||
gi-gtk_4_0_11
|
||||
gi-gdk_4_0_9
|
||||
gi-gtk_4_0_12
|
||||
gi-gdk_4_0_10
|
||||
gi-gdk4
|
||||
gi-gdkx114
|
||||
gi-gtk4
|
||||
gi-gtksource5
|
||||
gi-gsk
|
||||
gi-adwaita
|
||||
sdl2-ttf
|
||||
sdl2
|
||||
dear-imgui
|
||||
libremidi
|
||||
;
|
||||
|
||||
webkit2gtk3-javascriptcore = lib.pipe super.webkit2gtk3-javascriptcore [
|
||||
|
@ -1673,7 +1668,7 @@ builtins.intersectAttrs super {
|
|||
mpiImpl = pkgs.mpi.pname;
|
||||
disableUnused = with builtins; map disableCabalFlag (filter (n: n != mpiImpl) validMpi);
|
||||
in
|
||||
lib.pipe (super.mpi-hs_0_7_3_1.override { ompi = pkgs.mpi; }) (
|
||||
lib.pipe (super.mpi-hs.override { ompi = pkgs.mpi; }) (
|
||||
[
|
||||
(addTestToolDepends [
|
||||
pkgs.openssh
|
||||
|
@ -1696,13 +1691,17 @@ builtins.intersectAttrs super {
|
|||
mpi-hs-binary
|
||||
;
|
||||
|
||||
postgresql-libpq = overrideCabal (drv: {
|
||||
# Using use-pkg-config flag, because pg_config won't work when cross-compiling.
|
||||
configureFlags = drv.configureFlags or [ ] ++ [ "-fuse-pkg-config" ];
|
||||
# Move postgresql from SystemDepends to PkgconfigDepends
|
||||
libraryPkgconfigDepends = drv.librarySystemDepends;
|
||||
librarySystemDepends = [ ];
|
||||
}) super.postgresql-libpq;
|
||||
postgresql-libpq = lib.pipe super.postgresql-libpq [
|
||||
(x: x.override { postgresql-libpq-configure = null; })
|
||||
(appendConfigureFlag "-fuse-pkg-config")
|
||||
(addBuildDepend self.postgresql-libpq-pkgconfig)
|
||||
];
|
||||
|
||||
postgresql-libpq-configure = overrideCabal (drv: {
|
||||
librarySystemDepends = (drv.librarySystemDepends or [ ]) ++ [ pkgs.libpq ];
|
||||
}) super.postgresql-libpq-configure;
|
||||
|
||||
postgresql-libpq-pkgconfig = addPkgconfigDepend pkgs.libpq super.postgresql-libpq-pkgconfig;
|
||||
|
||||
# Test failure is related to a GHC implementation detail of primitives and doesn't
|
||||
# cause actual problems in dependent packages, see https://github.com/lehins/pvar/issues/4
|
||||
|
@ -1718,16 +1717,57 @@ builtins.intersectAttrs super {
|
|||
xmobar = enableSeparateBinOutput super.xmobar;
|
||||
|
||||
# 2024-08-09: Disable some cabal-doctest tests pending further investigation.
|
||||
doctest = overrideCabal (drv: {
|
||||
inherit
|
||||
(lib.mapAttrs (
|
||||
_: doctest:
|
||||
lib.pipe doctest [
|
||||
(overrideCabal (drv: {
|
||||
patches = drv.patches or [ ] ++ [
|
||||
(pkgs.fetchpatch {
|
||||
name = "doctest-0.23.0-ghc-9.12.patch";
|
||||
url = "https://github.com/sol/doctest/commit/77373c5d84cd5e59ea86ec30b9ada874f50fad9e.patch";
|
||||
sha256 = "07dx99lna17fni1ccbklijx1ckkf2p4kk9wvkwib0ihmra70zpn2";
|
||||
includes = [ "test/**" ];
|
||||
})
|
||||
];
|
||||
testFlags = drv.testFlags or [ ] ++ [
|
||||
# These tests require cabal-install
|
||||
# These tests require cabal-install (would cause infinite recursion)
|
||||
"--skip=/Cabal.Options"
|
||||
"--skip=/Cabal.Paths/paths"
|
||||
"--skip=/Cabal.ReplOptions" # >= 0.23
|
||||
];
|
||||
}) super.doctest;
|
||||
}))
|
||||
doDistribute
|
||||
]
|
||||
) { inherit (super) doctest doctest_0_23_0; })
|
||||
doctest
|
||||
doctest_0_23_0
|
||||
;
|
||||
|
||||
# tracked upstream: https://github.com/snapframework/openssl-streams/pull/11
|
||||
# certificate used only 1024 Bit RSA key and SHA-1, which is not allowed in OpenSSL 3.1+
|
||||
# security level 2
|
||||
openssl-streams = appendPatch ./patches/openssl-streams-cert.patch super.openssl-streams;
|
||||
|
||||
libtorch-ffi =
|
||||
appendConfigureFlags
|
||||
(
|
||||
[
|
||||
"--extra-include-dirs=${lib.getDev pkgs.libtorch-bin}/include/torch/csrc/api/include"
|
||||
]
|
||||
++ (lib.optionals pkgs.config.cudaSupport [
|
||||
"-f"
|
||||
"cuda"
|
||||
])
|
||||
)
|
||||
(
|
||||
super.libtorch-ffi.override ({
|
||||
c10 = pkgs.libtorch-bin;
|
||||
torch = pkgs.libtorch-bin;
|
||||
torch_cpu = pkgs.libtorch-bin;
|
||||
})
|
||||
);
|
||||
|
||||
# Upper bounds of text and bytestring too strict: https://github.com/zsedem/haskell-cpython/pull/24
|
||||
cpython = doJailbreak super.cpython;
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ let
|
|||
});
|
||||
in
|
||||
{
|
||||
tensorflow-proto = doJailbreak (setTensorflowSourceRoot "tensorflow-proto" super.tensorflow-proto);
|
||||
tensorflow-proto = setTensorflowSourceRoot "tensorflow-proto" super.tensorflow-proto;
|
||||
|
||||
tensorflow = overrideCabal (drv: {
|
||||
libraryHaskellDepends = drv.libraryHaskellDepends ++ [ self.vector-split ];
|
||||
|
|
|
@ -126,7 +126,9 @@ in
|
|||
benchmarkHaskellDepends ? [ ],
|
||||
benchmarkSystemDepends ? [ ],
|
||||
benchmarkFrameworkDepends ? [ ],
|
||||
# testTarget is deprecated. Use testTargets instead.
|
||||
testTarget ? "",
|
||||
testTargets ? lib.strings.splitString " " testTarget,
|
||||
testFlags ? [ ],
|
||||
broken ? false,
|
||||
preCompileBuildDriver ? null,
|
||||
|
@ -537,6 +539,11 @@ let
|
|||
exec "$@"
|
||||
'';
|
||||
|
||||
testTargetsString =
|
||||
lib.warnIf (testTarget != "")
|
||||
"haskellPackages.mkDerivation: testTarget is deprecated. Use testTargets instead"
|
||||
(lib.concatStringsSep " " testTargets);
|
||||
|
||||
in
|
||||
lib.fix (
|
||||
drv:
|
||||
|
@ -765,7 +772,7 @@ lib.fix (
|
|||
${lib.escapeShellArgs (builtins.map (opt: "--test-option=${opt}") testFlags)}
|
||||
)
|
||||
export NIX_GHC_PACKAGE_PATH_FOR_TEST="''${NIX_GHC_PACKAGE_PATH_FOR_TEST:-$packageConfDir:}"
|
||||
${setupCommand} test ${testTarget} $checkFlags ''${checkFlagsArray:+"''${checkFlagsArray[@]}"}
|
||||
${setupCommand} test ${testTargetsString} $checkFlags ''${checkFlagsArray:+"''${checkFlagsArray[@]}"}
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
|
|
38854
pkgs/development/haskell-modules/hackage-packages.nix
generated
38854
pkgs/development/haskell-modules/hackage-packages.nix
generated
File diff suppressed because it is too large
Load diff
|
@ -41,17 +41,6 @@ self: super:
|
|||
|
||||
nix-linter = self.callPackage ../../development/tools/analysis/nix-linter { };
|
||||
|
||||
# hasura graphql-engine is not released to hackage.
|
||||
# https://github.com/hasura/graphql-engine/issues/7391
|
||||
ci-info = self.callPackage ../misc/haskell/hasura/ci-info.nix { };
|
||||
pg-client = self.callPackage ../misc/haskell/hasura/pg-client.nix { };
|
||||
graphql-parser = self.callPackage ../misc/haskell/hasura/graphql-parser.nix { };
|
||||
graphql-engine = self.callPackage ../misc/haskell/hasura/graphql-engine.nix { };
|
||||
kriti-lang = self.callPackage ../misc/haskell/hasura/kriti-lang.nix { };
|
||||
hasura-resource-pool = self.callPackage ../misc/haskell/hasura/pool.nix { };
|
||||
hasura-ekg-core = self.callPackage ../misc/haskell/hasura/ekg-core.nix { };
|
||||
hasura-ekg-json = self.callPackage ../misc/haskell/hasura/ekg-json.nix { };
|
||||
|
||||
# Unofficial fork until PRs are merged https://github.com/pcapriotti/optparse-applicative/pulls/roberth
|
||||
# cabal2nix --maintainer roberth https://github.com/hercules-ci/optparse-applicative.git > pkgs/development/misc/haskell/hercules-ci-optparse-applicative.nix
|
||||
hercules-ci-optparse-applicative =
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
--- a/cabal-install.cabal
|
||||
+++ b/cabal-install.cabal
|
||||
@@ -261,7 +261,7 @@
|
||||
-- newer directory for symlinks
|
||||
build-depends: Win32 >= 2.8 && < 3, directory >=1.3.1.0
|
||||
else
|
||||
- build-depends: unix >= 2.5 && < 2.8 || >= 2.8.6.0 && < 2.9
|
||||
+ build-depends: unix >= 2.5 && < 2.9
|
||||
|
||||
if flag(lukko)
|
||||
build-depends: lukko >= 0.1 && <0.2
|
|
@ -2,12 +2,12 @@ diff --git a/Utility/FreeDesktop.hs b/Utility/FreeDesktop.hs
|
|||
index 896b89b991..6cbb4f90ae 100644
|
||||
--- a/Utility/FreeDesktop.hs
|
||||
+++ b/Utility/FreeDesktop.hs
|
||||
@@ -112,7 +112,7 @@ desktopfile f = f ++ ".desktop"
|
||||
@@ -106,7 +106,7 @@ desktopfile f = toOsPath $ f ++ ".desktop"
|
||||
|
||||
{- Directory used for installation of system wide data files.. -}
|
||||
systemDataDir :: FilePath
|
||||
-systemDataDir = "/usr/share"
|
||||
+systemDataDir = "/share"
|
||||
systemDataDir :: OsPath
|
||||
-systemDataDir = literalOsPath "/usr/share"
|
||||
+systemDataDir = literalOsPath "/share"
|
||||
|
||||
{- Directory used for installation of system wide config files. -}
|
||||
systemConfigDir :: FilePath
|
||||
systemConfigDir :: OsPath
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
diff --git a/gogol-core.cabal b/gogol-core.cabal
|
||||
index 4c47988..caa4796 100644
|
||||
--- a/gogol-core.cabal
|
||||
+++ b/gogol-core.cabal
|
||||
@@ -62,7 +62,7 @@ library
|
||||
, lens >= 4.4
|
||||
, resourcet >= 1.1
|
||||
, scientific >= 0.3
|
||||
- , servant >= 0.4.4
|
||||
+ , servant >= 0.14.1
|
||||
, text >= 1.1
|
||||
, unordered-containers >= 0.2.5
|
||||
|
||||
diff --git a/src/Network/Google/Prelude.hs b/src/Network/Google/Prelude.hs
|
||||
index a4ad9de..795c690 100644
|
||||
--- a/src/Network/Google/Prelude.hs
|
||||
+++ b/src/Network/Google/Prelude.hs
|
||||
@@ -28,7 +28,7 @@ import Network.HTTP.Client as Export (RequestBody)
|
||||
import Numeric.Natural as Export (Natural)
|
||||
import Prelude as Export hiding (product, span, any, Word)
|
||||
import Servant.API as Export hiding (Headers, Link, getResponse, Stream, ResponseHeader, Header, header)
|
||||
-import Servant.Utils.Links as Export hiding (Link)
|
||||
+import Servant.Links as Export hiding (Link)
|
||||
import Web.HttpApiData as Export (FromHttpApiData (..), ToHttpApiData (..))
|
||||
|
||||
import Network.Google.Data.Bytes as Export
|
|
@ -1,21 +0,0 @@
|
|||
diff --git a/password/password.cabal b/password/password.cabal
|
||||
index 506457e..8fa978b 100644
|
||||
--- a/password.cabal
|
||||
+++ b/password.cabal
|
||||
@@ -186,6 +186,8 @@ test-suite password-tasty
|
||||
other-modules:
|
||||
Scrypt
|
||||
Data.Password.Scrypt
|
||||
+ build-depends:
|
||||
+ scrypt
|
||||
ghc-options:
|
||||
-threaded -O2 -rtsopts -with-rtsopts=-N
|
||||
build-depends:
|
||||
@@ -195,7 +197,6 @@ test-suite password-tasty
|
||||
, bytestring
|
||||
, memory
|
||||
, quickcheck-instances
|
||||
- , scrypt
|
||||
, tasty
|
||||
, tasty-hunit
|
||||
, tasty-quickcheck
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
stdenv,
|
||||
lib,
|
||||
testers,
|
||||
buildPackages,
|
||||
fetchFromGitLab,
|
||||
python3,
|
||||
|
@ -253,7 +254,12 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
moveToOutput "bin/pw-jack" "$jack"
|
||||
'';
|
||||
|
||||
passthru.tests.installed-tests = nixosTests.installed-tests.pipewire;
|
||||
passthru.tests = {
|
||||
installed-tests = nixosTests.installed-tests.pipewire;
|
||||
pkg-config = testers.hasPkgConfigModules {
|
||||
package = finalAttrs.finalPackage;
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Server and user space API to deal with multimedia pipelines";
|
||||
|
@ -265,5 +271,9 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
kranzes
|
||||
k900
|
||||
];
|
||||
pkgConfigModules = [
|
||||
"libpipewire-0.3"
|
||||
"libspa-0.2"
|
||||
];
|
||||
};
|
||||
})
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
stdenv,
|
||||
lib,
|
||||
pandoc_3_6,
|
||||
pandoc,
|
||||
typst,
|
||||
esbuild,
|
||||
deno,
|
||||
|
@ -39,7 +39,7 @@ stdenv.mkDerivation (final: {
|
|||
preFixup = ''
|
||||
wrapProgram $out/bin/quarto \
|
||||
--prefix QUARTO_DENO : ${lib.getExe deno} \
|
||||
--prefix QUARTO_PANDOC : ${lib.getExe pandoc_3_6} \
|
||||
--prefix QUARTO_PANDOC : ${lib.getExe pandoc} \
|
||||
--prefix QUARTO_ESBUILD : ${lib.getExe esbuild} \
|
||||
--prefix QUARTO_DART_SASS : ${lib.getExe dart-sass} \
|
||||
--prefix QUARTO_TYPST : ${lib.getExe typst} \
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
# This has been automatically generated by the script
|
||||
# ./update.sh. This should not be changed by hand.
|
||||
{
|
||||
mkDerivation,
|
||||
aeson,
|
||||
aeson-casing,
|
||||
base,
|
||||
fetchgit,
|
||||
hashable,
|
||||
hpack,
|
||||
lib,
|
||||
template-haskell,
|
||||
text,
|
||||
th-lift-instances,
|
||||
unordered-containers,
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "ci-info";
|
||||
version = "0.1.0.0";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/hasura/ci-info-hs.git";
|
||||
sha256 = "018vfyg0y2sn497nigjrcs6b1v3i9bna06dsbvgr6wjikcl6dhh4";
|
||||
rev = "68247a83738ac4bb9f719f0e4213aeb7be9565cf";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
libraryHaskellDepends = [
|
||||
aeson
|
||||
aeson-casing
|
||||
base
|
||||
hashable
|
||||
template-haskell
|
||||
text
|
||||
th-lift-instances
|
||||
unordered-containers
|
||||
];
|
||||
libraryToolDepends = [ hpack ];
|
||||
prePatch = "hpack";
|
||||
homepage = "https://github.com/hasura/ci-info-hs#readme";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ lassulus ];
|
||||
}
|
|
@ -1,75 +0,0 @@
|
|||
# This has been automatically generated by the script
|
||||
# ./update.sh. This should not be changed by hand.
|
||||
{
|
||||
mkDerivation,
|
||||
async,
|
||||
atomic-primops,
|
||||
base,
|
||||
containers,
|
||||
criterion,
|
||||
fetchgit,
|
||||
ghc-prim,
|
||||
hashable,
|
||||
hspec,
|
||||
hspec-smallcheck,
|
||||
HUnit,
|
||||
inspection-testing,
|
||||
lib,
|
||||
markdown-unlit,
|
||||
primitive,
|
||||
QuickCheck,
|
||||
smallcheck,
|
||||
text,
|
||||
unordered-containers,
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "ekg-core";
|
||||
version = "0.1.1.7";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/hasura/ekg-core.git";
|
||||
sha256 = "1syb87iav3fgj6vqjh1izdvw4g0l4mngcyhvcg2nazisw3l685z6";
|
||||
rev = "b0cdc337ca2a52e392d427916ba3e28246b396c0";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
libraryHaskellDepends = [
|
||||
atomic-primops
|
||||
base
|
||||
containers
|
||||
ghc-prim
|
||||
hashable
|
||||
inspection-testing
|
||||
primitive
|
||||
text
|
||||
unordered-containers
|
||||
];
|
||||
testHaskellDepends = [
|
||||
async
|
||||
atomic-primops
|
||||
base
|
||||
containers
|
||||
ghc-prim
|
||||
hashable
|
||||
hspec
|
||||
hspec-smallcheck
|
||||
HUnit
|
||||
inspection-testing
|
||||
markdown-unlit
|
||||
primitive
|
||||
QuickCheck
|
||||
smallcheck
|
||||
text
|
||||
unordered-containers
|
||||
];
|
||||
testToolDepends = [ markdown-unlit ];
|
||||
benchmarkHaskellDepends = [
|
||||
base
|
||||
criterion
|
||||
];
|
||||
doHaddock = false;
|
||||
homepage = "https://github.com/tibbe/ekg-core";
|
||||
description = "Tracking of system metrics";
|
||||
license = lib.licenses.bsd3;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
maintainers = with lib.maintainers; [ lassulus ];
|
||||
broken = true;
|
||||
}
|
|
@ -1,46 +0,0 @@
|
|||
# This has been automatically generated by the script
|
||||
# ./update.sh. This should not be changed by hand.
|
||||
{
|
||||
mkDerivation,
|
||||
aeson,
|
||||
base,
|
||||
ekg-core,
|
||||
fetchgit,
|
||||
hspec,
|
||||
lib,
|
||||
text,
|
||||
unordered-containers,
|
||||
vector,
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "ekg-json";
|
||||
version = "0.1.0.7";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/hasura/ekg-json.git";
|
||||
sha256 = "17kd2f1695dmf5l95iz1w86hapc4f1gfrd0ld3ivffa2q5vxbi70";
|
||||
rev = "d1c5031b49a5559cf4b4f6beb0238b872890a48c";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
libraryHaskellDepends = [
|
||||
aeson
|
||||
base
|
||||
ekg-core
|
||||
text
|
||||
unordered-containers
|
||||
vector
|
||||
];
|
||||
testHaskellDepends = [
|
||||
aeson
|
||||
base
|
||||
ekg-core
|
||||
hspec
|
||||
text
|
||||
unordered-containers
|
||||
];
|
||||
homepage = "https://github.com/tibbe/ekg-json";
|
||||
description = "JSON encoding of ekg metrics";
|
||||
license = lib.licenses.bsd3;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
maintainers = with lib.maintainers; [ lassulus ];
|
||||
broken = true;
|
||||
}
|
|
@ -1,406 +0,0 @@
|
|||
# This has been automatically generated by the script
|
||||
# ./update.sh. This should not be changed by hand.
|
||||
{
|
||||
mkDerivation,
|
||||
aeson,
|
||||
aeson-casing,
|
||||
aeson-qq,
|
||||
ansi-wl-pprint,
|
||||
asn1-encoding,
|
||||
asn1-types,
|
||||
async,
|
||||
attoparsec,
|
||||
attoparsec-iso8601,
|
||||
auto-update,
|
||||
base,
|
||||
base16-bytestring,
|
||||
base64-bytestring,
|
||||
binary,
|
||||
byteorder,
|
||||
bytestring,
|
||||
case-insensitive,
|
||||
ci-info,
|
||||
conduit,
|
||||
connection,
|
||||
containers,
|
||||
cron,
|
||||
cryptonite,
|
||||
data-default-class,
|
||||
data-has,
|
||||
deepseq,
|
||||
dependent-map,
|
||||
dependent-sum,
|
||||
directory,
|
||||
either,
|
||||
ekg-core,
|
||||
ekg-json,
|
||||
exceptions,
|
||||
fast-logger,
|
||||
fetchgit,
|
||||
file-embed,
|
||||
filepath,
|
||||
ghc-heap-view,
|
||||
graphql-parser,
|
||||
hashable,
|
||||
hashable-time,
|
||||
haskell-src-meta,
|
||||
hedgehog,
|
||||
hspec,
|
||||
hspec-core,
|
||||
hspec-discover,
|
||||
hspec-expectations,
|
||||
hspec-expectations-lifted,
|
||||
hspec-hedgehog,
|
||||
hspec-wai,
|
||||
hspec-wai-json,
|
||||
http-api-data,
|
||||
http-client,
|
||||
http-client-tls,
|
||||
http-conduit,
|
||||
http-media,
|
||||
http-types,
|
||||
immortal,
|
||||
insert-ordered-containers,
|
||||
jose,
|
||||
kan-extensions,
|
||||
kriti-lang,
|
||||
lens,
|
||||
lens-aeson,
|
||||
lib,
|
||||
libyaml,
|
||||
lifted-async,
|
||||
lifted-base,
|
||||
list-t,
|
||||
memory,
|
||||
mime-types,
|
||||
mmorph,
|
||||
monad-control,
|
||||
monad-logger,
|
||||
monad-loops,
|
||||
monad-validate,
|
||||
mtl,
|
||||
mustache,
|
||||
mysql,
|
||||
mysql-simple,
|
||||
natural-transformation,
|
||||
network,
|
||||
network-uri,
|
||||
odbc,
|
||||
openapi3,
|
||||
optparse-applicative,
|
||||
optparse-generic,
|
||||
parsec,
|
||||
pem,
|
||||
pg-client,
|
||||
postgresql-binary,
|
||||
postgresql-libpq,
|
||||
postgresql-simple,
|
||||
pretty-simple,
|
||||
process,
|
||||
profunctors,
|
||||
psqueues,
|
||||
QuickCheck,
|
||||
quickcheck-instances,
|
||||
random,
|
||||
regex-tdfa,
|
||||
resource-pool,
|
||||
resourcet,
|
||||
retry,
|
||||
safe,
|
||||
safe-exceptions,
|
||||
scientific,
|
||||
semialign,
|
||||
semigroups,
|
||||
semver,
|
||||
shakespeare,
|
||||
some,
|
||||
split,
|
||||
Spock-core,
|
||||
stm,
|
||||
stm-containers,
|
||||
tagged,
|
||||
template-haskell,
|
||||
text,
|
||||
text-builder,
|
||||
text-conversions,
|
||||
th-lift,
|
||||
th-lift-instances,
|
||||
these,
|
||||
time,
|
||||
tls,
|
||||
tmp-postgres,
|
||||
transformers,
|
||||
transformers-base,
|
||||
typed-process,
|
||||
unix,
|
||||
unliftio-core,
|
||||
unordered-containers,
|
||||
uri-bytestring,
|
||||
uri-encode,
|
||||
url,
|
||||
utf8-string,
|
||||
uuid,
|
||||
validation,
|
||||
vector,
|
||||
vector-instances,
|
||||
wai,
|
||||
wai-extra,
|
||||
warp,
|
||||
websockets,
|
||||
witch,
|
||||
wreq,
|
||||
x509,
|
||||
x509-store,
|
||||
x509-system,
|
||||
x509-validation,
|
||||
yaml,
|
||||
zlib,
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "graphql-engine";
|
||||
version = "1.0.0";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/hasura/graphql-engine.git";
|
||||
sha256 = "1r19qw2wxzmngb6sjpin3dk6i5r491brcb0ir4g8kw9d0ic90hpy";
|
||||
rev = "1349e6cdcfdef4b06593b48fe8e2e51b9f9c94e9";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
postUnpack = "sourceRoot+=/server; echo source root reset to $sourceRoot";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
libraryHaskellDepends = [
|
||||
aeson
|
||||
aeson-casing
|
||||
ansi-wl-pprint
|
||||
asn1-encoding
|
||||
asn1-types
|
||||
async
|
||||
attoparsec
|
||||
attoparsec-iso8601
|
||||
auto-update
|
||||
base
|
||||
base16-bytestring
|
||||
base64-bytestring
|
||||
binary
|
||||
byteorder
|
||||
bytestring
|
||||
case-insensitive
|
||||
ci-info
|
||||
connection
|
||||
containers
|
||||
cron
|
||||
cryptonite
|
||||
data-default-class
|
||||
data-has
|
||||
deepseq
|
||||
dependent-map
|
||||
dependent-sum
|
||||
directory
|
||||
either
|
||||
ekg-core
|
||||
ekg-json
|
||||
exceptions
|
||||
fast-logger
|
||||
file-embed
|
||||
filepath
|
||||
ghc-heap-view
|
||||
graphql-parser
|
||||
hashable
|
||||
hashable-time
|
||||
http-api-data
|
||||
http-client
|
||||
http-client-tls
|
||||
http-conduit
|
||||
http-media
|
||||
http-types
|
||||
immortal
|
||||
insert-ordered-containers
|
||||
jose
|
||||
kan-extensions
|
||||
kriti-lang
|
||||
lens
|
||||
lens-aeson
|
||||
lifted-async
|
||||
lifted-base
|
||||
list-t
|
||||
memory
|
||||
mime-types
|
||||
mmorph
|
||||
monad-control
|
||||
monad-loops
|
||||
monad-validate
|
||||
mtl
|
||||
mustache
|
||||
mysql
|
||||
mysql-simple
|
||||
network
|
||||
network-uri
|
||||
odbc
|
||||
openapi3
|
||||
optparse-applicative
|
||||
optparse-generic
|
||||
parsec
|
||||
pem
|
||||
pg-client
|
||||
postgresql-binary
|
||||
postgresql-libpq
|
||||
pretty-simple
|
||||
process
|
||||
profunctors
|
||||
psqueues
|
||||
QuickCheck
|
||||
quickcheck-instances
|
||||
random
|
||||
regex-tdfa
|
||||
resource-pool
|
||||
retry
|
||||
safe-exceptions
|
||||
scientific
|
||||
semialign
|
||||
semigroups
|
||||
semver
|
||||
shakespeare
|
||||
some
|
||||
split
|
||||
Spock-core
|
||||
stm
|
||||
stm-containers
|
||||
tagged
|
||||
template-haskell
|
||||
text
|
||||
text-builder
|
||||
text-conversions
|
||||
these
|
||||
time
|
||||
tls
|
||||
transformers
|
||||
transformers-base
|
||||
unix
|
||||
unordered-containers
|
||||
uri-bytestring
|
||||
uri-encode
|
||||
url
|
||||
utf8-string
|
||||
uuid
|
||||
validation
|
||||
vector
|
||||
vector-instances
|
||||
wai
|
||||
warp
|
||||
websockets
|
||||
witch
|
||||
wreq
|
||||
x509
|
||||
x509-store
|
||||
x509-system
|
||||
x509-validation
|
||||
yaml
|
||||
zlib
|
||||
];
|
||||
executableHaskellDepends = [
|
||||
base
|
||||
bytestring
|
||||
ekg-core
|
||||
kan-extensions
|
||||
pg-client
|
||||
text
|
||||
text-conversions
|
||||
time
|
||||
unix
|
||||
];
|
||||
testHaskellDepends = [
|
||||
aeson
|
||||
aeson-casing
|
||||
aeson-qq
|
||||
async
|
||||
base
|
||||
bytestring
|
||||
case-insensitive
|
||||
conduit
|
||||
containers
|
||||
cron
|
||||
dependent-map
|
||||
dependent-sum
|
||||
ekg-core
|
||||
exceptions
|
||||
graphql-parser
|
||||
haskell-src-meta
|
||||
hedgehog
|
||||
hspec
|
||||
hspec-core
|
||||
hspec-discover
|
||||
hspec-expectations
|
||||
hspec-expectations-lifted
|
||||
hspec-hedgehog
|
||||
hspec-wai
|
||||
hspec-wai-json
|
||||
http-client
|
||||
http-client-tls
|
||||
http-conduit
|
||||
http-types
|
||||
insert-ordered-containers
|
||||
jose
|
||||
kan-extensions
|
||||
lens
|
||||
lens-aeson
|
||||
libyaml
|
||||
lifted-base
|
||||
mmorph
|
||||
monad-control
|
||||
monad-logger
|
||||
mtl
|
||||
mysql
|
||||
mysql-simple
|
||||
natural-transformation
|
||||
network
|
||||
network-uri
|
||||
odbc
|
||||
optparse-applicative
|
||||
parsec
|
||||
pg-client
|
||||
postgresql-libpq
|
||||
postgresql-simple
|
||||
process
|
||||
QuickCheck
|
||||
resource-pool
|
||||
resourcet
|
||||
safe
|
||||
safe-exceptions
|
||||
scientific
|
||||
shakespeare
|
||||
split
|
||||
Spock-core
|
||||
stm
|
||||
template-haskell
|
||||
text
|
||||
text-conversions
|
||||
th-lift
|
||||
th-lift-instances
|
||||
time
|
||||
tmp-postgres
|
||||
transformers
|
||||
transformers-base
|
||||
typed-process
|
||||
unix
|
||||
unliftio-core
|
||||
unordered-containers
|
||||
utf8-string
|
||||
vector
|
||||
wai
|
||||
wai-extra
|
||||
warp
|
||||
websockets
|
||||
yaml
|
||||
];
|
||||
testToolDepends = [ hspec-discover ];
|
||||
doCheck = false;
|
||||
homepage = "https://www.hasura.io";
|
||||
description = "GraphQL API over Postgres";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ lassulus ];
|
||||
|
||||
# Needs to be updated for aeson-2.0
|
||||
# https://github.com/hasura/graphql-engine/issues/8369
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
broken = true;
|
||||
}
|
|
@ -1,74 +0,0 @@
|
|||
# This has been automatically generated by the script
|
||||
# ./update.sh. This should not be changed by hand.
|
||||
{
|
||||
mkDerivation,
|
||||
aeson,
|
||||
attoparsec,
|
||||
base,
|
||||
bytestring,
|
||||
deepseq,
|
||||
fetchgit,
|
||||
hashable,
|
||||
hedgehog,
|
||||
lib,
|
||||
prettyprinter,
|
||||
scientific,
|
||||
tasty-bench,
|
||||
template-haskell,
|
||||
text,
|
||||
text-builder,
|
||||
th-lift-instances,
|
||||
unordered-containers,
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "graphql-parser";
|
||||
version = "0.2.0.0";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/hasura/graphql-parser-hs.git";
|
||||
sha256 = "1xprr5wdhcfnbggkygz71v3za1mmkqv5mbm7h16kpsrhm1m9mpx8";
|
||||
rev = "c311bc15b8d8cef28a846d1d81b0bcc1d59bd956";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
libraryHaskellDepends = [
|
||||
aeson
|
||||
attoparsec
|
||||
base
|
||||
bytestring
|
||||
deepseq
|
||||
hashable
|
||||
hedgehog
|
||||
prettyprinter
|
||||
scientific
|
||||
template-haskell
|
||||
text
|
||||
text-builder
|
||||
th-lift-instances
|
||||
unordered-containers
|
||||
];
|
||||
testHaskellDepends = [
|
||||
attoparsec
|
||||
base
|
||||
bytestring
|
||||
hedgehog
|
||||
prettyprinter
|
||||
text
|
||||
text-builder
|
||||
];
|
||||
benchmarkHaskellDepends = [
|
||||
base
|
||||
bytestring
|
||||
prettyprinter
|
||||
tasty-bench
|
||||
text
|
||||
text-builder
|
||||
];
|
||||
homepage = "https://github.com/hasura/graphql-parser-hs";
|
||||
description = "Native Haskell GraphQL parser";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ lassulus ];
|
||||
|
||||
# Needs to be updated for aeson-2.0
|
||||
# https://github.com/hasura/graphql-engine/issues/8369
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
broken = true;
|
||||
}
|
|
@ -1,119 +0,0 @@
|
|||
# This has been automatically generated by the script
|
||||
# ./update.sh. This should not be changed by hand.
|
||||
{
|
||||
mkDerivation,
|
||||
aeson,
|
||||
aeson-pretty,
|
||||
alex,
|
||||
array,
|
||||
base,
|
||||
bytestring,
|
||||
containers,
|
||||
directory,
|
||||
fetchgit,
|
||||
filepath,
|
||||
generic-arbitrary,
|
||||
happy,
|
||||
hspec,
|
||||
hspec-core,
|
||||
hspec-golden,
|
||||
lens,
|
||||
lens-aeson,
|
||||
lib,
|
||||
megaparsec,
|
||||
mtl,
|
||||
network-uri,
|
||||
optparse-applicative,
|
||||
parsec,
|
||||
parser-combinators,
|
||||
pretty-simple,
|
||||
prettyprinter,
|
||||
QuickCheck,
|
||||
raw-strings-qq,
|
||||
safe-exceptions,
|
||||
scientific,
|
||||
text,
|
||||
unordered-containers,
|
||||
utf8-string,
|
||||
vector,
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "kriti-lang";
|
||||
version = "0.3.1";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/hasura/kriti-lang.git";
|
||||
sha256 = "09v31xp8gkc0p0gfysxyd8yb7lyb1vpgzq8550h3s3msjbapr7pj";
|
||||
rev = "0f0b153b93af5dc6c6e995c016ca4562e8438cec";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
libraryHaskellDepends = [
|
||||
aeson
|
||||
array
|
||||
base
|
||||
bytestring
|
||||
containers
|
||||
lens
|
||||
megaparsec
|
||||
mtl
|
||||
network-uri
|
||||
optparse-applicative
|
||||
parser-combinators
|
||||
prettyprinter
|
||||
scientific
|
||||
text
|
||||
unordered-containers
|
||||
utf8-string
|
||||
vector
|
||||
];
|
||||
libraryToolDepends = [
|
||||
alex
|
||||
happy
|
||||
];
|
||||
executableHaskellDepends = [
|
||||
aeson
|
||||
base
|
||||
bytestring
|
||||
containers
|
||||
mtl
|
||||
optparse-applicative
|
||||
prettyprinter
|
||||
text
|
||||
utf8-string
|
||||
];
|
||||
testHaskellDepends = [
|
||||
aeson
|
||||
aeson-pretty
|
||||
base
|
||||
bytestring
|
||||
containers
|
||||
directory
|
||||
filepath
|
||||
generic-arbitrary
|
||||
hspec
|
||||
hspec-core
|
||||
hspec-golden
|
||||
lens
|
||||
lens-aeson
|
||||
mtl
|
||||
optparse-applicative
|
||||
parsec
|
||||
pretty-simple
|
||||
prettyprinter
|
||||
QuickCheck
|
||||
raw-strings-qq
|
||||
safe-exceptions
|
||||
scientific
|
||||
text
|
||||
unordered-containers
|
||||
utf8-string
|
||||
vector
|
||||
];
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ lassulus ];
|
||||
|
||||
# Does not compile with ghc-9.2
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
broken = true;
|
||||
}
|
|
@ -1,100 +0,0 @@
|
|||
# This has been automatically generated by the script
|
||||
# ./update.sh. This should not be changed by hand.
|
||||
{
|
||||
mkDerivation,
|
||||
aeson,
|
||||
aeson-casing,
|
||||
async,
|
||||
attoparsec,
|
||||
base,
|
||||
bytestring,
|
||||
ekg-core,
|
||||
fetchgit,
|
||||
file-embed,
|
||||
hashable,
|
||||
hashtables,
|
||||
hasql,
|
||||
hasql-pool,
|
||||
hasql-transaction,
|
||||
hspec,
|
||||
lib,
|
||||
mmorph,
|
||||
monad-control,
|
||||
mtl,
|
||||
postgresql-binary,
|
||||
postgresql-libpq,
|
||||
resource-pool,
|
||||
retry,
|
||||
safe-exceptions,
|
||||
scientific,
|
||||
tasty-bench,
|
||||
template-haskell,
|
||||
text,
|
||||
text-builder,
|
||||
time,
|
||||
transformers-base,
|
||||
uuid,
|
||||
vector,
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "pg-client";
|
||||
version = "0.1.0";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/hasura/pg-client-hs.git";
|
||||
sha256 = "0ga2bj0mfng25c8kxsvi8i13pnanbnhahxvbq8ijl0bysd41g7zi";
|
||||
rev = "09b40ad8e5d16a78f5d91fe2306676f52caadbc8";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
libraryHaskellDepends = [
|
||||
aeson
|
||||
aeson-casing
|
||||
async
|
||||
attoparsec
|
||||
base
|
||||
bytestring
|
||||
ekg-core
|
||||
hashable
|
||||
hashtables
|
||||
mmorph
|
||||
monad-control
|
||||
mtl
|
||||
postgresql-binary
|
||||
postgresql-libpq
|
||||
resource-pool
|
||||
retry
|
||||
safe-exceptions
|
||||
scientific
|
||||
template-haskell
|
||||
text
|
||||
text-builder
|
||||
time
|
||||
transformers-base
|
||||
uuid
|
||||
vector
|
||||
];
|
||||
testHaskellDepends = [
|
||||
async
|
||||
base
|
||||
bytestring
|
||||
hspec
|
||||
mtl
|
||||
safe-exceptions
|
||||
time
|
||||
];
|
||||
benchmarkHaskellDepends = [
|
||||
base
|
||||
bytestring
|
||||
file-embed
|
||||
hasql
|
||||
hasql-pool
|
||||
hasql-transaction
|
||||
mtl
|
||||
tasty-bench
|
||||
text
|
||||
];
|
||||
homepage = "https://github.com/hasura/platform";
|
||||
license = lib.licenses.asl20;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
maintainers = with lib.maintainers; [ lassulus ];
|
||||
broken = true;
|
||||
}
|
|
@ -1,44 +0,0 @@
|
|||
# This has been automatically generated by the script
|
||||
# ./update.sh. This should not be changed by hand.
|
||||
{
|
||||
mkDerivation,
|
||||
base,
|
||||
fetchgit,
|
||||
hashable,
|
||||
hspec,
|
||||
lib,
|
||||
monad-control,
|
||||
stm,
|
||||
time,
|
||||
transformers,
|
||||
transformers-base,
|
||||
vector,
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "resource-pool";
|
||||
version = "0.2.3.2";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/hasura/pool.git";
|
||||
sha256 = "02wa32fl5wq5fk59id54xmxiqjl564r4rhsc79xsgf2j2spj0v94";
|
||||
rev = "dc56753338e7b61220a09bed0469c6dcc5e9fb52";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
libraryHaskellDepends = [
|
||||
base
|
||||
hashable
|
||||
monad-control
|
||||
stm
|
||||
time
|
||||
transformers
|
||||
transformers-base
|
||||
vector
|
||||
];
|
||||
testHaskellDepends = [
|
||||
base
|
||||
hspec
|
||||
];
|
||||
homepage = "https://github.com/bos/pool";
|
||||
description = "High-performance striped resource pooling implementation";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ lassulus ];
|
||||
}
|
|
@ -1,95 +0,0 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p cabal2nix curl jq -I nixpkgs=.
|
||||
#
|
||||
# This script will update the hasura derivations to the latest version using
|
||||
# cabal2nix.
|
||||
#
|
||||
# Note that you should always try building hasura graphql-engine after updating it here, since
|
||||
# some of the overrides in pkgs/development/haskell/configuration-nix.nix may
|
||||
# need to be updated/changed.
|
||||
|
||||
set -eo pipefail
|
||||
|
||||
# This is the directory of this update.sh script.
|
||||
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||
|
||||
# graphql-engine derivation created with cabal2nix.
|
||||
engine_derivation_file="${script_dir}/graphql-engine.nix"
|
||||
parser_derivation_file="${script_dir}/graphql-parser.nix"
|
||||
ciinfo_derivation_file="${script_dir}/ci-info.nix"
|
||||
pgclient_derivation_file="${script_dir}/pg-client.nix"
|
||||
pool_derivation_file="${script_dir}/pool.nix"
|
||||
ekgcore_derivation_file="${script_dir}/ekg-core.nix"
|
||||
ekgjson_derivation_file="${script_dir}/ekg-json.nix"
|
||||
kritilang_derivation_file="${script_dir}/kriti-lang.nix"
|
||||
|
||||
# TODO: get current revision of graphql-engine in Nixpkgs.
|
||||
# old_version="$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$engine_derivation_file")"
|
||||
|
||||
# This is the latest release version of graphql-engine on GitHub.
|
||||
new_version=$(curl --silent "https://api.github.com/repos/hasura/graphql-engine/releases" | jq 'map(select(.prerelease | not)) | .[0].tag_name' --raw-output)
|
||||
|
||||
echo "Running cabal2nix and outputting to ${engine_derivation_file}..."
|
||||
|
||||
echo "# This has been automatically generated by the script" > "$engine_derivation_file"
|
||||
echo "# ./update.sh. This should not be changed by hand." >> "$engine_derivation_file"
|
||||
|
||||
cabal2nix --revision "$new_version" --subpath server --maintainer lassulus --no-check "https://github.com/hasura/graphql-engine.git" >> "$engine_derivation_file"
|
||||
|
||||
echo "Running cabal2nix and outputting to ${parser_derivation_file}..."
|
||||
|
||||
echo "# This has been automatically generated by the script" > "$parser_derivation_file"
|
||||
echo "# ./update.sh. This should not be changed by hand." >> "$parser_derivation_file"
|
||||
|
||||
cabal2nix --maintainer lassulus "https://github.com/hasura/graphql-parser-hs.git" >> "$parser_derivation_file"
|
||||
|
||||
echo "Running cabal2nix and outputting to ${ciinfo_derivation_file}..."
|
||||
|
||||
echo "# This has been automatically generated by the script" > "$ciinfo_derivation_file"
|
||||
echo "# ./update.sh. This should not be changed by hand." >> "$ciinfo_derivation_file"
|
||||
|
||||
cabal2nix --maintainer lassulus "https://github.com/hasura/ci-info-hs.git" >> "$ciinfo_derivation_file"
|
||||
|
||||
echo "Running cabal2nix and outputting to ${pgclient_derivation_file}..."
|
||||
|
||||
echo "# This has been automatically generated by the script" > "$pgclient_derivation_file"
|
||||
echo "# ./update.sh. This should not be changed by hand." >> "$pgclient_derivation_file"
|
||||
|
||||
cabal2nix --maintainer lassulus "https://github.com/hasura/pg-client-hs.git" >> "$pgclient_derivation_file"
|
||||
|
||||
echo "Running cabal2nix and outputting to ${pool_derivation_file}..."
|
||||
|
||||
echo "# This has been automatically generated by the script" > "$pool_derivation_file"
|
||||
echo "# ./update.sh. This should not be changed by hand." >> "$pool_derivation_file"
|
||||
|
||||
cabal2nix --maintainer lassulus "https://github.com/hasura/pool.git" >> "$pool_derivation_file"
|
||||
|
||||
echo "Running cabal2nix and outputting to ${ekgcore_derivation_file}..."
|
||||
|
||||
echo "# This has been automatically generated by the script" > "$ekgcore_derivation_file"
|
||||
echo "# ./update.sh. This should not be changed by hand." >> "$ekgcore_derivation_file"
|
||||
|
||||
cabal2nix --maintainer lassulus "https://github.com/hasura/ekg-core.git" >> "$ekgcore_derivation_file"
|
||||
|
||||
echo "Running cabal2nix and outputting to ${ekgjson_derivation_file}..."
|
||||
|
||||
echo "# This has been automatically generated by the script" > "$ekgjson_derivation_file"
|
||||
echo "# ./update.sh. This should not be changed by hand." >> "$ekgjson_derivation_file"
|
||||
|
||||
cabal2nix --maintainer lassulus "https://github.com/hasura/ekg-json.git" >> "$ekgjson_derivation_file"
|
||||
|
||||
echo "Running cabal2nix and outputting to ${kritilang_derivation_file}..."
|
||||
|
||||
echo "# This has been automatically generated by the script" > "$kritilang_derivation_file"
|
||||
echo "# ./update.sh. This should not be changed by hand." >> "$kritilang_derivation_file"
|
||||
|
||||
new_kritilang_version=$(curl --silent "https://api.github.com/repos/hasura/kriti-lang/tags" | jq '.[0].name' --raw-output)
|
||||
|
||||
cabal2nix --revision "$new_kritilang_version" --maintainer lassulus "https://github.com/hasura/kriti-lang.git" >> "$kritilang_derivation_file"
|
||||
|
||||
echo "###################"
|
||||
echo "please update pkgs/servers/hasura/cli.nix vendorHash"
|
||||
echo "please update pkgs/development/haskell-modules/configuration-common.nix graphql-engine version"
|
||||
echo "###################"
|
||||
|
||||
echo "Finished."
|
|
@ -52,7 +52,8 @@ mkDerivation {
|
|||
# that only seems to affect Windows. We never build GHC natively on Windows.
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/24382
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/commit/a2c033cf82635c83f3107706634bebee43297b99
|
||||
(lib.versionAtLeast ghcVersion "9.12" && lib.versionOlder ghcVersion "9.13");
|
||||
(lib.versionAtLeast ghcVersion "9.6.7" && lib.versionOlder ghcVersion "9.7")
|
||||
|| (lib.versionAtLeast ghcVersion "9.12" && lib.versionOlder ghcVersion "9.15");
|
||||
isLibrary = false;
|
||||
isExecutable = true;
|
||||
executableHaskellDepends =
|
||||
|
|
|
@ -64,6 +64,6 @@ callPackage' ./hadrian.nix (
|
|||
}
|
||||
// lib.optionalAttrs (lib.versionAtLeast ghcVersion "9.11") {
|
||||
# See https://gitlab.haskell.org/ghc/ghc/-/commit/145a6477854d4003a07573d5e7ffa0c9a64ae29c
|
||||
Cabal = bootPkgs.Cabal_3_14_1_0;
|
||||
Cabal = bootPkgs.Cabal_3_14_1_1;
|
||||
}
|
||||
)
|
||||
|
|
|
@ -9,7 +9,9 @@
|
|||
# Run
|
||||
# $ nix-instantiate --eval -E 'with import <nixpkgs> {}; builtins.attrNames pkgs.haskell.packages'
|
||||
# to list for your nixpkgs version.
|
||||
supportedGhcVersions ? [ "96" ],
|
||||
supportedGhcVersions ? [
|
||||
(lib.strings.replaceStrings [ "." ] [ "" ] (lib.versions.majorMinor haskellPackages.ghc.version))
|
||||
],
|
||||
|
||||
# Whether to build hls with the dynamic run-time system.
|
||||
# See https://haskell-language-server.readthedocs.io/en/latest/troubleshooting.html#static-binaries for more information.
|
||||
|
|
|
@ -1,10 +1,19 @@
|
|||
{ buildGoModule, hasura-graphql-engine }:
|
||||
{
|
||||
buildGoModule,
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "hasura";
|
||||
version = hasura-graphql-engine.version;
|
||||
version = "2.3.1";
|
||||
|
||||
src = hasura-graphql-engine.src;
|
||||
src = fetchFromGitHub {
|
||||
owner = "hasura";
|
||||
repo = "graphql-engine";
|
||||
rev = "v${version}";
|
||||
sha256 = "1r19qw2wxzmngb6sjpin3dk6i5r491brcb0ir4g8kw9d0ic90hpy";
|
||||
};
|
||||
modRoot = "./cli";
|
||||
|
||||
subPackages = [ "cmd/hasura" ];
|
||||
|
@ -28,7 +37,9 @@ buildGoModule rec {
|
|||
'';
|
||||
|
||||
meta = {
|
||||
inherit (hasura-graphql-engine.meta) license homepage maintainers;
|
||||
homepage = "https://www.hasura.io";
|
||||
maintainers = [ lib.maintainers.lassulus ];
|
||||
license = lib.licenses.asl20;
|
||||
description = "Hasura GraphQL Engine CLI";
|
||||
mainProgram = "hasura";
|
||||
};
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ pkgs, haskellPackages }:
|
||||
|
||||
let
|
||||
drv = haskellPackages.vector;
|
||||
drv = haskellPackages.random;
|
||||
docs = pkgs.haskell.lib.compose.documentationTarball drv;
|
||||
|
||||
in
|
||||
|
@ -15,10 +15,10 @@ pkgs.runCommand "test haskell.lib.compose.documentationTarball"
|
|||
tar xvzf "${docs}/${drv.name}-docs.tar.gz"
|
||||
|
||||
# Check for Haddock html
|
||||
find "${drv.name}-docs" | grep -q "Data-Vector.html"
|
||||
find "${drv.name}-docs" | grep -q "System-Random.html"
|
||||
|
||||
# Check for source html
|
||||
find "${drv.name}-docs" | grep -q "src/Data.Vector.html"
|
||||
find "${drv.name}-docs" | grep -q "src/System.Random.html"
|
||||
|
||||
touch "$out"
|
||||
''
|
||||
|
|
|
@ -68,4 +68,8 @@
|
|||
maintainers = allMaintainers;
|
||||
inherit (cabal-install.meta) platforms;
|
||||
};
|
||||
# `shellFor` adds a `buildCommand` (via `envFunc -> runCommandCC`), which
|
||||
# overrides custom phases. To ensure this test's phases run, we remove
|
||||
# that `buildCommand` from the derivation.
|
||||
buildCommand = null;
|
||||
})
|
||||
|
|
|
@ -1,121 +0,0 @@
|
|||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchpatch,
|
||||
mkDerivation,
|
||||
fetchFromGitHub,
|
||||
haskellPackages,
|
||||
slither-analyzer,
|
||||
}:
|
||||
|
||||
mkDerivation (
|
||||
rec {
|
||||
pname = "echidna";
|
||||
version = "2.2.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "crytic";
|
||||
repo = "echidna";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-NJ2G6EkexYE4P3GD7PZ+lLEs1dqnoqIB2zfAOD5SQ8M=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Support cross platform vty 6.x with vty-crossplatform
|
||||
# https://github.com/crytic/echidna/pull/1290
|
||||
(fetchpatch {
|
||||
url = "https://github.com/crytic/echidna/commit/2913b027d7e793390ed489ef6a47d23ec9b3c800.patch";
|
||||
hash = "sha256-5CGD9nDbDUTG869xUybWYSvGRsrm7JP7n0WMBNYfayw=";
|
||||
})
|
||||
];
|
||||
|
||||
isExecutable = true;
|
||||
|
||||
libraryToolDepends = with haskellPackages; [ haskellPackages.hpack ];
|
||||
|
||||
executableHaskellDepends = with haskellPackages; [
|
||||
# package.yaml - dependencies
|
||||
base
|
||||
aeson
|
||||
async
|
||||
base16-bytestring
|
||||
binary
|
||||
bytestring
|
||||
code-page
|
||||
containers
|
||||
data-bword
|
||||
data-dword
|
||||
deepseq
|
||||
extra
|
||||
directory
|
||||
exceptions
|
||||
filepath
|
||||
hashable
|
||||
hevm
|
||||
html-entities
|
||||
ListLike
|
||||
MonadRandom
|
||||
mtl
|
||||
optparse-applicative
|
||||
optics
|
||||
optics-core
|
||||
process
|
||||
random
|
||||
rosezipper
|
||||
semver
|
||||
split
|
||||
text
|
||||
transformers
|
||||
time
|
||||
unliftio
|
||||
utf8-string
|
||||
vector
|
||||
with-utf8
|
||||
word-wrap
|
||||
yaml
|
||||
http-conduit
|
||||
html-conduit
|
||||
warp
|
||||
wai-extra
|
||||
xml-conduit
|
||||
strip-ansi-escape
|
||||
# package.yaml - dependencies when "!os(windows)"
|
||||
brick
|
||||
unix
|
||||
vty
|
||||
];
|
||||
|
||||
# Note: there is also a runtime dependency of slither-analyzer. So, let's include it.
|
||||
executableSystemDepends = [ slither-analyzer ];
|
||||
|
||||
preConfigure = ''
|
||||
hpack
|
||||
'';
|
||||
|
||||
shellHook = "hpack";
|
||||
|
||||
doHaddock = false;
|
||||
|
||||
# tests depend on a specific version of solc
|
||||
doCheck = false;
|
||||
|
||||
description = "Ethereum smart contract fuzzer";
|
||||
homepage = "https://github.com/crytic/echidna";
|
||||
license = lib.licenses.agpl3Plus;
|
||||
maintainers = with lib.maintainers; [
|
||||
arturcygan
|
||||
hellwolf
|
||||
];
|
||||
platforms = lib.platforms.unix;
|
||||
mainProgram = "echidna-test";
|
||||
|
||||
}
|
||||
// lib.optionalAttrs (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) {
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/pull/304352
|
||||
postInstall = with haskellPackages; ''
|
||||
remove-references-to -t ${warp.out} "$out/bin/echidna"
|
||||
remove-references-to -t ${wreq.out} "$out/bin/echidna"
|
||||
'';
|
||||
}
|
||||
)
|
|
@ -815,6 +815,7 @@ mapAliases {
|
|||
hacksaw = throw "'hacksaw' has been removed due to lack of upstream maintenance"; # Added 2025-01-25
|
||||
haka = throw "haka has been removed because it failed to build and was unmaintained for 9 years"; # Added 2025-03-11
|
||||
hardinfo = throw "'hardinfo' has been removed as it was abandoned upstream. Consider using 'hardinfo2' instead."; # added 2025-04-17
|
||||
hasura-graphql-engine = throw "hasura-graphql-engine has been removed because was broken and its packaging severly out of date"; # Added 2025-02-14
|
||||
haven-cli = throw "'haven-cli' has been removed due to the official announcement of the project closure. Read more at https://havenprotocol.org/2024/12/12/project-closure-announcement"; # Added 2025-02-25
|
||||
HentaiAtHome = hentai-at-home; # Added 2024-06-12
|
||||
hll2390dw-cups = throw "The hll2390dw-cups package was dropped since it was unmaintained."; # Added 2024-06-21
|
||||
|
|
|
@ -1825,10 +1825,6 @@ with pkgs;
|
|||
|
||||
dkimpy = with python3Packages; toPythonApplication dkimpy;
|
||||
|
||||
echidna = haskell.lib.compose.justStaticExecutables (
|
||||
haskellPackages.callPackage ../tools/security/echidna { }
|
||||
);
|
||||
|
||||
esbuild = callPackage ../development/tools/esbuild { };
|
||||
|
||||
esbuild_netlify = callPackage ../development/tools/esbuild/netlify.nix { };
|
||||
|
@ -4400,10 +4396,6 @@ with pkgs;
|
|||
|
||||
pakcs = callPackage ../development/compilers/pakcs { };
|
||||
|
||||
pandoc_3_6 = callPackage ../by-name/pa/pandoc/package.nix {
|
||||
selectPandocCLI = (p: p.pandoc-cli_3_6);
|
||||
};
|
||||
|
||||
paperwork = callPackage ../applications/office/paperwork/paperwork-gtk.nix { };
|
||||
|
||||
parallel = callPackage ../tools/misc/parallel { };
|
||||
|
@ -5934,9 +5926,9 @@ with pkgs;
|
|||
haskell.packages.native-bignum.ghc94
|
||||
# JS backend can't use gmp
|
||||
else if stdenv.hostPlatform.isGhcjs then
|
||||
haskell.packages.native-bignum.ghc96
|
||||
haskell.packages.native-bignum.ghc98
|
||||
else
|
||||
haskell.packages.ghc96
|
||||
haskell.packages.ghc98
|
||||
)
|
||||
// {
|
||||
__recurseIntoDerivationForReleaseJobs = true;
|
||||
|
@ -5959,9 +5951,9 @@ with pkgs;
|
|||
haskell.compiler.native-bignum.ghc94
|
||||
# JS backend can't use GMP
|
||||
else if stdenv.targetPlatform.isGhcjs then
|
||||
haskell.compiler.native-bignum.ghc96
|
||||
haskell.compiler.native-bignum.ghc98
|
||||
else
|
||||
haskell.compiler.ghc96
|
||||
haskell.compiler.ghc98
|
||||
);
|
||||
|
||||
alex = haskell.lib.compose.justStaticExecutables haskellPackages.alex;
|
||||
|
@ -6012,9 +6004,10 @@ with pkgs;
|
|||
spicedb-zed = callPackage ../servers/spicedb/zed.nix { };
|
||||
|
||||
tamarin-prover = (
|
||||
haskellPackages.callPackage ../applications/science/logic/tamarin-prover {
|
||||
# NOTE: do not use the haskell packages 'graphviz' and 'maude'
|
||||
inherit maude which;
|
||||
callPackage ../applications/science/logic/tamarin-prover {
|
||||
# 2025-03-07: dependency fclabels doesn't compile with GHC >= 9.8
|
||||
# https://github.com/sebastiaanvisser/fclabels/issues/46
|
||||
haskellPackages = haskell.packages.ghc96;
|
||||
graphviz = graphviz-nox;
|
||||
}
|
||||
);
|
||||
|
@ -11075,8 +11068,6 @@ with pkgs;
|
|||
grafana = callPackage ../servers/monitoring/grafana { };
|
||||
grafanaPlugins = callPackages ../servers/monitoring/grafana/plugins { };
|
||||
|
||||
hasura-graphql-engine = haskell.lib.compose.justStaticExecutables haskell.packages.ghc810.graphql-engine;
|
||||
|
||||
hasura-cli = callPackage ../servers/hasura/cli.nix { };
|
||||
|
||||
inherit (callPackage ../servers/hbase { })
|
||||
|
|
|
@ -135,51 +135,6 @@ in
|
|||
llvmPackages = pkgs.llvmPackages_12;
|
||||
};
|
||||
ghc90 = compiler.ghc902;
|
||||
ghc925 = callPackage ../development/compilers/ghc/9.2.5.nix {
|
||||
bootPkgs =
|
||||
if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then
|
||||
bb.packages.ghc810
|
||||
else
|
||||
bb.packages.ghc8107Binary;
|
||||
inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12
|
||||
python3 = buildPackages.python311; # so that we don't have two of them
|
||||
# Need to use apple's patched xattr until
|
||||
# https://github.com/xattr/xattr/issues/44 and
|
||||
# https://github.com/xattr/xattr/issues/55 are solved.
|
||||
inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
|
||||
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
|
||||
llvmPackages = pkgs.llvmPackages_12;
|
||||
};
|
||||
ghc926 = callPackage ../development/compilers/ghc/9.2.6.nix {
|
||||
bootPkgs =
|
||||
if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then
|
||||
bb.packages.ghc810
|
||||
else
|
||||
bb.packages.ghc8107Binary;
|
||||
inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12
|
||||
python3 = buildPackages.python311; # so that we don't have two of them
|
||||
# Need to use apple's patched xattr until
|
||||
# https://github.com/xattr/xattr/issues/44 and
|
||||
# https://github.com/xattr/xattr/issues/55 are solved.
|
||||
inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
|
||||
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
|
||||
llvmPackages = pkgs.llvmPackages_12;
|
||||
};
|
||||
ghc927 = callPackage ../development/compilers/ghc/9.2.7.nix {
|
||||
bootPkgs =
|
||||
if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then
|
||||
bb.packages.ghc810
|
||||
else
|
||||
bb.packages.ghc8107Binary;
|
||||
inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12
|
||||
python3 = buildPackages.python311; # so that we don't have two of them
|
||||
# Need to use apple's patched xattr until
|
||||
# https://github.com/xattr/xattr/issues/44 and
|
||||
# https://github.com/xattr/xattr/issues/55 are solved.
|
||||
inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
|
||||
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
|
||||
llvmPackages = pkgs.llvmPackages_12;
|
||||
};
|
||||
ghc928 = callPackage ../development/compilers/ghc/9.2.8.nix {
|
||||
bootPkgs =
|
||||
if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then
|
||||
|
@ -317,7 +272,25 @@ in
|
|||
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15;
|
||||
llvmPackages = pkgs.llvmPackages_15;
|
||||
};
|
||||
ghc96 = compiler.ghc966;
|
||||
ghc967 = callPackage ../development/compilers/ghc/9.6.7.nix {
|
||||
bootPkgs =
|
||||
# For GHC 9.2 no armv7l bindists are available.
|
||||
if stdenv.buildPlatform.isAarch32 then
|
||||
bb.packages.ghc928
|
||||
else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then
|
||||
bb.packages.ghc928
|
||||
else
|
||||
bb.packages.ghc924Binary;
|
||||
inherit (buildPackages.python3Packages) sphinx;
|
||||
# Need to use apple's patched xattr until
|
||||
# https://github.com/xattr/xattr/issues/44 and
|
||||
# https://github.com/xattr/xattr/issues/55 are solved.
|
||||
inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
|
||||
# Support range >= 11 && < 16
|
||||
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15;
|
||||
llvmPackages = pkgs.llvmPackages_15;
|
||||
};
|
||||
ghc96 = compiler.ghc967;
|
||||
ghc981 = callPackage ../development/compilers/ghc/9.8.1.nix {
|
||||
bootPkgs =
|
||||
# For GHC 9.6 no armv7l bindists are available.
|
||||
|
@ -432,7 +405,20 @@ in
|
|||
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_19;
|
||||
llvmPackages = pkgs.llvmPackages_19;
|
||||
};
|
||||
ghc912 = compiler.ghc9121;
|
||||
ghc9122 = callPackage ../development/compilers/ghc/9.12.2.nix {
|
||||
bootPkgs =
|
||||
# No suitable bindist packaged yet
|
||||
bb.packages.ghc9101;
|
||||
inherit (buildPackages.python3Packages) sphinx;
|
||||
# Need to use apple's patched xattr until
|
||||
# https://github.com/xattr/xattr/issues/44 and
|
||||
# https://github.com/xattr/xattr/issues/55 are solved.
|
||||
inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
|
||||
# 2024-12-21: Support range >= 13 && < 20
|
||||
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_19;
|
||||
llvmPackages = pkgs.llvmPackages_19;
|
||||
};
|
||||
ghc912 = compiler.ghc9122;
|
||||
ghcHEAD = callPackage ../development/compilers/ghc/head.nix {
|
||||
bootPkgs =
|
||||
# No armv7l bindists are available.
|
||||
|
@ -540,21 +526,6 @@ in
|
|||
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.0.x.nix { };
|
||||
};
|
||||
ghc90 = packages.ghc902;
|
||||
ghc925 = callPackage ../development/haskell-modules {
|
||||
buildHaskellPackages = bh.packages.ghc925;
|
||||
ghc = bh.compiler.ghc925;
|
||||
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
|
||||
};
|
||||
ghc926 = callPackage ../development/haskell-modules {
|
||||
buildHaskellPackages = bh.packages.ghc926;
|
||||
ghc = bh.compiler.ghc926;
|
||||
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
|
||||
};
|
||||
ghc927 = callPackage ../development/haskell-modules {
|
||||
buildHaskellPackages = bh.packages.ghc927;
|
||||
ghc = bh.compiler.ghc927;
|
||||
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
|
||||
};
|
||||
ghc928 = callPackage ../development/haskell-modules {
|
||||
buildHaskellPackages = bh.packages.ghc928;
|
||||
ghc = bh.compiler.ghc928;
|
||||
|
@ -592,7 +563,12 @@ in
|
|||
ghc = bh.compiler.ghc966;
|
||||
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { };
|
||||
};
|
||||
ghc96 = packages.ghc966;
|
||||
ghc967 = callPackage ../development/haskell-modules {
|
||||
buildHaskellPackages = bh.packages.ghc967;
|
||||
ghc = bh.compiler.ghc967;
|
||||
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { };
|
||||
};
|
||||
ghc96 = packages.ghc967;
|
||||
ghc981 = callPackage ../development/haskell-modules {
|
||||
buildHaskellPackages = bh.packages.ghc981;
|
||||
ghc = bh.compiler.ghc981;
|
||||
|
@ -625,7 +601,12 @@ in
|
|||
ghc = bh.compiler.ghc9121;
|
||||
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.12.x.nix { };
|
||||
};
|
||||
ghc912 = packages.ghc9121;
|
||||
ghc9122 = callPackage ../development/haskell-modules {
|
||||
buildHaskellPackages = bh.packages.ghc9122;
|
||||
ghc = bh.compiler.ghc9122;
|
||||
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.12.x.nix { };
|
||||
};
|
||||
ghc912 = packages.ghc9122;
|
||||
ghcHEAD = callPackage ../development/haskell-modules {
|
||||
buildHaskellPackages = bh.packages.ghcHEAD;
|
||||
ghc = bh.compiler.ghcHEAD;
|
||||
|
|
|
@ -65,9 +65,6 @@ let
|
|||
released = with compilerNames; [
|
||||
ghc8107
|
||||
ghc902
|
||||
ghc925
|
||||
ghc926
|
||||
ghc927
|
||||
ghc928
|
||||
ghc947
|
||||
ghc948
|
||||
|
@ -75,12 +72,14 @@ let
|
|||
ghc964
|
||||
ghc965
|
||||
ghc966
|
||||
ghc967
|
||||
ghc981
|
||||
ghc982
|
||||
ghc983
|
||||
ghc984
|
||||
ghc9101
|
||||
ghc9121
|
||||
# exclude ghc9121 due to severe miscompilation bug
|
||||
ghc9122
|
||||
];
|
||||
|
||||
# packagePlatforms applied to `haskell.packages.*`
|
||||
|
@ -310,7 +309,6 @@ let
|
|||
happy
|
||||
haskell-ci
|
||||
haskell-language-server
|
||||
hasura-graphql-engine
|
||||
hci
|
||||
hercules-ci-agent
|
||||
hinit
|
||||
|
@ -455,6 +453,7 @@ let
|
|||
cabal2nix
|
||||
terminfo # isn't bundled for cross
|
||||
xhtml # isn't bundled for cross
|
||||
postgrest
|
||||
;
|
||||
};
|
||||
|
||||
|
@ -467,6 +466,7 @@ let
|
|||
cabal2nix
|
||||
terminfo # isn't bundled for cross
|
||||
xhtml # isn't bundled for cross
|
||||
postgrest
|
||||
;
|
||||
};
|
||||
|
||||
|
@ -504,6 +504,16 @@ let
|
|||
;
|
||||
};
|
||||
|
||||
haskell.packages.ghc912 = {
|
||||
inherit (packagePlatforms pkgs.pkgsCross.ghcjs.haskell.packages.ghc912)
|
||||
ghc
|
||||
hello
|
||||
microlens
|
||||
miso
|
||||
reflex-dom
|
||||
;
|
||||
};
|
||||
|
||||
haskell.packages.ghcHEAD = {
|
||||
inherit (packagePlatforms pkgs.pkgsCross.ghcjs.haskell.packages.ghcHEAD)
|
||||
ghc
|
||||
|
@ -554,16 +564,17 @@ let
|
|||
# work with older compilers.
|
||||
compilerNames.ghc8107
|
||||
compilerNames.ghc902
|
||||
compilerNames.ghc925
|
||||
compilerNames.ghc926
|
||||
compilerNames.ghc927
|
||||
compilerNames.ghc928
|
||||
compilerNames.ghc947
|
||||
compilerNames.ghc948
|
||||
] released;
|
||||
Cabal_3_10_3_0 = released;
|
||||
Cabal_3_10_3_0 = lib.subtractLists [
|
||||
# time < 1.13 conflicts with time == 1.14.*
|
||||
compilerNames.ghc9121
|
||||
compilerNames.ghc9122
|
||||
] released;
|
||||
Cabal_3_12_1_0 = released;
|
||||
Cabal_3_14_1_0 = released;
|
||||
Cabal_3_14_1_1 = released;
|
||||
cabal2nix = released;
|
||||
cabal2nix-unstable = released;
|
||||
funcmp = released;
|
||||
|
@ -572,12 +583,14 @@ let
|
|||
compilerNames.ghc8107
|
||||
# Support ceased as of 2.5.0.0
|
||||
compilerNames.ghc902
|
||||
# Support ceased as of 2.10.0.0
|
||||
compilerNames.ghc928
|
||||
] released;
|
||||
hoogle = released;
|
||||
hlint = lib.subtractLists [
|
||||
compilerNames.ghc902
|
||||
compilerNames.ghc9101
|
||||
compilerNames.ghc9121
|
||||
compilerNames.ghc9122
|
||||
] released;
|
||||
hpack = released;
|
||||
hsdns = released;
|
||||
|
@ -596,16 +609,21 @@ let
|
|||
ghc-lib-parser = released;
|
||||
ghc-lib-parser-ex = released;
|
||||
ghc-source-gen = lib.subtractLists [
|
||||
compilerNames.ghc9121
|
||||
compilerNames.ghc9122
|
||||
] released;
|
||||
ghc-tags = lib.subtractLists [
|
||||
compilerNames.ghc9121
|
||||
compilerNames.ghc9122
|
||||
] released;
|
||||
hashable = released;
|
||||
primitive = released;
|
||||
semaphore-compat = [
|
||||
# Compiler < 9.8 don't have the semaphore-compat core package, but
|
||||
# requires unix >= 2.8.1.0 which implies GHC >= 9.6 for us.
|
||||
compilerNames.ghc966
|
||||
];
|
||||
weeder = lib.subtractLists [
|
||||
compilerNames.ghc9101
|
||||
compilerNames.ghc9121
|
||||
compilerNames.ghc9122
|
||||
] released;
|
||||
})
|
||||
{
|
||||
|
@ -671,16 +689,10 @@ let
|
|||
jobs.pkgsMusl.haskell.compiler.ghc8107Binary
|
||||
jobs.pkgsMusl.haskell.compiler.ghc8107
|
||||
jobs.pkgsMusl.haskell.compiler.ghc902
|
||||
jobs.pkgsMusl.haskell.compiler.ghc925
|
||||
jobs.pkgsMusl.haskell.compiler.ghc926
|
||||
jobs.pkgsMusl.haskell.compiler.ghc927
|
||||
jobs.pkgsMusl.haskell.compiler.ghc928
|
||||
jobs.pkgsMusl.haskell.compiler.ghcHEAD
|
||||
jobs.pkgsMusl.haskell.compiler.integer-simple.ghc8107
|
||||
jobs.pkgsMusl.haskell.compiler.native-bignum.ghc902
|
||||
jobs.pkgsMusl.haskell.compiler.native-bignum.ghc925
|
||||
jobs.pkgsMusl.haskell.compiler.native-bignum.ghc926
|
||||
jobs.pkgsMusl.haskell.compiler.native-bignum.ghc927
|
||||
jobs.pkgsMusl.haskell.compiler.native-bignum.ghc928
|
||||
jobs.pkgsMusl.haskell.compiler.native-bignum.ghcHEAD
|
||||
];
|
||||
|
|
|
@ -365,6 +365,7 @@ let
|
|||
"ghc96"
|
||||
"ghc98"
|
||||
"ghc910"
|
||||
"ghc912"
|
||||
]
|
||||
(compilerName: {
|
||||
inherit (packagePlatforms pkgs.haskell.packages.${compilerName})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue