Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
aa55adf
haskellPackages: stackage LTS 20.4 -> LTS 20.5
maralorn Dec 30, 2022
b455718
all-cabal-hashes: 2022-12-28T16:35:05Z -> 2022-12-30T22:03:31Z
maralorn Dec 30, 2022
fcfc917
haskellPackages: regenerate package set based on current config
maralorn Dec 30, 2022
52320d9
Merge master into haskell-updates
github-actions[bot] Dec 31, 2022
b80c4e9
haskellPackages: unbreak hevm
arcz Dec 31, 2022
67e22b1
Merge master into haskell-updates
github-actions[bot] Jan 1, 2023
7584aa9
Merge pull request #208484 from arcz/unbreak-hevm
cdepillabout Jan 1, 2023
cd20215
Merge master into haskell-updates
github-actions[bot] Jan 2, 2023
2d3c98f
haskellPackages.true-name: Add a patch to allow building with current…
nuttycom Dec 30, 2022
c99e04f
Merge pull request #208428 from nuttycom/haskell-unbreak_true_name
cdepillabout Jan 2, 2023
8adc663
haskellPackages: regenerate package set based on current config
cdepillabout Jan 2, 2023
efca7be
vaultenv: 0.14 -> 0.15.1.
dhess Dec 31, 2022
cb736c3
Merge master into haskell-updates
github-actions[bot] Jan 3, 2023
d24b2e9
haskellPackages.hashing: drop stale override
sternenseemann Jan 3, 2023
5df77ad
haskellPackages.xmlbf: drop stale override
sternenseemann Jan 3, 2023
3665c42
haskell.compiler.ghcHEAD: 9.5.20220921 -> 9.7.20221224
sternenseemann Dec 19, 2022
413c75f
hercules-ci-agent: Remove released patch
roberth Jan 3, 2023
1ee0f4c
systemd: fix evaluation in pkgsCross.ghcjs.buildPackages
sternenseemann Jan 3, 2023
a053547
haskell.compiler.ghcHEAD: use LLVM 14
sternenseemann Jan 3, 2023
12af3ee
emscripten: fake cc-wrapper-esque passthru attrs for GHC
sternenseemann Jan 3, 2023
de8e0bf
haskell.compiler: also check targetPlatform for gmp compat
sternenseemann Jan 3, 2023
b711b52
jre, temurin-bin: fix eval in pkgsCross.ghcjs.buildPackages
sternenseemann Jan 3, 2023
6392c21
haskell.compiler.ghcHEAD: allow building the JavaScript backend
sternenseemann Jan 3, 2023
20d97c0
Merge master into haskell-updates
github-actions[bot] Jan 4, 2023
91e05c4
haskellPackages.recursion-schemes: Remove obsolete patch
maralorn Jan 4, 2023
b92fb60
Merge pull request #208947 from sternenseemann/ghc-head-js-backend-try-1
Ericson2314 Jan 4, 2023
733bc1f
haskell.packages.ghc944.blaze-textual: Remove obsolete override
maralorn Jan 4, 2023
4045943
haskellPackages: mark builds failing on hydra as broken
maralorn Jan 4, 2023
3b1869a
Merge branch 'master' into haskell-updates
maralorn Jan 4, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions pkgs/data/misc/hackage/pin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"commit": "208dc93f04d6fb2dbc01e11434c7dcea50a8a9e6",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/208dc93f04d6fb2dbc01e11434c7dcea50a8a9e6.tar.gz",
"sha256": "19pgh69fj3p1glqyjikpsvn5j4bax6yw5qxf9qaaap19hksgn85p",
"msg": "Update from Hackage at 2022-12-28T16:35:05Z"
"commit": "78541d36393ac3dd0ffa32b4a9af15fecdefb5d1",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/78541d36393ac3dd0ffa32b4a9af15fecdefb5d1.tar.gz",
"sha256": "1qwjkjlz9sw1jnsarin6803vj68bfm3iyysfwxaifga5w4dsrqcs",
"msg": "Update from Hackage at 2022-12-30T22:03:31Z"
}
8 changes: 8 additions & 0 deletions pkgs/development/compilers/emscripten/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
, llvmPackages
, symlinkJoin, makeWrapper, substituteAll
, mkYarnModules
, emscripten
}:

stdenv.mkDerivation rec {
Expand Down Expand Up @@ -116,6 +117,13 @@ stdenv.mkDerivation rec {
runHook postInstall
'';

passthru = {
# HACK: Make emscripten look more like a cc-wrapper to GHC
# when building the javascript backend.
targetPrefix = "em";
bintools = emscripten;
};

meta = with lib; {
homepage = "https://github.com/emscripten-core/emscripten";
description = "An LLVM-to-JavaScript Compiler";
Expand Down
4 changes: 3 additions & 1 deletion pkgs/development/compilers/ghc/8.10.7.nix
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@

, # If enabled, GHC will be built with the GPL-free but slower integer-simple
# library instead of the faster but GPLed integer-gmp library.
enableIntegerSimple ? !(lib.meta.availableOn stdenv.hostPlatform gmp), gmp
enableIntegerSimple ? !(lib.meta.availableOn stdenv.hostPlatform gmp
&& lib.meta.availableOn stdenv.targetPlatform gmp)
, gmp

, # If enabled, use -fPIC when compiling static libs.
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
Expand Down
4 changes: 3 additions & 1 deletion pkgs/development/compilers/ghc/8.8.4.nix
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@

, # If enabled, GHC will be built with the GPL-free but slower integer-simple
# library instead of the faster but GPLed integer-gmp library.
enableIntegerSimple ? !(lib.meta.availableOn stdenv.hostPlatform gmp), gmp
enableIntegerSimple ? !(lib.meta.availableOn stdenv.hostPlatform gmp
&& lib.meta.availableOn stdenv.targetPlatform gmp)
, gmp

, # If enabled, use -fPIC when compiling static libs.
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
Expand Down
3 changes: 2 additions & 1 deletion pkgs/development/compilers/ghc/9.0.2.nix
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@

, # If enabled, GHC will be built with the GPL-free but slightly slower native
# bignum backend instead of the faster but GPLed gmp backend.
enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp)
enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp
&& lib.meta.availableOn stdenv.targetPlatform gmp)
, gmp

, # If enabled, use -fPIC when compiling static libs.
Expand Down
3 changes: 2 additions & 1 deletion pkgs/development/compilers/ghc/9.2.4.nix
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@

, # If enabled, GHC will be built with the GPL-free but slightly slower native
# bignum backend instead of the faster but GPLed gmp backend.
enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp)
enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp
&& lib.meta.availableOn stdenv.targetPlatform gmp)
, gmp

, # If enabled, use -fPIC when compiling static libs.
Expand Down
3 changes: 2 additions & 1 deletion pkgs/development/compilers/ghc/9.2.5.nix
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@

, # If enabled, GHC will be built with the GPL-free but slightly slower native
# bignum backend instead of the faster but GPLed gmp backend.
enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp)
enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp
&& lib.meta.availableOn stdenv.targetPlatform gmp)
, gmp

, # If enabled, use -fPIC when compiling static libs.
Expand Down
3 changes: 2 additions & 1 deletion pkgs/development/compilers/ghc/9.4.2.nix
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@

, # If enabled, GHC will be built with the GPL-free but slightly slower native
# bignum backend instead of the faster but GPLed gmp backend.
enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp)
enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp
&& lib.meta.availableOn stdenv.targetPlatform gmp)
, gmp

, # If enabled, use -fPIC when compiling static libs.
Expand Down
3 changes: 2 additions & 1 deletion pkgs/development/compilers/ghc/9.4.3.nix
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@

, # If enabled, GHC will be built with the GPL-free but slightly slower native
# bignum backend instead of the faster but GPLed gmp backend.
enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp)
enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp
&& lib.meta.availableOn stdenv.targetPlatform gmp)
, gmp

, # If enabled, use -fPIC when compiling static libs.
Expand Down
3 changes: 2 additions & 1 deletion pkgs/development/compilers/ghc/9.4.4.nix
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@

, # If enabled, GHC will be built with the GPL-free but slightly slower native
# bignum backend instead of the faster but GPLed gmp backend.
enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp)
enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp
&& lib.meta.availableOn stdenv.targetPlatform gmp)
, gmp

, # If enabled, use -fPIC when compiling static libs.
Expand Down
42 changes: 27 additions & 15 deletions pkgs/development/compilers/ghc/common-hadrian.nix
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@
, useLLVM ? !(stdenv.targetPlatform.isx86
|| stdenv.targetPlatform.isPower
|| stdenv.targetPlatform.isSparc
|| (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
|| (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin)
|| stdenv.targetPlatform.isGhcjs)
, # LLVM is conceptually a run-time-only depedendency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
# build-time dependency too.
Expand All @@ -48,7 +49,9 @@

, # If enabled, GHC will be built with the GPL-free but slightly slower native
# bignum backend instead of the faster but GPLed gmp backend.
enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp)
enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp
&& lib.meta.availableOn stdenv.targetPlatform gmp)
|| stdenv.targetPlatform.isGhcjs
, gmp

, # If enabled, use -fPIC when compiling static libs.
Expand All @@ -62,7 +65,8 @@
enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic

, # Whether to build terminfo.
enableTerminfo ? !stdenv.targetPlatform.isWindows
enableTerminfo ? !(stdenv.targetPlatform.isWindows
|| stdenv.targetPlatform.isGhcjs)

, # Libdw.c only supports x86_64, i686 and s390x as of 2022-08-04
enableDwarf ? (stdenv.targetPlatform.isx86 ||
Expand Down Expand Up @@ -156,12 +160,6 @@

assert !enableNativeBignum -> gmp != null;

assert stdenv.hostPlatform == stdenv.targetPlatform || throw ''
hadrian doesn't support building an installable GHC cross-compiler at the moment.
Consider using GHC 9.4 or lower which support this via the make build system.
See also: https://gitlab.haskell.org/ghc/ghc/-/issues/22090
'';

let
src = (if rev != null then fetchgit else fetchurl) ({
inherit url sha256;
Expand Down Expand Up @@ -201,17 +199,19 @@ let

# Splicer will pull out correct variations
libDeps = platform: lib.optional enableTerminfo ncurses
++ [libffi]
++ lib.optionals (!targetPlatform.isGhcjs) [libffi]
# Bindist configure script fails w/o elfutils in linker search path
# https://gitlab.haskell.org/ghc/ghc/-/issues/22081
++ lib.optional enableDwarf elfutils
++ lib.optional (!enableNativeBignum) gmp
++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows && !targetPlatform.isGhcjs) libiconv;

# TODO(@sternenseemann): is buildTarget LLVM unnecessary?
# GHC doesn't seem to have {LLC,OPT}_HOST
toolsForTarget = [
pkgsBuildTarget.targetPackages.stdenv.cc
(if targetPlatform.isGhcjs
then pkgsBuildTarget.emscripten
else pkgsBuildTarget.targetPackages.stdenv.cc)
] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;

targetCC = builtins.head toolsForTarget;
Expand Down Expand Up @@ -251,7 +251,7 @@ in
# C compiler, bintools and LLVM are used at build time, but will also leak into
# the resulting GHC's settings file and used at runtime. This means that we are
# currently only able to build GHC if hostPlatform == buildPlatform.
assert targetCC == pkgsHostTarget.targetPackages.stdenv.cc;
assert !targetPlatform.isGhcjs -> targetCC == pkgsHostTarget.targetPackages.stdenv.cc;
assert buildTargetLlvmPackages.llvm == llvmPackages.llvm;
assert stdenv.targetPlatform.isDarwin -> buildTargetLlvmPackages.clang == llvmPackages.clang;

Expand Down Expand Up @@ -334,6 +334,13 @@ stdenv.mkDerivation ({
'*-android*|*-gnueabi*|*-musleabi*)'
done
''
# Need to make writable EM_CACHE for emscripten
# https://gitlab.haskell.org/ghc/ghc/-/wikis/javascript-backend#configure-fails-with-sub-word-sized-atomic-operations-not-available
+ lib.optionalString targetPlatform.isGhcjs ''
export EM_CACHE="$(mktemp -d emcache.XXXXXXXXXX)"
cp -Lr ${targetCC /* == emscripten */}/share/emscripten/cache/* "$EM_CACHE/"
chmod u+rwX -R "$EM_CACHE"
''
# Create bash array hadrianFlagsArray for use in buildPhase. Do it in
# preConfigure, so overrideAttrs can be used to modify it effectively.
# hadrianSettings are passed via the command line so they are more visible
Expand All @@ -345,6 +352,8 @@ stdenv.mkDerivation ({
)
'';

${if targetPlatform.isGhcjs then "configureScript" else null} = "emconfigure ./configure";

# TODO(@Ericson2314): Always pass "--target" and always prefix.
configurePlatforms = [ "build" "host" ]
++ lib.optional (targetPlatform != hostPlatform) "target";
Expand All @@ -353,7 +362,7 @@ stdenv.mkDerivation ({
configureFlags = [
"--datadir=$doc/share/doc/ghc"
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
] ++ lib.optionals (libffi != null) [
] ++ lib.optionals (libffi != null && !targetPlatform.isGhcjs) [
"--with-system-libffi"
"--with-ffi-includes=${targetPackages.libffi.dev}/include"
"--with-ffi-libraries=${targetPackages.libffi.out}/lib"
Expand Down Expand Up @@ -392,6 +401,9 @@ stdenv.mkDerivation ({
autoSignDarwinBinariesHook
] ++ lib.optionals enableDocs [
sphinx
] ++ lib.optionals targetPlatform.isGhcjs [
# emscripten itself is added via depBuildTarget / targetCC
python3
];

# For building runtime libs
Expand Down Expand Up @@ -450,7 +462,7 @@ stdenv.mkDerivation ({
preInstall = ''
pushd _build/bindist/*

./configure $configureFlags "''${configureFlagsArray[@]}"
$configureScript $configureFlags "''${configureFlagsArray[@]}"
'';

postInstall = ''
Expand Down
6 changes: 3 additions & 3 deletions pkgs/development/compilers/ghc/head.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import ./common-hadrian.nix {
version = "9.5.20220921";
rev = "2463df2fe21b5b37ecada3df8c6726c534d24590";
sha256 = "1k2h4myqbs31fdzw5n4iw0qn44mp7d33kjwrr15ix4r54r8yskzs";
version = "9.7.20221224";
rev = "a5bd0eb8dd1d03c54e1b0b476ebbc4cc886d6f19";
sha256 = "1rrds9alzpy4vyh2isan32h1zmf44nsr8552wbsn1y3fg6bnpbxi";
}
4 changes: 3 additions & 1 deletion pkgs/development/compilers/openjdk/19.nix
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
, libXi, libXinerama, libXcursor, libXrandr, fontconfig, openjdk19-bootstrap
, ensureNewerSourcesForZipFilesHook
, setJavaClassPath
, headless ? false
# TODO(@sternenseemann): gtk3 fails to evaluate in pkgsCross.ghcjs.buildPackages
# which should be fixable, this is a no-rebuild workaround for GHC.
, headless ? stdenv.targetPlatform.isGhcjs
, enableJavaFX ? openjfx.meta.available, openjfx
, enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf
}:
Expand Down
4 changes: 3 additions & 1 deletion pkgs/development/compilers/temurin-bin/jdk-linux-base.nix
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@
# runtime dependencies
, cups
# runtime dependencies for GTK+ Look and Feel
, gtkSupport ? true
# TODO(@sternenseemann): gtk3 fails to evaluate in pkgsCross.ghcjs.buildPackages
# which should be fixable, this is a no-rebuild workaround for GHC.
, gtkSupport ? !stdenv.targetPlatform.isGhcjs
, cairo
, glib
, gtk3
Expand Down
50 changes: 12 additions & 38 deletions pkgs/development/haskell-modules/configuration-common.nix
Original file line number Diff line number Diff line change
Expand Up @@ -216,10 +216,6 @@ self: super: {
# https://github.com/haskell-nix/hnix-store/issues/180
hnix-store-core = doJailbreak super.hnix-store-core;

# Too strict upper bound on bytestring
# https://github.com/wangbj/hashing/issues/3
hashing = doJailbreak super.hashing;

# Fails for non-obvious reasons while attempting to use doctest.
focuslist = dontCheck super.focuslist;
search = dontCheck super.search;
Expand Down Expand Up @@ -1460,16 +1456,6 @@ self: super: {
servant-swagger-ui-core = doJailbreak super.servant-swagger-ui-core;

hercules-ci-agent = lib.pipe super.hercules-ci-agent [
(appendPatches [
# haskell-updates branch, will be merged in 0.9.10
(fetchpatch2 {
name = "hercules-ci-agent-cachix-1.1";
url = "https://github.com/hercules-ci/hercules-ci-agent/commit/b76d888548da37a96ae47f1be871de6605d38edd.patch";
sha256 = "sha256-kqEkDHbatcYS8LuQlGV/1j/6LXWviQoDQAHDr6DBbDU=";
stripLen = 1;
includes = [ "*.hs" ];
})
])
(self.generateOptparseApplicativeCompletions [ "hercules-ci-agent" ])
];

Expand Down Expand Up @@ -1913,18 +1899,6 @@ self: super: {
# 2022-12-30: Restrictive upper bound on optparse-applicative
retrie = doJailbreak super.retrie;

# Fixes https://github.com/NixOS/nixpkgs/issues/140613
# https://github.com/recursion-schemes/recursion-schemes/issues/128
recursion-schemes = overrideCabal (drv: {
patches = drv.patches or [] ++ [
./patches/recursion-schemes-128.patch
];
# make sure line endings don't break the patch
prePatch = drv.prePatch or "" + ''
"${pkgs.buildPackages.dos2unix}/bin/dos2unix" *.cabal
'';
}) super.recursion-schemes;

# 2022-08-30 Too strict bounds on finite-typelits
# https://github.com/jumper149/blucontrol/issues/1
blucontrol = doJailbreak super.blucontrol;
Expand Down Expand Up @@ -2003,12 +1977,6 @@ self: super: {
"--skip" "/toJsonSerializer/should generate valid JSON/"
] ++ drv.testFlags or [];
}) super.hschema-aeson;
# https://gitlab.com/k0001/xmlbf/-/issues/32
xmlbf = overrideCabal (drv: {
testFlags = [
"-p" "!/xml: <x b=\"\" a=\"y\"><\\/x>/&&!/xml: <x b=\"z\" a=\"y\"><\\/x>/"
] ++ drv.testFlags or [];
}) super.xmlbf;
# https://github.com/ssadler/aeson-quick/issues/3
aeson-quick = overrideCabal (drv: {
testFlags = [
Expand Down Expand Up @@ -2142,12 +2110,6 @@ self: super: {
# https://github.com/zellige/hs-geojson/issues/29
geojson = dontCheck super.geojson;

# Doesn't support aeson >= 2.0
# https://github.com/channable/vaultenv/issues/118
vaultenv = super.vaultenv.overrideScope (self: super: {
aeson = self.aeson_1_5_6_0;
});

# Support network >= 3.1.2
# https://github.com/erebe/wstunnel/pull/107
wstunnel = appendPatch (fetchpatch {
Expand Down Expand Up @@ -2363,4 +2325,16 @@ self: super: {
} super.postgrest));

html-charset = dontCheck super.html-charset;

# true-name-0.1.0.4 has been tagged, but has not been released to Hackage.
# Also, beyond 0.1.0.4 an additional patch is required to make true-name
# compatible with current versions of template-haskell
# https://github.com/liyang/true-name/pull/4
true-name = appendPatch (fetchpatch {
url = "https://github.com/liyang/true-name/compare/0.1.0.3...nuttycom:true-name:update_template_haskell.patch";
hash = "sha256-ZMBXGGc2X5AKXYbqgkLXkg5BhEwyj022E37sUEWahtc=";
}) (overrideCabal (drv: {
revision = null;
editedCabalFile = null;
}) super.true-name);
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
2 changes: 0 additions & 2 deletions pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,6 @@ in {

# consequences of doctest breakage follow:

double-conversion = markBroken super.double-conversion;
blaze-textual = checkAgainAfter super.double-conversion "2.0.4.1" "double-conversion fails to build; required for testsuite" (dontCheck super.blaze-textual);
ghc-source-gen = checkAgainAfter super.ghc-source-gen "0.4.3.0" "fails to build" (markBroken super.ghc-source-gen);

lucid = jailbreakForCurrentVersion super.lucid "2.11.1";
Expand Down
Loading