Merge pull request #304640 from NixOS/haskell-updates

haskellPackages: update stackage and hackage
This commit is contained in:
sternenseemann 2024-04-27 13:14:14 +02:00 committed by GitHub
commit b048cde744
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
21 changed files with 822 additions and 536 deletions

View File

@ -0,0 +1,46 @@
{ mkDerivation, lib, fetchFromGitHub
, aeson, base, bytestring, containers, criterion
, doctest, Glob, mersenne-random-pure64, mtl
, optparse-applicative, parsec, random, regex-tdfa, scientific
, text, time, unordered-containers, uuid, vector
}:
mkDerivation rec {
pname = "mkjson";
version = "0.4.0";
src = fetchFromGitHub {
owner = "mfussenegger";
repo = "mkjson";
rev = "${version}";
hash = "sha256-+NDLFtsWWxHv/6XC9hJOAHPU6YED5oHqS/j5BPwNsqA=";
};
isLibrary = false;
isExecutable = true;
libraryHaskellDepends = [
aeson base bytestring containers mersenne-random-pure64 mtl
optparse-applicative parsec random regex-tdfa scientific text time
unordered-containers uuid vector
];
executableHaskellDepends = [
aeson base bytestring containers mersenne-random-pure64 mtl
optparse-applicative parsec random regex-tdfa scientific text time
unordered-containers uuid vector
];
testHaskellDepends = [
aeson base bytestring containers doctest Glob
mersenne-random-pure64 mtl optparse-applicative parsec random
regex-tdfa scientific text time unordered-containers uuid vector
];
benchmarkHaskellDepends = [
aeson base bytestring containers criterion mersenne-random-pure64
mtl optparse-applicative parsec random regex-tdfa scientific text
time unordered-containers uuid vector
];
description = "A commandline tool to generate static or random JSON records";
homepage = "https://github.com/mfussenegger/mkjson";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ athas ];
mainProgram = "mkjson";
}

View File

@ -0,0 +1 @@
{ haskell, haskellPackages }: haskell.lib.justStaticExecutables (haskellPackages.callPackage ./generated.nix { })

View File

@ -1,6 +1,6 @@
{
"commit": "5bae847bf7e96ce10e824377f4cb7f02c51b7245",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/5bae847bf7e96ce10e824377f4cb7f02c51b7245.tar.gz",
"sha256": "1p45mapjca2d7r8ky27s0pn3sflp61iippcabsb85s49fi9sqlv2",
"msg": "Update from Hackage at 2024-04-09T20:48:09Z"
"commit": "4eb9a5fde06b5d7343665582243debaf1d77e0a9",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/4eb9a5fde06b5d7343665582243debaf1d77e0a9.tar.gz",
"sha256": "0dzyfr1gv79riy2vh840b5hqly8rs10zhj01zi9nfn7jd9pzql28",
"msg": "Update from Hackage at 2024-04-16T17:36:35Z"
}

View File

