Merge pull request #213089 from NixOS/haskell-updates

haskellPackages: update stackage and hackage
This commit is contained in:
Ellie Hermaszewska 2023-02-12 13:58:21 +08:00 committed by GitHub
commit 4d4ee0650f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 2627 additions and 938 deletions

View File

@ -1,7 +1,21 @@
# Nix script to lookup maintainer github handles from their email address. Used by ./hydra-report.hs.
#
# This script produces an attr set mapping of email addresses to GitHub handles:
#
# ```nix
# > import ./maintainer-handles.nix
# { "cdep.illabout@gmail.com" = "cdepillabout"; "john@smith.com" = "johnsmith"; ... }
# ```
#
# This mapping contains all maintainers in ../../mainatainer-list.nix, but it
# ignores maintainers who don't have a GitHub account or an email address.
let
pkgs = import ../../.. {};
maintainers = import ../../maintainer-list.nix;
inherit (pkgs) lib;
mkMailGithubPair = _: maintainer: if maintainer ? github then { "${maintainer.email}" = maintainer.github; } else {};
mkMailGithubPair = _: maintainer:
if (maintainer ? email) && (maintainer ? github) then
{ "${maintainer.email}" = maintainer.github; }
else
{};
in lib.zipAttrsWith (_: builtins.head) (lib.mapAttrsToList mkMailGithubPair maintainers)

View File

@ -1,6 +1,6 @@
{
"commit": "75d1bbbd68d9ae36d527666e2f140343323b02fa",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/75d1bbbd68d9ae36d527666e2f140343323b02fa.tar.gz",
"sha256": "018lz90f12bw8n8g4rbwfbnpmw6g3vblc12pd4qzq727h1d27p5l",
"msg": "Update from Hackage at 2023-01-12T12:18:29Z"
"commit": "307653b893cc53ffa71d6931c33101d352e3ead1",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/307653b893cc53ffa71d6931c33101d352e3ead1.tar.gz",
"sha256": "0mgmmzdlb9j4drkjjdrp2da8z4can7gg8zd007ya2jw17rz270hz",
"msg": "Update from Hackage at 2023-01-29T01:30:53Z"
}

View File

