cabal-install: adapt to changes for 3.8.1.0
https://github.com/haskell/cabal/blob/cabal-install-v3.8.1.0/release-notes/cabal-install-3.8.1.0.md
This commit is contained in:
parent
ff6962c829
commit
4ad395f0c9
6 changed files with 45 additions and 26 deletions
|
@ -1773,21 +1773,6 @@ self: super: {
|
|||
vivid-osc = dontCheck super.vivid-osc;
|
||||
vivid-supercollider = dontCheck super.vivid-supercollider;
|
||||
|
||||
# cabal-install switched to build type simple in 3.2.0.0
|
||||
# as a result, the cabal(1) man page is no longer installed
|
||||
# automatically. Instead we need to use the `cabal man`
|
||||
# command which generates the man page on the fly and
|
||||
# install it to $out/share/man/man1 ourselves in this
|
||||
# override.
|
||||
# The commit that introduced this change:
|
||||
# https://github.com/haskell/cabal/commit/91ac075930c87712eeada4305727a4fa651726e7
|
||||
cabal-install = overrideCabal (old: {
|
||||
postInstall = old.postInstall + ''
|
||||
mkdir -p "$out/share/man/man1"
|
||||
"$out/bin/cabal" man --raw > "$out/share/man/man1/cabal.1"
|
||||
'';
|
||||
}) super.cabal-install;
|
||||
|
||||
# while waiting for a new release: https://github.com/brendanhay/amazonka/pull/572
|
||||
amazonka = appendPatches [
|
||||
(fetchpatch {
|
||||
|
|
|
@ -48,9 +48,11 @@ self: super: {
|
|||
# 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 self.xhtml_3000_2_2_1;
|
||||
|
||||
# cabal-install needs more recent versions of Cabal and base16-bytestring.
|
||||
# cabal-install needs most recent versions of Cabal and Cabal-syntax
|
||||
cabal-install = super.cabal-install.overrideScope (self: super: {
|
||||
Cabal = self.Cabal_3_6_3_0;
|
||||
Cabal = self.Cabal_3_8_1_0;
|
||||
Cabal-syntax = self.Cabal-syntax_3_8_1_0;
|
||||
process = self.process_1_6_15_0;
|
||||
});
|
||||
|
||||
# Pick right versions for GHC-specific packages
|
||||
|
|
|
@ -54,10 +54,11 @@ self: super: {
|
|||
# This build needs a newer version of Cabal.
|
||||
cabal2spec = super.cabal2spec.override { Cabal = self.Cabal_3_2_1_0; };
|
||||
|
||||
# cabal-install needs more recent versions of Cabal and random, but an older
|
||||
# version of base16-bytestring.
|
||||
# cabal-install needs most recent versions of Cabal and Cabal-syntax
|
||||
cabal-install = super.cabal-install.overrideScope (self: super: {
|
||||
Cabal = self.Cabal_3_6_3_0;
|
||||
Cabal = self.Cabal_3_8_1_0;
|
||||
Cabal-syntax = self.Cabal-syntax_3_8_1_0;
|
||||
process = self.process_1_6_15_0;
|
||||
});
|
||||
|
||||
# Ignore overly restrictive upper version bounds.
|
||||
|
|
|
@ -49,9 +49,11 @@ self: super: {
|
|||
# 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 self.xhtml_3000_2_2_1;
|
||||
|
||||
# cabal-install needs more recent versions of Cabal and base16-bytestring.
|
||||
cabal-install = (doJailbreak super.cabal-install).overrideScope (self: super: {
|
||||
Cabal = self.Cabal_3_6_3_0;
|
||||
# cabal-install needs the latest/matching versions of Cabal-syntax and Cabal
|
||||
cabal-install = super.cabal-install.overrideScope (self: super: {
|
||||
Cabal = self.Cabal_3_8_1_0;
|
||||
Cabal-syntax = self.Cabal-syntax_3_8_1_0;
|
||||
process = self.process_1_6_15_0;
|
||||
});
|
||||
|
||||
# Jailbreaks & Version Updates
|
||||
|
|
|
@ -55,9 +55,11 @@ self: super: {
|
|||
# 0.30 introduced support for GHC 9.2.
|
||||
cryptonite = doDistribute self.cryptonite_0_30;
|
||||
|
||||
# cabal-install needs more recent versions of Cabal
|
||||
cabal-install = (doJailbreak super.cabal-install).overrideScope (self: super: {
|
||||
Cabal = self.Cabal_3_6_3_0;
|
||||
# cabal-install needs most recent versions of Cabal and Cabal-syntax
|
||||
cabal-install = super.cabal-install.overrideScope (self: super: {
|
||||
Cabal = self.Cabal_3_8_1_0;
|
||||
Cabal-syntax = self.Cabal-syntax_3_8_1_0;
|
||||
process = self.process_1_6_15_0;
|
||||
});
|
||||
|
||||
doctest = dontCheck (doJailbreak super.doctest);
|
||||
|
|
|
@ -1024,4 +1024,31 @@ self: super: builtins.intersectAttrs super {
|
|||
|
||||
# Wants to execute cabal-install to (re-)build itself
|
||||
hint = dontCheck super.hint;
|
||||
|
||||
# cabal-install switched to build type simple in 3.2.0.0
|
||||
# as a result, the cabal(1) man page is no longer installed
|
||||
# automatically. Instead we need to use the `cabal man`
|
||||
# command which generates the man page on the fly and
|
||||
# install it to $out/share/man/man1 ourselves in this
|
||||
# override.
|
||||
# The commit that introduced this change:
|
||||
# https://github.com/haskell/cabal/commit/91ac075930c87712eeada4305727a4fa651726e7
|
||||
# Since cabal-install 3.8, the cabal man (without the raw) command
|
||||
# uses nroff(1) instead of man(1) for macOS/BSD compatibility. That utility
|
||||
# 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 = [
|
||||
pkgs.buildPackages.makeWrapper
|
||||
] ++ old.buildToolDepends or [];
|
||||
postInstall = old.postInstall + ''
|
||||
mkdir -p "$out/share/man/man1"
|
||||
"$out/bin/cabal" man --raw > "$out/share/man/man1/cabal.1"
|
||||
|
||||
wrapProgram "$out/bin/cabal" \
|
||||
--prefix PATH : "${pkgs.lib.makeBinPath [ pkgs.groff ]}"
|
||||
'';
|
||||
hydraPlatforms = pkgs.lib.platforms.all;
|
||||
broken = false;
|
||||
}) super.cabal-install;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue