Merge master into staging-next

This commit is contained in:
github-actions[bot] 2021-07-17 06:01:21 +00:00 committed by GitHub
commit ee007cdc35
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
36 changed files with 1512 additions and 1846 deletions

View file

@ -12,4 +12,4 @@ dont-distribute-packages:
EOF
echo "Regenerating list of transitive broken packages ..."
echo -e $(nix-instantiate --eval --strict maintainers/scripts/haskell/transitive-broken-packages.nix) | sed 's/\"//' | sort -i >> $config_file
echo -e $(nix-instantiate --eval --strict maintainers/scripts/haskell/transitive-broken-packages.nix) | sed 's/\"//' | LC_ALL=C.UTF-8 sort -i >> $config_file

View file

@ -2,6 +2,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
let
hello-world = pkgs.writeText "hello-world" ''
{-# OPTIONS --guardedness #-}
open import IO
open import Level
@ -35,10 +36,6 @@ in
machine.succeed("touch TestEmpty.agda")
machine.succeed("agda TestEmpty.agda")
# Minimal script that actually uses the standard library
machine.succeed('echo "import IO" > TestIO.agda')
machine.succeed("agda -l standard-library -i . TestIO.agda")
# Hello world
machine.succeed(
"cp ${hello-world} HelloWorld.agda"

View file

@ -13,10 +13,10 @@ let
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
sha256 = {
x86_64-linux = "16hzhmsh9nv2brpzx8wnz08sanf0v6f3ln5hqgzxck0pafbzqyl5";
x86_64-darwin = "1a44fm5fx0zqlfr344mvc0m9hbd0vxd6s489pmh8x7m7q3sadi7j";
aarch64-linux = "082gjmnlvk12vkcxbpsd4xfgs38qbxkfawq9kyl3p7i8y6anrd4i";
armv7l-linux = "0zs66qmlq65166s34qjr6gppxvl5hyz1mjwxc97mki2c6y61fp28";
x86_64-linux = "11h4c5ghgn3qrg66jh2par3cl3fqzn9xb7gdniww4badnyajnij8";
x86_64-darwin = "0hd3qdxg4cknk3fxv509jlblwmfx65bm2a4arsg255224dpg64n2";
aarch64-linux = "0waakj413kqf68sawajd3n24qdbx6b2svyb4lgbn0sy1apc96s3c";
armv7l-linux = "1ij2bmsk601f1vjljj6gvxsxrcjqf2m74s9kc006hmcz7czjgk8f";
}.${system};
sourceRoot = {
@ -31,7 +31,7 @@ in
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
version = "1.58.1";
version = "1.58.2";
pname = "vscodium";
executableName = "codium";

View file

@ -52,5 +52,10 @@ stdenv.mkDerivation rec {
license = licenses.mit;
maintainers = with maintainers; [ marsam mpickering ];
platforms = platforms.unix;
# Broken due to Agda update. See
# https://github.com/NixOS/nixpkgs/pull/129606#issuecomment-881107449.
broken = true;
hydraPlatforms = platforms.none;
};
}

View file

@ -193,7 +193,7 @@ let
'';
in runCommand "test-writers" {
passthru = { inherit writeTest bin simple; };
passthru = { inherit writeTest bin simple path; };
meta.platforms = lib.platforms.all;
} ''
${lib.concatMapStringsSep "\n" (test: writeTest "success" test.name "${test}/bin/${test.name}") (lib.attrValues bin)}

View file

@ -1,6 +1,6 @@
{
"commit": "080786cc20b9223cc5c1dc04d3e47ce3ad0b0f36",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/080786cc20b9223cc5c1dc04d3e47ce3ad0b0f36.tar.gz",
"sha256": "0shv10s208nazb7q36vsx6a4sy7a14qikad4b984r9gz3j6g7l62",
"msg": "Update from Hackage at 2021-07-02T10:49:03Z"
"commit": "360e4a3b93ab9fc49673c9d91eebd963ddd7e132",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/360e4a3b93ab9fc49673c9d91eebd963ddd7e132.tar.gz",
"sha256": "0pzi0kjlma36s0z5wfcghn6h6lwx61vvq8f7322nz80fs4drpn64",
"msg": "Update from Hackage at 2021-07-07T20:16:30Z"
}

View file

@ -1,6 +1,5 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pantheon
, pkg-config
@ -12,11 +11,12 @@
, gtk3
, granite
, libgee
, libhandy
, elementary-icon-theme
, appstream
, libpeas
, editorconfig-core-c
, gtksourceview3
, gtksourceview4
, gtkspell3
, libsoup
, vte
@ -25,11 +25,12 @@
, ctags
, libgit2-glib
, wrapGAppsHook
, polkit
}:
stdenv.mkDerivation rec {
pname = "elementary-code";
version = "3.4.1";
version = "6.0.0";
repoName = "code";
@ -37,17 +38,9 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "sha256-4AEayj+K/lOW6jEYmvmdan1kTqqqLL1YzwcU7/3PH5U=";
sha256 = "1w1m52mq3zr9alkxk1c0s4ncscka1km5ppd0r6zm86qan9cjwq0f";
};
patches = [
# Fix build with latest Vala.
(fetchpatch {
url = "https://github.com/elementary/code/commit/c50580d3336296823da9a2c50b824f21fde50286.patch";
sha256 = "F+ZYlnZWYCU68G4oayLfbTnvSnTb4YA0zHVGD/Uf3KA=";
})
];
passthru = {
updateScript = nix-update-script {
attrPath = "pantheon.${pname}";
@ -60,6 +53,10 @@ stdenv.mkDerivation rec {
meson
ninja
pkg-config
# polkit is needed for ITS rules
polkit
python3
vala
wrapGAppsHook
@ -71,10 +68,11 @@ stdenv.mkDerivation rec {
elementary-icon-theme
granite
gtk3
gtksourceview3
gtksourceview4
gtkspell3
libgee
libgit2-glib
libhandy
libpeas
libsoup
vte

View file

@ -12,6 +12,7 @@
, gtk3
, libxml2
, granite
, libhandy
, libnotify
, vte
, libgee
@ -23,7 +24,7 @@
stdenv.mkDerivation rec {
pname = "elementary-terminal";
version = "5.5.2";
version = "6.0.0";
repoName = "terminal";
@ -31,7 +32,7 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "sha256-giVmL0zYEVYJ40ZBQ9dDb4hOx4HaYRt7tUTOu37lMYU=";
sha256 = "08akr4sv4jy9kd4s26kib6j7i8hc3vs0sp71fifv7ww4mi9cm6jc";
};
passthru = {
@ -57,6 +58,7 @@ stdenv.mkDerivation rec {
granite
gtk3
libgee
libhandy
libnotify
pcre2
vte

View file

@ -1,6 +1,7 @@
{ lib, stdenv
, fetchurl, perl, gcc
, ncurses6, gmp, glibc, libiconv, numactl
, ncurses5
, ncurses6, gmp, libiconv, numactl
, llvmPackages
# minimal = true; will remove files that aren't strictly necessary for
@ -14,68 +15,191 @@
assert stdenv.targetPlatform == stdenv.hostPlatform;
let
downloadsUrl = "https://downloads.haskell.org/ghc";
version = "8.10.2";
# Information about available bindists that we use in the build.
#
# # Bindist library checking
#
# The field `archSpecificLibraries` also provides a way for us get notified
# early when the upstream bindist changes its dependencies (e.g. because a
# newer Debian version is used that uses a new `ncurses` version).
#
# Usage:
#
# * You can find the `fileToCheckFor` of libraries by running `readelf -d`
# on the compiler binary (`exePathForLibraryCheck`).
# * To skip library checking for an architecture,
# set `exePathForLibraryCheck = null`.
# * To skip file checking for a specific arch specfic library,
# set `fileToCheckFor = null`.
ghcBinDists = {
# Binary distributions for the default libc (e.g. glibc, or libSystem on Darwin)
# nixpkgs uses for the respective system.
defaultLibc = {
i686-linux = {
src = {
url = "${downloadsUrl}/${version}/ghc-${version}-i386-deb9-linux.tar.xz";
sha256 = "0bvwisl4w0z5z8z0da10m9sv0mhm9na2qm43qxr8zl23mn32mblx";
};
exePathForLibraryCheck = "ghc/stage2/build/tmp/ghc-stage2";
archSpecificLibraries = [
# The i686-linux bindist provided by GHC HQ is currently built on Debian 9,
# which link it against `libtinfo.so.5` (ncurses 5).
# Other bindists are linked `libtinfo.so.6` (ncurses 6).
{ nixPackage = ncurses5; fileToCheckFor = "libtinfo.so.5"; }
];
};
x86_64-linux = {
src = {
url = "${downloadsUrl}/${version}/ghc-${version}-x86_64-deb10-linux.tar.xz";
sha256 = "0chnzy9j23b2wa8clx5arwz8wnjfxyjmz9qkj548z14cqf13slcl";
};
exePathForLibraryCheck = "ghc/stage2/build/tmp/ghc-stage2";
archSpecificLibraries = [
{ nixPackage = ncurses6; fileToCheckFor = "libtinfo.so.6"; }
];
};
armv7l-linux = {
src = {
url = "${downloadsUrl}/${version}/ghc-${version}-armv7-deb10-linux.tar.xz";
sha256 = "1j41cq5d3rmlgz7hzw8f908fs79gc5mn3q5wz277lk8zdf19g75v";
};
exePathForLibraryCheck = "ghc/stage2/build/tmp/ghc-stage2";
archSpecificLibraries = [
{ nixPackage = ncurses6; fileToCheckFor = "libtinfo.so.6"; }
];
};
aarch64-linux = {
src = {
url = "${downloadsUrl}/${version}/ghc-${version}-aarch64-deb10-linux.tar.xz";
sha256 = "14smwl3741ixnbgi0l51a7kh7xjkiannfqx15b72svky0y4l3wjw";
};
exePathForLibraryCheck = "ghc/stage2/build/tmp/ghc-stage2";
archSpecificLibraries = [
{ nixPackage = ncurses6; fileToCheckFor = "libtinfo.so.6"; }
{ nixPackage = numactl; fileToCheckFor = null; }
];
};
x86_64-darwin = {
src = {
url = "${downloadsUrl}/${version}/ghc-${version}-x86_64-apple-darwin.tar.xz";
sha256 = "1hngyq14l4f950hzhh2d204ca2gfc98pc9xdasxihzqd1jq75dzd";
};
exePathForLibraryCheck = null; # we don't have a library check for darwin yet
archSpecificLibraries = [
{ nixPackage = ncurses6; fileToCheckFor = null; }
{ nixPackage = libiconv; fileToCheckFor = null; }
];
};
};
# Binary distributions for the musl libc for the respective system.
musl = {
x86_64-linux = {
src = {
url = "${downloadsUrl}/${version}/ghc-${version}-x86_64-alpine3.10-linux-integer-simple.tar.xz";
sha256 = "0xpcbyaxqyhbl6f0i3s4rp2jm67nqpkfh2qlbj3i2fiaix89ml0l";
};
exePathForLibraryCheck = "bin/ghc";
archSpecificLibraries = [
# In contrast to glibc builds, the musl-bindist uses `libncursesw.so.*`
# instead of `libtinfo.so.*.`
{ nixPackage = ncurses6; fileToCheckFor = "libncursesw.so.6"; }
];
};
};
};
distSetName = if stdenv.hostPlatform.isMusl then "musl" else "defaultLibc";
binDistUsed = ghcBinDists.${distSetName}.${stdenv.hostPlatform.system}
or (throw "cannot bootstrap GHC on this platform ('${stdenv.hostPlatform.system}' with libc '${distSetName}')");
useLLVM = !stdenv.targetPlatform.isx86;
libPath = lib.makeLibraryPath ([
ncurses6 gmp
] ++ lib.optional (stdenv.hostPlatform.isDarwin) libiconv
++ lib.optional (stdenv.hostPlatform.isAarch64) numactl);
libPath =
lib.makeLibraryPath (
[
gmp
]
# Add arch-specific libraries.
++ map ({ nixPackage, ... }: nixPackage) binDistUsed.archSpecificLibraries
);
libEnvVar = lib.optionalString stdenv.hostPlatform.isDarwin "DY"
+ "LD_LIBRARY_PATH";
glibcDynLinker = assert stdenv.isLinux;
if stdenv.hostPlatform.libc == "glibc" then
# Could be stdenv.cc.bintools.dynamicLinker, keeping as-is to avoid rebuild.
''"$(cat $NIX_CC/nix-support/dynamic-linker)"''
else
"${lib.getLib glibc}/lib/ld-linux*";
downloadsUrl = "https://downloads.haskell.org/ghc";
in
stdenv.mkDerivation rec {
version = "8.10.2";
inherit version;
name = "ghc-${version}-binary";
# https://downloads.haskell.org/~ghc/8.10.2/
src = fetchurl ({
i686-linux = {
url = "${downloadsUrl}/${version}/ghc-${version}-i386-deb9-linux.tar.xz";
sha256 = "0bvwisl4w0z5z8z0da10m9sv0mhm9na2qm43qxr8zl23mn32mblx";
};
x86_64-linux = {
url = "${downloadsUrl}/${version}/ghc-${version}-x86_64-deb10-linux.tar.xz";
sha256 = "0chnzy9j23b2wa8clx5arwz8wnjfxyjmz9qkj548z14cqf13slcl";
};
armv7l-linux = {
url = "${downloadsUrl}/${version}/ghc-${version}-armv7-deb10-linux.tar.xz";
sha256 = "1j41cq5d3rmlgz7hzw8f908fs79gc5mn3q5wz277lk8zdf19g75v";
};
aarch64-linux = {
url = "${downloadsUrl}/${version}/ghc-${version}-aarch64-deb10-linux.tar.xz";
sha256 = "14smwl3741ixnbgi0l51a7kh7xjkiannfqx15b72svky0y4l3wjw";
};
x86_64-darwin = {
url = "${downloadsUrl}/${version}/ghc-${version}-x86_64-apple-darwin.tar.xz";
sha256 = "1hngyq14l4f950hzhh2d204ca2gfc98pc9xdasxihzqd1jq75dzd";
};
}.${stdenv.hostPlatform.system}
or (throw "cannot bootstrap GHC on this platform"));
src = fetchurl binDistUsed.src;
nativeBuildInputs = [ perl ];
propagatedBuildInputs = lib.optionals useLLVM [ llvmPackages.llvm ];
propagatedBuildInputs =
lib.optionals useLLVM [ llvmPackages.llvm ]
# Because musl bindists currently provide no way to tell where
# libgmp is (see not [musl bindists have no .buildinfo]), we need
# to propagate `gmp`, otherwise programs built by this ghc will
# fail linking with `cannot find -lgmp` errors.
# Also, as of writing, the release pages of musl bindists claim
# that they use `integer-simple` and do not require `gmp`; however
# that is incorrect, so `gmp` is required until a release has been
# made that includes https://gitlab.haskell.org/ghc/ghc/-/issues/20059.
# (Note that for packaging the `-binary` compiler, nixpkgs does not care
# about whether or not `gmp` is used; this comment is just here to explain
# why the `gmp` dependency exists despite what the release page says.)
++ lib.optionals stdenv.hostPlatform.isMusl [ gmp ]; # musl bindist needs this
# Set LD_LIBRARY_PATH or equivalent so that the programs running as part
# of the bindist installer can find the libraries they expect.
# Cannot patchelf beforehand due to relative RPATHs that anticipate
# the final install location/
# the final install location.
${libEnvVar} = libPath;
postUnpack =
# Verify our assumptions of which `libtinfo.so` (ncurses) version is used,
# so that we know when ghc bindists upgrade that and we need to update the
# version used in `libPath`.
lib.optionalString
(binDistUsed.exePathForLibraryCheck != null)
# Note the `*` glob because some GHCs have a suffix when unpacked, e.g.
# the musl bindist has dir `ghc-VERSION-x86_64-unknown-linux/`.
# As a result, don't shell-quote this glob when splicing the string.
(let buildExeGlob = ''ghc-${version}*/"${binDistUsed.exePathForLibraryCheck}"''; in
lib.concatStringsSep "\n" [
(''
echo "Checking that ghc binary exists in bindist at ${buildExeGlob}"
if ! test -e ${buildExeGlob}; then
echo >&2 "GHC binary ${binDistUsed.exePathForLibraryCheck} could not be found in the bindist build directory (at ${buildExeGlob}) for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1;
fi
'')
(lib.concatMapStringsSep
"\n"
({ fileToCheckFor, nixPackage }:
lib.optionalString (fileToCheckFor != null) ''
echo "Checking bindist for ${fileToCheckFor} to ensure that is still used"
if ! readelf -d ${buildExeGlob} | grep "${fileToCheckFor}"; then
echo >&2 "File ${fileToCheckFor} could not be found in ${binDistUsed.exePathForLibraryCheck} for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1;
fi
echo "Checking that the nix package ${nixPackage} contains ${fileToCheckFor}"
if ! test -e "${lib.getLib nixPackage}/lib/${fileToCheckFor}"; then
echo >&2 "Nix package ${nixPackage} did not contain ${fileToCheckFor} for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1;
fi
''
)
binDistUsed.archSpecificLibraries
)
])
# GHC has dtrace probes, which causes ld to try to open /usr/lib/libdtrace.dylib
# during linking
lib.optionalString stdenv.isDarwin ''
+ lib.optionalString stdenv.isDarwin ''
export NIX_LDFLAGS+=" -no_dtrace_dof"
# not enough room in the object files for the full path to libiconv :(
for exe in $(find . -type f -executable); do
@ -91,6 +215,9 @@ stdenv.mkDerivation rec {
patchShebangs ghc-${version}/configure
'' +
# We have to patch the GMP paths for the integer-gmp package.
# Note [musl bindists have no .buildinfo]
# Note that musl bindists do not contain them; unclear if that's intended;
# see: https://gitlab.haskell.org/ghc/ghc/-/issues/20073#note_363231
''
find . -name integer-gmp.buildinfo \
-exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp.out}/lib@" {} \;
@ -106,21 +233,8 @@ stdenv.mkDerivation rec {
'' +
# Rename needed libraries and binaries, fix interpreter
lib.optionalString stdenv.isLinux ''
find . -type f -perm -0100 -exec patchelf \
--replace-needed libncurses${lib.optionalString stdenv.is64bit "w"}.so.6 libncurses.so \
--interpreter ${glibcDynLinker} {} \;
sed -i "s|/usr/bin/perl|perl\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
sed -i "s|/usr/bin/gcc|gcc\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
'' +
# We're kludging a glibc bindist into working with non-glibc...
# Here we patch up the use of `__strdup` (part of glibc binary ABI)
# to instead use `strdup` since musl doesn't provide __strdup
# (`__strdup` is defined to be an alias of `strdup` anyway[1]).
# [1] http://refspecs.linuxbase.org/LSB_4.0.0/LSB-Core-generic/LSB-Core-generic/baselib---strdup-1.html
# Use objcopy magic to make the change:
lib.optionalString stdenv.hostPlatform.isMusl ''
find ./ghc-${version}/rts -name "libHSrts*.a" -exec ''${OBJCOPY:-objcopy} --redefine-sym __strdup=strdup {} \;
find . -type f -executable -exec patchelf \
--interpreter ${stdenv.cc.bintools.dynamicLinker} {} \;
'';
# fix for `configure: error: Your linker is affected by binutils #16177`
@ -130,15 +244,33 @@ stdenv.mkDerivation rec {
configurePlatforms = [ ];
configureFlags = [
"--with-gmp-libraries=${lib.getLib gmp}/lib"
"--with-gmp-includes=${lib.getDev gmp}/include"
# Note `--with-gmp-libraries` does nothing for GHC bindists:
# https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6124
] ++ lib.optional stdenv.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}"
# From: https://github.com/NixOS/nixpkgs/pull/43369/commits
++ lib.optional stdenv.hostPlatform.isMusl "--disable-ld-override";
# No building is necessary, but calling make without flags ironically
# calls install-strip ...
dontBuild = true;
# Apparently necessary for the ghc Alpine (musl) bindist:
# When we strip, and then run the
# patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $p)" $p
# below, running ghc (e.g. during `installCheckPhase)` gives some apparently
# corrupted rpath or whatever makes the loader work on nonsensical strings:
# running install tests
# Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: : symbol not found
# Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: ir6zf6c9f86pfx8sr30n2vjy-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/../lib/x86_64-linux-ghc-8.10.5/libHSexceptions-0.10.4-ghc8.10.5.so: symbol not found
# Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: y/lib/ghc-8.10.5/bin/../lib/x86_64-linux-ghc-8.10.5/libHStemplate-haskell-2.16.0.0-ghc8.10.5.so: symbol not found
# Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: 8.10.5/libHStemplate-haskell-2.16.0.0-ghc8.10.5.so: symbol not found
# Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: <20>: symbol not found
# Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: <20>?: symbol not found
# Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: 64-linux-ghc-8.10.5/libHSexceptions-0.10.4-ghc8.10.5.so: symbol not found
# This is extremely bogus and should be investigated.
dontStrip = if stdenv.hostPlatform.isMusl then true else false; # `if` for explicitness
# On Linux, use patchelf to modify the executables so that they can
# find editline/gmp.
postFixup = lib.optionalString stdenv.isLinux
@ -186,13 +318,23 @@ stdenv.mkDerivation rec {
find $out -type f -name '*.p_o' -delete
find $out -type f -name '*.p_hi' -delete
find $out -type f -name '*_p.a' -delete
rm $out/lib/ghc-*/bin/ghc-iserv-prof
# `-f` because e.g. musl bindist does not have this file.
rm -f $out/lib/ghc-*/bin/ghc-iserv-prof
# Hydra will redistribute this derivation, so we have to keep the docs for
# legal reasons (retaining the legal notices etc)
# As a last resort we could unpack the docs separately and symlink them in.
# They're in $out/share/{doc,man}.
'';
# In nixpkgs, musl based builds currently enable `pie` hardening by default
# (see `defaultHardeningFlags` in `make-derivation.nix`).
# But GHC cannot currently produce outputs that are ready for `-pie` linking.
# Thus, disable `pie` hardening, otherwise `recompile with -fPIE` errors appear.
# See:
# * https://github.com/NixOS/nixpkgs/issues/129247
# * https://gitlab.haskell.org/ghc/ghc/-/issues/19580
hardeningDisable = lib.optional stdenv.targetPlatform.isMusl "pie";
doInstallCheck = true;
installCheckPhase = ''
unset ${libEnvVar}
@ -221,7 +363,16 @@ stdenv.mkDerivation rec {
homepage = "http://haskell.org/ghc";
description = "The Glasgow Haskell Compiler";
license = lib.licenses.bsd3;
platforms = ["x86_64-linux" "armv7l-linux" "aarch64-linux" "i686-linux" "x86_64-darwin"];
# HACK: since we can't encode the libc / abi in platforms, we need
# to make the platform list dependent on the evaluation platform
# in order to avoid eval errors with musl which supports less
# platforms than the default libcs (i. e. glibc / libSystem).
# This is done for the benefit of Hydra, so `packagePlatforms`
# won't return any platforms that would cause an evaluation
# failure for `pkgsMusl.haskell.compiler.ghc8102Binary`, as
# long as the evaluator runs on a platform that supports
# `pkgsMusl`.
platforms = builtins.attrNames ghcBinDists.${distSetName};
hydraPlatforms = builtins.filter (p: minimal || p != "aarch64-linux") platforms;
maintainers = with lib.maintainers; [ lostnet ];
};

View file

@ -38,6 +38,20 @@
ghcFlavour ? lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
(if useLLVM then "perf-cross" else "perf-cross-ncg")
, # Whether to build sphinx documentation.
enableDocs ? (
# Docs disabled for musl and cross because it's a large task to keep
# all `sphinx` dependencies building in those environments.
# `sphinx` pulls in among others:
# Ruby, Python, Perl, Rust, OpenGL, Xorg, gtk, LLVM.
(stdenv.targetPlatform == stdenv.hostPlatform)
&& !stdenv.hostPlatform.isMusl
)
, enableHaddockProgram ?
# Disabled for cross; see note [HADDOCK_DOCS].
(stdenv.targetPlatform == stdenv.hostPlatform)
, # Whether to disable the large address space allocator
# necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
@ -45,6 +59,10 @@
assert !enableIntegerSimple -> gmp != null;
# Cross cannot currently build the `haddock` program for silly reasons,
# see note [HADDOCK_DOCS].
assert (stdenv.targetPlatform != stdenv.hostPlatform) -> !enableHaddockProgram;
let
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
@ -60,14 +78,26 @@ let
ifneq \"\$(BuildFlavour)\" \"\"
include mk/flavours/\$(BuildFlavour).mk
endif
BUILD_SPHINX_HTML = ${if enableDocs then "YES" else "NO"}
BUILD_SPHINX_PDF = NO
'' +
# Note [HADDOCK_DOCS]:
# Unfortunately currently `HADDOCK_DOCS` controls both whether the `haddock`
# program is built (which we generally always want to have a complete GHC install)
# and whether it is run on the GHC sources to generate hyperlinked source code
# (which is impossible for cross-compilation); see:
# https://gitlab.haskell.org/ghc/ghc/-/issues/20077
# This implies that currently a cross-compiled GHC will never have a `haddock`
# program, so it can never generate haddocks for any packages.
# If this is solved in the future, we'd like to unconditionally
# build the haddock program (removing the `enableHaddockProgram` option).
''
HADDOCK_DOCS = ${if enableHaddockProgram then "YES" else "NO"}
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
'' + lib.optionalString (targetPlatform != hostPlatform) ''
Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
CrossCompilePrefix = ${targetPrefix}
HADDOCK_DOCS = NO
BUILD_SPHINX_HTML = NO
BUILD_SPHINX_PDF = NO
'' + lib.optionalString (!enableProfiledLibs) ''
GhcLibWays = "v dyn"
'' + lib.optionalString enableRelocatedStaticLibs ''
@ -217,8 +247,10 @@ stdenv.mkDerivation (rec {
dontAddExtraLibs = true;
nativeBuildInputs = [
perl autoconf automake m4 python3 sphinx
perl autoconf automake m4 python3
ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
] ++ lib.optionals enableDocs [
sphinx
];
# For building runtime libs
@ -238,7 +270,16 @@ stdenv.mkDerivation (rec {
checkTarget = "test";
hardeningDisable = [ "format" ] ++ lib.optional stdenv.targetPlatform.isMusl "pie";
hardeningDisable =
[ "format" ]
# In nixpkgs, musl based builds currently enable `pie` hardening by default
# (see `defaultHardeningFlags` in `make-derivation.nix`).
# But GHC cannot currently produce outputs that are ready for `-pie` linking.
# Thus, disable `pie` hardening, otherwise `recompile with -fPIE` errors appear.
# See:
# * https://github.com/NixOS/nixpkgs/issues/129247
# * https://gitlab.haskell.org/ghc/ghc/-/issues/19580
++ lib.optional stdenv.targetPlatform.isMusl "pie";
postInstall = ''
# Install the bash completion file.

View file

@ -121,8 +121,9 @@ stdenv.mkDerivation rec {
configurePlatforms = [ ];
configureFlags = [
"--with-gmp-libraries=${lib.getLib gmp}/lib"
"--with-gmp-includes=${lib.getDev gmp}/include"
# Note `--with-gmp-libraries` does nothing for GHC bindists:
# https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6124
] ++ lib.optional stdenv.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}"
++ lib.optional stdenv.hostPlatform.isMusl "--disable-ld-override";
@ -152,6 +153,15 @@ stdenv.mkDerivation rec {
done
'';
# In nixpkgs, musl based builds currently enable `pie` hardening by default
# (see `defaultHardeningFlags` in `make-derivation.nix`).
# But GHC cannot currently produce outputs that are ready for `-pie` linking.
# Thus, disable `pie` hardening, otherwise `recompile with -fPIE` errors appear.
# See:
# * https://github.com/NixOS/nixpkgs/issues/129247
# * https://gitlab.haskell.org/ghc/ghc/-/issues/19580
hardeningDisable = lib.optional stdenv.targetPlatform.isMusl "pie";
doInstallCheck = true;
installCheckPhase = ''
unset ${libEnvVar}
@ -180,5 +190,7 @@ stdenv.mkDerivation rec {
license = lib.licenses.bsd3;
platforms = ["x86_64-linux" "aarch64-linux" "i686-linux" "x86_64-darwin"];
hydraPlatforms = builtins.filter (p: p != "aarch64-linux") platforms;
# build segfaults, use ghc8102Binary which has proper musl support instead
broken = stdenv.hostPlatform.isMusl;
};
}

View file

@ -38,6 +38,20 @@
ghcFlavour ? lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
(if useLLVM then "perf-cross" else "perf-cross-ncg")
, # Whether to build sphinx documentation.
enableDocs ? (
# Docs disabled for musl and cross because it's a large task to keep
# all `sphinx` dependencies building in those environments.
# `sphinx` pullls in among others:
# Ruby, Python, Perl, Rust, OpenGL, Xorg, gtk, LLVM.
(stdenv.targetPlatform == stdenv.hostPlatform)
&& !stdenv.hostPlatform.isMusl
)
, enableHaddockProgram ?
# Disabled for cross; see note [HADDOCK_DOCS].
(stdenv.targetPlatform == stdenv.hostPlatform)
, # Whether to disable the large address space allocator
# necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
@ -45,6 +59,10 @@
assert !enableIntegerSimple -> gmp != null;
# Cross cannot currently build the `haddock` program for silly reasons,
# see note [HADDOCK_DOCS].
assert (stdenv.targetPlatform != stdenv.hostPlatform) -> !enableHaddockProgram;
let
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
@ -60,6 +78,21 @@ let
ifneq \"\$(BuildFlavour)\" \"\"
include mk/flavours/\$(BuildFlavour).mk
endif
BUILD_SPHINX_HTML = ${if enableDocs then "YES" else "NO"}
BUILD_SPHINX_PDF = NO
'' +
# Note [HADDOCK_DOCS]:
# Unfortunately currently `HADDOCK_DOCS` controls both whether the `haddock`
# program is built (which we generally always want to have a complete GHC install)
# and whether it is run on the GHC sources to generate hyperlinked source code
# (which is impossible for cross-compilation); see:
# https://gitlab.haskell.org/ghc/ghc/-/issues/20077
# This implies that currently a cross-compiled GHC will never have a `haddock`
# program, so it can never generate haddocks for any packages.
# If this is solved in the future, we'd like to unconditionally
# build the haddock program (removing the `enableHaddockProgram` option).
''
HADDOCK_DOCS = ${if enableHaddockProgram then "YES" else "NO"}
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
''
@ -72,9 +105,6 @@ let
+ lib.optionalString (targetPlatform != hostPlatform) ''
Stage1Only = ${if (targetPlatform.system == hostPlatform.system && !targetPlatform.isiOS) then "NO" else "YES"}
CrossCompilePrefix = ${targetPrefix}
HADDOCK_DOCS = NO
BUILD_SPHINX_HTML = NO
BUILD_SPHINX_PDF = NO
'' + lib.optionalString dontStrip ''
STRIP_CMD = :
'' + lib.optionalString (!enableProfiledLibs) ''
@ -142,11 +172,14 @@ stdenv.mkDerivation (rec {
postPatch = "patchShebangs .";
# GHC is a bit confused on its cross terminology.
preConfigure = lib.optionalString stdenv.isAarch64 ''
preConfigure =
# Aarch64 allow backward bootstrapping since earlier versions are unstable.
find . -name \*\.cabal\* -exec sed -i -e 's/\(base.*\)4.14/\14.16/' {} \; \
-exec sed -i -e 's/\(prim.*\)0.6/\10.8/' {} \;
'' + ''
# Same for musl, as earlier versions do not provide a musl bindist for bootstrapping.
lib.optionalString (stdenv.isAarch64 || stdenv.hostPlatform.isMusl) ''
find . -name \*\.cabal\* -exec sed -i -e 's/\(base.*\)4.14/\14.16/' {} \; \
-exec sed -i -e 's/\(prim.*\)0.6/\10.8/' {} \;
''
+ ''
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
export "''${env#TARGET_}=''${!env}"
done
@ -224,8 +257,10 @@ stdenv.mkDerivation (rec {
dontAddExtraLibs = true;
nativeBuildInputs = [
perl autoconf automake m4 python3 sphinx
perl autoconf automake m4 python3
ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
] ++ lib.optionals enableDocs [
sphinx
];
# For building runtime libs
@ -245,7 +280,16 @@ stdenv.mkDerivation (rec {
checkTarget = "test";
hardeningDisable = [ "format" ] ++ lib.optional stdenv.targetPlatform.isMusl "pie";
hardeningDisable =
[ "format" ]
# In nixpkgs, musl based builds currently enable `pie` hardening by default
# (see `defaultHardeningFlags` in `make-derivation.nix`).
# But GHC cannot currently produce outputs that are ready for `-pie` linking.
# Thus, disable `pie` hardening, otherwise `recompile with -fPIE` errors appear.
# See:
# * https://github.com/NixOS/nixpkgs/issues/129247
# * https://gitlab.haskell.org/ghc/ghc/-/issues/19580
++ lib.optional stdenv.targetPlatform.isMusl "pie";
postInstall = ''
# Install the bash completion file.

View file

@ -39,6 +39,20 @@
ghcFlavour ? lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
(if useLLVM then "perf-cross" else "perf-cross-ncg")
, # Whether to build sphinx documentation.
enableDocs ? (
# Docs disabled for musl and cross because it's a large task to keep
# all `sphinx` dependencies building in those environments.
# `sphinx` pullls in among others:
# Ruby, Python, Perl, Rust, OpenGL, Xorg, gtk, LLVM.
(stdenv.targetPlatform == stdenv.hostPlatform)
&& !stdenv.hostPlatform.isMusl
)
, enableHaddockProgram ?
# Disabled for cross; see note [HADDOCK_DOCS].
(stdenv.targetPlatform == stdenv.hostPlatform)
, # Whether to disable the large address space allocator
# necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
@ -46,6 +60,10 @@
assert !enableIntegerSimple -> gmp != null;
# Cross cannot currently build the `haddock` program for silly reasons,
# see note [HADDOCK_DOCS].
assert (stdenv.targetPlatform != stdenv.hostPlatform) -> !enableHaddockProgram;
let
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
@ -61,14 +79,26 @@ let
ifneq \"\$(BuildFlavour)\" \"\"
include mk/flavours/\$(BuildFlavour).mk
endif
BUILD_SPHINX_HTML = ${if enableDocs then "YES" else "NO"}
BUILD_SPHINX_PDF = NO
'' +
# Note [HADDOCK_DOCS]:
# Unfortunately currently `HADDOCK_DOCS` controls both whether the `haddock`
# program is built (which we generally always want to have a complete GHC install)
# and whether it is run on the GHC sources to generate hyperlinked source code
# (which is impossible for cross-compilation); see:
# https://gitlab.haskell.org/ghc/ghc/-/issues/20077
# This implies that currently a cross-compiled GHC will never have a `haddock`
# program, so it can never generate haddocks for any packages.
# If this is solved in the future, we'd like to unconditionally
# build the haddock program (removing the `enableHaddockProgram` option).
''
HADDOCK_DOCS = ${if enableHaddockProgram then "YES" else "NO"}
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
'' + lib.optionalString (targetPlatform != hostPlatform) ''
Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
CrossCompilePrefix = ${targetPrefix}
HADDOCK_DOCS = NO
BUILD_SPHINX_HTML = NO
BUILD_SPHINX_PDF = NO
'' + lib.optionalString (!enableProfiledLibs) ''
GhcLibWays = "v dyn"
'' + lib.optionalString enableRelocatedStaticLibs ''
@ -143,7 +173,7 @@ stdenv.mkDerivation (rec {
echo -n "${buildMK}" > mk/build.mk
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
'' + lib.optionalString (stdenv.isLinux) ''
'' + lib.optionalString (stdenv.isLinux && hostPlatform.libc == "glibc") ''
export LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive"
'' + lib.optionalString (!stdenv.isDarwin) ''
export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
@ -204,8 +234,10 @@ stdenv.mkDerivation (rec {
dontAddExtraLibs = true;
nativeBuildInputs = [
perl autoconf automake m4 python3 sphinx
perl autoconf automake m4 python3
ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
] ++ lib.optionals enableDocs [
sphinx
];
# For building runtime libs
@ -225,7 +257,16 @@ stdenv.mkDerivation (rec {
checkTarget = "test";
hardeningDisable = [ "format" ] ++ lib.optional stdenv.targetPlatform.isMusl "pie";
hardeningDisable =
[ "format" ]
# In nixpkgs, musl based builds currently enable `pie` hardening by default
# (see `defaultHardeningFlags` in `make-derivation.nix`).
# But GHC cannot currently produce outputs that are ready for `-pie` linking.
# Thus, disable `pie` hardening, otherwise `recompile with -fPIE` errors appear.
# See:
# * https://github.com/NixOS/nixpkgs/issues/129247
# * https://gitlab.haskell.org/ghc/ghc/-/issues/19580
++ lib.optional stdenv.targetPlatform.isMusl "pie";
postInstall = ''
# Install the bash completion file.

View file

@ -46,6 +46,20 @@
ghcFlavour ? lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
(if useLLVM then "perf-cross" else "perf-cross-ncg")
, # Whether to build sphinx documentation.
enableDocs ? (
# Docs disabled for musl and cross because it's a large task to keep
# all `sphinx` dependencies building in those environments.
# `sphinx` pullls in among others:
# Ruby, Python, Perl, Rust, OpenGL, Xorg, gtk, LLVM.
(stdenv.targetPlatform == stdenv.hostPlatform)
&& !stdenv.hostPlatform.isMusl
)
, enableHaddockProgram ?
# Disabled for cross; see note [HADDOCK_DOCS].
(stdenv.targetPlatform == stdenv.hostPlatform)
, # Whether to disable the large address space allocator
# necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
@ -53,6 +67,10 @@
assert !enableNativeBignum -> gmp != null;
# Cross cannot currently build the `haddock` program for silly reasons,
# see note [HADDOCK_DOCS].
assert (stdenv.targetPlatform != stdenv.hostPlatform) -> !enableHaddockProgram;
let
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
@ -68,14 +86,26 @@ let
ifneq \"\$(BuildFlavour)\" \"\"
include mk/flavours/\$(BuildFlavour).mk
endif
BUILD_SPHINX_HTML = ${if enableDocs then "YES" else "NO"}
BUILD_SPHINX_PDF = NO
'' +
# Note [HADDOCK_DOCS]:
# Unfortunately currently `HADDOCK_DOCS` controls both whether the `haddock`
# program is built (which we generally always want to have a complete GHC install)
# and whether it is run on the GHC sources to generate hyperlinked source code
# (which is impossible for cross-compilation); see:
# https://gitlab.haskell.org/ghc/ghc/-/issues/20077
# This implies that currently a cross-compiled GHC will never have a `haddock`
# program, so it can never generate haddocks for any packages.
# If this is solved in the future, we'd like to unconditionally
# build the haddock program (removing the `enableHaddockProgram` option).
''
HADDOCK_DOCS = ${if enableHaddockProgram then "YES" else "NO"}
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
BIGNUM_BACKEND = ${if enableNativeBignum then "native" else "gmp"}
'' + lib.optionalString (targetPlatform != hostPlatform) ''
Stage1Only = ${if (targetPlatform.system == hostPlatform.system && !targetPlatform.isiOS) then "NO" else "YES"}
CrossCompilePrefix = ${targetPrefix}
HADDOCK_DOCS = NO
BUILD_SPHINX_HTML = NO
BUILD_SPHINX_PDF = NO
'' + lib.optionalString dontStrip ''
STRIP_CMD = :
'' + lib.optionalString (!enableProfiledLibs) ''
@ -221,8 +251,10 @@ stdenv.mkDerivation (rec {
dontAddExtraLibs = true;
nativeBuildInputs = [
perl autoconf autoreconfHook automake m4 python3 sphinx
perl autoconf autoreconfHook automake m4 python3
ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
] ++ lib.optionals enableDocs [
sphinx
];
# For building runtime libs
@ -242,7 +274,16 @@ stdenv.mkDerivation (rec {
checkTarget = "test";
hardeningDisable = [ "format" ] ++ lib.optional stdenv.targetPlatform.isMusl "pie";
hardeningDisable =
[ "format" ]
# In nixpkgs, musl based builds currently enable `pie` hardening by default
# (see `defaultHardeningFlags` in `make-derivation.nix`).
# But GHC cannot currently produce outputs that are ready for `-pie` linking.
# Thus, disable `pie` hardening, otherwise `recompile with -fPIE` errors appear.
# See:
# * https://github.com/NixOS/nixpkgs/issues/129247
# * https://gitlab.haskell.org/ghc/ghc/-/issues/19580
++ lib.optional stdenv.targetPlatform.isMusl "pie";
postInstall = ''
# Install the bash completion file.

View file

@ -8,10 +8,10 @@
}:
mkDerivation {
pname = "cabal2nix";
version = "unstable-2021-06-12";
version = "unstable-2021-07-08";
src = fetchzip {
url = "https://github.com/NixOS/cabal2nix/archive/01feffa0aeee835504e0c0ccf4bca2e33a698252.tar.gz";
sha256 = "0clckh0qqvjcb8szy1d6qqlxj6sqp28jc2p3vhzhkf95cv491si9";
url = "https://github.com/NixOS/cabal2nix/archive/b28902718d89f6a14a836d95a7093bc46e4f8bb5.tar.gz";
sha256 = "1jdbz0krwzzsl3vb10xgman642v49bbgwyl6dw3p9aw6s7a8nfgk";
};
isLibrary = true;
isExecutable = true;

View file

@ -1828,22 +1828,30 @@ EOT
# 2021-05-09: compilation requires patches from master,
# remove at next release (current is 0.1.0.4).
large-hashable = appendPatches super.large-hashable [
# Fix compilation of TH code for GHC >= 8.8
(pkgs.fetchpatch {
url = "https://github.com/factisresearch/large-hashable/commit/ee7afe4bd181cf15a324c7f4823f7a348e4a0e6b.patch";
sha256 = "1ha77v0bc6prxacxhpdfgcsgw8348gvhl9y81smigifgjbinphxv";
excludes = [
".travis.yml"
"stack**"
];
})
# Fix cpp invocation
(pkgs.fetchpatch {
url = "https://github.com/factisresearch/large-hashable/commit/7b7c2ed6ac6e096478e8ee00160fa9d220df853a.patch";
sha256 = "1sf9h3k8jbbgfshzrclaawlwx7k2frb09z2a64f93jhvk6ci6vgx";
})
];
large-hashable = overrideCabal super.large-hashable (drv: {
# fix line endings which are an issue all of a sudden for an unknown reason
prePatch = ''
find . -type f -print0 | xargs -0 ${pkgs.buildPackages.dos2unix}/bin/dos2unix
'' + (drv.prePatch or "");
# allow newer template haskell
jailbreak = true;
patches = [
# Fix compilation of TH code for GHC >= 8.8
(pkgs.fetchpatch {
url = "https://github.com/factisresearch/large-hashable/commit/ee7afe4bd181cf15a324c7f4823f7a348e4a0e6b.patch";
sha256 = "1ha77v0bc6prxacxhpdfgcsgw8348gvhl9y81smigifgjbinphxv";
excludes = [
".travis.yml"
"stack**"
];
})
# Fix cpp invocation
(pkgs.fetchpatch {
url = "https://github.com/factisresearch/large-hashable/commit/7b7c2ed6ac6e096478e8ee00160fa9d220df853a.patch";
sha256 = "1sf9h3k8jbbgfshzrclaawlwx7k2frb09z2a64f93jhvk6ci6vgx";
})
];
});
# BSON defaults to requiring network instead of network-bsd which is
# required nowadays: https://github.com/mongodb-haskell/bson/issues/26
@ -1938,6 +1946,14 @@ EOT
# Flakey tests
# upstream https://github.com/circuithub/rel8/issues/86
rel8 = dontCheck super.rel8;
rel8 = dontCheck (super.rel8.override {
opaleye = dontCheck super.opaleye_0_7_2_0;
});
# Release 1.0.0.0 added version bounds (was unrestricted before),
# but with too strict lower bounds for our lts-18.
graphql = assert pkgs.lib.versionOlder self.parser-combinators.version "1.3.0";
assert pkgs.lib.versionOlder self.hspec.version "2.8.2";
doJailbreak super.graphql;
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super

View file

@ -106,7 +106,7 @@ self: super: {
retry = dontCheck super.retry;
# hlint 3.3 needs a ghc-lib-parser newer than the one from stackage
hlint = super.hlint_3_3_0.overrideScope (self: super: {
hlint = super.hlint_3_3_1.overrideScope (self: super: {
ghc-lib-parser = overrideCabal self.ghc-lib-parser_9_0_1_20210324 {
doHaddock = false;
};

View file

@ -91,6 +91,7 @@ broken-packages:
- Agata
- agda-language-server
- agda-snippets
- agda-unused
- AGI
- ag-pictgen
- AhoCorasick
@ -661,6 +662,7 @@ broken-packages:
- clock-extras
- clogparse
- clone-all
- closed-intervals
- closure
- cloudfront-signer
- clr-inline
@ -1090,6 +1092,7 @@ broken-packages:
- doctest-prop
- docusign-example
- docvim
- dominion
- domplate
- do-spaces
- dotfs
@ -1778,6 +1781,7 @@ broken-packages:
- hakismet
- hakka
- hako
- hakyll-agda
- hakyll-blaze-templates
- hakyll-contrib
- hakyll-contrib-csv
@ -2205,6 +2209,7 @@ broken-packages:
- Hricket
- hs2bf
- hs2ps
- hsakamai
- hsaml2
- hsay
- hsbc
@ -2382,6 +2387,7 @@ broken-packages:
- hw-json-simd
- hw-mquery
- hworker
- hw-prim-bits
- hw-simd
- hwsl2
- hx
@ -3108,6 +3114,7 @@ broken-packages:
- MuCheck
- mud
- muesli
- mu-graphql
- mulang
- multext-east-msd
- multiaddr
@ -3266,6 +3273,8 @@ broken-packages:
- np-extras
- np-linear
- nptools
- nri-kafka
- nri-postgresql
- ntp-control
- ntrip-client
- n-tuple
@ -4508,6 +4517,7 @@ broken-packages:
- streamdeck
- streamed
- stream-fusion
- streaming-benchmarks
- streaming-conduit
- streaming-events
- streaming-lzma
@ -4535,6 +4545,7 @@ broken-packages:
- stripe-http-streams
- stripe-signature
- stripe-tests
- strong-path
- strongswan-sql
- structural-traversal
- structures
@ -4749,6 +4760,7 @@ broken-packages:
- thrift
- Thrift
- throttled-io-loop
- throwable-exceptions
- th-sccs
- th-tc
- th-to-exp
@ -4793,6 +4805,7 @@ broken-packages:
- Titim
- tkhs
- tkyprof
- tmp-postgres
- todo
- tofromxml
- to-haskell

View file

@ -115,6 +115,7 @@ extra-packages:
- crackNum < 3.0 # 2021-05-21: 3.0 removed the lib which sbv 7.13 uses
- ShellCheck == 0.7.1 # 2021-05-09: haskell-ci 0.12.1 pins this version
- hackage-db < 2.1.1 # 2021-06-10: Need older hackage-db as long as Cabal < 3.4, see https://github.com/NixOS/cabal2nix/issues/501
- opaleye < 0.7.3.0 # 2021-07-11: for rel8 <= 1.0.0.1, see https://github.com/circuithub/rel8/issues/95#issuecomment-877616118
package-maintainers:
abbradar:

View file

@ -1,4 +1,4 @@
# Stackage LTS 18.0
# Stackage LTS 18.1
# This file is auto-generated by
# maintainers/scripts/haskell/update-stackage.sh
default-package-overrides:
@ -33,7 +33,7 @@ default-package-overrides:
- aeson-with ==0.1.2.0
- aeson-yak ==0.1.1.3
- aeson-yaml ==1.1.0.0
- Agda ==2.6.1.3
- Agda ==2.6.2
- agda2lagda ==0.2021.6.1
- al ==0.1.4.2
- alarmclock ==0.7.0.5
@ -202,8 +202,8 @@ default-package-overrides:
- auto-update ==0.1.6
- avro ==0.5.2.0
- aws-cloudfront-signed-cookies ==0.2.0.8
- aws-xray-client ==0.1.0.0
- aws-xray-client-wai ==0.1.0.0
- aws-xray-client ==0.1.0.1
- aws-xray-client-wai ==0.1.0.1
- backprop ==0.2.6.4
- backtracking ==0.1.0
- bank-holidays-england ==0.2.0.6
@ -211,7 +211,7 @@ default-package-overrides:
- base16 ==0.3.0.1
- base16-bytestring ==1.0.1.0
- base16-lens ==0.1.3.2
- base32 ==0.2.0.0
- base32 ==0.2.1.0
- base32-lens ==0.1.1.1
- base32string ==0.9.1
- base58-bytestring ==0.1.0
@ -233,7 +233,7 @@ default-package-overrides:
- bcp47 ==0.2.0.4
- bcp47-orphans ==0.1.0.4
- bcrypt ==0.0.11
- bech32 ==1.1.0
- bech32 ==1.1.1
- bech32-th ==1.0.2
- bench ==1.0.12
- benchpress ==0.2.2.17
@ -304,7 +304,7 @@ default-package-overrides:
- buffer-pipe ==0.0
- bugsnag-haskell ==0.0.4.1
- bugsnag-hs ==0.2.0.4
- bugzilla-redhat ==0.3.1
- bugzilla-redhat ==0.3.2
- burrito ==1.2.0.2
- butcher ==1.3.3.2
- buttplug-hs-core ==0.1.0.0
@ -420,13 +420,13 @@ default-package-overrides:
- Color ==0.3.2
- colorful-monoids ==0.2.1.3
- colorize-haskell ==1.0.1
- colour ==2.3.5
- colour ==2.3.6
- combinatorial ==0.1.0.1
- comfort-array ==0.4.1
- comfort-graph ==0.0.3.1
- commonmark ==0.2
- commonmark ==0.2.1
- commonmark-extensions ==0.2.1.2
- commonmark-pandoc ==0.2.1
- commonmark-pandoc ==0.2.1.1
- commutative ==0.0.2
- comonad ==5.0.8
- comonad-extras ==4.0.1
@ -490,7 +490,7 @@ default-package-overrides:
- crc32c ==0.0.0
- credential-store ==0.1.2
- criterion ==1.5.9.0
- criterion-measurement ==0.1.2.0
- criterion-measurement ==0.1.3.0
- cron ==0.7.0
- crypto-api ==0.13.3
- crypto-cipher-types ==0.0.9
@ -555,7 +555,7 @@ default-package-overrides:
- data-hash ==0.2.0.1
- data-interval ==2.1.0
- data-inttrie ==0.1.4
- data-lens-light ==0.1.2.2
- data-lens-light ==0.1.2.3
- data-memocombinators ==0.5.1
- data-msgpack ==0.0.13
- data-msgpack-types ==0.0.3
@ -680,7 +680,7 @@ default-package-overrides:
- elynx-seq ==0.5.1.1
- elynx-tools ==0.5.1.1
- elynx-tree ==0.5.1.1
- email-validate ==2.3.2.13
- email-validate ==2.3.2.15
- emd ==0.2.0.0
- emojis ==0.1
- enclosed-exceptions ==1.0.3
@ -703,7 +703,7 @@ default-package-overrides:
- errors ==2.3.0
- errors-ext ==0.4.2
- ersatz ==0.4.9
- esqueleto ==3.5.0.0
- esqueleto ==3.5.2.0
- essence-of-live-coding ==0.2.5
- essence-of-live-coding-gloss ==0.2.5
- essence-of-live-coding-pulse ==0.2.5
@ -729,7 +729,7 @@ default-package-overrides:
- expiring-cache-map ==0.0.6.1
- explicit-exception ==0.1.10
- exp-pairs ==0.2.1.0
- express ==0.1.14
- express ==0.1.16
- extended-reals ==0.2.4.0
- extensible-effects ==5.0.0.1
- extensible-exceptions ==0.1.1.4
@ -803,7 +803,7 @@ default-package-overrides:
- forkable-monad ==0.2.0.3
- forma ==1.1.3
- format-numbers ==0.1.0.1
- formatting ==7.1.2
- formatting ==7.1.3
- foundation ==0.0.26.1
- fourmolu ==0.3.0.0
- free ==5.1.7
@ -850,8 +850,8 @@ default-package-overrides:
- generics-eot ==0.4.0.1
- generics-sop ==0.5.1.1
- generics-sop-lens ==0.2.0.1
- geniplate-mirror ==0.7.7
- genvalidity ==0.11.0.0
- geniplate-mirror ==0.7.8
- genvalidity ==0.11.0.2
- genvalidity-aeson ==0.3.0.0
- genvalidity-bytestring ==0.6.0.0
- genvalidity-containers ==0.9.0.0
@ -898,11 +898,11 @@ default-package-overrides:
- ghc-prof ==1.4.1.8
- ghc-source-gen ==0.4.0.0
- ghc-syntax-highlighter ==0.0.6.0
- ghc-tcplugins-extra ==0.4.1
- ghc-trace-events ==0.1.2.2
- ghc-typelits-extra ==0.4.2
- ghc-typelits-knownnat ==0.7.5
- ghc-typelits-natnormalise ==0.7.4
- ghc-tcplugins-extra ==0.4.2
- ghc-trace-events ==0.1.2.3
- ghc-typelits-extra ==0.4.3
- ghc-typelits-knownnat ==0.7.6
- ghc-typelits-natnormalise ==0.7.6
- ghc-typelits-presburger ==0.6.0.0
- ghost-buster ==0.1.1.0
- gi-atk ==2.0.23
@ -923,7 +923,7 @@ default-package-overrides:
- ginger ==0.10.1.0
- gingersnap ==0.3.1.0
- gi-pango ==1.0.24
- githash ==0.1.6.0
- githash ==0.1.6.1
- github-release ==1.3.7
- github-rest ==1.0.3
- github-types ==0.2.1
@ -974,7 +974,7 @@ default-package-overrides:
- hamtsolo ==1.0.3
- HandsomeSoup ==0.4.2
- hapistrano ==0.4.2.0
- happstack-server ==7.7.1
- happstack-server ==7.7.1.1
- happy ==1.20.0
- happy-meta ==0.2.0.11
- HasBigDecimal ==0.1.1
@ -1006,7 +1006,7 @@ default-package-overrides:
- hasql-optparse-applicative ==0.3.0.6
- hasql-pool ==0.5.2
- hasql-queue ==1.2.0.2
- hasql-transaction ==1.0.0.2
- hasql-transaction ==1.0.1
- hasty-hamiltonian ==1.3.4
- HaTeX ==3.22.3.0
- HaXml ==1.25.5
@ -1015,7 +1015,7 @@ default-package-overrides:
- hdaemonize ==0.5.6
- HDBC ==2.4.0.3
- HDBC-session ==0.1.2.0
- headroom ==0.4.1.0
- headroom ==0.4.2.0
- heap ==1.0.4
- heaps ==0.4
- hebrew-time ==0.1.2
@ -1025,7 +1025,7 @@ default-package-overrides:
- hedgehog-fn ==1.0
- hedgehog-quickcheck ==0.1.1
- hedis ==0.14.4
- hedn ==0.3.0.2
- hedn ==0.3.0.3
- here ==1.2.13
- heredoc ==0.2.0.0
- heterocephalus ==1.0.5.4
@ -1163,7 +1163,7 @@ default-package-overrides:
- http-media ==0.8.0.0
- http-query ==0.1.0.1
- http-reverse-proxy ==0.6.0
- http-streams ==0.8.7.2
- http-streams ==0.8.8.1
- http-types ==0.12.3
- human-readable-duration ==0.2.1.4
- HUnit ==1.6.2.0
@ -1212,7 +1212,7 @@ default-package-overrides:
- hybrid-vectors ==0.2.2
- hyper ==0.2.1.1
- hyperloglog ==0.4.4
- hyphenation ==0.8.1
- hyphenation ==0.8.2
- iconv ==0.4.1.3
- identicon ==0.2.2
- ieee754 ==0.8.0
@ -1240,7 +1240,7 @@ default-package-overrides:
- influxdb ==1.9.1.2
- ini ==0.4.1
- inj ==1.0
- inline-c ==0.9.1.4
- inline-c ==0.9.1.5
- inline-c-cpp ==0.4.0.3
- inline-r ==0.10.4
- inliterate ==0.1.0
@ -1394,7 +1394,7 @@ default-package-overrides:
- lift-generics ==0.2
- lift-type ==0.1.0.1
- line ==4.0.1
- linear ==1.21.5
- linear ==1.21.6
- linear-circuit ==0.1.0.2
- linenoise ==0.3.2
- linux-file-extents ==0.2.0.0
@ -1606,7 +1606,7 @@ default-package-overrides:
- netlib-comfort-array ==0.0.0.1
- netlib-ffi ==0.1.1
- net-mqtt ==0.7.1.1
- net-mqtt-lens ==0.1.0.0
- net-mqtt-lens ==0.1.1.0
- netpbm ==1.0.4
- nettle ==0.3.0
- netwire ==5.0.3
@ -1646,7 +1646,7 @@ default-package-overrides:
- nowdoc ==0.1.1.0
- nqe ==0.6.3
- nri-env-parser ==0.1.0.7
- nri-observability ==0.1.0.3
- nri-observability ==0.1.1.1
- nri-prelude ==0.6.0.2
- nsis ==0.3.3
- numbers ==3000.2.0.2
@ -1673,7 +1673,7 @@ default-package-overrides:
- OneTuple ==0.2.2.1
- Only ==0.1
- oo-prototypes ==0.1.0.0
- opaleye ==0.7.1.0
- opaleye ==0.7.3.0
- OpenAL ==1.7.0.5
- openapi3 ==3.1.0
- open-browser ==0.2.1.0
@ -1698,7 +1698,7 @@ default-package-overrides:
- options ==1.2.1.1
- optparse-applicative ==0.16.1.0
- optparse-generic ==1.4.4
- optparse-simple ==0.1.1.3
- optparse-simple ==0.1.1.4
- optparse-text ==0.1.1.0
- ordered-containers ==0.2.2
- ormolu ==0.1.4.1
@ -1708,12 +1708,12 @@ default-package-overrides:
- pager ==0.1.1.0
- pagination ==0.2.2
- pagure-cli ==0.2
- pandoc ==2.14.0.2
- pandoc ==2.14.0.3
- pandoc-dhall-decoder ==0.1.0.1
- pandoc-plot ==1.2.3
- pandoc-throw ==0.1.0.0
- pandoc-types ==1.22
- pantry ==0.5.2.2
- pantry ==0.5.2.3
- parallel ==3.2.2.0
- parameterized ==0.5.0.0
- paripari ==0.7.0.0
@ -1758,11 +1758,11 @@ default-package-overrides:
- persist ==0.1.1.5
- persistable-record ==0.6.0.5
- persistable-types-HDBC-pg ==0.0.3.5
- persistent ==2.13.0.2
- persistent ==2.13.1.1
- persistent-mtl ==0.2.2.0
- persistent-mysql ==2.13.0.1
- persistent-pagination ==0.1.1.2
- persistent-postgresql ==2.13.0.2
- persistent-postgresql ==2.13.0.3
- persistent-qq ==2.12.0.1
- persistent-sqlite ==2.13.0.3
- persistent-template ==2.12.0.0
@ -1770,7 +1770,7 @@ default-package-overrides:
- persistent-typed-db ==0.1.0.4
- pg-harness-client ==0.6.0
- pgp-wordlist ==0.1.0.3
- pg-transact ==0.3.1.1
- pg-transact ==0.3.2.0
- phantom-state ==0.2.1.2
- pid1 ==0.1.2.0
- pinboard ==0.10.2.0
@ -2083,7 +2083,7 @@ default-package-overrides:
- sequenceTools ==1.5.0
- serf ==0.1.1.0
- serialise ==0.2.3.0
- servant ==0.18.2
- servant ==0.18.3
- servant-auth ==0.4.0.0
- servant-auth-client ==0.4.1.0
- servant-auth-docs ==0.2.10.0
@ -2091,23 +2091,23 @@ default-package-overrides:
- servant-auth-swagger ==0.2.10.1
- servant-auth-wordpress ==1.0.0.2
- servant-blaze ==0.9.1
- servant-client ==0.18.2
- servant-client-core ==0.18.2
- servant-client ==0.18.3
- servant-client-core ==0.18.3
- servant-conduit ==0.15.1
- servant-docs ==0.11.8
- servant-docs ==0.11.9
- servant-elm ==0.7.2
- servant-errors ==0.1.6.0
- servant-exceptions ==0.2.1
- servant-exceptions-server ==0.2.1
- servant-foreign ==0.15.3
- servant-http-streams ==0.18.2
- servant-foreign ==0.15.4
- servant-http-streams ==0.18.3
- servant-machines ==0.15.1
- servant-multipart ==0.12.1
- servant-multipart-api ==0.12.1
- servant-openapi3 ==2.0.1.2
- servant-pipes ==0.15.2
- servant-pipes ==0.15.3
- servant-rawm ==1.0.0.0
- servant-server ==0.18.2
- servant-server ==0.18.3
- servant-swagger ==1.1.10
- servant-swagger-ui ==0.3.5.3.47.1
- servant-swagger-ui-core ==0.3.5
@ -2118,9 +2118,9 @@ default-package-overrides:
- set-cover ==0.1.1
- setenv ==0.1.1.3
- setlocale ==1.0.0.10
- sexp-grammar ==2.3.0
- sexp-grammar ==2.3.1
- SHA ==1.6.4.4
- shake ==0.19.4
- shake ==0.19.5
- shake-language-c ==0.12.0
- shake-plus ==0.3.3.1
- shake-plus-extended ==0.4.1.0
@ -2143,7 +2143,7 @@ default-package-overrides:
- simple-affine-space ==0.1.1
- simple-cabal ==0.1.3
- simple-cmd ==0.2.3
- simple-cmd-args ==0.1.6
- simple-cmd-args ==0.1.7
- simple-log ==0.9.12
- simple-reflect ==0.3.3
- simple-sendfile ==0.2.30
@ -2161,8 +2161,8 @@ default-package-overrides:
- skein ==1.0.9.4
- skews ==0.1.0.3
- skip-var ==0.1.1.0
- skylighting ==0.10.5.1
- skylighting-core ==0.10.5.1
- skylighting ==0.10.5.2
- skylighting-core ==0.10.5.2
- slack-api ==0.12
- slack-progressbar ==0.1.0.1
- slick ==1.1.1.0
@ -2244,7 +2244,7 @@ default-package-overrides:
- Stream ==0.4.7.2
- streaming ==0.2.3.0
- streaming-attoparsec ==1.0.0.1
- streaming-bytestring ==0.2.0
- streaming-bytestring ==0.2.1
- streaming-commons ==0.2.2.1
- streamly ==0.7.3
- streams ==3.3
@ -2264,7 +2264,7 @@ default-package-overrides:
- string-random ==0.1.4.1
- stringsearch ==0.3.6.6
- string-transform ==1.1.1
- stripe-concepts ==1.0.2.8
- stripe-concepts ==1.0.3
- stripe-core ==2.6.2
- stripe-haskell ==2.6.2
- stripe-http-client ==2.6.2
@ -2329,7 +2329,7 @@ default-package-overrides:
- tasty-program ==1.0.5
- tasty-quickcheck ==0.10.1.2
- tasty-rerun ==1.1.18
- tasty-silver ==3.2.1
- tasty-silver ==3.2.2
- tasty-smallcheck ==0.8.2
- tasty-test-reporter ==0.1.1.4
- tasty-th ==0.1.7
@ -2338,7 +2338,7 @@ default-package-overrides:
- TCache ==0.12.1
- tce-conf ==1.3
- tdigest ==0.2.1.1
- template-haskell-compat-v0208 ==0.1.5
- template-haskell-compat-v0208 ==0.1.6
- temporary ==1.3
- temporary-rc ==1.2.0.3
- temporary-resourcet ==0.1.0.1
@ -2408,7 +2408,7 @@ default-package-overrides:
- th-test-utils ==1.1.0
- th-utilities ==0.2.4.3
- thyme ==0.3.5.5
- tidal ==1.7.5
- tidal ==1.7.7
- tile ==0.3.0.0
- time-compat ==1.9.5
- timeit ==2.0
@ -2443,7 +2443,7 @@ default-package-overrides:
- transformers-bifunctors ==0.1
- transformers-compat ==0.6.6
- transformers-fix ==1.0
- traverse-with-class ==1.0.1.0
- traverse-with-class ==1.0.1.1
- tree-diff ==0.2
- tree-fun ==0.8.1.0
- tree-view ==0.5.1
@ -2451,7 +2451,7 @@ default-package-overrides:
- triplesec ==0.2.2.1
- trivial-constraint ==0.7.0.0
- tsv2csv ==0.1.0.2
- ttc ==1.1.0.0
- ttc ==1.1.0.1
- ttl-hashtables ==1.4.1.0
- ttrie ==0.1.2.1
- tuple ==0.3.0.2
@ -2502,7 +2502,7 @@ default-package-overrides:
- unipatterns ==0.0.0.0
- uniplate ==1.6.13
- uniprot-kb ==0.1.2.0
- uniq-deep ==1.2.0
- uniq-deep ==1.2.1
- unique ==0.0.1
- unique-logic ==0.4
- unique-logic-tf ==0.5.1
@ -2527,7 +2527,7 @@ default-package-overrides:
- unordered-containers ==0.2.14.0
- unsafe ==0.0
- urbit-hob ==0.3.3
- uri-bytestring ==0.3.3.0
- uri-bytestring ==0.3.3.1
- uri-bytestring-aeson ==0.1.0.8
- uri-encode ==1.5.0.7
- url ==2.1.3
@ -2541,7 +2541,7 @@ default-package-overrides:
- uuid-types ==1.0.5
- validation ==1.1.1
- validation-selective ==0.1.0.1
- validity ==0.11.0.0
- validity ==0.11.0.1
- validity-aeson ==0.2.0.4
- validity-bytestring ==0.4.1.1
- validity-containers ==0.5.0.4
@ -2568,7 +2568,7 @@ default-package-overrides:
- vector-instances ==3.4
- vector-mmap ==0.0.3
- vector-rotcev ==0.1.0.0
- vector-sized ==1.4.3.1
- vector-sized ==1.4.4
- vector-space ==0.16
- vector-split ==1.0.0.2
- vector-th-unbox ==0.2.1.9
@ -2604,7 +2604,7 @@ default-package-overrides:
- wai-slack-middleware ==0.2.0
- wai-websockets ==3.0.1.2
- wakame ==0.1.0.0
- warp ==3.3.16
- warp ==3.3.17
- warp-tls ==3.3.1
- warp-tls-uid ==0.2.0.6
- wave ==0.2.0
@ -2658,7 +2658,7 @@ default-package-overrides:
- xdg-basedir ==0.2.2
- xdg-userdirs ==0.1.0.2
- xeno ==0.4.2
- xlsx ==0.8.3
- xlsx ==0.8.4
- xlsx-tabular ==0.2.2.1
- xml ==1.3.14
- xml-basic ==0.1.3.1
@ -2681,12 +2681,12 @@ default-package-overrides:
- xxhash-ffi ==0.2.0.0
- yaml ==0.11.5.0
- yamlparse-applicative ==0.2.0.0
- yesod ==1.6.1.1
- yesod ==1.6.1.2
- yesod-auth ==1.6.10.3
- yesod-auth-hashdb ==1.7.1.7
- yesod-auth-oauth2 ==0.6.3.4
- yesod-bin ==1.6.1
- yesod-core ==1.6.20.1
- yesod-core ==1.6.20.2
- yesod-fb ==0.6.1
- yesod-form ==1.7.0
- yesod-gitrev ==0.2.1

View file

@ -480,6 +480,7 @@ dont-distribute-packages:
- avers-api
- avers-api-docs
- avers-server
- aviation-navigation
- avro-piper
- awesomium
- awesomium-glut
@ -808,7 +809,6 @@ dont-distribute-packages:
- convertible-text
- coordinate
- copilot
- copilot-c99
- copilot-cbmc
- copilot-language
- copilot-libraries
@ -1444,6 +1444,7 @@ dont-distribute-packages:
- hasql-cursor-query
- hasql-postgres
- hasql-postgres-options
- hasql-queue
- hasql-th
- hastache-aeson
- haste-app
@ -1833,6 +1834,11 @@ dont-distribute-packages:
- keera-hails-reactive-yampa
- keera-hails-reactivelenses
- keera-posture
- keid-core
- keid-geometry
- keid-render-basic
- keid-resource-gltf
- keid-ui-dearimgui
- kevin
- keysafe
- keyvaluehash
@ -2334,6 +2340,7 @@ dont-distribute-packages:
- polysemy-fs
- polysemy-fskvstore
- polysemy-http
- polysemy-keyed-state
- polysemy-kvstore-jsonfile
- polysemy-log
- polysemy-log-co
@ -2886,6 +2893,7 @@ dont-distribute-packages:
- swearjure
- sweet-egison
- switch
- sydtest-persistent-postgresql
- sylvia
- sym-plot
- symantic-atom

View file

@ -914,4 +914,9 @@ self: super: builtins.intersectAttrs super {
cachix = generateOptparseApplicativeCompletion "cachix" super.cachix;
# Enable extra optimisations which increase build time, but also
# later compiler performance, so we should do this for user's benefit.
# Flag added in Agda 2.6.2
Agda = appendConfigureFlag super.Agda "-foptimise-heavily";
}

File diff suppressed because it is too large Load diff

View file

@ -348,7 +348,7 @@ in package-set { inherit pkgs lib callPackage; } self // {
# );
# });
# in
# hpkgs.shellFor {
# haskellPkgs.shellFor {
# packages = p: [ p.foo ];
# genericBuilderArgsModifier = args: args // { doCheck = true; doBenchmark = true };
# }

View file

@ -2,13 +2,13 @@
mkDerivation rec {
pname = "standard-library";
version = "1.6";
version = "1.7";
src = fetchFromGitHub {
repo = "agda-stdlib";
owner = "agda";
rev = "v${version}";
sha256 = "1smvnid7r1mc4lp34pfrbzgzrcl0gmw0dlkga8z0r3g2zhj98lz1";
sha256 = "14h3jprm6924g9576v25axn9v6xnip354hvpzlcqsc5qqyj7zzjs";
};
nativeBuildInputs = [ (ghcWithPackages (self : [ self.filemanip ])) ];
@ -16,7 +16,7 @@ mkDerivation rec {
runhaskell GenerateEverything.hs
# We will only build/consider Everything.agda, in particular we don't want Everything*.agda
# do be copied to the store.
rm EverythingSafe.agda EverythingSafeGuardedness.agda EverythingSafeSizedTypes.agda
rm EverythingSafe.agda
'';
passthru.tests = { inherit (nixosTests) agda; };

View file

@ -34,7 +34,11 @@ stdenv.mkDerivation rec {
patchFlags = lib.optional stdenv.hostPlatform.isDarwin "-p0";
preConfigure = lib.optionalString stdenv.hostPlatform.isLinux "export CFLAGS='-fgnu89-inline'";
# For currently unknown reason, `-fPIC` has to be passed explicitly, otherwise
# downstream software like `elfutils` will get `recompile errors like:
# libargp.a(argp-help.o): relocation R_X86_64_PC32 against symbol `program_invocation_short_name' can not be used when making a shared object; recompile with -fPIC
# It seems that nixpkgs's on-by-default `-fPIC` is not in effect here.
preConfigure = lib.optionalString stdenv.hostPlatform.isLinux "export CFLAGS='-fgnu89-inline -fPIC'";
postInstall = ''
mkdir -p $out/lib $out/include

View file

@ -205,8 +205,8 @@ let
mktplcRef = {
name = "vscode-tailwindcss";
publisher = "bradlc";
version = "0.6.6";
sha256 = "sha256-CRd+caKHFOXBnePr/LqNkzw0kRGYvNSkf4ecNgedpdA=";
version = "0.6.13";
sha256 = "098vrm28b7jpzk0c2d0cgxvdw4jsswzf18cx1m9jwsm1j40fp5f4";
};
meta = with lib; {
license = licenses.mpl20;
@ -270,8 +270,8 @@ let
mktplcRef = {
name = "bracket-pair-colorizer-2";
publisher = "CoenraadS";
version = "0.2.0";
sha256 = "0nppgfbmw0d089rka9cqs3sbd5260dhhiipmjfga3nar9vp87slh";
version = "0.2.1";
sha256 = "0bfvzs4ac537zqhnqaa38jf4lhiy1fmqcv6lq89nnx8k963380z7";
};
meta = with lib; {
license = licenses.mit;
@ -454,8 +454,8 @@ let
mktplcRef = {
name = "vscode-great-icons";
publisher = "emmanuelbeziat";
version = "2.1.64";
sha256 = "sha256-qsL1vWiEAYeWkMDNSrr1yzg0QxroEQQeznoDL3Ujy/o=";
version = "2.1.79";
sha256 = "1cr1pxgxlfr643sfxbcr2xd53s1dnzcpacjj0ffkgizfda2psy78";
};
meta = with lib; {
license = licenses.mit;
@ -474,8 +474,8 @@ let
mktplcRef = {
name = "prettier-vscode";
publisher = "esbenp";
version = "5.8.0";
sha256 = "0h7wc4pffyq1i8vpj4a5az02g2x04y7y1chilmcfmzg2w42xpby7";
version = "8.0.1";
sha256 = "017lqpmzjxq5f1zr49akcm9gfki0qq8v7pj7gks6a3szjdx16mnl";
};
};
@ -776,8 +776,8 @@ let
mktplcRef = {
name = "svg";
publisher = "jock";
version = "1.4.4";
sha256 = "0kn2ic7pgbd4rbvzpsxfwyiwxa1iy92l0h3jsppxc8gk8xbqm2nc";
version = "1.4.7";
sha256 = "04ghqg4s7g7yylmvbxzwzpnyy4zin2bwlgvflh18m77w4j0ckpiq";
};
meta = with lib; {
license = licenses.mit;
@ -824,8 +824,8 @@ let
mktplcRef = {
name = "magit";
publisher = "kahole";
version = "0.6.15";
sha256 = "sha256-fRXm70FXnHduoywI4YC9ya6/J7wyd6EBzbnrcijBIbA=";
version = "0.6.18";
sha256 = "0sqzz5bbqqg60aypvwxcqnxrr72gmwfj9sv0amgkyaf60zg5sf7w";
};
meta = {
license = lib.licenses.mit;
@ -1096,8 +1096,8 @@ let
mktplcRef = {
name = "crates";
publisher = "serayuzgur";
version = "0.5.3";
sha256 = "1xk7ayv590hsm3scqpyh6962kvgdlinnpkx0vapr7vs4y08dx72f";
version = "0.5.9";
sha256 = "0l26pyvw7n3bszf97yx6qps72acq112akg3q4jq5mvlibng1nwk0";
};
meta = {
license = lib.licenses.mit;
@ -1198,8 +1198,8 @@ let
mktplcRef = {
name = "svelte-vscode";
publisher = "svelte";
version = "105.0.0";
sha256 = "sha256-my3RzwUW5MnajAbEnqxtrIR701XH+AKYLbnKD7ivASE=";
version = "105.3.0";
sha256 = "11plqsj3c4dv0xg2d76pxrcn382qr9wbh1lhln2x8mzv840icvwr";
};
meta = {
license = lib.licenses.mit;
@ -1252,8 +1252,8 @@ let
mktplcRef = {
name = "shellcheck";
publisher = "timonwong";
version = "0.14.1";
sha256 = "sha256-X3ihMxANcqNLWl9oTZjCgwRt1uBsSN2BmC2D4dPRFLE=";
version = "0.14.4";
sha256 = "05z314sw9nqym3qlj7dcwm0fz1hb23xppzqn3nr2wcj17hs8zz4m";
};
nativeBuildInputs = [ jq ];
postInstall = ''
@ -1323,8 +1323,8 @@ let
mktplcRef = {
name = "vim";
publisher = "vscodevim";
version = "1.11.3";
sha256 = "1smzsgcrkhghbnpy51gp28kh74l7y4s2m8pfxabb4ffb751254j0";
version = "1.21.5";
sha256 = "1v1xs1wcigisr6xip31i02cfryxrb157sla34y59pwlnhc5x1gny";
};
meta = {
license = lib.licenses.mit;

View file

@ -48,7 +48,7 @@ EOF
if [ $# -ne 0 ]; then
CODE=$1
else
CODE=$(command -v code)
CODE=$(command -v code || command -v codium)
fi
if [ -z "$CODE" ]; then

View file

@ -5,13 +5,13 @@
with lib;
stdenv.mkDerivation rec {
pname = "lxcfs";
version = "4.0.8";
version = "4.0.9";
src = fetchFromGitHub {
owner = "lxc";
repo = "lxcfs";
rev = "lxcfs-${version}";
sha256 = "sha256-8Tack2gM3AU3coGXs5hEbAaBCo5ss1sGUFFEjZDn5Lg=";
sha256 = "0zx58lair8hwi4bxm5h7i8n1j5fcdgw5cr6f4wk9qhks0sr5dip5";
};
nativeBuildInputs = [ pkg-config help2man autoreconfHook makeWrapper ];

View file

@ -4,4 +4,5 @@ lib.recurseIntoAttrs {
shellFor = callPackage ./shellFor { };
documentationTarball = callPackage ./documentationTarball { };
setBuildTarget = callPackage ./setBuildTarget { };
writers = callPackage ./writers { };
}

View file

@ -4,7 +4,11 @@ let
drv = haskellPackages.vector;
docs = pkgs.haskell.lib.documentationTarball drv;
in pkgs.runCommand "test haskell.lib.documentationTarball" { } ''
in pkgs.runCommand "test haskell.lib.documentationTarball" {
meta = {
inherit (docs.meta) platforms;
};
} ''
tar xvzf "${docs}/${drv.name}-docs.tar.gz"
# Check for Haddock html

View file

@ -30,7 +30,12 @@ let
fi
'';
in pkgs.runCommand "test haskell.lib.setBuildTarget" {} ''
in
pkgs.runCommand "test haskell.lib.setBuildTarget" {
meta = {
inherit (drv.meta) platforms;
};
} ''
${test "foo" "bar"}
${test "bar" "foo"}
touch "$out"

View file

@ -29,5 +29,8 @@
additionalMaintainers = with lib.maintainers; [ cdepillabout ];
allMaintainers = oldMaintainers ++ additionalMaintainers;
in
oldMeta // { maintainers = allMaintainers; };
oldMeta // {
maintainers = allMaintainers;
inherit (cabal-install.meta) platforms;
};
})

View file

@ -0,0 +1,26 @@
# Wrap only the haskell-related tests from tests.writers
# in their own derivation for Hydra CI in the haskell-updates
# jobset. Can presumably removed as soon as tests.writers is
# always green on darwin as well:
# https://github.com/NixOS/nixpkgs/issues/126182
{ runCommand, tests }:
let
inherit (tests.writers)
writeTest
bin
simple
path
;
in
runCommand "test-haskell-writers" {
meta = {
inherit (tests.writers.meta) platforms;
};
} ''
${writeTest "success" "test-haskell-bin-writer" "${bin.haskell}/bin/${bin.haskell.name}"}
${writeTest "success" "test-haskell-simple-writer" simple.haskell}
${writeTest "success" "test-haskell-path-writer" path.haskell}
touch $out
''

View file

@ -57,7 +57,8 @@ in {
ghc884 = callPackage ../development/compilers/ghc/8.8.4.nix {
# aarch64 ghc865Binary gets SEGVs due to haskell#15449 or similar
bootPkgs = if stdenv.isAarch64 then
# Musl bindists do not exist for ghc 8.6.5, so we use 8.10.* for them
bootPkgs = if stdenv.isAarch64 || stdenv.targetPlatform.isMusl then
packages.ghc8102BinaryMinimal
else
packages.ghc865Binary;
@ -67,7 +68,8 @@ in {
};
ghc8104 = callPackage ../development/compilers/ghc/8.10.4.nix {
# aarch64 ghc865Binary gets SEGVs due to haskell#15449 or similar
bootPkgs = if stdenv.isAarch64 || stdenv.isAarch32 then
# Musl bindists do not exist for ghc 8.6.5, so we use 8.10.* for them
bootPkgs = if stdenv.isAarch64 || stdenv.isAarch32 || stdenv.targetPlatform.isMusl then
packages.ghc8102BinaryMinimal
else
packages.ghc865Binary;

View file

@ -89,11 +89,13 @@ let
haskellPackages = packagePlatforms pkgs.haskellPackages;
haskell.compiler = packagePlatforms pkgs.haskell.compiler;
tests = let
testPlatforms = packagePlatforms pkgs.tests;
in {
haskell = testPlatforms.haskell;
writers = testPlatforms.writers;
tests.haskell = packagePlatforms pkgs.tests.haskell;
pkgsMusl.haskell.compiler = packagePlatforms pkgs.pkgsMusl.haskell.compiler // {
# remove musl ghc865Binary since it is known to be broken and
# causes an evaluation error on darwin.
# TODO: remove ghc865Binary altogether and use ghc8102Binary
ghc865Binary = {};
};
# test some statically linked packages to catch regressions
@ -247,11 +249,10 @@ let
};
constituents = accumulateDerivations [
# haskell specific tests
jobs.tests.haskell
# writeHaskell and writeHaskellBin
# TODO: writeHaskell currently fails on darwin
jobs.tests.writers.x86_64-linux
jobs.tests.writers.aarch64-linux
#
# TODO: The writers test appears to be failing on darwin for unknown
# reasons. See https://github.com/NixOS/nixpkgs/pull/129606#issuecomment-881307871.
(lib.recursiveUpdate jobs.tests.haskell { writers.x86_64-darwin = null; })
# important top-level packages
jobs.cabal-install
jobs.cabal2nix
@ -309,6 +310,21 @@ let
jobs.pkgsStatic.haskell.packages.integer-simple.ghc8104.random.aarch64-linux
];
};
muslGHCs = pkgs.releaseTools.aggregate {
name = "haskell-pkgsMusl-ghcs";
meta = {
description = "GHCs built with musl";
maintainers = with lib.maintainers; [
nh2
];
};
constituents = accumulateDerivations [
jobs.pkgsMusl.haskell.compiler.ghc8102Binary
jobs.pkgsMusl.haskell.compiler.ghc884
jobs.pkgsMusl.haskell.compiler.ghc8104
jobs.pkgsMusl.haskell.compiler.ghc901
];
};
}
];