@ -122,6 +122,7 @@ let
# instead of `libtinfo.so.*.`
{ nixPackage = ncurses6; fileToCheckFor = "libncursesw.so.6"; }
];
isHadrian = true;
};
};
};
@ -420,6 +421,13 @@ stdenv.mkDerivation rec {
# Our Cabal compiler name
haskellCompilerName = "ghc-${version}";
} // lib.optionalAttrs (binDistUsed.isHadrian or false) {
# Normal GHC derivations expose the hadrian derivation used to build them
# here. In the case of bindists we just make sure that the attribute exists,
# as it is used for checking if a GHC derivation has been built with hadrian.
# The isHadrian mechanism will become obsolete with GHCs that use hadrian
# exclusively, i.e. 9.6 (and 9.4?).
hadrian = null;
};
meta = rec {

View File

@ -137,6 +137,7 @@ let
# instead of `libtinfo.so.*.`
{ nixPackage = ncurses6; fileToCheckFor = "libncursesw.so.6"; }
];
isHadrian = true;
};
};
};
@ -416,6 +417,13 @@ stdenv.mkDerivation rec {
# Our Cabal compiler name
haskellCompilerName = "ghc-${version}";
} // lib.optionalAttrs (binDistUsed.isHadrian or false) {
# Normal GHC derivations expose the hadrian derivation used to build them
# here. In the case of bindists we just make sure that the attribute exists,
# as it is used for checking if a GHC derivation has been built with hadrian.
# The isHadrian mechanism will become obsolete with GHCs that use hadrian
# exclusively, i.e. 9.6 (and 9.4?).
hadrian = null;
};
meta = rec {

View File

@ -94,6 +94,7 @@ let
{ nixPackage = ncurses6; fileToCheckFor = null; }
{ nixPackage = libiconv; fileToCheckFor = null; }
];
isHadrian = true;
};
aarch64-darwin = {
variantSuffix = "";
@ -107,6 +108,7 @@ let
{ nixPackage = ncurses6; fileToCheckFor = null; }
{ nixPackage = libiconv; fileToCheckFor = null; }
];
isHadrian = true;
};
};
# Binary distributions for the musl libc for the respective system.
@ -118,6 +120,7 @@ let
sha256 = "026348947d30a156b84de5d6afeaa48fdcb2795b47954cd8341db00d3263a481";
};
isStatic = true;
isHadrian = true;
# We can't check the RPATH for statically linked executable
exePathForLibraryCheck = null;
archSpecificLibraries = [
@ -400,6 +403,13 @@ stdenv.mkDerivation rec {
# Our Cabal compiler name
haskellCompilerName = "ghc-${version}";
} // lib.optionalAttrs (binDistUsed.isHadrian or false) {
# Normal GHC derivations expose the hadrian derivation used to build them
# here. In the case of bindists we just make sure that the attribute exists,
# as it is used for checking if a GHC derivation has been built with hadrian.
# The isHadrian mechanism will become obsolete with GHCs that use hadrian
# exclusively, i.e. 9.6 (and 9.4?).
hadrian = null;
};
meta = rec {

View File

@ -80,7 +80,7 @@ self: super: {
name = "git-annex-${super.git-annex.version}-src";
url = "git://git-annex.branchable.com/";
rev = "refs/tags/" + super.git-annex.version;
sha256 = "052ld021yvjbnx1sbj1ryflsyn0v1y1ygx1zv0ql6fk3cysw5lxf";
sha256 = "0f2nnszfiqwdgfky3190prkhcndp0mva3jk7a6cl461w8kp1jspa";
# delete android and Android directories which cause issues on
# darwin (case insensitive directory). Since we don't need them
# during the build process, we can delete it to prevent a hash
@ -138,6 +138,8 @@ self: super: {
# https://github.com/techtangents/ablist/issues/1
ABList = dontCheck super.ABList;
pandoc-cli = throwIfNot (versionOlder super.pandoc.version "3.0.0") "pandoc-cli contains the pandoc executable starting with 3.0, this needs to be considered now." (markBroken (dontDistribute super.pandoc-cli));
# sse2 flag due to https://github.com/haskell/vector/issues/47.
# Jailbreak is necessary for QuickCheck dependency.
vector = doJailbreak (if pkgs.stdenv.isi686 then appendConfigureFlag "--ghc-options=-msse2" super.vector else super.vector);
@ -171,6 +173,9 @@ self: super: {
# Fails no apparent reason. Upstream has been notified by e-mail.
assertions = dontCheck super.assertions;
# 2023-01-29: Restrictive base bound already loosened on master but not released: https://github.com/sebastiaanvisser/clay/commit/4483bdf7a452903f177220958f1610030ab7f28a
clay = throwIfNot (super.clay.version == "0.14.0") "Remove clay jailbreak in configuration-common.nix when you see this eval error." (doJailbreak super.clay);
# These packages try to execute non-existent external programs.
cmaes = dontCheck super.cmaes; # http://hydra.cryp.to/build/498725/log/raw
dbmigrations = dontCheck super.dbmigrations;
@ -197,9 +202,15 @@ self: super: {
HerbiePlugin = dontCheck super.HerbiePlugin;
wai-cors = dontCheck super.wai-cors;
# 2022-01-29: Tests fail: https://github.com/psibi/streamly-bytestring/issues/27
streamly-bytestring = dontCheck super.streamly-bytestring;
# base bound
digit = doJailbreak super.digit;
# 2022-01-29: Tests require package to be in ghc-db.
aeson-schemas = dontCheck super.aeson-schemas;
# matterhorn-50200.17.0 won't work with brick >= 0.71, brick-skylighting >= 1.0
matterhorn = doJailbreak (super.matterhorn.overrideScope (self: super: {
brick = self.brick_0_70_1;
@ -747,9 +758,9 @@ self: super: {
testHaskellDepends = drv.testHaskellDepends or [] ++ [ self.hspec-meta_2_10_5 ];
testToolDepends = drv.testToolDepends or [] ++ [ pkgs.git ];
}) (super.sensei.override {
hspec = self.hspec_2_10_8;
hspec = self.hspec_2_10_9;
hspec-wai = super.hspec-wai.override {
hspec = self.hspec_2_10_8;
hspec = self.hspec_2_10_9;
};
});
@ -920,12 +931,9 @@ self: super: {
'';
}) super.hpack;
# hslua has tests that appear to break when using musl.
# hslua has tests that break when using musl.
# https://github.com/hslua/hslua/issues/106
# Note that hslua is currently version 1.3. However, in the latest version
# (>= 2.0), hslua has been split into multiple packages and this override
# will likely need to be moved to the hslua-core package.
hslua = if pkgs.stdenv.hostPlatform.isMusl then dontCheck super.hslua else super.hslua;
hslua-core = if pkgs.stdenv.hostPlatform.isMusl then dontCheck super.hslua-core else super.hslua-core;
# The test suite runs for 20+ minutes on a very fast machine, which feels kinda disproportionate.
prettyprinter = dontCheck super.prettyprinter;
@ -1436,14 +1444,14 @@ self: super: {
servant-openapi3 = dontCheck super.servant-openapi3;
# Give hspec 2.10.* correct dependency versions without overrideScope
hspec_2_10_8 = doDistribute (super.hspec_2_10_8.override {
hspec-discover = self.hspec-discover_2_10_8;
hspec-core = self.hspec-core_2_10_8;
hspec_2_10_9 = doDistribute (super.hspec_2_10_9.override {
hspec-discover = self.hspec-discover_2_10_9;
hspec-core = self.hspec-core_2_10_9;
});
hspec-discover_2_10_8 = super.hspec-discover_2_10_8.override {
hspec-discover_2_10_9 = super.hspec-discover_2_10_9.override {
hspec-meta = self.hspec-meta_2_10_5;
};
hspec-core_2_10_8 = super.hspec-core_2_10_8.override {
hspec-core_2_10_9 = super.hspec-core_2_10_9.override {
hspec-meta = self.hspec-meta_2_10_5;
};
@ -2026,9 +2034,6 @@ self: super: {
# https://github.com/kuribas/mfsolve/issues/8
mfsolve = dontCheck super.mfsolve;
# https://github.com/peti/hopenssl/issues/5
hopenssl = super.hopenssl.override { openssl = pkgs.openssl_1_1; };
# Fixes compilation with GHC 9.0 and above
# https://hub.darcs.net/shelarcy/regex-compat-tdfa/issue/3
regex-compat-tdfa = appendPatches [

View File

@ -311,6 +311,8 @@ self: super: ({
# https://github.com/NixOS/nixpkgs/issues/149692
Agda = removeConfigureFlag "-foptimise-heavily" super.Agda;
heystone = addBuildTool pkgs.fixDarwinDylibNames super.heystone;
} // lib.optionalAttrs pkgs.stdenv.isx86_64 { # x86_64-darwin
# tests appear to be failing to link or something:

View File

@ -61,6 +61,9 @@ self: super: {
process = self.process_1_6_16_0;
});
# weeder == 2.5.* requires GHC 9.4
weeder = doDistribute self.weeder_2_4_1;
# Jailbreaks & Version Updates
hashable-time = doJailbreak super.hashable-time;

View File

@ -105,16 +105,16 @@ in {
singleton-bool = doJailbreak super.singleton-bool;
rope-utf16-splay = doDistribute self.rope-utf16-splay_0_4_0_0;
shake-cabal = doDistribute self.shake-cabal_0_2_2_3;
libmpd = doJailbreak super.libmpd;
base-orphans = dontCheck super.base-orphans;
# Note: Any compilation fixes need to be done on the versioned attributes,
# since those are used for the internal dependencies between the versioned
# hspec packages in configuration-common.nix.
hspec = self.hspec_2_10_8;
hspec-core = self.hspec-core_2_10_8;
hspec = self.hspec_2_10_9;
hspec-core = self.hspec-core_2_10_9;
hspec-meta = self.hspec-meta_2_10_5;
hspec-discover = self.hspec-discover_2_10_8;
hspec-discover = self.hspec-discover_2_10_9;
# the dontHaddock is due to a GHC panic. might be this bug, not sure.
# https://gitlab.haskell.org/ghc/ghc/-/issues/21619
@ -184,26 +184,34 @@ in {
})
self.ghc-exactprint_1_6_1_1;
# 2022-10-06: plugins disabled for hls 1.8.0.0 based on
# 2023-02-01: plugins disabled for hls 1.9.0.0 based on
# https://haskell-language-server.readthedocs.io/en/latest/support/plugin-support.html#current-plugin-support-tiers
haskell-language-server = super.haskell-language-server.override {
hls-refactor-plugin = null;
hls-eval-plugin = null;
hls-floskell-plugin = null;
hls-ormolu-plugin = null;
hls-rename-plugin = null;
hls-ormolu-plugin = null; # This plugin is supposed to work, but fails to compile.
hls-floskell-plugin = null; # This plugin is supposed to work, but fails to compile.
hls-rename-plugin = null; # This plugin is supposed to work, but fails to compile.
hls-stylish-haskell-plugin = null;
};
# https://github.com/tweag/ormolu/issues/941
ormolu = overrideCabal (drv: {
libraryHaskellDepends = drv.libraryHaskellDepends ++ [ self.file-embed ];
}) (disableCabalFlag "fixity-th" super.ormolu);
ormolu = doDistribute self.ormolu_0_5_2_0;
fourmolu = overrideCabal (drv: {
libraryHaskellDepends = drv.libraryHaskellDepends ++ [ self.file-embed ];
}) (disableCabalFlag "fixity-th" super.fourmolu_0_10_1_0);
# The Haskell library has additional dependencies when compiled with ghc-9.4.x.
X11-xft = addExtraLibraries [pkgs.xorg.libXau pkgs.xorg.libXdmcp pkgs.expat] super.X11-xft;
# Apply workaround for Cabal 3.8 bug https://github.com/haskell/cabal/issues/8455
# by making `pkg-config --static` happy. Note: Cabal 3.9 is also affected, so
# the GHC 9.6 configuration may need similar overrides eventually.
X11-xft = __CabalEagerPkgConfigWorkaround super.X11-xft;
# Jailbreaks for https://github.com/gtk2hs/gtk2hs/issues/323#issuecomment-1416723309
glib = __CabalEagerPkgConfigWorkaround (doJailbreak super.glib);
cairo = __CabalEagerPkgConfigWorkaround (doJailbreak super.cairo);
pango = __CabalEagerPkgConfigWorkaround (doJailbreak super.pango);
# The gtk2hs setup hook provided by this package lacks the ppOrdering field that
# recent versions of Cabal require. This leads to builds like cairo and glib
# failing during the Setup.hs phase: https://github.com/gtk2hs/gtk2hs/issues/323.
gtk2hs-buildtools = appendPatch ./patches/gtk2hs-buildtools-fix-ghc-9.4.x.patch super.gtk2hs-buildtools;
}

View File

@ -86,7 +86,6 @@ broken-packages:
- aeson-parsec-picky
- aeson-prefix
- aeson-schema
- aeson-schemas
- aeson-smart
- aeson-streams
- aeson-t
@ -511,7 +510,6 @@ broken-packages:
- byline
- by-other-names
- bytearray-parsing
- bytepatch
- bytestring-aeson-orphans
- bytestring-arbitrary
- bytestring-class
@ -705,7 +703,6 @@ broken-packages:
- classy-parallel
- classyplate
- ClassyPrelude
- clay
- clckwrks-plugin-bugs
- clckwrks-plugin-mailinglist
- clckwrks-theme-clckwrks
@ -927,6 +924,7 @@ broken-packages:
- credential-store
- critbit
- criterion-cmp
- criterion-compare
- criterion-plus
- criterion-to-html
- criu-rpc-types
@ -1106,6 +1104,7 @@ broken-packages:
- derive-monoid
- derive-trie
- deriving-openapi3
- deriving-trans
- derp-lib
- describe
- descriptive
@ -1437,6 +1436,7 @@ broken-packages:
- extensible-effects-concurrent
- extensible-skeleton
- external-sort
- extism
- extractelf
- ez3
- ez-couch
@ -1446,7 +1446,6 @@ broken-packages:
- fadno-braids
- fadno-xml
- failable-list
- FailT
- failure-detector
- fake
- fake-type
@ -1822,7 +1821,6 @@ broken-packages:
- gloss-banana
- gloss-export
- gloss-game
- glpk-headers
- gltf-codec
- glue
- g-npm
@ -2485,7 +2483,6 @@ broken-packages:
- hslogger-template
- hs-logo
- hslua-examples
- hslua-list
- hsluv-haskell
- hsmagick
- hsmodetweaks
@ -2921,6 +2918,7 @@ broken-packages:
- khph
- kickass-torrents-dump-parser
- kickchan
- kind-generics-deriving
- kleene-list
- kmn-programming
- kmonad
@ -3068,6 +3066,7 @@ broken-packages:
- libpafe
- libpq
- librandomorg
- libsecp256k1
- libsystemd-daemon
- libtagc
- libxls
@ -3248,7 +3247,6 @@ broken-packages:
- math-grads
- math-interpolate
- math-metric
- math-programming
- matrix-as-xyz
- matrix-lens
- matrix-market
@ -3359,6 +3357,8 @@ broken-packages:
- ml-w
- mm2
- mmsyn2
- mmsyn7l
- mmsyn7ukr-array
- mmtf
- mmtl
- Mobile-Legends-Hack-Cheats
@ -3807,10 +3807,12 @@ broken-packages:
- pandoc-filter-indent
- pandoc-include
- pandoc-lens
- pandoc-lua-engine
- pandoc-markdown-ghci-filter
- pandoc-placetable
- pandoc-plantuml-diagrams
- pandoc-pyplot
- pandoc-server
- pandoc-unlit
- pandoc-utils
- pandora
@ -3956,7 +3958,13 @@ broken-packages:
- phone-numbers
- phone-push
- phonetic-languages-constaints
- phonetic-languages-constraints-array
- phonetic-languages-filters-array
- phonetic-languages-permutations-array
- phonetic-languages-phonetics-basics
- phonetic-languages-plus
- phonetic-languages-simplified-properties-array-old
- phonetic-languages-ukrainian-array
- phonetic-languages-vector
- phraskell
- Phsu
@ -4694,10 +4702,12 @@ broken-packages:
- servant-router
- servant-scotty
- servant-seo
- servant-serf
- servant-smsc-ru
- servant-stache
- servant-static-th
- servant-streaming
- servant-streamly
- servant-tracing
- servant-typed-error
- servant-wasm
@ -4870,6 +4880,7 @@ broken-packages:
- snake-game
- snap-accept
- snap-auth-cli
- snap-blaze-clay
- snap-configuration-utilities
- snap-error-collector
- snap-language
@ -5052,7 +5063,6 @@ broken-packages:
- streaming-sort
- streamly-archive
- streamly-binary
- streamly-bytestring
- streamly-cassava
- streamly-examples
- streamly-lmdb
@ -5311,6 +5321,7 @@ broken-packages:
- threadscope
- threepenny-editors
- threepenny-gui-contextmenu
- threepenny-gui-flexbox
- thrift
- Thrift
- throttled-io-loop
@ -5490,6 +5501,7 @@ broken-packages:
- type-indexed-queues
- type-int
- type-interpreter
- typelet
- type-level-bst
- type-level-natural-number-induction
- type-level-natural-number-operations
@ -5522,6 +5534,8 @@ broken-packages:
- uhexdump
- uhttpc
- ui-command
- ukrainian-phonetics-basic-array
- ukrainian-phonetics-basic-array-bytestring
- unamb-custom
- unbeliever
- unbounded-delays-units
@ -5756,6 +5770,7 @@ broken-packages:
- webkit-javascriptcore
- webmention
- web-output
- web-page
- web-push
- Webrexp
- web-routes-quasi
@ -5795,6 +5810,7 @@ broken-packages:
- wol
- word24
- word2vec-model
- wordchoice
- wordify
- Wordlint
- wordn
@ -5975,6 +5991,7 @@ broken-packages:
- yoda
- Yogurt
- youtube
- yu-auth
- yu-core
- yuiGrid
- yu-tool

View File

@ -86,6 +86,8 @@ default-package-overrides:
- implicit-hie < 0.1.3
# latest version requires Cabal >= 3.8
- shake-cabal < 0.2.2.3
# needed as long as we have pandoc < 3.0, i.e. stackage lts 20
- pandoc-crossref < 0.3.15.0
extra-packages:
- Cabal == 2.2.* # required for jailbreak-cabal etc.
@ -96,6 +98,7 @@ extra-packages:
- Diff < 0.4 # required by liquidhaskell-0.8.10.2: https://github.com/ucsd-progsys/liquidhaskell/issues/1729
- aeson < 2 # required by pantry-0.5.2
- 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
- base16-bytestring < 1 # required for cabal-install etc.
- basement < 0.0.15 # 2022-08-30: last version to support GHC < 8.10
@ -157,6 +160,7 @@ extra-packages:
- vty == 5.35.1 # 2022-07-08: needed for glirc-2.39.0.1
- 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.*
- commonmark-extensions < 0.2.3.3 # 2022-12-17: required by emanote 1.0.0.0 (to avoid a bug in 0.2.3.3)
- ShellCheck == 0.8.0 # 2022-12-28: required by haskell-ci 0.14.3
- retrie < 1.2.0.0 # 2022-12-30: required for hls on ghc < 9.2
@ -292,11 +296,12 @@ package-maintainers:
- sensei
maralorn:
- cabal-fmt
- clay
- ema
- emanote
- generic-optics
- ghcid
- ghcide
- graphql-client
- haskell-language-server
- hedgehog
- hledger
@ -309,6 +314,8 @@ package-maintainers:
- matrix-client
- optics
- pandoc
- pandoc-cli
- pandoc-crossref
- paths
- postgresql-simple
- purebred-email
@ -322,6 +329,7 @@ package-maintainers:
- snap
- stm-containers
- streamly
- streamly-bytestring
- taskwarrior
- tz
- weeder
@ -461,6 +469,7 @@ unsupported-platforms:
bindings-directfb: [ platforms.darwin ]
bindings-sane: [ platforms.darwin ]
bustle: [ platforms.darwin ] # uses glibc-specific ptsname_r
bytelog: [ platforms.darwin ] # due to posix-api
camfort: [ aarch64-linux ]
charsetdetect: [ aarch64-linux ] # not supported by vendored lib / not configured properly https://github.com/batterseapower/libcharsetdetect/issues/3
cut-the-crap: [ platforms.darwin ]
@ -564,6 +573,7 @@ supported-platforms:
bindings-parport: [ platforms.linux ] # parport is a linux kernel component
blake3: [ platforms.x86 ] # uses x86 intrinsics
btrfs: [ platforms.linux ] # depends on linux
bytepatch: [ platforms.x86 ] # due to blake3
cpuid: [ platforms.x86 ] # needs to be i386 compatible (IA-32)
crc32c: [ platforms.x86 ] # uses x86 intrinsics
d3d11binding: [ platforms.windows ]
@ -607,6 +617,7 @@ supported-platforms:
scat: [ platforms.x86 ] # uses scrypt, which requries x86
scrypt: [ platforms.x86 ] # https://github.com/informatikr/scrypt/issues/8
seqalign: [ platforms.x86 ] # x86 intrinsics
tasty-papi: [ platforms.linux ] # limited by pkgs.papi
udev: [ platforms.linux ]
Win32-console: [ platforms.windows ]
Win32-dhcp-server: [ platforms.windows ]

View File

@ -1,4 +1,4 @@
# Stackage LTS 20.6
# Stackage LTS 20.8
# This file is auto-generated by
# maintainers/scripts/haskell/update-stackage.sh
default-package-overrides:
@ -123,9 +123,9 @@ default-package-overrides:
- aura ==3.2.9
- authenticate ==1.3.5.1
- authenticate-oauth ==1.7
- autodocodec ==0.2.0.1
- autodocodec ==0.2.0.2
- autodocodec-openapi3 ==0.2.1.1
- autodocodec-schema ==0.1.0.2
- autodocodec-schema ==0.1.0.3
- autodocodec-yaml ==0.2.0.3
- autoexporter ==2.0.0.2
- auto-update ==0.1.6
@ -188,7 +188,7 @@ default-package-overrides:
- binary-instances ==1.0.3
- binary-list ==1.1.1.2
- binary-orphans ==1.0.3
- binary-parser ==0.5.7.2
- binary-parser ==0.5.7.3
- binary-search ==2.0.0
- binary-shared ==0.8.3
- binary-tagged ==0.3.1
@ -232,7 +232,7 @@ default-package-overrides:
- boots ==0.2.0.1
- bordacount ==0.1.0.0
- boring ==0.2
- bound ==2.0.5
- bound ==2.0.6
- BoundedChan ==1.0.3.0
- bounded-queue ==1.0.0
- boundingboxes ==0.2.3
@ -301,7 +301,7 @@ default-package-overrides:
- calligraphy ==0.1.3
- call-plantuml ==0.0.1.1
- call-stack ==0.4.0
- can-i-haz ==0.3.1.0
- can-i-haz ==0.3.1.1
- capability ==0.5.0.1
- ca-province-codes ==1.0.0.0
- cardano-coin-selection ==1.0.1
@ -340,7 +340,7 @@ default-package-overrides:
- cheapskate-lucid ==0.1.0.0
- check-email ==1.0.2
- checkers ==0.6.0
- checksum ==0.0
- checksum ==0.0.0.1
- chimera ==0.3.3.0
- choice ==0.2.2
- chronologique ==0.3.1.3
@ -350,7 +350,7 @@ default-package-overrides:
- cipher-rc4 ==0.1.4
- circle-packing ==0.1.0.6
- circular ==0.4.0.3
- citeproc ==0.8.0.2
- citeproc ==0.8.1
- classy-prelude ==1.5.0.2
- classy-prelude-conduit ==1.5.0
- classy-prelude-yesod ==1.5.0
@ -385,7 +385,7 @@ default-package-overrides:
- comfort-graph ==0.0.3.2
- commonmark ==0.2.2
- commonmark-extensions ==0.2.3.3
- commonmark-pandoc ==0.2.1.2
- commonmark-pandoc ==0.2.1.3
- commutative ==0.0.2
- comonad ==5.0.8
- comonad-extras ==4.0.1
@ -406,7 +406,7 @@ default-package-overrides:
- concise ==0.1.0.1
- concurrency ==1.11.0.2
- concurrent-extra ==0.7.0.12
- concurrent-output ==1.10.16
- concurrent-output ==1.10.17
- concurrent-split ==0.0.1.1
- cond ==0.4.1.1
- conduino ==0.2.2.0
@ -506,9 +506,9 @@ default-package-overrides:
- cyclotomic ==1.1.1
- czipwith ==1.0.1.4
- d10 ==1.0.1.2
- data-accessor ==0.2.3
- data-accessor-mtl ==0.2.0.4
- data-accessor-transformers ==0.2.1.7
- data-accessor ==0.2.3.1
- data-accessor-mtl ==0.2.0.5
- data-accessor-transformers ==0.2.1.8
- data-array-byte ==0.1.0.1
- data-binary-ieee754 ==0.4.4
- data-bword ==0.1.0.2
@ -574,7 +574,7 @@ default-package-overrides:
- deque ==0.4.4
- deriveJsonNoPrefix ==0.1.0.1
- derive-topdown ==0.0.3.0
- deriving-aeson ==0.2.8
- deriving-aeson ==0.2.9
- deriving-compat ==0.6.2
- detour-via-sci ==1.0.0
- df1 ==0.4
@ -669,10 +669,10 @@ default-package-overrides:
- edit-distance ==0.2.2.1
- edit-distance-vector ==1.0.0.4
- editor-open ==0.6.0.0
- effectful ==2.2.1.0
- effectful-core ==2.2.1.0
- effectful ==2.2.2.0
- effectful-core ==2.2.2.1
- effectful-plugin ==1.0.0.0
- effectful-th ==1.0.0.0
- effectful-th ==1.0.0.1
- either ==5.0.2
- either-both ==0.1.1.1
- either-unwrap ==1.1
@ -684,12 +684,12 @@ default-package-overrides:
- elm-bridge ==0.8.1
- elm-core-sources ==1.0.0
- elm-export ==0.6.0.1
- elynx ==0.7.0.1
- elynx-markov ==0.7.0.1
- elynx-nexus ==0.7.0.1
- elynx-seq ==0.7.0.1
- elynx-tools ==0.7.0.1
- elynx-tree ==0.7.0.1
- elynx ==0.7.1.0
- elynx-markov ==0.7.1.0
- elynx-nexus ==0.7.1.0
- elynx-seq ==0.7.1.0
- elynx-tools ==0.7.1.0
- elynx-tree ==0.7.1.0
- emacs-module ==0.1.1.1
- email-validate ==2.3.2.18
- emojis ==0.1.2
@ -736,7 +736,7 @@ default-package-overrides:
- experimenter ==0.1.0.14
- expiring-cache-map ==0.0.6.1
- explainable-predicates ==0.1.2.3
- explicit-exception ==0.1.10
- explicit-exception ==0.1.10.1
- exp-pairs ==0.2.1.0
- express ==1.0.10
- extended-reals ==0.2.4.0
@ -809,7 +809,7 @@ default-package-overrides:
- fn ==0.3.0.2
- focus ==1.0.3
- focuslist ==0.1.1.0
- foldl ==1.4.13
- foldl ==1.4.14
- folds ==0.7.8
- follow-file ==0.0.3
- FontyFruity ==0.5.3.5
@ -1103,7 +1103,7 @@ default-package-overrides:
- hkd-default ==1.1.0.0
- hkgr ==0.4.2
- hledger ==1.27.1
- hledger-interest ==1.6.4
- hledger-interest ==1.6.5
- hledger-lib ==1.27.1
- hledger-stockquotes ==0.1.2.1
- hledger-ui ==1.27.1
@ -1123,7 +1123,7 @@ default-package-overrides:
- hnock ==0.4.0
- hoauth2 ==2.6.0
- hoogle ==5.0.18.3
- hopenssl ==2.2.4
- hopenssl ==2.2.5
- hopfli ==0.2.2.1
- horizontal-rule ==0.5.0.0
- hosc ==0.19.1
@ -1416,7 +1416,7 @@ default-package-overrides:
- lame ==0.2.0
- language-avro ==0.1.4.0
- language-bash ==0.9.2
- language-c ==0.9.1
- language-c ==0.9.2
- language-c-quote ==0.13
- language-docker ==12.0.0
- language-dot ==0.1.1
@ -1429,7 +1429,7 @@ default-package-overrides:
- lapack-carray ==0.0.3
- lapack-comfort-array ==0.0.1
- lapack-ffi ==0.0.3
- lapack-ffi-tools ==0.1.3
- lapack-ffi-tools ==0.1.3.1
- largeword ==1.2.5
- latex ==0.1.0.4
- lattices ==2.0.3
@ -1481,7 +1481,7 @@ default-package-overrides:
- ListLike ==4.7.8
- list-predicate ==0.1.0.1
- listsafe ==0.1.0.1
- list-t ==1.0.5.3
- list-t ==1.0.5.6
- list-transformer ==1.0.9
- ListTree ==0.2.3
- ListZipper ==1.2.0.2
@ -1490,7 +1490,7 @@ default-package-overrides:
- little-rio ==1.0.1
- lmdb ==0.2.5
- load-env ==0.2.1.0
- loc ==0.1.4.0
- loc ==0.1.4.1
- locators ==0.3.0.3
- loch-th ==0.2.2
- lockfree-queue ==0.2.4
@ -1547,7 +1547,7 @@ default-package-overrides:
- matrix-market-attoparsec ==0.1.1.3
- matrix-static ==0.3
- maximal-cliques ==0.1.1
- mcmc ==0.8.0.1
- mcmc ==0.8.1.0
- mcmc-types ==1.0.3
- median-stream ==0.7.0.0
- med-module ==0.1.2.2
@ -1579,9 +1579,9 @@ default-package-overrides:
- microlens-process ==0.2.0.2
- microlens-th ==0.4.3.11
- microspec ==0.2.1.3
- microstache ==1.0.2.2
- microstache ==1.0.2.3
- midair ==0.2.0.1
- midi ==0.2.2.3
- midi ==0.2.2.4
- midi-music-box ==0.0.1.2
- mighty-metropolis ==2.0.0
- mime-mail ==0.5.1
@ -1808,7 +1808,7 @@ default-package-overrides:
- options ==1.2.1.1
- optparse-applicative ==0.17.0.0
- optparse-enum ==1.0.0.0
- optparse-generic ==1.4.8
- optparse-generic ==1.4.9
- optparse-simple ==0.1.1.4
- optparse-text ==0.1.1.0
- OrderedBits ==0.0.2.0
@ -1844,7 +1844,7 @@ default-package-overrides:
- partial-handler ==1.0.3
- partial-isomorphisms ==0.2.3.0
- partial-order ==0.2.0.0
- partial-semigroup ==0.6.0.0
- partial-semigroup ==0.6.0.1
- password ==3.0.2.0
- password-instances ==3.0.0.0
- password-types ==1.0.0.0
@ -1858,7 +1858,7 @@ default-package-overrides:
- path-io ==1.7.0
- path-like ==0.2.0.2
- path-pieces ==0.2.1
- path-text-utf8 ==0.0.1.10
- path-text-utf8 ==0.0.1.11
- pathtype ==0.8.1.1
- path-utils ==0.1.1.0
- pathwalk ==0.3.1.2
@ -2361,7 +2361,7 @@ default-package-overrides:
- skylighting-format-latex ==0.1
- slack-progressbar ==0.1.0.1
- slave-thread ==1.1.0.2
- slynx ==0.7.0.1
- slynx ==0.7.1.0
- smallcheck ==1.2.1
- smtp-mail ==0.3.0.0
- snowflake ==0.1.1.1
@ -2374,7 +2374,7 @@ default-package-overrides:
- sort ==1.0.0.0
- sorted-list ==0.2.1.0
- sourcemap ==0.1.7
- sox ==0.2.3.1
- sox ==0.2.3.2
- spacecookie ==1.0.0.2
- sparse-linear-algebra ==0.3.1
- spdx ==1.0.0.3
@ -2393,7 +2393,7 @@ default-package-overrides:
- Spock-lucid ==0.4.0.1
- Spock-worker ==0.3.1.0
- spoon ==0.3.1
- spreadsheet ==0.1.3.8
- spreadsheet ==0.1.3.9
- sqlcli ==0.2.2.0
- sqlcli-odbc ==0.2.0.1
- sqlite-simple ==0.4.18.2
@ -2487,7 +2487,7 @@ default-package-overrides:
- swish ==0.10.3.0
- syb ==0.7.2.2
- syb-with-class ==0.6.1.14
- sydtest ==0.13.0.0
- sydtest ==0.13.0.1
- sydtest-aeson ==0.1.0.0
- sydtest-amqp ==0.1.0.0
- sydtest-autodocodec ==0.0.0.0
@ -2540,7 +2540,7 @@ default-package-overrides:
- tasty-golden ==2.3.5
- tasty-hedgehog ==1.3.1.0
- tasty-hslua ==1.0.2
- tasty-hspec ==1.2.0.1
- tasty-hspec ==1.2.0.2
- tasty-html ==0.4.1.4
- tasty-hunit ==0.10.0.3
- tasty-hunit-compat ==0.2.0.1
@ -2585,7 +2585,7 @@ default-package-overrides:
- test-fun ==0.1.0.0
- testing-feat ==1.1.1.1
- testing-type-modifiers ==0.1.0.1
- texmath ==0.12.5.4
- texmath ==0.12.5.5
- text-ansi ==0.2.1
- text-binary ==0.2.1.1
- text-builder ==0.6.7
@ -2611,7 +2611,7 @@ default-package-overrides:
- th-bang-compat ==0.0.1.0
- th-compat ==0.1.4
- th-constraint-compat ==0.0.1.0
- th-data-compat ==0.1.1.0
- th-data-compat ==0.1.2.0
- th-desugar ==1.13.1
- th-env ==0.1.1
- these ==1.1.1.1
@ -2663,7 +2663,7 @@ default-package-overrides:
- tls ==1.5.8
- tls-debug ==0.4.8
- tls-session-manager ==0.0.4
- tlynx ==0.7.0.1
- tlynx ==0.7.1.0
- tmapchan ==0.0.3
- tmapmvar ==0.0.4
- tmp-postgres ==1.34.1.0
@ -2754,7 +2754,7 @@ default-package-overrides:
- uniplate ==1.6.13
- uniq-deep ==1.2.1
- unique ==0.0.1
- unique-logic ==0.4
- unique-logic ==0.4.0.1
- unique-logic-tf ==0.5.1
- unit-constraint ==0.0.0
- units-parser ==0.1.1.4
@ -2827,10 +2827,10 @@ default-package-overrides:
- vector-extras ==0.2.8
- vector-instances ==3.4
- vector-mmap ==0.0.3
- vector-rotcev ==0.1.0.1
- vector-rotcev ==0.1.0.2
- vector-sized ==1.5.0
- vector-space ==0.16
- vector-split ==1.0.0.2
- vector-split ==1.0.0.3
- vector-stream ==0.1.0.0
- vector-th-unbox ==0.2.2
- verbosity ==0.4.0.0
@ -2942,7 +2942,7 @@ with-compiler: ghc-9.2.5
- xlsx ==1.0.0.1
- xlsx-tabular ==0.2.2.1
- xml ==1.3.14
- xml-basic ==0.1.3.1
- xml-basic ==0.1.3.2
- xmlbf ==0.6.2
- xmlbf-xeno ==0.2.1
- xmlbf-xmlhtml ==0.2

View File

@ -247,6 +247,7 @@ dont-distribute-packages:
- KiCS-debugger
- KiCS-prophecy
- LDAPv3
- LPFP
- LPPaver
- LambdaHack
- LambdaINet
@ -463,7 +464,9 @@ dont-distribute-packages:
- algebra-sql
- algebraic
- algolia
- algorithmic-composition-basic
- algorithmic-composition-frequency-shift
- algorithmic-composition-overtones
- align-audio
- alms
- alpha
@ -676,7 +679,7 @@ dont-distribute-packages:
- ascii-superset_1_2_5_0
- ascii-table
- ascii-th_1_2_0_0
- ascii_1_5_1_0
- ascii_1_5_2_0
- asic
- asil
- assert4hs-hspec
@ -811,6 +814,7 @@ dont-distribute-packages:
- bitcoin-types
- bitcoind-regtest
- bitcoind-rpc
- bitfield
- bitly-cli
- bitmaps
- bittorrent
@ -1116,7 +1120,6 @@ dont-distribute-packages:
- crf-chain1-constrained
- crf-chain2-generic
- crf-chain2-tiers
- criterion-compare
- criu-rpc
- crockford
- cron-compat
@ -1394,6 +1397,7 @@ dont-distribute-packages:
- eventuo11y
- eventuo11y-batteries
- eventuo11y-json
- eventuo11y-otel
- every-bit-counts
- ewe
- exference
@ -1858,12 +1862,12 @@ dont-distribute-packages:
- graph-visit
- graphicsFormats
- graphicstools
- graphql-client
- graphtype
- greencard-lib
- grenade
- gridbounds
- gridland
- grisette
- groot
- gross
- groundhog-converters
@ -2201,8 +2205,6 @@ dont-distribute-packages:
- hpaco-lib
- hpage
- hpaste
- hpath-directory
- hpath-io
- hpc-tracer
- hplayground
- hpqtypes-effectful
@ -2252,7 +2254,6 @@ dont-distribute-packages:
- hsfacter
- hsinspect-lsp
- hslogstash
- hslua-module-zip
- hsndfile-storablevector
- hspec-expectations-pretty
- hspec-pg-transact
@ -2369,6 +2370,7 @@ dont-distribute-packages:
- instant-deepseq
- instant-hashable
- instant-zipper
- instrument-cloudwatch
- integreat
- intel-aes
- interpolatedstring-qq
@ -2543,6 +2545,7 @@ dont-distribute-packages:
- lapack
- lapack-comfort-array
- lapack-hmatrix
- large-anon
- lat
- latex-formulae-hakyll
- latex-formulae-pandoc
@ -2724,8 +2727,6 @@ dont-distribute-packages:
- marvin
- masakazu-bot
- matchers
- math-programming-glpk
- math-programming-tests
- mathblog
- mathlink
- matsuri
@ -2767,6 +2768,7 @@ dont-distribute-packages:
- mkbndl
- mlist
- mmsyn6ukr
- mmsyn6ukr-array
- mmsyn7h
- mmsyn7s
- mmsyn7ukr
@ -3000,6 +3002,7 @@ dont-distribute-packages:
- padKONTROL
- pairing
- panda
- pandoc-crossref_0_3_15_0
- pandoc-highlighting-extensions
- pandoc-japanese-filters
- pandora-io
@ -3050,6 +3053,8 @@ dont-distribute-packages:
- persistable-record
- persistable-types-HDBC-pg
- persistent-audit
- persistent-event-source
- persistent-eventsource
- persistent-hssqlppp
- persistent-map
- persistent-mtl
@ -3066,8 +3071,15 @@ dont-distribute-packages:
- phonetic-languages-general
- phonetic-languages-permutations
- phonetic-languages-properties
- phonetic-languages-simplified-base
- phonetic-languages-simplified-common
- phonetic-languages-simplified-examples-array
- phonetic-languages-simplified-examples-common
- phonetic-languages-simplified-generalized-examples-array
- phonetic-languages-simplified-generalized-examples-common
- phonetic-languages-simplified-generalized-properties-array
- phonetic-languages-simplified-lists-examples
- phonetic-languages-simplified-properties-array
- phonetic-languages-simplified-properties-lists
- phonetic-languages-simplified-properties-lists-double
- phonetic-languages-ukrainian
@ -3467,6 +3479,7 @@ dont-distribute-packages:
- satchmo-funsat
- satchmo-toysat
- sauron
- sbv-program
- sbvPlugin
- sc2-lowlevel
- sc2-support
@ -3550,7 +3563,6 @@ dont-distribute-packages:
- servant-streaming-client
- servant-streaming-docs
- servant-streaming-server
- servant-streamly
- servant-swagger-tags
- servant-to-elm
- servant-util
@ -3629,7 +3641,6 @@ dont-distribute-packages:
- smtlib2-quickcheck
- smtlib2-timing
- smtp2mta
- snap-blaze-clay
- snap-elm
- snap-extras
- snaplet-actionlog
@ -3741,12 +3752,12 @@ dont-distribute-packages:
- streamed
- streaming-fft
- streaming-process
- streamly-posix
- strelka
- strelka-wai
- strict-containers-lens
- strict-containers-serialise
- strict-data
- string-interpreter
- string-typelits
- stripe-haskell
- stripe-http-client
@ -3883,7 +3894,6 @@ dont-distribute-packages:
- theoremquest-client
- thimk
- threaded
- threepenny-gui-flexbox
- thumbnail-polish
- tic-tac-toe
- tickle
@ -4127,7 +4137,6 @@ dont-distribute-packages:
- weatherhs
- web-inv-route
- web-mongrel2
- web-page
- web-rep
- web-routes-regular
- web-routing

View File

@ -199,7 +199,8 @@ let
defaultConfigureFlags = [
"--verbose"
"--prefix=$out"
"--libdir=\\$prefix/lib/\\$compiler"
# Note: This must be kept in sync manually with mkGhcLibdir
("--libdir=\\$prefix/lib/\\$compiler" + lib.optionalString (ghc ? hadrian) "/lib")
"--libsubdir=\\$abi/\\$libname"
(optionalString enableSeparateDataOutput "--datadir=$data/share/${ghcNameWithPrefix}")
(optionalString enableSeparateDocOutput "--docdir=${docdir "$doc"}")
@ -207,7 +208,7 @@ let
"--with-gcc=$CC" # Clang won't work without that extra information.
] ++ [
"--package-db=$packageConfDir"
(optionalString (enableSharedExecutables && stdenv.isLinux) "--ghc-option=-optl=-Wl,-rpath=$out/lib/${ghcNameWithPrefix}/${pname}-${version}")
(optionalString (enableSharedExecutables && stdenv.isLinux) "--ghc-option=-optl=-Wl,-rpath=$out/${ghcLibdir}/${pname}-${version}")
(optionalString (enableSharedExecutables && stdenv.isDarwin) "--ghc-option=-optl=-Wl,-headerpad_max_install_names")
(optionalString enableParallelBuilding "--ghc-options=${parallelBuildingFlags}")
(optionalString useCpphs "--with-cpphs=${cpphs}/bin/cpphs --ghc-options=-cpp --ghc-options=-pgmP${cpphs}/bin/cpphs --ghc-options=-optP--cpp")
@ -284,10 +285,13 @@ let
ghcCommand = "${ghc.targetPrefix}${ghcCommand'}";
ghcNameWithPrefix = "${ghc.targetPrefix}${ghc.haskellCompilerName}";
mkGhcLibdir = ghc: "lib/${ghc.targetPrefix}${ghc.haskellCompilerName}"
+ lib.optionalString (ghc ? hadrian) "/lib";
ghcLibdir = mkGhcLibdir ghc;
nativeGhcCommand = "${nativeGhc.targetPrefix}ghc";
buildPkgDb = ghcName: packageConfDir: ''
buildPkgDb = thisGhc: packageConfDir: ''
# If this dependency has a package database, then copy the contents of it,
# unless it is one of our GHCs. These can appear in our dependencies when
# we are doing native builds, and they have package databases in them, but
@ -297,8 +301,8 @@ let
# we compile with it, and doing so can result in having multiple copies of
# e.g. Cabal in the database with the same name and version, which is
# ambiguous.
if [ -d "$p/lib/${ghcName}/package.conf.d" ] && [ "$p" != "${ghc}" ] && [ "$p" != "${nativeGhc}" ]; then
cp -f "$p/lib/${ghcName}/package.conf.d/"*.conf ${packageConfDir}/
if [ -d "$p/${mkGhcLibdir thisGhc}/package.conf.d" ] && [ "$p" != "${ghc}" ] && [ "$p" != "${nativeGhc}" ]; then
cp -f "$p/${mkGhcLibdir thisGhc}/package.conf.d/"*.conf ${packageConfDir}/
continue
fi
'';
@ -363,14 +367,14 @@ stdenv.mkDerivation ({
# pkgs* arrays defined in stdenv/setup.hs
+ ''
for p in "''${pkgsBuildBuild[@]}" "''${pkgsBuildHost[@]}" "''${pkgsBuildTarget[@]}"; do
${buildPkgDb "${nativeGhcCommand}-${nativeGhc.version}" "$setupPackageConfDir"}
${buildPkgDb nativeGhc "$setupPackageConfDir"}
done
${nativeGhcCommand}-pkg --${nativePackageDbFlag}="$setupPackageConfDir" recache
''
# For normal components
+ ''
for p in "''${pkgsHostHost[@]}" "''${pkgsHostTarget[@]}"; do
${buildPkgDb ghcNameWithPrefix "$packageConfDir"}
${buildPkgDb ghc "$packageConfDir"}
if [ -d "$p/include" ]; then
configureFlags+=" --extra-include-dirs=$p/include"
fi
@ -510,7 +514,7 @@ stdenv.mkDerivation ({
# just the target specified; "install" will error here, since not all targets have been built.
else ''
${setupCommand} copy ${buildTarget}
local packageConfDir="$out/lib/${ghcNameWithPrefix}/package.conf.d"
local packageConfDir="$out/${ghcLibdir}/package.conf.d"
local packageConfFile="$packageConfDir/${pname}-${version}.conf"
mkdir -p "$packageConfDir"
${setupCommand} register --gen-pkg-config=$packageConfFile
@ -539,7 +543,7 @@ stdenv.mkDerivation ({
${optionalString doCoverage "mkdir -p $out/share && cp -r dist/hpc $out/share"}
${optionalString (enableSharedExecutables && isExecutable && !isGhcjs && stdenv.isDarwin && lib.versionOlder ghc.version "7.10") ''
for exe in "${binDir}/"* ; do
install_name_tool -add_rpath "$out/lib/ghc-${ghc.version}/${pname}-${version}" "$exe"
install_name_tool -add_rpath "$out/${ghcLibdir}/${pname}-${version}" "$exe"
done
''}
@ -675,7 +679,7 @@ stdenv.mkDerivation ({
"NIX_${ghcCommandCaps}_DOCDIR" = "${ghcEnv}/share/doc/ghc/html";
"NIX_${ghcCommandCaps}_LIBDIR" = if ghc.isHaLVM or false
then "${ghcEnv}/lib/HaLVM-${ghc.version}"
else "${ghcEnv}/lib/${ghcCommand}-${ghc.version}";
else "${ghcEnv}/${ghcLibdir}";
});
env = envFunc { };

File diff suppressed because it is too large Load Diff

View File

@ -464,4 +464,44 @@ rec {
allowInconsistentDependencies = overrideCabal (drv: {
allowInconsistentDependencies = true;
});
# Work around a Cabal bug requiring pkg-config --static --libs to work even
# when linking dynamically, affecting Cabal 3.8 and 3.9.
# https://github.com/haskell/cabal/issues/8455
#
# For this, we treat the runtime system/pkg-config dependencies of a Haskell
# derivation as if they were propagated from their dependencies which allows
# pkg-config --static to work in most cases.
#
# Warning: This function may change or be removed at any time, e.g. if we find
# a different workaround, upstream fixes the bug or we patch Cabal.
__CabalEagerPkgConfigWorkaround =
let
# Take list of derivations and return list of the transitive dependency
# closure, only taking into account buildInputs. Loosely based on
# closePropagationFast.
propagatedPlainBuildInputs = drvs:
builtins.map (i: i.val) (
builtins.genericClosure {
startSet = builtins.map (drv:
{ key = drv.outPath; val = drv; }
) drvs;
operator = { val, ... }:
if !lib.isDerivation val
then [ ]
else
builtins.concatMap (drv:
if !lib.isDerivation drv
then [ ]
else [ { key = drv.outPath; val = drv; } ]
) (val.buildInputs or [ ] ++ val.propagatedBuildInputs or [ ]);
}
);
in
overrideCabal (old: {
benchmarkPkgconfigDepends = propagatedPlainBuildInputs old.benchmarkPkgconfigDepends or [ ];
executablePkgconfigDepends = propagatedPlainBuildInputs old.executablePkgconfigDepends or [ ];
libraryPkgconfigDepends = propagatedPlainBuildInputs old.libraryPkgconfigDepends or [ ];
testPkgconfigDepends = propagatedPlainBuildInputs old.testPkgconfigDepends or [ ];
});
}

View File

@ -0,0 +1,12 @@
diff --git a/src/Gtk2HsSetup.hs b/src/Gtk2HsSetup.hs
index 598048f..b652b76 100644
--- a/src/Gtk2HsSetup.hs
+++ b/src/Gtk2HsSetup.hs
@@ -300,6 +300,7 @@ ourC2hs :: BuildInfo -> LocalBuildInfo -> PreProcessor
ourC2hs bi lbi = PreProcessor {
#endif
platformIndependent = False,
+ ppOrdering = (\ _ _ ms -> return ms),
runPreProcessor = runC2HS bi lbi
}

View File

@ -49,11 +49,12 @@ let
isHaLVM = ghc.isHaLVM or false;
ghc761OrLater = isGhcjs || isHaLVM || lib.versionOlder "7.6.1" ghc.version;
packageDBFlag = if ghc761OrLater then "--global-package-db" else "--global-conf";
ghcCommand' = if isGhcjs then "ghcjs" else "ghc";
ghcCommand = "${ghc.targetPrefix}${ghcCommand'}";
ghcCommand' = if isGhcjs then "ghcjs" else "ghc";
ghcCommand = "${ghc.targetPrefix}${ghcCommand'}";
ghcCommandCaps= lib.toUpper ghcCommand';
libDir = if isHaLVM then "$out/lib/HaLVM-${ghc.version}"
else "$out/lib/${ghc.targetPrefix}${ghc.haskellCompilerName}";
else "$out/lib/${ghc.targetPrefix}${ghc.haskellCompilerName}"
+ lib.optionalString (ghc ? hadrian) "/lib";
docDir = "$out/share/doc/ghc/html";
packageCfgDir = "${libDir}/package.conf.d";
paths = lib.concatLists (