mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-30 16:53:40 +00:00
4f0dadbf38
After final improvements to the official formatter implementation, this commit now performs the first treewide reformat of Nix files using it. This is part of the implementation of RFC 166. Only "inactive" files are reformatted, meaning only files that aren't being touched by any PR with activity in the past 2 months. This is to avoid conflicts for PRs that might soon be merged. Later we can do a full treewide reformat to get the rest, which should not cause as many conflicts. A CI check has already been running for some time to ensure that new and already-formatted files are formatted, so the files being reformatted here should also stay formatted. This commit was automatically created and can be verified using nix-builda08b3a4d19
.tar.gz \ --argstr baseRevb32a094368
result/bin/apply-formatting $NIXPKGS_PATH
146 lines
4.1 KiB
Nix
146 lines
4.1 KiB
Nix
{ pkgs, haskellLib }:
|
|
|
|
let
|
|
inherit (pkgs) fetchpatch lib;
|
|
checkAgainAfter =
|
|
pkg: ver: msg: act:
|
|
if builtins.compareVersions pkg.version ver <= 0 then
|
|
act
|
|
else
|
|
builtins.throw "Check if '${msg}' was resolved in ${pkg.pname} ${pkg.version} and update or remove this";
|
|
in
|
|
|
|
with haskellLib;
|
|
self: super:
|
|
let
|
|
jailbreakForCurrentVersion = p: v: checkAgainAfter p v "bad bounds" (doJailbreak p);
|
|
in
|
|
{
|
|
llvmPackages = lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
|
|
|
|
# Disable GHC core libraries.
|
|
array = null;
|
|
base = null;
|
|
binary = null;
|
|
bytestring = null;
|
|
Cabal = null;
|
|
Cabal-syntax = null;
|
|
containers = null;
|
|
deepseq = null;
|
|
directory = null;
|
|
exceptions = null;
|
|
filepath = null;
|
|
ghc-bignum = null;
|
|
ghc-boot = null;
|
|
ghc-boot-th = null;
|
|
ghc-compact = null;
|
|
ghc-heap = null;
|
|
ghc-prim = null;
|
|
ghci = null;
|
|
haskeline = null;
|
|
hpc = null;
|
|
integer-gmp = null;
|
|
libiserv = null;
|
|
mtl = null;
|
|
parsec = null;
|
|
pretty = null;
|
|
process = null;
|
|
rts = null;
|
|
stm = null;
|
|
system-cxx-std-lib = null;
|
|
template-haskell = null;
|
|
# GHC only builds terminfo if it is a native compiler
|
|
terminfo =
|
|
if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then
|
|
null
|
|
else
|
|
doDistribute self.terminfo_0_4_1_6;
|
|
text = null;
|
|
time = null;
|
|
transformers = null;
|
|
unix = null;
|
|
# GHC only bundles the xhtml library if haddock is enabled, check if this is
|
|
# 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_3_0_0;
|
|
|
|
# Jailbreaks & Version Updates
|
|
|
|
hashable-time = doJailbreak super.hashable-time;
|
|
libmpd = doJailbreak super.libmpd;
|
|
|
|
# generically needs base-orphans for 9.4 only
|
|
base-orphans = dontCheck (doDistribute super.base-orphans);
|
|
generically = addBuildDepends [
|
|
self.base-orphans
|
|
] super.generically;
|
|
|
|
# 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;
|
|
|
|
hpack = overrideCabal (drv: {
|
|
# Cabal 3.6 seems to preserve comments when reading, which makes this test fail
|
|
# 2021-10-10: 9.2.1 is not yet supported (also no issue)
|
|
testFlags = [
|
|
"--skip=/Hpack/renderCabalFile/is inverse to readCabalFile/"
|
|
] ++ 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;
|
|
|
|
# A given major version of ghc-exactprint only supports one version of GHC.
|
|
ghc-exactprint = super.ghc-exactprint_1_6_1_3;
|
|
|
|
# Too strict upper bound on template-haskell
|
|
# https://github.com/mokus0/th-extras/issues/18
|
|
th-extras = doJailbreak super.th-extras;
|
|
|
|
# https://github.com/kowainik/relude/issues/436
|
|
relude = dontCheck super.relude;
|
|
|
|
inherit
|
|
(
|
|
let
|
|
hls_overlay = lself: lsuper: {
|
|
Cabal-syntax = lself.Cabal-syntax_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;
|
|
}
|
|
)
|
|
haskell-language-server
|
|
fourmolu
|
|
ormolu
|
|
hlint
|
|
stylish-haskell
|
|
;
|
|
|
|
# Packages which need compat library for GHC < 9.6
|
|
inherit (lib.mapAttrs (_: addBuildDepends [ self.foldable1-classes-compat ]) super)
|
|
indexed-traversable
|
|
OneTuple
|
|
these
|
|
;
|
|
base-compat-batteries = addBuildDepends [
|
|
self.foldable1-classes-compat
|
|
self.OneTuple
|
|
] super.base-compat-batteries;
|
|
|
|
# Too strict lower bound on base
|
|
primitive-addr = doJailbreak super.primitive-addr;
|
|
}
|