@ -2,7 +2,7 @@
# build-tools
, bootPkgs
, autoconf, automake, coreutils, fetchpatch, fetchurl, perl, python3, m4, sphinx
, autoreconfHook, autoconf, automake, coreutils, fetchpatch, fetchurl, perl, python3, m4, sphinx
, xattr, autoSignDarwinBinariesHook
, bash
@ -223,6 +223,12 @@ stdenv.mkDerivation (rec {
stripLen = 3;
extraPrefix = "libraries/Cabal/Cabal/";
})
# We need to be able to set AR_STAGE0 and LD_STAGE0 when cross-compiling
(fetchpatch {
url = "https://gitlab.haskell.org/ghc/ghc/-/commit/8f7dd5710b80906ea7a3e15b7bb56a883a49fed8.patch";
hash = "sha256-C636Nq2U8YOG/av7XQmG3L1rU0bmC9/7m7Hty5pm5+s=";
})
] ++ lib.optionals stdenv.isDarwin [
# Make Block.h compile with c++ compilers. Remove with the next release
(fetchpatch {
@ -334,7 +340,7 @@ stdenv.mkDerivation (rec {
dontAddExtraLibs = true;
nativeBuildInputs = [
perl autoconf automake m4 python3
perl autoreconfHook autoconf automake m4 python3
ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
autoSignDarwinBinariesHook

View File

@ -116,8 +116,11 @@
-- no way to set this via the command line
finalStage :: Stage
finalStage = ${
if stdenv.hostPlatform == stdenv.targetPlatform
then "Stage2" # native compiler
# Always build the stage 2 compiler if possible. Note we can currently
# assume hostPlatform == buildPlatform.
# TODO(@sternenseemann): improve this condition when we can cross-compile GHC
if stdenv.hostPlatform.canExecute stdenv.targetPlatform
then "Stage2" # native compiler or “native” cross e.g. pkgsStatic
else "Stage1" # cross compiler
}

View File

@ -15,5 +15,6 @@ in self: super: {
}) (super.ghcjs.overrideScope (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;
}));
}

View File

@ -8,10 +8,10 @@
}:
mkDerivation {
pname = "cabal2nix";
version = "unstable-2024-02-05";
version = "unstable-2024-04-21";
src = fetchzip {
url = "https://github.com/NixOS/cabal2nix/archive/173e8a5fa70dc95a1aeb0bd877bf5fee6d5e6b4a.tar.gz";
sha256 = "1pld7jfsjmw486ch6li1fqci1jj5p2nvfq7nrkxrmf5p2ja5528g";
url = "https://github.com/NixOS/cabal2nix/archive/f8e6bf749a158a5ed866c57deee907b5f16c38e5.tar.gz";
sha256 = "0c73mvza65iy46fv8c8cadsy7klk4jzmimm1mfdavvm8i2cr5476";
};
postUnpack = "sourceRoot+=/cabal2nix; echo source root reset to $sourceRoot";
isLibrary = true;

View File

@ -24,7 +24,7 @@ self: super: {
Cabal-syntax = self.Cabal-syntax_3_10_3_0;
} // lib.optionalAttrs (lib.versionOlder self.ghc.version "9.2.5") {
# Use process core package when possible
process = self.process_1_6_18_0;
process = self.process_1_6_19_0;
}));
# cabal-install needs most recent versions of Cabal and Cabal-syntax,
@ -48,7 +48,7 @@ self: super: {
# cabal-install, but we need to recompile process even if the correct
# version is available to prevent inconsistent dependencies:
# process depends on directory.
process = cself.process_1_6_18_0;
process = cself.process_1_6_19_0;
# Prevent dependency on doctest which causes an inconsistent dependency
# due to depending on ghc which depends on directory etc.
@ -270,20 +270,7 @@ self: super: {
ghcjs-base = null;
ghcjs-prim = null;
# 2024-03-10: Compatibility fixes have been applied upstream, but are unreleased.
ghc-debug-brick = appendPatches [
(fetchpatch {
url = "https://gitlab.haskell.org/ghc/ghc-debug/-/commit/4f195b98a8d3159bd4586af49ea8e269214a848e.patch";
sha256 = "sha256-ZMxDkkI365w/qtRc21k9UTcIiTjoOd/BGJgt/6C6P6A=";
relative = "ghc-debug-brick";
includes = ["ghc-debug-brick.cabal"];
})
(fetchpatch {
url = "https://gitlab.haskell.org/ghc/ghc-debug/-/commit/5b8f848b82ea4c5a1867b9965a973e73e5d58dad.patch";
sha256 = "sha256-XydmqScUuXyxqvW1HeKlKiiGFQi/MkM81RMPxmADrhw=";
relative = "ghc-debug-brick";
})
] super.ghc-debug-brick;
ghc-debug-client = doJailbreak super.ghc-debug-client;
# Test failure. Tests also disabled in Stackage:
# https://github.com/jtdaugherty/brick/issues/499
@ -411,6 +398,13 @@ self: super: {
rm -r $out/doc/?ndroid*
'';
};
patches = drv.patches or [ ] ++ [
# Prevent .desktop files from being installed to $out/usr/share.
# TODO(@sternenseemann): submit upstreamable patch resolving this
# (this should be possible by also taking PREFIX into account).
./patches/git-annex-no-usr-prefix.patch
];
}) super.git-annex;
# Too strict bounds on servant
@ -1587,8 +1581,14 @@ self: super: {
jsaddle-dom = overrideCabal (old: {
postPatch = old.postPatch or "" + ''
sed -i 's/lens.*4.20/lens/' jsaddle-dom.cabal
rm Setup.hs
'';
}) (doJailbreak super.jsaddle-dom);
jsaddle-hello = doJailbreak super.jsaddle-hello;
ghcjs-dom-hello = doJailbreak super.ghcjs-dom-hello;
# Too strict upper bounds on text
lsql-csv = doJailbreak super.lsql-csv;
reflex-dom = lib.pipe super.reflex-dom [
(appendPatch

View File

@ -82,6 +82,17 @@ self: super: ({
# the system-fileio tests use canonicalizePath, which fails in the sandbox
system-fileio = dontCheck super.system-fileio;
git-annex = overrideCabal (drv: {
# We can't use testFlags since git-annex side steps the Cabal test mechanism
preCheck = drv.preCheck or "" + ''
checkFlagsArray+=(
# The addurl test cases require security(1) to be in PATH which we can't
# provide from nixpkgs to my (@sternenseemann) knowledge.
"-p" "!/addurl/"
)
'';
}) super.git-annex;
# Prevents needing to add `security_tool` as a run-time dependency for
# everything using x509-system to give access to the `security` executable.
#

View File

@ -55,7 +55,7 @@ self: super: {
th-abstraction = doDistribute self.th-abstraction_0_7_0_0;
ghc-lib-parser = doDistribute self.ghc-lib-parser_9_8_2_20240223;
ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_8_0_2;
ghc-lib = doDistribute self.ghc-lib_9_8_1_20231121;
ghc-lib = doDistribute self.ghc-lib_9_8_2_20240223;
megaparsec = doDistribute self.megaparsec_9_6_1;
# TODO: remove when aeson updates or launches a revision
# see https://github.com/haskell/aeson/issues/1089 and https://github.com/haskell/aeson/pulls/1088

View File

@ -605,6 +605,7 @@ broken-packages:
- cabal2json # failure in job https://hydra.nixos.org/build/233196099 at 2023-09-02
- cabal-audit # failure in job https://hydra.nixos.org/build/233193414 at 2023-09-02
- cabal-auto-expose # failure in job https://hydra.nixos.org/build/233195440 at 2023-09-02
- cabal-build-programs # failure in job https://hydra.nixos.org/build/257091363 at 2024-04-27
- cabal-bundle-clib # failure in job https://hydra.nixos.org/build/233199225 at 2023-09-02
- cabal-constraints # failure in job https://hydra.nixos.org/build/233214316 at 2023-09-02
- cabal-db # failure in job https://hydra.nixos.org/build/233197235 at 2023-09-02
@ -738,6 +739,7 @@ broken-packages:
- changelog-d # failure in job https://hydra.nixos.org/build/252716175 at 2024-03-16
- changelog-d # failure in job https://hydra.nixos.org/build/253689337 at 2024-03-31
- changelog-d # failure in job https://hydra.nixos.org/build/255671571 at 2024-04-16
- changelog-d # failure in job https://hydra.nixos.org/build/257082502 at 2024-04-27
- changelogged # failure in job https://hydra.nixos.org/build/233211675 at 2023-09-02
- character-cases # failure in job https://hydra.nixos.org/build/233197636 at 2023-09-02
- charter # failure in job https://hydra.nixos.org/build/233237264 at 2023-09-02
@ -3207,7 +3209,6 @@ broken-packages:
- joy-rewrite # failure in job https://hydra.nixos.org/build/233201002 at 2023-09-02
- jpeg # failure in job https://hydra.nixos.org/build/233204056 at 2023-09-02
- jsaddle-clib # failure in job https://hydra.nixos.org/build/233203899 at 2023-09-02
- jsaddle-warp # failure in job https://hydra.nixos.org/build/233252373 at 2023-09-02
- jsaddle-wkwebview # failure in job https://hydra.nixos.org/build/233242986 at 2023-09-02
- js-good-parts # failure in job https://hydra.nixos.org/build/233198958 at 2023-09-02
- json2 # failure in job https://hydra.nixos.org/build/233242447 at 2023-09-02
@ -4910,6 +4911,7 @@ broken-packages:
- rclient # failure in job https://hydra.nixos.org/build/233239290 at 2023-09-02
- rdf4h # failure in job https://hydra.nixos.org/build/233234057 at 2023-09-02
- rds-data-codecs # failure in job https://hydra.nixos.org/build/253696582 at 2024-03-31
- react # failure in job https://hydra.nixos.org/build/257372364 at 2024-04-27
- react-flux # failure in job https://hydra.nixos.org/build/233246819 at 2023-09-02
- react-haskell # failure in job https://hydra.nixos.org/build/233242976 at 2023-09-02
- reaction-logic # failure in job https://hydra.nixos.org/build/233216789 at 2023-09-02
@ -5389,6 +5391,7 @@ broken-packages:
- show-type # failure in job https://hydra.nixos.org/build/233225756 at 2023-09-02
- Shpadoinkle-console # failure in job https://hydra.nixos.org/build/233228559 at 2023-09-02
- Shpadoinkle-debug # failure in job https://hydra.nixos.org/build/233194479 at 2023-09-02
- Shpadoinkle # failure in job https://hydra.nixos.org/build/257372361 at 2024-04-27
- Shpadoinkle-isreal # failure in job https://hydra.nixos.org/build/233200051 at 2023-09-02
- shwifty # failure in job https://hydra.nixos.org/build/233249022 at 2023-09-02
- sifflet # failure in job https://hydra.nixos.org/build/233210515 at 2023-09-02

View File

@ -28,9 +28,6 @@ default-package-overrides:
- 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
# Needs to be pinned to match jsaddle from Stackage LTS (9.8.*)
- jsaddle-dom < 0.9.9.0
- jsaddle-webkit2gtk < 0.9.9.0
extra-packages:
- Cabal-syntax == 3.6.* # Dummy package that ensures packages depending on Cabal-syntax can work for Cabal < 3.8
@ -69,6 +66,7 @@ extra-packages:
- haddock-library ==1.7.* # required by stylish-cabal-0.5.0.0
- happy == 1.19.12 # for ghcjs
- hinotify == 0.3.9 # for xmonad-0.26: https://github.com/kolmodin/hinotify/issues/29
- ansi-wl-pprint >= 0.6 && < 0.7 # 2024-03-23: required for ghcjs
- hlint == 3.2.8 # 2022-09-21: needed for hls on ghc 8.8
- hlint == 3.4.1 # 2022-09-21: needed for hls with ghc-lib-parser 9.2
- hnix-store-core < 0.7 # 2023-12-11: required by hnix-store-remote 0.6
@ -252,22 +250,22 @@ package-maintainers:
libjared:
- sensei
maralorn:
- bluefin
- cabal-fmt
- clay
- eventlog2html
- falsify
- generic-optics
- ghc-debug-brick
- ghc-debug-stub
- ghcid
- graphql-client
- haskell-language-server
- hedgehog
- hledger
- hledger-ui
- hledger-web
- hlint
- hmatrix
- hspec-discover
- jsaddle-warp
- matrix-client
- optics
- pandoc
@ -276,9 +274,9 @@ package-maintainers:
- postgresql-simple
- purebred-email
- reflex-dom
- releaser
- replace-megaparsec
- req
- say
- shake-bench
- shh
- shh-extras
@ -286,7 +284,9 @@ package-maintainers:
- stm-containers
- streamly
- streamly-bytestring
- string-interpolate
- taskwarrior
- tasty
- threadscope
- tz
- weeder
@ -648,6 +648,7 @@ unsupported-platforms:
monomer: [ platforms.darwin ] # depends on mesa
monomer-hagrid: [ platforms.darwin ] # depends on mesa
mptcp-pm: [ platforms.darwin ]
mueval: [ aarch64-linux ] # https://hydra.nixos.org/build/257076117/nixlog/2 https://gitlab.haskell.org/ghc/ghc/-/issues/24432
nanovg: [ platforms.darwin ] # depends on mesa
netlink: [ platforms.darwin ]
notifications-tray-icon: [ platforms.darwin ] # depends on gi-dbusmenu

View File

@ -1,4 +1,4 @@
# Stackage LTS 22.16
# Stackage LTS 22.17
# This file is auto-generated by
# maintainers/scripts/haskell/update-stackage.sh
default-package-overrides:
@ -564,7 +564,7 @@ default-package-overrides:
- bytestring-to-vector ==0.3.0.1
- bytestring-tree-builder ==0.2.7.12
- bytestring-trie ==0.2.7.2
- bz2 ==1.0.1.1
- bz2 ==1.0.1.2
- bzip2-clib ==1.0.8
- bzlib ==0.5.2.0
- bzlib-conduit ==0.3.0.3
@ -661,7 +661,7 @@ default-package-overrides:
- code-page ==0.2.1
- coinor-clp ==0.0.0.2
- cointracking-imports ==0.1.0.2
- collect-errors ==0.1.5.0
- collect-errors ==0.1.6.0
- co-log ==0.6.1.0
- co-log-concurrent ==0.5.1.0
- co-log-core ==0.3.2.1
@ -1050,7 +1050,7 @@ default-package-overrides:
- fakedata-quickcheck ==0.2.0
- fakefs ==0.3.0.2
- fakepull ==0.3.0.2
- faktory ==1.1.2.6
- faktory ==1.1.2.7
- fasta ==0.10.4.2
- fast-digits ==0.3.2.0
- fast-logger ==3.2.2
@ -1351,7 +1351,7 @@ default-package-overrides:
- hasql-interpolate ==0.2.1.0
- hasql-listen-notify ==0.1.0.1
- hasql-migration ==0.3.0
- hasql-notifications ==0.2.1.0
- hasql-notifications ==0.2.1.1
- hasql-optparse-applicative ==0.7.1.3
- hasql-pool ==0.10.1
- hasql-th ==0.4.0.19
@ -1490,7 +1490,7 @@ default-package-overrides:
- hspec-expectations-json ==1.0.2.1
- hspec-expectations-lifted ==0.10.0
- hspec-expectations-pretty-diff ==0.7.2.6
- hspec-golden ==0.2.1.0
- hspec-golden ==0.2.2.0
- hspec-golden-aeson ==0.9.0.0
- hspec-hedgehog ==0.1.1.0
- hspec-junit-formatter ==1.1.0.2
@ -1667,7 +1667,7 @@ default-package-overrides:
- jose ==0.11
- jose-jwt ==0.9.6
- journalctl-stream ==0.6.0.6
- jsaddle ==0.9.8.3
- jsaddle ==0.9.9.0
- js-chart ==2.9.4.1
- js-dgtable ==0.5.2
- js-flot ==0.8.3
@ -1953,7 +1953,7 @@ default-package-overrides:
- monoidal-containers ==0.6.4.0
- monoidal-functors ==0.2.3.0
- monoid-extras ==0.6.2
- monoid-subclasses ==1.2.4.1
- monoid-subclasses ==1.2.5
- monoid-transformer ==0.0.4
- monomer ==1.6.0.1
- mono-traversable ==1.0.17.0
@ -2089,7 +2089,7 @@ default-package-overrides:
- Only ==0.1
- oo-prototypes ==0.1.0.0
- oops ==0.2.0.1
- opaleye ==0.10.2.3
- opaleye ==0.10.3.0
- OpenAL ==1.7.0.5
- openapi3 ==3.2.4
- open-browser ==0.2.1.0
@ -2318,10 +2318,10 @@ default-package-overrides:
- protobuf-simple ==0.1.1.1
- protocol-radius ==0.0.1.1
- protocol-radius-test ==0.1.0.1
- proto-lens ==0.7.1.4
- proto-lens-arbitrary ==0.1.2.12
- proto-lens-optparse ==0.1.1.11
- proto-lens-runtime ==0.7.0.5
- proto-lens ==0.7.1.5
- proto-lens-arbitrary ==0.1.2.13
- proto-lens-optparse ==0.1.1.12
- proto-lens-runtime ==0.7.0.6
- protolude ==0.3.4
- proxied ==0.3.1
- psql-helpers ==0.1.0.0
@ -2354,7 +2354,7 @@ default-package-overrides:
- quickcheck-higherorder ==0.1.0.1
- quickcheck-instances ==0.3.30
- quickcheck-io ==0.2.0
- quickcheck-monoid-subclasses ==0.3.0.1
- quickcheck-monoid-subclasses ==0.3.0.2
- quickcheck-simple ==0.1.1.1
- quickcheck-special ==0.1.0.6
- quickcheck-state-machine ==0.8.0
@ -2921,7 +2921,7 @@ default-package-overrides:
- these-optics ==1.0.1.2
- these-skinny ==0.7.5
- th-expand-syns ==0.4.11.0
- th-extras ==0.0.0.7
- th-extras ==0.0.0.8
- th-lego ==0.3.0.3
- th-lift ==0.8.4
- th-lift-instances ==0.1.20
@ -3253,11 +3253,11 @@ default-package-overrides:
- xxhash-ffi ==0.2.0.0
- yaml ==0.11.11.2
- yaml-unscrambler ==0.1.0.19
- Yampa ==0.14.7
- Yampa ==0.14.8
- yarn-lock ==0.6.5
- yeshql-core ==4.2.0.0
- yesod ==1.6.2.1
- yesod-auth ==1.6.11.2
- yesod-auth ==1.6.11.3
- yesod-auth-basic ==0.1.0.3
- yesod-auth-hashdb ==1.7.1.7
- yesod-auth-oauth2 ==0.7.2.0
@ -3293,7 +3293,7 @@ default-package-overrides:
- zigzag ==0.0.1.0
- zim-parser ==0.2.1.0
- zip ==2.0.0
- zip-archive ==0.4.3.1
- zip-archive ==0.4.3.2
- zippers ==0.3.2
- zip-stream ==0.2.2.0
- zlib ==0.6.3.0

View File

@ -357,7 +357,6 @@ dont-distribute-packages:
- Shellac-haskeline
- Shellac-readline
- ShortestPathProblems
- Shpadoinkle
- Shpadoinkle-backend-pardiff
- Shpadoinkle-backend-snabbdom
- Shpadoinkle-backend-static
@ -1528,7 +1527,6 @@ dont-distribute-packages:
- ghc-plugs-out
- ghc-session
- ghci-pretty
- ghcjs-dom-hello
- ghcjs-dom-webkit
- ghcjs-hplay
- ghcup
@ -1834,6 +1832,7 @@ dont-distribute-packages:
- gtkrsync
- guarded-rewriting
- guess-combinator
- h3spec
- hArduino
- hOff-display
- hPDB
@ -2419,7 +2418,6 @@ dont-distribute-packages:
- jordan-servant-openapi
- jordan-servant-server
- jot
- jsaddle-hello
- jsc
- jsmw
- json-ast-json-encoder
@ -3000,6 +2998,7 @@ dont-distribute-packages:
- olwrapper
- om-kubernetes
- om-legion
- one-time-password
- online-csv
- oops-examples
- opc-xml-da-client
@ -3347,7 +3346,6 @@ dont-distribute-packages:
- rc
- rdf4h-vocab-activitystreams
- rdioh
- react
- react-flux-servant
- reactive
- reactive-banana-sdl

View File

@ -719,14 +719,63 @@ self: super: builtins.intersectAttrs super {
})
(addBuildTools (with pkgs.buildPackages; [makeWrapper python3Packages.sphinx]) super.futhark);
git-annex = overrideCabal (drv: {
# This is an instance of https://github.com/NixOS/nix/pull/1085
# Fails with:
# gpg: can't connect to the agent: File name too long
postPatch = pkgs.lib.optionalString pkgs.stdenv.isDarwin ''
substituteInPlace Test.hs \
--replace ', testCase "crypto" test_crypto' ""
'' + (drv.postPatch or "");
git-annex = let
# Executables git-annex needs at runtime. git-annex detects these at configure
# time and expects to be able to execute them. This means that cross-compiling
# git-annex is not possible and strictDeps must be false (runtimeExecDeps go
# into executableSystemDepends/buildInputs).
runtimeExecDeps = [
pkgs.bup
pkgs.curl
pkgs.git
pkgs.gnupg
pkgs.lsof
pkgs.openssh
pkgs.perl
pkgs.rsync
pkgs.wget
pkgs.which
];
in
overrideCabal (drv: {
executableSystemDepends = runtimeExecDeps;
enableSharedExecutables = false;
preConfigure = drv.preConfigure or "" + ''
export HOME=$TEMPDIR
patchShebangs .
'';
# git-annex ships its test suite as part of the final executable instead of
# using a Cabal test suite.
checkPhase = ''
runHook preCheck
# Setup PATH for the actual tests
ln -sf dist/build/git-annex/git-annex git-annex
ln -sf git-annex git-annex-shell
PATH+=":$PWD"
echo checkFlags: $checkFlags ''${checkFlagsArray:+"''${checkFlagsArray[@]}"}
# Doesn't use Cabal's test mechanism
git-annex test $checkFlags ''${checkFlagsArray:+"''${checkFlagsArray[@]}"}
runHook postCheck
'';
# Use default installPhase of pkgs/stdenv/generic/setup.sh. We need to set
# the environment variables it uses via the preInstall hook since the Haskell
# generic builder doesn't accept them as arguments.
preInstall = drv.preInstall or "" + ''
installTargets="install"
installFlagsArray+=(
"BUILDER=:"
"PREFIX="
"DESTDIR=$out"
)
'';
installPhase = null;
# Ensure git-annex uses the exact same coreutils it saw at build-time.
# This is especially important on Darwin but also in Linux environments
@ -744,13 +793,6 @@ self: super: builtins.intersectAttrs super {
# `git-annex-shell` by making `shell = haskellPackages.git-annex`.
# https://git-annex.branchable.com/git-annex-shell/
passthru.shellPath = "/bin/git-annex-shell";
# Install man pages which is no longer done by Setup.hs
# TODO(@sternenseemann): figure out why install-desktops wants to create /usr
# and run that, too.
postInstall = drv.postInstall or "" + ''
make install-mans "DESTDIR=$out" PREFIX=
'';
}) (super.git-annex.override {
dbus = if pkgs.stdenv.isLinux then self.dbus else null;
fdo-notify = if pkgs.stdenv.isLinux then self.fdo-notify else null;

View File

@ -1,13 +1,24 @@
{ lib, stdenv, buildPackages, buildHaskellPackages, ghc
, jailbreak-cabal, hscolour, cpphs, nodejs
, jailbreak-cabal, hscolour, cpphs
, ghcWithHoogle, ghcWithPackages
, nodejs
}:
let
isCross = stdenv.buildPlatform != stdenv.hostPlatform;
# Pass the "wrong" C compiler rather than none at all so packages that just
# use the C preproccessor still work, see
# https://github.com/haskell/cabal/issues/6466 for details.
cc =
if stdenv.hasCC then "$CC"
else if stdenv.hostPlatform.isGhcjs then "${emscripten}/bin/emcc"
else "$CC_FOR_BUILD";
inherit (buildPackages)
fetchurl removeReferencesTo
pkg-config coreutils gnugrep glibcLocales;
pkg-config coreutils gnugrep glibcLocales
emscripten;
in
{ pname
@ -40,7 +51,8 @@ in
, enableSharedExecutables ? false
, enableSharedLibraries ? !stdenv.hostPlatform.isStatic && (ghc.enableShared or false)
, enableDeadCodeElimination ? (!stdenv.isDarwin) # TODO: use -dead_strip for darwin
, enableStaticLibraries ? !(stdenv.hostPlatform.isWindows or stdenv.hostPlatform.isWasm)
# Disabling this for ghcjs prevents this crash: https://gitlab.haskell.org/ghc/ghc/-/issues/23235
, enableStaticLibraries ? !(stdenv.hostPlatform.isWindows || stdenv.hostPlatform.isWasm || stdenv.hostPlatform.isGhcjs)
, enableHsc2hsViaAsm ? stdenv.hostPlatform.isWindows
, extraLibraries ? [], librarySystemDepends ? [], executableSystemDepends ? []
# On macOS, statically linking against system frameworks is not supported;
@ -188,10 +200,7 @@ let
crossCabalFlags = [
"--with-ghc=${ghcCommand}"
"--with-ghc-pkg=${ghc.targetPrefix}ghc-pkg"
# Pass the "wrong" C compiler rather than none at all so packages that just
# use the C preproccessor still work, see
# https://github.com/haskell/cabal/issues/6466 for details.
"--with-gcc=${if stdenv.hasCC then "$CC" else "$CC_FOR_BUILD"}"
"--with-gcc=${cc}"
] ++ optionals stdenv.hasCC [
"--with-ld=${stdenv.cc.bintools.targetPrefix}ld"
"--with-ar=${stdenv.cc.bintools.targetPrefix}ar"
@ -315,7 +324,7 @@ let
optionals doBenchmark benchmarkToolDepends;
nativeBuildInputs =
[ ghc removeReferencesTo ] ++ optional (allPkgconfigDepends != []) (assert pkg-config != null; pkg-config) ++
setupHaskellDepends ++ collectedToolDepends;
setupHaskellDepends ++ collectedToolDepends ++ optional stdenv.hostPlatform.isGhcjs nodejs;
propagatedBuildInputs = buildDepends ++ libraryHaskellDepends ++ executableHaskellDepends ++ libraryFrameworkDepends;
otherBuildInputsHaskell =
optionals doCheck (testDepends ++ testHaskellDepends) ++
@ -442,6 +451,11 @@ stdenv.mkDerivation ({
'' + ''
done
''
+ (optionalString stdenv.hostPlatform.isGhcjs ''
export EM_CACHE="$(realpath "$(mktemp -d emcache.XXXXXXXXXX)")"
cp -Lr ${emscripten}/share/emscripten/cache/* "$EM_CACHE/"
chmod u+rwX -R "$EM_CACHE"
'')
# only use the links hack if we're actually building dylibs. otherwise, the
# "dynamic-library-dirs" point to nonexistent paths, and the ln command becomes
# "ln -s $out/lib/links", which tries to recreate the links dir and fails

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
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"
{- Directory used for installation of system wide data files.. -}
systemDataDir :: FilePath
-systemDataDir = "/usr/share"
+systemDataDir = "/share"
{- Directory used for installation of system wide config files. -}
systemConfigDir :: FilePath

View File

@ -14,7 +14,8 @@ mkDerivation {
postPatch = ''
substituteInPlace haskell_tool/fffuu.cabal \
--replace "containers >=0.5 && <0.6" "containers >= 0.6" \
--replace "optparse-generic >= 1.2.3 && < 1.3" "optparse-generic >= 1.2.3"
--replace "optparse-generic >= 1.2.3 && < 1.3" "optparse-generic >= 1.2.3" \
--replace "split >= 0.2.3 && <= 0.2.4" "split >= 0.2.3"
'';
preCompileBuildDriver = ''

View File

@ -308,7 +308,7 @@ in {
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15;
llvmPackages = pkgs.llvmPackages_15;
};
ghc96 = compiler.ghc964;
ghc96 = compiler.ghc965;
ghc981 = callPackage ../development/compilers/ghc/9.8.1.nix {
bootPkgs =
# For GHC 9.6 no armv7l bindists are available.
@ -513,7 +513,7 @@ in {
ghc = bh.compiler.ghc965;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { };
};
ghc96 = packages.ghc964;
ghc96 = packages.ghc965;
ghc981 = callPackage ../development/haskell-modules {
buildHaskellPackages = bh.packages.ghc981;
ghc = bh.compiler.ghc981;

View File

@ -319,6 +319,7 @@ let
madlang
mailctl
matterhorn
mkjson
mueval
naproche
niv
@ -330,6 +331,8 @@ let
nix-script
nix-tree
nixfmt
nixfmt-classic
nixfmt-rfc-style
nota
nvfetcher
ormolu
@ -470,6 +473,15 @@ let
inherit (packagePlatforms pkgs.pkgsCross.ghcjs.haskellPackages)
ghc
hello
microlens
;
};
haskell.packages.ghc98 = {
inherit (packagePlatforms pkgs.pkgsCross.ghcjs.haskell.packages.ghc98)
ghc
hello
microlens
;
};
@ -477,6 +489,7 @@ let
inherit (packagePlatforms pkgs.pkgsCross.ghcjs.haskell.packages.ghcHEAD)
ghc
hello
microlens
;
};
};
@ -594,42 +607,35 @@ let
maintainers = lib.teams.haskell.members;
};
constituents =
let
# Filter out all Darwin derivations. We don't want flakey Darwin
# derivations and flakey Hydra Darwin builders to block the
# mergeable job from successfully building.
filterInLinux =
lib.filter (drv: drv.system == "x86_64-linux" || drv.system == "aarch64-linux");
in
filterInLinux
(accumulateDerivations [
# haskell specific tests
jobs.tests.haskell
# important top-level packages
jobs.cabal-install
jobs.cabal2nix
jobs.cachix
jobs.darcs
jobs.haskell-language-server
jobs.hledger
jobs.hledger-ui
jobs.hpack
jobs.niv
jobs.pandoc
jobs.stack
jobs.stylish-haskell
# important haskell (library) packages
jobs.haskellPackages.cabal-plan
jobs.haskellPackages.distribution-nixpkgs
jobs.haskellPackages.hackage-db
jobs.haskellPackages.xmonad
jobs.haskellPackages.xmonad-contrib
# haskell packages maintained by @peti
# imported from the old hydra jobset
jobs.haskellPackages.hopenssl
jobs.haskellPackages.hsemail
jobs.haskellPackages.hsyslog
]);
accumulateDerivations [
# haskell specific tests
jobs.tests.haskell
# important top-level packages
jobs.cabal-install
jobs.cabal2nix
jobs.cachix
jobs.darcs
jobs.haskell-language-server
jobs.hledger
jobs.hledger-ui
jobs.hpack
jobs.niv
jobs.pandoc
jobs.stack
jobs.stylish-haskell
jobs.shellcheck
# important haskell (library) packages
jobs.haskellPackages.cabal-plan
jobs.haskellPackages.distribution-nixpkgs
jobs.haskellPackages.hackage-db
jobs.haskellPackages.xmonad
jobs.haskellPackages.xmonad-contrib
# haskell packages maintained by @peti
# imported from the old hydra jobset
jobs.haskellPackages.hopenssl
jobs.haskellPackages.hsemail
jobs.haskellPackages.hsyslog
];
};
maintained = pkgs.releaseTools.aggregate {
name = "maintained-haskell-packages";