0
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-07-14 06:00:33 +03:00

Merge master into staging-next

This commit is contained in:
github-actions[bot] 2021-11-12 06:01:24 +00:00 committed by GitHub
commit 9a30ed0017
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
53 changed files with 3702 additions and 3723 deletions

View file

@ -404,6 +404,7 @@ in
samba-wsdd = handleTest ./samba-wsdd.nix {}; samba-wsdd = handleTest ./samba-wsdd.nix {};
sanoid = handleTest ./sanoid.nix {}; sanoid = handleTest ./sanoid.nix {};
sddm = handleTest ./sddm.nix {}; sddm = handleTest ./sddm.nix {};
seafile = handleTest ./seafile.nix {};
searx = handleTest ./searx.nix {}; searx = handleTest ./searx.nix {};
service-runner = handleTest ./service-runner.nix {}; service-runner = handleTest ./service-runner.nix {};
shadow = handleTest ./shadow.nix {}; shadow = handleTest ./shadow.nix {};

View file

@ -1,7 +1,10 @@
{ stdenv, lib, fetchFromGitHub, cmake, pkg-config { stdenv, lib, fetchFromGitHub, cmake, pkg-config
, alsa-lib, asio, avahi, boost17x, flac, libogg, libvorbis, soxr , alsa-lib, asio, avahi, boost17x, flac, libogg, libvorbis, soxr
, pulseaudioSupport ? false, libpulseaudio
, nixosTests }: , nixosTests }:
assert pulseaudioSupport -> libpulseaudio != null;
let let
dependency = { name, version, sha256 }: dependency = { name, version, sha256 }:
@ -50,7 +53,7 @@ stdenv.mkDerivation rec {
boost17x boost17x
alsa-lib asio avahi flac libogg libvorbis alsa-lib asio avahi flac libogg libvorbis
aixlog popl soxr aixlog popl soxr
]; ] ++ lib.optional pulseaudioSupport libpulseaudio;
# Upstream systemd unit files are pretty awful, so we provide our own in a # Upstream systemd unit files are pretty awful, so we provide our own in a
# NixOS module. It might make sense to get that upstreamed... # NixOS module. It might make sense to get that upstreamed...

View file

@ -14,13 +14,13 @@ let
plugins = plugins =
if pluginSupport if pluginSupport
then plain then plain
else haskell.lib.disableCabalFlag plain "plugins"; else haskell.lib.compose.disableCabalFlag "plugins" plain;
static = haskell.lib.justStaticExecutables plugins; static = haskell.lib.compose.justStaticExecutables plugins;
in in
(haskell.lib.overrideCabal static (drv: { (haskell.lib.compose.overrideCabal (drv: {
buildTools = (drv.buildTools or []) ++ [ removeReferencesTo ]; buildTools = (drv.buildTools or []) ++ [ removeReferencesTo ];
})).overrideAttrs (drv: { }) static).overrideAttrs (drv: {
# These libraries are still referenced, because they generate # These libraries are still referenced, because they generate
# a `Paths_*` module for figuring out their version. # a `Paths_*` module for figuring out their version.

View file

@ -69,6 +69,6 @@ buildGoModule rec {
downloadPage = "https://github.com/argoproj/argo-cd"; downloadPage = "https://github.com/argoproj/argo-cd";
homepage = "https://argo-cd.readthedocs.io/en/stable/"; homepage = "https://argo-cd.readthedocs.io/en/stable/";
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ shahrukh330 ]; maintainers = with maintainers; [ shahrukh330 bryanasdev000 ];
}; };
} }

View file

@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, jq, nix, ... }: { stdenv, lib, fetchFromGitHub, jq, nix, makeWrapper }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "terranix"; pname = "terranix";
@ -11,29 +11,21 @@ stdenv.mkDerivation rec {
sha256 = "sha256-HDiyJGgyDUoLnpL8N+wDm3cM/vEfYYc/p4N1kKH/kLk="; sha256 = "sha256-HDiyJGgyDUoLnpL8N+wDm3cM/vEfYYc/p4N1kKH/kLk=";
}; };
nativeBuildInputs = [ makeWrapper ];
installPhase = '' installPhase = ''
mkdir -p $out/{bin,core,modules,lib} mkdir -p $out/{bin,core,modules,lib}
mv bin core modules lib $out/ mv bin core modules lib $out/
mv $out/bin/terranix-doc-json $out/bin/.wrapper_terranix-doc-json wrapProgram $out/bin/terranix-doc-json \
--prefix PATH : ${lib.makeBinPath [ jq nix ]}
# manual wrapper because makeWrapper expectes executables
wrapper=$out/bin/terranix-doc-json
cat <<EOF>$wrapper
#!/usr/bin/env bash
export PATH=$PATH:${jq}/bin:${nix}/bin
$out/bin/.wrapper_terranix-doc-json "\$@"
EOF
chmod +x $wrapper
''; '';
meta = with lib; { meta = with lib; {
description = "A NixOS like terraform-json generator"; description = "A NixOS like terraform-json generator";
homepage = "https://terranix.org"; homepage = "https://terranix.org";
license = licenses.gpl3; license = licenses.gpl3;
platforms = platforms.linux ++ platforms.darwin; platforms = platforms.unix;
maintainers = with maintainers; [ mrVanDalo ]; maintainers = with maintainers; [ mrVanDalo ];
}; };
} }

View file

@ -17,10 +17,10 @@ in
mkFranzDerivation' rec { mkFranzDerivation' rec {
pname = "ferdi"; pname = "ferdi";
name = "Ferdi"; name = "Ferdi";
version = "5.6.2"; version = "5.6.3";
src = fetchurl { src = fetchurl {
url = "https://github.com/getferdi/ferdi/releases/download/v${version}/ferdi_${version}_amd64.deb"; url = "https://github.com/getferdi/ferdi/releases/download/v${version}/ferdi_${version}_amd64.deb";
sha256 = "sha256-8rB7SnaIaeCXAaKELNO1CnxpV8TyeKRCVamwpATeia4="; sha256 = "sha256-cfX3x0ZRxT6sxMm20uL8lKhMbrI/yiCHVrBTPKIlDSE=";
}; };
extraBuildInputs = [ xorg.libxshmfence ]; extraBuildInputs = [ xorg.libxshmfence ];
meta = with lib; { meta = with lib; {

View file

@ -1,22 +1,35 @@
{ lib { lib
, python3Packages , fetchFromGitHub
, git
, nodejs
, python3
}: }:
python3Packages.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "cwltool"; pname = "cwltool";
version = "3.1.20210628163208"; version = "3.1.20211104071347";
format = "setuptools";
src = python3Packages.fetchPypi { disabled = python3.pythonOlder "3.6";
inherit pname version;
sha256 = "21b885f725420413d2f87eadc5e81c08a9c91beceda89b35d1a702ec4df47e52"; src = fetchFromGitHub {
owner = "common-workflow-language";
repo = pname;
rev = version;
sha256 = "sha256-tp4SdilW2PKav7b3/BchXYl33W9U0aQH6FPdOhHSvIQ=";
}; };
postPatch = '' postPatch = ''
substituteInPlace setup.py \ substituteInPlace setup.py \
--replace 'prov == 1.5.1' 'prov' --replace 'prov == 1.5.1' 'prov' \
--replace "setup_requires=PYTEST_RUNNER," ""
''; '';
propagatedBuildInputs = with python3Packages; [ nativeBuildInputs = [
git
];
propagatedBuildInputs = with python3.pkgs; [
argcomplete argcomplete
bagit bagit
coloredlogs coloredlogs
@ -24,18 +37,41 @@ python3Packages.buildPythonApplication rec {
prov prov
psutil psutil
pydot pydot
rdflib
requests
ruamel-yaml
schema-salad schema-salad
shellescape shellescape
typing-extensions typing-extensions
]; ];
doCheck = false; # hard to setup checkInputs = with python3.pkgs; [
pythonImportsCheck = [ "cwltool" ]; mock
nodejs
pytest-mock
pytest-xdist
pytestCheckHook
];
disabledTests = [
"test_content_types"
"test_env_filtering"
"test_http_path_mapping"
];
disabledTestPaths = [
"tests/test_udocker.py"
"tests/test_provenance.py"
];
pythonImportsCheck = [
"cwltool"
];
meta = with lib; { meta = with lib; {
description = "Common Workflow Language reference implementation";
homepage = "https://www.commonwl.org"; homepage = "https://www.commonwl.org";
license = with licenses; [ asl20 ]; license = with licenses; [ asl20 ];
description = "Common Workflow Language reference implementation";
maintainers = with maintainers; [ veprbl ]; maintainers = with maintainers; [ veprbl ];
}; };
} }

View file

@ -18,11 +18,11 @@ let
arion = arion =
justStaticExecutables ( justStaticExecutables (
overrideCabal overrideCabal
arion-compose
cabalOverrides cabalOverrides
arion-compose
); );
inherit (haskell.lib) justStaticExecutables overrideCabal; inherit (haskell.lib.compose) justStaticExecutables overrideCabal;
inherit (haskellPackages) arion-compose; inherit (haskellPackages) arion-compose;

View file

@ -1,6 +1,6 @@
{ {
"commit": "f2537d46db49014726f8ad00dcc60f5e41213397", "commit": "da98cdcb5ec11aea3b1979174b3b1cab24014908",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/f2537d46db49014726f8ad00dcc60f5e41213397.tar.gz", "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/da98cdcb5ec11aea3b1979174b3b1cab24014908.tar.gz",
"sha256": "021j2xn1xk8fqs7648si42n7z6rjzp4jnags4jkfnk1f81swns6h", "sha256": "14qdmvlqkaixv331g1lfr8hghrvzdx45xhn69fz1g7zhv4w88jix",
"msg": "Update from Hackage at 2021-10-23T04:57:02Z" "msg": "Update from Hackage at 2021-11-05T06:34:09Z"
} }

View file

@ -8,9 +8,9 @@ let
fetchElmDeps = import ./fetchElmDeps.nix { inherit stdenv lib fetchurl; }; fetchElmDeps = import ./fetchElmDeps.nix { inherit stdenv lib fetchurl; };
hsPkgs = haskellPackages.override { hsPkgs = haskellPackages.override {
overrides = self: super: with haskell.lib; with lib; overrides = self: super: with haskell.lib.compose; with lib;
let elmPkgs = rec { let elmPkgs = rec {
elm = overrideCabal (self.callPackage ./packages/elm.nix { }) (drv: { elm = overrideCabal (drv: {
# sadly with parallelism most of the time breaks compilation # sadly with parallelism most of the time breaks compilation
enableParallelBuilding = false; enableParallelBuilding = false;
preConfigure = self.fetchElmDeps { preConfigure = self.fetchElmDeps {
@ -29,22 +29,22 @@ let
homepage = "https://elm-lang.org/"; homepage = "https://elm-lang.org/";
license = licenses.bsd3; license = licenses.bsd3;
maintainers = with maintainers; [ domenkozar turbomack ]; maintainers = with maintainers; [ domenkozar turbomack ];
}); }) (self.callPackage ./packages/elm.nix { });
/* /*
The elm-format expression is updated via a script in the https://github.com/avh4/elm-format repo: The elm-format expression is updated via a script in the https://github.com/avh4/elm-format repo:
`package/nix/build.sh` `package/nix/build.sh`
*/ */
elm-format = justStaticExecutables (overrideCabal (self.callPackage ./packages/elm-format.nix {}) (drv: { elm-format = justStaticExecutables (overrideCabal (drv: {
jailbreak = true; jailbreak = true;
description = "Formats Elm source code according to a standard set of rules based on the official Elm Style Guide"; description = "Formats Elm source code according to a standard set of rules based on the official Elm Style Guide";
homepage = "https://github.com/avh4/elm-format"; homepage = "https://github.com/avh4/elm-format";
license = licenses.bsd3; license = licenses.bsd3;
maintainers = with maintainers; [ avh4 turbomack ]; maintainers = with maintainers; [ avh4 turbomack ];
})); }) (self.callPackage ./packages/elm-format.nix {}));
elmi-to-json = justStaticExecutables (overrideCabal (self.callPackage ./packages/elmi-to-json.nix {}) (drv: { elmi-to-json = justStaticExecutables (overrideCabal (drv: {
prePatch = '' prePatch = ''
substituteInPlace package.yaml --replace "- -Werror" "" substituteInPlace package.yaml --replace "- -Werror" ""
hpack hpack
@ -55,9 +55,9 @@ let
homepage = "https://github.com/stoeffel/elmi-to-json"; homepage = "https://github.com/stoeffel/elmi-to-json";
license = licenses.bsd3; license = licenses.bsd3;
maintainers = [ maintainers.turbomack ]; maintainers = [ maintainers.turbomack ];
})); }) (self.callPackage ./packages/elmi-to-json.nix {}));
elm-instrument = justStaticExecutables (overrideCabal (self.callPackage ./packages/elm-instrument.nix {}) (drv: { elm-instrument = justStaticExecutables (overrideCabal (drv: {
prePatch = '' prePatch = ''
sed "s/desc <-.*/let desc = \"${drv.version}\"/g" Setup.hs --in-place sed "s/desc <-.*/let desc = \"${drv.version}\"/g" Setup.hs --in-place
''; '';
@ -69,7 +69,7 @@ let
homepage = "https://github.com/zwilias/elm-instrument"; homepage = "https://github.com/zwilias/elm-instrument";
license = licenses.bsd3; license = licenses.bsd3;
maintainers = [ maintainers.turbomack ]; maintainers = [ maintainers.turbomack ];
})); }) (self.callPackage ./packages/elm-instrument.nix {}));
inherit fetchElmDeps; inherit fetchElmDeps;
elmVersion = elmPkgs.elm.version; elmVersion = elmPkgs.elm.version;

View file

@ -16,14 +16,14 @@ let
curry-frontend = (haskellPackages.override { curry-frontend = (haskellPackages.override {
overrides = self: super: { overrides = self: super: {
curry-base = haskell.lib.overrideCabal (super.callPackage ./curry-base.nix {}) (drv: { curry-base = haskell.lib.compose.overrideCabal (drv: {
inherit src; inherit src;
postUnpack = "sourceRoot+=/frontend/curry-base"; postUnpack = "sourceRoot+=/frontend/curry-base";
}); }) (super.callPackage ./curry-base.nix {});
curry-frontend = haskell.lib.overrideCabal (super.callPackage ./curry-frontend.nix {}) (drv: { curry-frontend = haskell.lib.compose.overrideCabal (drv: {
inherit src; inherit src;
postUnpack = "sourceRoot+=/frontend/curry-frontend"; postUnpack = "sourceRoot+=/frontend/curry-frontend";
}); }) (super.callPackage ./curry-frontend.nix {});
}; };
}).curry-frontend; }).curry-frontend;
in stdenv.mkDerivation { in stdenv.mkDerivation {

File diff suppressed because it is too large Load diff

View file

@ -18,21 +18,21 @@ self: super: ({
__darwinAllowLocalNetworking = true; __darwinAllowLocalNetworking = true;
}); });
halive = addBuildDepend super.halive darwin.apple_sdk.frameworks.AppKit; halive = addBuildDepend darwin.apple_sdk.frameworks.AppKit super.halive;
# Hakyll's tests are broken on Darwin (3 failures); and they require util-linux # Hakyll's tests are broken on Darwin (3 failures); and they require util-linux
hakyll = overrideCabal super.hakyll { hakyll = overrideCabal {
testToolDepends = []; testToolDepends = [];
doCheck = false; doCheck = false;
}; } super.hakyll;
barbly = addBuildDepend super.barbly darwin.apple_sdk.frameworks.AppKit; barbly = addBuildDepend darwin.apple_sdk.frameworks.AppKit super.barbly;
double-conversion = addExtraLibrary super.double-conversion pkgs.libcxx; double-conversion = addExtraLibrary pkgs.libcxx super.double-conversion;
apecs-physics = addPkgconfigDepends super.apecs-physics [ apecs-physics = addPkgconfigDepends [
darwin.apple_sdk.frameworks.ApplicationServices darwin.apple_sdk.frameworks.ApplicationServices
]; ] super.apecs-physics;
# "erf table" test fails on Darwin # "erf table" test fails on Darwin
# https://github.com/bos/math-functions/issues/63 # https://github.com/bos/math-functions/issues/63
@ -40,11 +40,11 @@ self: super: ({
# darwin doesn't have sub-second resolution # darwin doesn't have sub-second resolution
# https://github.com/hspec/mockery/issues/11 # https://github.com/hspec/mockery/issues/11
mockery = overrideCabal super.mockery (drv: { mockery = overrideCabal (drv: {
preCheck = '' preCheck = ''
export TRAVIS=true export TRAVIS=true
'' + (drv.preCheck or ""); '' + (drv.preCheck or "");
}); }) super.mockery;
# https://github.com/ndmitchell/shake/issues/206 # https://github.com/ndmitchell/shake/issues/206
shake = dontCheck super.shake; shake = dontCheck super.shake;
@ -53,18 +53,18 @@ self: super: ({
# gtk/gtk3 needs to be told on Darwin to use the Quartz # gtk/gtk3 needs to be told on Darwin to use the Quartz
# rather than X11 backend (see eg https://github.com/gtk2hs/gtk2hs/issues/249). # rather than X11 backend (see eg https://github.com/gtk2hs/gtk2hs/issues/249).
gtk3 = appendConfigureFlag super.gtk3 "-f have-quartz-gtk"; gtk3 = appendConfigureFlag "-f have-quartz-gtk" super.gtk3;
gtk = appendConfigureFlag super.gtk "-f have-quartz-gtk"; gtk = appendConfigureFlag "-f have-quartz-gtk" super.gtk;
OpenAL = addExtraLibrary super.OpenAL darwin.apple_sdk.frameworks.OpenAL; OpenAL = addExtraLibrary darwin.apple_sdk.frameworks.OpenAL super.OpenAL;
al = overrideCabal super.al (drv: { al = overrideCabal (drv: {
libraryFrameworkDepends = [ libraryFrameworkDepends = [
darwin.apple_sdk.frameworks.OpenAL darwin.apple_sdk.frameworks.OpenAL
] ++ (drv.libraryFrameworkDepends or []); ] ++ (drv.libraryFrameworkDepends or []);
}); }) super.al;
proteaaudio = addExtraLibrary super.proteaaudio darwin.apple_sdk.frameworks.AudioToolbox; proteaaudio = addExtraLibrary darwin.apple_sdk.frameworks.AudioToolbox super.proteaaudio;
# the system-fileio tests use canonicalizePath, which fails in the sandbox # the system-fileio tests use canonicalizePath, which fails in the sandbox
system-fileio = dontCheck super.system-fileio; system-fileio = dontCheck super.system-fileio;
@ -80,17 +80,17 @@ self: super: ({
# TODO(matthewbauer): If someone really needs this to work in sandboxes, # TODO(matthewbauer): If someone really needs this to work in sandboxes,
# I think we can add a propagatedImpureHost dep here, but Im hoping to # I think we can add a propagatedImpureHost dep here, but Im hoping to
# get a proper fix available soonish. # get a proper fix available soonish.
x509-system = overrideCabal super.x509-system (drv: x509-system = overrideCabal (drv:
lib.optionalAttrs (!pkgs.stdenv.cc.nativeLibc) { lib.optionalAttrs (!pkgs.stdenv.cc.nativeLibc) {
postPatch = '' postPatch = ''
substituteInPlace System/X509/MacOS.hs --replace security /usr/bin/security substituteInPlace System/X509/MacOS.hs --replace security /usr/bin/security
'' + (drv.postPatch or ""); '' + (drv.postPatch or "");
}); }) super.x509-system;
# https://github.com/haskell-foundation/foundation/pull/412 # https://github.com/haskell-foundation/foundation/pull/412
foundation = dontCheck super.foundation; foundation = dontCheck super.foundation;
llvm-hs = overrideCabal super.llvm-hs (oldAttrs: { llvm-hs = overrideCabal (oldAttrs: {
# One test fails on darwin. # One test fails on darwin.
doCheck = false; doCheck = false;
# llvm-hs's Setup.hs file tries to add the lib/ directory from LLVM8 to # llvm-hs's Setup.hs file tries to add the lib/ directory from LLVM8 to
@ -100,20 +100,20 @@ self: super: ({
preCompileBuildDriver = '' preCompileBuildDriver = ''
substituteInPlace Setup.hs --replace "addToLdLibraryPath libDir" "pure ()" substituteInPlace Setup.hs --replace "addToLdLibraryPath libDir" "pure ()"
'' + (oldAttrs.preCompileBuildDriver or ""); '' + (oldAttrs.preCompileBuildDriver or "");
}); }) super.llvm-hs;
yesod-bin = addBuildDepend super.yesod-bin darwin.apple_sdk.frameworks.Cocoa; yesod-bin = addBuildDepend darwin.apple_sdk.frameworks.Cocoa super.yesod-bin;
hmatrix = addBuildDepend super.hmatrix darwin.apple_sdk.frameworks.Accelerate; hmatrix = addBuildDepend darwin.apple_sdk.frameworks.Accelerate super.hmatrix;
blas-hs = overrideCabal super.blas-hs (drv: { blas-hs = overrideCabal (drv: {
libraryFrameworkDepends = [ libraryFrameworkDepends = [
darwin.apple_sdk.frameworks.Accelerate darwin.apple_sdk.frameworks.Accelerate
] ++ (drv.libraryFrameworkDepends or []); ] ++ (drv.libraryFrameworkDepends or []);
}); }) super.blas-hs;
# Ensure the necessary frameworks are propagatedBuildInputs on darwin # Ensure the necessary frameworks are propagatedBuildInputs on darwin
OpenGLRaw = overrideCabal super.OpenGLRaw (drv: { OpenGLRaw = overrideCabal (drv: {
librarySystemDepends = []; librarySystemDepends = [];
libraryHaskellDepends = drv.libraryHaskellDepends ++ [ libraryHaskellDepends = drv.libraryHaskellDepends ++ [
darwin.apple_sdk.frameworks.OpenGL darwin.apple_sdk.frameworks.OpenGL
@ -123,14 +123,14 @@ self: super: ({
frameworkPaths=$(IFS=, ; echo "''${frameworkPaths[@]}") frameworkPaths=$(IFS=, ; echo "''${frameworkPaths[@]}")
configureFlags+=$(if [ -n "$frameworkPaths" ]; then echo -n "--ghc-options=-optl=$frameworkPaths"; fi) configureFlags+=$(if [ -n "$frameworkPaths" ]; then echo -n "--ghc-options=-optl=$frameworkPaths"; fi)
'' + (drv.preConfigure or ""); '' + (drv.preConfigure or "");
}); }) super.OpenGLRaw;
GLURaw = overrideCabal super.GLURaw (drv: { GLURaw = overrideCabal (drv: {
librarySystemDepends = []; librarySystemDepends = [];
libraryHaskellDepends = drv.libraryHaskellDepends ++ [ libraryHaskellDepends = drv.libraryHaskellDepends ++ [
darwin.apple_sdk.frameworks.OpenGL darwin.apple_sdk.frameworks.OpenGL
]; ];
}); }) super.GLURaw;
bindings-GLFW = overrideCabal super.bindings-GLFW (drv: { bindings-GLFW = overrideCabal (drv: {
librarySystemDepends = []; librarySystemDepends = [];
libraryHaskellDepends = drv.libraryHaskellDepends ++ [ libraryHaskellDepends = drv.libraryHaskellDepends ++ [
darwin.apple_sdk.frameworks.AGL darwin.apple_sdk.frameworks.AGL
@ -141,13 +141,13 @@ self: super: ({
darwin.apple_sdk.frameworks.CoreVideo darwin.apple_sdk.frameworks.CoreVideo
darwin.CF darwin.CF
]; ];
}); }) super.bindings-GLFW;
OpenCL = overrideCabal super.OpenCL (drv: { OpenCL = overrideCabal (drv: {
librarySystemDepends = []; librarySystemDepends = [];
libraryHaskellDepends = drv.libraryHaskellDepends ++ [ libraryHaskellDepends = drv.libraryHaskellDepends ++ [
darwin.apple_sdk.frameworks.OpenCL darwin.apple_sdk.frameworks.OpenCL
]; ];
}); }) super.OpenCL;
# cabal2nix likes to generate dependencies on hinotify when hfsevents is # cabal2nix likes to generate dependencies on hinotify when hfsevents is
# really required on darwin: https://github.com/NixOS/cabal2nix/issues/146. # really required on darwin: https://github.com/NixOS/cabal2nix/issues/146.
@ -155,37 +155,37 @@ self: super: ({
# FSEvents API is very buggy and tests are unreliable. See # FSEvents API is very buggy and tests are unreliable. See
# http://openradar.appspot.com/10207999 and similar issues. # http://openradar.appspot.com/10207999 and similar issues.
fsnotify = addBuildDepend (dontCheck super.fsnotify) fsnotify = addBuildDepend darwin.apple_sdk.frameworks.Cocoa
darwin.apple_sdk.frameworks.Cocoa; (dontCheck super.fsnotify);
FractalArt = overrideCabal super.FractalArt (drv: { FractalArt = overrideCabal (drv: {
librarySystemDepends = [ librarySystemDepends = [
darwin.libobjc darwin.libobjc
darwin.apple_sdk.frameworks.AppKit darwin.apple_sdk.frameworks.AppKit
] ++ (drv.librarySystemDepends or []); ] ++ (drv.librarySystemDepends or []);
}); }) super.FractalArt;
arbtt = overrideCabal super.arbtt (drv: { arbtt = overrideCabal (drv: {
librarySystemDepends = [ librarySystemDepends = [
darwin.apple_sdk.frameworks.Foundation darwin.apple_sdk.frameworks.Foundation
darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Carbon
darwin.apple_sdk.frameworks.IOKit darwin.apple_sdk.frameworks.IOKit
] ++ (drv.librarySystemDepends or []); ] ++ (drv.librarySystemDepends or []);
}); }) super.arbtt;
HTF = overrideCabal super.HTF (drv: { HTF = overrideCabal (drv: {
# GNU find is not prefixed in stdenv # GNU find is not prefixed in stdenv
postPatch = '' postPatch = ''
substituteInPlace scripts/local-htfpp --replace "find=gfind" "find=find" substituteInPlace scripts/local-htfpp --replace "find=gfind" "find=find"
'' + (drv.postPatch or ""); '' + (drv.postPatch or "");
}); }) super.HTF;
# conditional dependency via a cabal flag # conditional dependency via a cabal flag
cas-store = overrideCabal super.cas-store (drv: { cas-store = overrideCabal (drv: {
libraryHaskellDepends = [ libraryHaskellDepends = [
self.kqueue self.kqueue
] ++ (drv.libraryHaskellDepends or []); ] ++ (drv.libraryHaskellDepends or []);
}); }) super.cas-store;
# 2021-05-25: Tests fail and I have no way to debug them. # 2021-05-25: Tests fail and I have no way to debug them.
hls-class-plugin = dontCheck super.hls-class-plugin; hls-class-plugin = dontCheck super.hls-class-plugin;
@ -204,13 +204,13 @@ self: super: ({
# On darwin librt doesn't exist and will fail to link against, # On darwin librt doesn't exist and will fail to link against,
# however linking against it is also not necessary there # however linking against it is also not necessary there
GLHUI = overrideCabal super.GLHUI (drv: { GLHUI = overrideCabal (drv: {
postPatch = '' postPatch = ''
substituteInPlace GLHUI.cabal --replace " rt" "" substituteInPlace GLHUI.cabal --replace " rt" ""
'' + (drv.postPatch or ""); '' + (drv.postPatch or "");
}); }) super.GLHUI;
SDL-image = overrideCabal super.SDL-image (drv: { SDL-image = overrideCabal (drv: {
# Prevent darwin-specific configuration code path being taken # Prevent darwin-specific configuration code path being taken
# which doesn't work with nixpkgs' SDL libraries # which doesn't work with nixpkgs' SDL libraries
postPatch = '' postPatch = ''
@ -220,18 +220,18 @@ self: super: ({
# Work around SDL_main.h redefining main to SDL_main # Work around SDL_main.h redefining main to SDL_main
./patches/SDL-image-darwin-hsc.patch ./patches/SDL-image-darwin-hsc.patch
]; ];
}); }) super.SDL-image;
# Prevent darwin-specific configuration code path being taken which # Prevent darwin-specific configuration code path being taken which
# doesn't work with nixpkgs' SDL libraries # doesn't work with nixpkgs' SDL libraries
SDL-mixer = overrideCabal super.SDL-mixer (drv: { SDL-mixer = overrideCabal (drv: {
postPatch = '' postPatch = ''
substituteInPlace configure --replace xDarwin noDarwinSpecialCasing substituteInPlace configure --replace xDarwin noDarwinSpecialCasing
'' + (drv.postPatch or ""); '' + (drv.postPatch or "");
}); }) super.SDL-mixer;
# Work around SDL_main.h redefining main to SDL_main # Work around SDL_main.h redefining main to SDL_main
SDL-ttf = appendPatch super.SDL-ttf ./patches/SDL-ttf-darwin-hsc.patch; SDL-ttf = appendPatch ./patches/SDL-ttf-darwin-hsc.patch super.SDL-ttf;
# Disable a bunch of test suites that fail because of darwin's case insensitive # Disable a bunch of test suites that fail because of darwin's case insensitive
# file system: When a test suite has a test suite file that has the same name # file system: When a test suite has a test suite file that has the same name
@ -242,17 +242,19 @@ self: super: ({
# should create issues for them. # should create issues for them.
# https://github.com/typeclasses/aws-cloudfront-signed-cookies/issues/2 # https://github.com/typeclasses/aws-cloudfront-signed-cookies/issues/2
aws-cloudfront-signed-cookies = dontCheck super.aws-cloudfront-signed-cookies; aws-cloudfront-signed-cookies = dontCheck super.aws-cloudfront-signed-cookies;
# https://github.com/typeclasses/assoc-list/issues/2
assoc-list = dontCheck super.assoc-list;
assoc-listlike = dontCheck super.assoc-listlike;
# https://github.com/typeclasses/dsv/issues/1
dsv = dontCheck super.dsv;
# https://github.com/acid-state/acid-state/issues/133 # https://github.com/acid-state/acid-state/issues/133
acid-state = dontCheck super.acid-state; acid-state = dontCheck super.acid-state;
# Otherwise impure gcc is used, which is Apple's weird wrapper # Otherwise impure gcc is used, which is Apple's weird wrapper
c2hsc = addTestToolDepends super.c2hsc [ pkgs.gcc ]; c2hsc = addTestToolDepends [ pkgs.gcc ] super.c2hsc;
# streamly depends on Cocoa starting with 0.8.0
streamly_0_8_0 = overrideCabal (drv: {
libraryFrameworkDepends = [
darwin.apple_sdk.frameworks.Cocoa
] ++ (drv.libraryFrameworkDepends or []);
}) super.streamly_0_8_0;
} // lib.optionalAttrs pkgs.stdenv.isAarch64 { # aarch64-darwin } // lib.optionalAttrs pkgs.stdenv.isAarch64 { # aarch64-darwin

View file

@ -72,20 +72,20 @@ self: super: {
shower = doJailbreak super.shower; shower = doJailbreak super.shower;
# The shipped Setup.hs file is broken. # The shipped Setup.hs file is broken.
csv = overrideCabal super.csv (drv: { preCompileBuildDriver = "rm Setup.hs"; }); csv = overrideCabal (drv: { preCompileBuildDriver = "rm Setup.hs"; }) super.csv;
# Apply patch from https://github.com/finnsson/template-helper/issues/12#issuecomment-611795375 to fix the build. # Apply patch from https://github.com/finnsson/template-helper/issues/12#issuecomment-611795375 to fix the build.
language-haskell-extract = appendPatch (doJailbreak super.language-haskell-extract) (pkgs.fetchpatch { language-haskell-extract = appendPatch (pkgs.fetchpatch {
name = "language-haskell-extract-0.2.4.patch"; name = "language-haskell-extract-0.2.4.patch";
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/e48738ee1be774507887a90a0d67ad1319456afc/patches/language-haskell-extract-0.2.4.patch?inline=false"; url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/e48738ee1be774507887a90a0d67ad1319456afc/patches/language-haskell-extract-0.2.4.patch?inline=false";
sha256 = "0rgzrq0513nlc1vw7nw4km4bcwn4ivxcgi33jly4a7n3c1r32v1f"; sha256 = "0rgzrq0513nlc1vw7nw4km4bcwn4ivxcgi33jly4a7n3c1r32v1f";
}); }) (doJailbreak super.language-haskell-extract);
# hnix 0.9.0 does not provide an executable for ghc < 8.10, so define completions here for now. # hnix 0.9.0 does not provide an executable for ghc < 8.10, so define completions here for now.
hnix = generateOptparseApplicativeCompletion "hnix" hnix = generateOptparseApplicativeCompletion "hnix"
(overrideCabal super.hnix (drv: { (overrideCabal (drv: {
# executable is allowed for ghc >= 8.10 and needs repline # executable is allowed for ghc >= 8.10 and needs repline
executableHaskellDepends = drv.executableToolDepends or [] ++ [ self.repline ]; executableHaskellDepends = drv.executableToolDepends or [] ++ [ self.repline ];
})); }) super.hnix);
} }

View file

@ -90,13 +90,13 @@ self: super: {
haddock-library_1_7_0 = dontCheck super.haddock-library_1_7_0; haddock-library_1_7_0 = dontCheck super.haddock-library_1_7_0;
# ghc versions prior to 8.8.x needs additional dependency to compile successfully. # ghc versions prior to 8.8.x needs additional dependency to compile successfully.
ghc-lib-parser-ex = addBuildDepend super.ghc-lib-parser-ex self.ghc-lib-parser; ghc-lib-parser-ex = addBuildDepend self.ghc-lib-parser super.ghc-lib-parser-ex;
# This became a core library in ghc 8.10., so we dont have an "exception" attribute anymore. # This became a core library in ghc 8.10., so we dont have an "exception" attribute anymore.
exceptions = super.exceptions_0_10_4; exceptions = super.exceptions_0_10_4;
# Older compilers need the latest ghc-lib to build this package. # Older compilers need the latest ghc-lib to build this package.
hls-hlint-plugin = addBuildDepend super.hls-hlint-plugin self.ghc-lib; hls-hlint-plugin = addBuildDepend self.ghc-lib super.hls-hlint-plugin;
# vector 0.12.2 indroduced doctest checks that dont work on older compilers # vector 0.12.2 indroduced doctest checks that dont work on older compilers
vector = dontCheck super.vector; vector = dontCheck super.vector;

View file

@ -85,10 +85,10 @@ self: super: {
vault = dontHaddock super.vault; vault = dontHaddock super.vault;
# https://github.com/snapframework/snap-core/issues/288 # https://github.com/snapframework/snap-core/issues/288
snap-core = overrideCabal super.snap-core (drv: { prePatch = "substituteInPlace src/Snap/Internal/Core.hs --replace 'fail = Fail.fail' ''"; }); snap-core = overrideCabal (drv: { prePatch = "substituteInPlace src/Snap/Internal/Core.hs --replace 'fail = Fail.fail' ''"; }) super.snap-core;
# Upstream ships a broken Setup.hs file. # Upstream ships a broken Setup.hs file.
csv = overrideCabal super.csv (drv: { prePatch = "rm Setup.hs"; }); csv = overrideCabal (drv: { prePatch = "rm Setup.hs"; }) super.csv;
# https://github.com/kowainik/relude/issues/241 # https://github.com/kowainik/relude/issues/241
relude = dontCheck super.relude; relude = dontCheck super.relude;
@ -120,10 +120,10 @@ self: super: {
# ghc versions which dont match the ghc-lib-parser-ex version need the # ghc versions which dont match the ghc-lib-parser-ex version need the
# additional dependency to compile successfully. # additional dependency to compile successfully.
ghc-lib-parser-ex = addBuildDepend super.ghc-lib-parser-ex self.ghc-lib-parser; ghc-lib-parser-ex = addBuildDepend self.ghc-lib-parser super.ghc-lib-parser-ex;
# Older compilers need the latest ghc-lib to build this package. # Older compilers need the latest ghc-lib to build this package.
hls-hlint-plugin = addBuildDepend super.hls-hlint-plugin self.ghc-lib; hls-hlint-plugin = addBuildDepend self.ghc-lib super.hls-hlint-plugin;
# vector 0.12.2 indroduced doctest checks that dont work on older compilers # vector 0.12.2 indroduced doctest checks that dont work on older compilers
vector = dontCheck super.vector; vector = dontCheck super.vector;

View file

@ -55,10 +55,10 @@ self: super: {
dec = doJailbreak super.dec; dec = doJailbreak super.dec;
ed25519 = doJailbreak super.ed25519; ed25519 = doJailbreak super.ed25519;
hackage-security = doJailbreak super.hackage-security; hackage-security = doJailbreak super.hackage-security;
hashable = overrideCabal (doJailbreak (dontCheck super.hashable)) (drv: { postPatch = "sed -i -e 's,integer-gmp .*<1.1,integer-gmp < 2,' hashable.cabal"; }); hashable = overrideCabal (drv: { postPatch = "sed -i -e 's,integer-gmp .*<1.1,integer-gmp < 2,' hashable.cabal"; }) (doJailbreak (dontCheck super.hashable));
hashable-time = doJailbreak super.hashable-time; hashable-time = doJailbreak super.hashable-time;
HTTP = overrideCabal (doJailbreak super.HTTP) (drv: { postPatch = "sed -i -e 's,! Socket,!Socket,' Network/TCP.hs"; }); HTTP = overrideCabal (drv: { postPatch = "sed -i -e 's,! Socket,!Socket,' Network/TCP.hs"; }) (doJailbreak super.HTTP);
integer-logarithms = overrideCabal (doJailbreak super.integer-logarithms) (drv: { postPatch = "sed -i -e 's,integer-gmp <1.1,integer-gmp < 2,' integer-logarithms.cabal"; }); integer-logarithms = overrideCabal (drv: { postPatch = "sed -i -e 's,integer-gmp <1.1,integer-gmp < 2,' integer-logarithms.cabal"; }) (doJailbreak super.integer-logarithms);
lukko = doJailbreak super.lukko; lukko = doJailbreak super.lukko;
parallel = doJailbreak super.parallel; parallel = doJailbreak super.parallel;
primitive = doJailbreak (dontCheck super.primitive); primitive = doJailbreak (dontCheck super.primitive);
@ -75,8 +75,9 @@ self: super: {
weeder = self.weeder_2_3_0; weeder = self.weeder_2_3_0;
generic-lens-core = self.generic-lens-core_2_2_0_0; generic-lens-core = self.generic-lens-core_2_2_0_0;
generic-lens = self.generic-lens_2_2_0_0; generic-lens = self.generic-lens_2_2_0_0;
th-desugar = self.th-desugar_1_12; th-desugar = self.th-desugar_1_13;
autoapply = self.autoapply_0_4_1_1; # 2021-11-08: Fixed in autoapply-0.4.2
autoapply = doJailbreak self.autoapply_0_4_1_1;
# Doesn't allow Dhall 1.39.* # Doesn't allow Dhall 1.39.*
weeder_2_3_0 = super.weeder_2_3_0.override { weeder_2_3_0 = super.weeder_2_3_0.override {
@ -87,15 +88,15 @@ self: super: {
generic-lens_2_2_0_0 = dontCheck super.generic-lens_2_2_0_0; generic-lens_2_2_0_0 = dontCheck super.generic-lens_2_2_0_0;
# Apply patches from head.hackage. # Apply patches from head.hackage.
alex = appendPatch (dontCheck super.alex) (pkgs.fetchpatch { alex = appendPatch (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/fe192e12b88b09499d4aff0e562713e820544bd6/patches/alex-3.2.6.patch"; url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/fe192e12b88b09499d4aff0e562713e820544bd6/patches/alex-3.2.6.patch";
sha256 = "1rzs764a0nhx002v4fadbys98s6qblw4kx4g46galzjf5f7n2dn4"; sha256 = "1rzs764a0nhx002v4fadbys98s6qblw4kx4g46galzjf5f7n2dn4";
}); }) (dontCheck super.alex);
doctest = dontCheck (doJailbreak super.doctest_0_18_1); doctest = dontCheck (doJailbreak super.doctest_0_18_1);
language-haskell-extract = appendPatch (doJailbreak super.language-haskell-extract) (pkgs.fetchpatch { language-haskell-extract = appendPatch (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/language-haskell-extract-0.2.4.patch"; url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/language-haskell-extract-0.2.4.patch";
sha256 = "0rgzrq0513nlc1vw7nw4km4bcwn4ivxcgi33jly4a7n3c1r32v1f"; sha256 = "0rgzrq0513nlc1vw7nw4km4bcwn4ivxcgi33jly4a7n3c1r32v1f";
}); }) (doJailbreak super.language-haskell-extract);
# The test suite depends on ChasingBottoms, which is broken with ghc-9.0.x. # The test suite depends on ChasingBottoms, which is broken with ghc-9.0.x.
unordered-containers = dontCheck super.unordered-containers; unordered-containers = dontCheck super.unordered-containers;
@ -127,19 +128,19 @@ self: super: {
ghc-lib = self.ghc-lib_9_0_1_20210324; ghc-lib = self.ghc-lib_9_0_1_20210324;
# 2021-09-18: Need semialign >= 1.2 for correct bounds # 2021-09-18: Need semialign >= 1.2 for correct bounds
semialign = super.semialign_1_2; semialign = super.semialign_1_2_0_1;
# Will probably be needed for brittany support # Will probably be needed for brittany support
# https://github.com/lspitzner/czipwith/pull/2 # https://github.com/lspitzner/czipwith/pull/2
#czipwith = appendPatch super.czipwith #czipwith = appendPatch
# (pkgs.fetchpatch { # (pkgs.fetchpatch {
# url = "https://github.com/lspitzner/czipwith/commit/b6245884ae83e00dd2b5261762549b37390179f8.patch"; # url = "https://github.com/lspitzner/czipwith/commit/b6245884ae83e00dd2b5261762549b37390179f8.patch";
# sha256 = "08rpppdldsdwzb09fmn0j55l23pwyls2dyzziw3yjc1cm0j5vic5"; # sha256 = "08rpppdldsdwzb09fmn0j55l23pwyls2dyzziw3yjc1cm0j5vic5";
# }); # }) super.czipwith;
# 2021-09-18: https://github.com/mokus0/th-extras/pull/8 # 2021-09-18: https://github.com/mokus0/th-extras/pull/8
# Release is missing, but asked for in the above PR. # Release is missing, but asked for in the above PR.
th-extras = overrideCabal super.th-extras (old: { th-extras = overrideCabal (old: {
version = assert old.version == "0.0.0.4"; "unstable-2021-09-18"; version = assert old.version == "0.0.0.4"; "unstable-2021-09-18";
src = pkgs.fetchFromGitHub { src = pkgs.fetchFromGitHub {
owner = "mokus0"; owner = "mokus0";
@ -148,22 +149,22 @@ self: super: {
sha256 = "045f36yagrigrggvyb96zqmw8y42qjsllhhx2h20q25sk5h44xsd"; sha256 = "045f36yagrigrggvyb96zqmw8y42qjsllhhx2h20q25sk5h44xsd";
}; };
libraryHaskellDepends = old.libraryHaskellDepends ++ [self.th-abstraction]; libraryHaskellDepends = old.libraryHaskellDepends ++ [self.th-abstraction];
}); }) super.th-extras;
# 2021-09-18: GHC 9 compat release is missing # 2021-09-18: GHC 9 compat release is missing
# Issue: https://github.com/obsidiansystems/dependent-sum/issues/65 # Issue: https://github.com/obsidiansystems/dependent-sum/issues/65
dependent-sum-template = dontCheck (appendPatch super.dependent-sum-template dependent-sum-template = dontCheck (appendPatch
(pkgs.fetchpatch { (pkgs.fetchpatch {
url = "https://github.com/obsidiansystems/dependent-sum/commit/8cf4c7fbc3bfa2be475a17bb7c94a1e1e9a830b5.patch"; url = "https://github.com/obsidiansystems/dependent-sum/commit/8cf4c7fbc3bfa2be475a17bb7c94a1e1e9a830b5.patch";
sha256 = "02wyy0ciicq2x8lw4xxz3x5i4a550mxfidhm2ihh60ni6am498ff"; sha256 = "02wyy0ciicq2x8lw4xxz3x5i4a550mxfidhm2ihh60ni6am498ff";
stripLen = 2; stripLen = 2;
extraPrefix = ""; extraPrefix = "";
})); }) super.dependent-sum-template);
# 2021-09-18: cabal2nix does not detect the need for ghc-api-compat. # 2021-09-18: cabal2nix does not detect the need for ghc-api-compat.
hiedb = overrideCabal super.hiedb (old: { hiedb = overrideCabal (old: {
libraryHaskellDepends = old.libraryHaskellDepends ++ [self.ghc-api-compat]; libraryHaskellDepends = old.libraryHaskellDepends ++ [self.ghc-api-compat];
}); }) super.hiedb;
# 2021-09-18: Need path >= 0.9.0 for ghc 9 compat # 2021-09-18: Need path >= 0.9.0 for ghc 9 compat
path = self.path_0_9_0; path = self.path_0_9_0;
@ -174,16 +175,7 @@ self: super: {
hls-ormolu-plugin = doJailbreak super.hls-ormolu-plugin; hls-ormolu-plugin = doJailbreak super.hls-ormolu-plugin;
# 2021-09-18: The following plugins dont work yet on ghc9. # 2021-09-18: The following plugins dont work yet on ghc9.
haskell-language-server = appendConfigureFlags (super.haskell-language-server.override { haskell-language-server = appendConfigureFlags [
hls-tactics-plugin = null; # No upstream support, generic-lens-core fail
hls-splice-plugin = null; # No upstream support in hls 1.4.0, should be fixed in 1.5
hls-refine-imports-plugin = null; # same issue es splice-plugin
hls-class-plugin = null; # No upstream support
hls-fourmolu-plugin = null; # No upstream support, needs new fourmolu release
hls-stylish-haskell-plugin = null; # No upstream support
hls-brittany-plugin = null; # No upstream support, needs new brittany release
}) [
"-f-tactic" "-f-tactic"
"-f-splice" "-f-splice"
"-f-refineimports" "-f-refineimports"
@ -192,5 +184,14 @@ self: super: {
"-f-fourmolu" "-f-fourmolu"
"-f-brittany" "-f-brittany"
"-f-stylishhaskell" "-f-stylishhaskell"
]; ] (super.haskell-language-server.override {
hls-tactics-plugin = null; # No upstream support, generic-lens-core fail
hls-splice-plugin = null; # No upstream support in hls 1.4.0, should be fixed in 1.5
hls-refine-imports-plugin = null; # same issue es splice-plugin
hls-class-plugin = null; # No upstream support
hls-fourmolu-plugin = null; # No upstream support, needs new fourmolu release
hls-stylish-haskell-plugin = null; # No upstream support
hls-brittany-plugin = null; # No upstream support, needs new brittany release
});
} }

View file

@ -44,77 +44,50 @@ self: super: {
xhtml = null; xhtml = null;
# Workaround for https://gitlab.haskell.org/ghc/ghc/-/issues/20594 # Workaround for https://gitlab.haskell.org/ghc/ghc/-/issues/20594
tf-random = overrideCabal super.tf-random { tf-random = overrideCabal {
doHaddock = !pkgs.stdenv.isAarch64; doHaddock = !pkgs.stdenv.isAarch64;
}; } super.tf-random;
aeson = appendPatch (doJailbreak super.aeson) (pkgs.fetchpatch { aeson = appendPatch (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/aeson-1.5.6.0.patch"; url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/aeson-1.5.6.0.patch";
sha256 = "07rk7f0lhgilxvbg2grpl1p5x25wjf9m7a0wqmi2jr0q61p9a0nl"; sha256 = "07rk7f0lhgilxvbg2grpl1p5x25wjf9m7a0wqmi2jr0q61p9a0nl";
# The revision information is newer than that included in the patch # The revision information is newer than that included in the patch
excludes = ["*.cabal"]; excludes = ["*.cabal"];
}); }) (doJailbreak super.aeson);
attoparsec = appendPatch (doJailbreak super.attoparsec_0_14_1) (pkgs.fetchpatch { # Tests use Data.Semigroup.Option
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/attoparsec-0.14.1.patch"; aeson_2_0_1_0 = dontCheck (doJailbreak super.aeson_2_0_1_0);
sha256 = "0nprywmi3i9ih8mcc8afyimrfjr8pbcjxr2ywz9gwdlwdplk21da";
});
# 0.12.0 introduces support for 9.2 basement = overrideCabal (drv: {
base-compat = self.base-compat_0_12_0;
base-compat-batteries = self.base-compat-batteries_0_12_0;
basement = overrideCabal (appendPatch super.basement (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/basement-0.0.12.patch";
sha256 = "0c8n2krz827cv87p3vb1vpl3v0k255aysjx9lq44gz3z1dhxd64z";
})) (drv: {
# This is inside a conditional block so `doJailbreak` doesn't work # This is inside a conditional block so `doJailbreak` doesn't work
postPatch = "sed -i -e 's,<4.16,<4.17,' basement.cabal"; postPatch = "sed -i -e 's,<4.16,<4.17,' basement.cabal";
}); }) (appendPatch (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/basement-0.0.12.patch";
sha256 = "0c8n2krz827cv87p3vb1vpl3v0k255aysjx9lq44gz3z1dhxd64z";
}) super.basement);
base16-bytestring = appendPatch super.base16-bytestring (pkgs.fetchpatch { cereal = appendPatch (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/base16-bytestring-1.0.1.0.patch";
sha256 = "19ajai9y04981zfpcdj1nlz44b12gjj4m1ncciijv43mnz82plji";
});
# Duplicate Show instances in tests and library cause compiling tests to fail
blaze-builder = appendPatch (dontCheck super.blaze-builder) (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/blaze-builder-0.4.2.1.patch";
sha256 = "1h5ny3mlng69vwaabl3af8hlv4qi24wfw8s14lw2ksw1yjbgi0j8";
});
cereal = appendPatch (doJailbreak super.cereal) (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/cereal-0.5.8.1.patch"; url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/cereal-0.5.8.1.patch";
sha256 = "03v4nxwz9y6viaa8anxcmp4zdf2clczv4pf9fqq6lnpplpz5i128"; sha256 = "03v4nxwz9y6viaa8anxcmp4zdf2clczv4pf9fqq6lnpplpz5i128";
}); }) (doJailbreak super.cereal);
# Tests fail because of typechecking changes # Tests fail because of typechecking changes
conduit = dontCheck super.conduit; conduit = dontCheck super.conduit;
constraints = appendPatch (doJailbreak super.constraints) (pkgs.fetchpatch { cryptonite = appendPatch (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/constraints-0.13.patch";
sha256 = "0cr4qzw0fbwy97f3wx0v3mv8yc642ahpfa80kaqrq191232fzzf3";
});
cryptonite = appendPatch super.cryptonite (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/cryptonite-0.29.patch"; url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/cryptonite-0.29.patch";
sha256 = "1g48lrmqgd88hqvfq3klz7lsrpwrir2v1931myrhh6dy0d9pqj09"; sha256 = "1g48lrmqgd88hqvfq3klz7lsrpwrir2v1931myrhh6dy0d9pqj09";
}); }) super.cryptonite;
# cabal-install needs more recent versions of Cabal # cabal-install needs more recent versions of Cabal
cabal-install = (doJailbreak super.cabal-install).overrideScope (self: super: { cabal-install = (doJailbreak super.cabal-install).overrideScope (self: super: {
Cabal = self.Cabal_3_6_2_0; Cabal = self.Cabal_3_6_2_0;
}); });
doctest = appendPatch (dontCheck (doJailbreak super.doctest_0_18_1)) (pkgs.fetchpatch { doctest = appendPatch (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/doctest-0.18.1.patch"; url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/doctest-0.18.1.patch";
sha256 = "030kdsk0fg08cgdcjpyv6z8ym1vkkrbd34aacs91y5hqzc9g79y1"; sha256 = "030kdsk0fg08cgdcjpyv6z8ym1vkkrbd34aacs91y5hqzc9g79y1";
}); }) (dontCheck (doJailbreak super.doctest_0_18_1));
entropy = appendPatch super.entropy (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/entropy-0.4.1.6.patch";
sha256 = "0pbbl6m8b3snf9cz6rs0ljmacpsavayfn0s3p67hdcmndy3ndawi";
});
# Tests fail in GHC 9.2 # Tests fail in GHC 9.2
extra = dontCheck super.extra; extra = dontCheck super.extra;
@ -122,99 +95,95 @@ self: super: {
# Jailbreaks & Version Updates # Jailbreaks & Version Updates
assoc = doJailbreak super.assoc; assoc = doJailbreak super.assoc;
async = doJailbreak super.async; async = doJailbreak super.async;
attoparsec = super.attoparsec_0_14_2;
base64-bytestring = doJailbreak super.base64-bytestring; base64-bytestring = doJailbreak super.base64-bytestring;
base-compat = self.base-compat_0_12_1;
base-compat-batteries = self.base-compat-batteries_0_12_1;
binary-instances = doJailbreak super.binary-instances;
binary-orphans = super.binary-orphans_1_0_2;
ChasingBottoms = doJailbreak super.ChasingBottoms; ChasingBottoms = doJailbreak super.ChasingBottoms;
cpphs = overrideCabal super.cpphs (drv: { postPatch = "sed -i -e 's,time >=1.5 && <1.11,time >=1.5 \\&\\& <1.12,' cpphs.cabal";}); constraints = doJailbreak super.constraints;
cpphs = overrideCabal (drv: { postPatch = "sed -i -e 's,time >=1.5 && <1.11,time >=1.5 \\&\\& <1.12,' cpphs.cabal";}) super.cpphs;
cryptohash-md5 = doJailbreak super.cryptohash-md5; cryptohash-md5 = doJailbreak super.cryptohash-md5;
cryptohash-sha1 = doJailbreak super.cryptohash-sha1; cryptohash-sha1 = doJailbreak super.cryptohash-sha1;
data-fix = doJailbreak super.data-fix; data-fix = doJailbreak super.data-fix;
dec = doJailbreak super.dec; dec = doJailbreak super.dec;
ed25519 = doJailbreak super.ed25519; ed25519 = doJailbreak super.ed25519;
ghc-byteorder = doJailbreak super.ghc-byteorder; ghc-byteorder = doJailbreak super.ghc-byteorder;
ghc-lib = self.ghc-lib_9_2_1_20211101;
ghc-lib-parser = self.ghc-lib-parser_9_2_1_20211101;
ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_1;
hackage-security = doJailbreak super.hackage-security; hackage-security = doJailbreak super.hackage-security;
hashable = super.hashable_1_4_0_0;
hashable-time = doJailbreak super.hashable-time; hashable-time = doJailbreak super.hashable-time;
HTTP = overrideCabal (doJailbreak super.HTTP) (drv: { postPatch = "sed -i -e 's,! Socket,!Socket,' Network/TCP.hs"; }); hedgehog = doJailbreak super.hedgehog;
integer-logarithms = overrideCabal (doJailbreak super.integer-logarithms) (drv: { postPatch = "sed -i -e 's, <1.1, <1.3,' integer-logarithms.cabal"; }); HTTP = overrideCabal (drv: { postPatch = "sed -i -e 's,! Socket,!Socket,' Network/TCP.hs"; }) (doJailbreak super.HTTP);
integer-logarithms = overrideCabal (drv: { postPatch = "sed -i -e 's, <1.1, <1.3,' integer-logarithms.cabal"; }) (doJailbreak super.integer-logarithms);
indexed-traversable = doJailbreak super.indexed-traversable; indexed-traversable = doJailbreak super.indexed-traversable;
indexed-traversable-instances = doJailbreak super.indexed-traversable-instances;
lifted-async = doJailbreak super.lifted-async; lifted-async = doJailbreak super.lifted-async;
lukko = doJailbreak super.lukko; lukko = doJailbreak super.lukko;
network = super.network_3_1_2_5; network = super.network_3_1_2_5;
OneTuple = super.OneTuple_0_3_1;
parallel = doJailbreak super.parallel; parallel = doJailbreak super.parallel;
polyparse = overrideCabal (doJailbreak super.polyparse) (drv: { postPatch = "sed -i -e 's, <0.11, <0.12,' polyparse.cabal"; }); polyparse = overrideCabal (drv: { postPatch = "sed -i -e 's, <0.11, <0.12,' polyparse.cabal"; }) (doJailbreak super.polyparse);
primitive = doJailbreak super.primitive; primitive = doJailbreak super.primitive;
quickcheck-instances = super.quickcheck-instances_0_3_26_1;
regex-posix = doJailbreak super.regex-posix; regex-posix = doJailbreak super.regex-posix;
resolv = doJailbreak super.resolv; resolv = doJailbreak super.resolv;
semialign = super.semialign_1_2_0_1;
singleton-bool = doJailbreak super.singleton-bool; singleton-bool = doJailbreak super.singleton-bool;
scientific = doJailbreak super.scientific; scientific = doJailbreak super.scientific;
shelly = doJailbreak super.shelly; shelly = doJailbreak super.shelly;
split = doJailbreak super.split; split = doJailbreak super.split;
splitmix = doJailbreak super.splitmix; splitmix = doJailbreak super.splitmix;
tar = doJailbreak super.tar; tar = doJailbreak super.tar;
tasty-hedgehog = doJailbreak super.tasty-hedgehog;
tasty-hspec = doJailbreak super.tasty-hspec;
th-desugar = self.th-desugar_1_13;
these = doJailbreak super.these; these = doJailbreak super.these;
time-compat = doJailbreak super.time-compat; time-compat = doJailbreak super.time-compat;
type-equality = doJailbreak super.type-equality; type-equality = doJailbreak super.type-equality;
unordered-containers = doJailbreak super.unordered-containers;
vector = doJailbreak (dontCheck super.vector); vector = doJailbreak (dontCheck super.vector);
vector-binary-instances = doJailbreak super.vector-binary-instances; vector-binary-instances = doJailbreak super.vector-binary-instances;
# Upper bound on `hashable` is too restrictive
witherable = doJailbreak super.witherable;
zlib = doJailbreak super.zlib; zlib = doJailbreak super.zlib;
indexed-traversable-instances = doJailbreak super.indexed-traversable-instances;
hpack = overrideCabal (doJailbreak super.hpack) (drv: { hpack = overrideCabal (drv: {
# Cabal 3.6 seems to preserve comments when reading, which makes this test fail # Cabal 3.6 seems to preserve comments when reading, which makes this test fail
# 2021-10-10: 9.2.1 is not yet supported (also no issue) # 2021-10-10: 9.2.1 is not yet supported (also no issue)
testFlags = [ testFlags = [
"--skip=/Hpack/renderCabalFile/is inverse to readCabalFile/" "--skip=/Hpack/renderCabalFile/is inverse to readCabalFile/"
] ++ drv.testFlags or []; ] ++ drv.testFlags or [];
}); }) (doJailbreak super.hpack);
# Patch for TH code from head.hackage # Patch for TH code from head.hackage
vector-th-unbox = appendPatch (doJailbreak super.vector-th-unbox) (pkgs.fetchpatch { vector-th-unbox = appendPatch (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/vector-th-unbox-0.2.1.9.patch"; url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/vector-th-unbox-0.2.1.9.patch";
sha256 = "02bvvy3hx3cf4y4dr64zl5pjvq8giwk4286j5g1n6k8ikyn2403p"; sha256 = "02bvvy3hx3cf4y4dr64zl5pjvq8giwk4286j5g1n6k8ikyn2403p";
}); }) (doJailbreak super.vector-th-unbox);
# Patch for TH code from head.hackage
invariant = appendPatch (doJailbreak super.invariant) (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/invariant-0.5.4.patch";
sha256 = "17gg8ck4r6qmlbcbpbnqzksgf5q7i891zs6axfzhas6ajncylxvc";
});
# base 4.15 support from head.hackage # base 4.15 support from head.hackage
lens = appendPatch (doJailbreak super.lens_5_0_1) (pkgs.fetchpatch { lens = appendPatch (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/lens-5.0.1.patch"; url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/lens-5.0.1.patch";
sha256 = "1s8qqg7ymvv94dnfnr1ragx91chh9y7ydc4jx25zn361wbn00pv7"; sha256 = "1s8qqg7ymvv94dnfnr1ragx91chh9y7ydc4jx25zn361wbn00pv7";
}); }) (doJailbreak super.lens_5_0_1);
semigroupoids = overrideCabal super.semigroupoids (drv: {
# Patch from head.hackage for base 4.15 compat
patches = drv.patches or [] ++ [
(pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/semigroupoids-5.3.5.patch";
sha256 = "0xrn1gv6b2n76522pk2nfp4z69kvp14l2zpif2f8zzz6cwcrx9w8";
})
];
# acrobatics to make the patch apply
prePatch = ''
find . -type f | xargs -L 1 ${pkgs.buildPackages.dos2unix}/bin/dos2unix
'';
editedCabalFile = null;
revision = null;
});
# Syntax error in tests fixed in https://github.com/simonmar/alex/commit/84b29475e057ef744f32a94bc0d3954b84160760 # Syntax error in tests fixed in https://github.com/simonmar/alex/commit/84b29475e057ef744f32a94bc0d3954b84160760
alex = dontCheck super.alex; alex = dontCheck super.alex;
# Apply patches from head.hackage. # Apply patches from head.hackage.
language-haskell-extract = appendPatch (doJailbreak super.language-haskell-extract) (pkgs.fetchpatch { language-haskell-extract = appendPatch (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/language-haskell-extract-0.2.4.patch"; url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/language-haskell-extract-0.2.4.patch";
sha256 = "0w4y3v69nd3yafpml4gr23l94bdhbmx8xky48a59lckmz5x9fgxv"; sha256 = "0w4y3v69nd3yafpml4gr23l94bdhbmx8xky48a59lckmz5x9fgxv";
}); }) (doJailbreak super.language-haskell-extract);
hashable = super.hashable_1_3_4_1; haskell-src-meta = appendPatch (pkgs.fetchpatch {
haskell-src-meta = appendPatch (doJailbreak super.haskell-src-meta) (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/haskell-src-meta-0.8.7.patch"; url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/haskell-src-meta-0.8.7.patch";
sha256 = "013k8hpxac226j47cdzgdf9a1j91kmm0cvv7n8zwlajbj3y9bzjp"; sha256 = "013k8hpxac226j47cdzgdf9a1j91kmm0cvv7n8zwlajbj3y9bzjp";
}); }) (doJailbreak super.haskell-src-meta);
# Tests depend on `parseTime` which is no longer available # Tests depend on `parseTime` which is no longer available
hourglass = dontCheck super.hourglass; hourglass = dontCheck super.hourglass;
@ -224,36 +193,33 @@ self: super: {
random = dontCheck super.random_1_2_1; random = dontCheck super.random_1_2_1;
# 0.16.0 introduced support for GHC 9.0.x, stackage has 0.15.0 # 0.16.0 introduced support for GHC 9.0.x, stackage has 0.15.0
memory = appendPatch super.memory_0_16_0 (pkgs.fetchpatch { memory = appendPatch (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/memory-0.16.0.patch"; url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/memory-0.16.0.patch";
sha256 = "1kjganx729a6xfgfnrb3z7q6mvnidl042zrsd9n5n5a3i76nl5nl"; sha256 = "1kjganx729a6xfgfnrb3z7q6mvnidl042zrsd9n5n5a3i76nl5nl";
}); }) super.memory_0_16_0;
# GHC 9.0.x doesn't like `import Spec (main)` in Main.hs # GHC 9.0.x doesn't like `import Spec (main)` in Main.hs
# https://github.com/snoyberg/mono-traversable/issues/192 # https://github.com/snoyberg/mono-traversable/issues/192
mono-traversable = dontCheck super.mono-traversable; mono-traversable = dontCheck super.mono-traversable;
quickcheck-instances = appendPatch (doJailbreak super.quickcheck-instances) (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/quickcheck-instances-0.3.25.2.patch";
sha256 = "0ndnb6wbnhxxwy69jjdpmd7gmmv6asmx1jczwz1hsn921mn1ilnp";
# `.cabal` revision information has been included in the patch
excludes = ["*.cabal"];
});
# Disable tests pending resolution of # Disable tests pending resolution of
# https://github.com/Soostone/retry/issues/71 # https://github.com/Soostone/retry/issues/71
retry = dontCheck super.retry; retry = dontCheck super.retry;
streaming-commons = appendPatch super.streaming-commons (pkgs.fetchpatch { # Upper bound on `hashable` is too restrictive
semigroupoids = overrideCabal (drv: { postPatch = "sed -i -e 's,hashable >= 1.2.7.0 && < 1.4,hashable >= 1.2.7.0 \\&\\& < 1.5,' semigroupoids.cabal";}) super.semigroupoids;
streaming-commons = appendPatch (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/streaming-commons-0.2.2.1.patch"; url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/streaming-commons-0.2.2.1.patch";
sha256 = "04wi1jskr3j8ayh88kkx4irvhhgz0i7aj6fblzijy0fygikvidpy"; sha256 = "04wi1jskr3j8ayh88kkx4irvhhgz0i7aj6fblzijy0fygikvidpy";
}); }) super.streaming-commons;
# Tests have a circular dependency on quickcheck-instances
text-short = dontCheck super.text-short_0_1_4;
# hlint 3.3 needs a ghc-lib-parser newer than the one from stackage # hlint 3.3 needs a ghc-lib-parser newer than the one from stackage
hlint = super.hlint_3_3_4.overrideScope (self: super: { hlint = super.hlint_3_3_4.overrideScope (self: super: {
ghc-lib-parser = overrideCabal self.ghc-lib-parser_9_0_1_20210324 { ghc-lib-parser = self.ghc-lib-parser_9_2_1_20211101;
doHaddock = false; ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_1;
};
ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_0_0_4;
}); });
} }

View file

@ -75,6 +75,6 @@ self: super: {
stack = doJailbreak super.stack; stack = doJailbreak super.stack;
# Fix build with ghc 8.6.x. # Fix build with ghc 8.6.x.
git-annex = appendPatch super.git-annex ./patches/git-annex-fix-ghc-8.6.x-build.patch; git-annex = appendPatch ./patches/git-annex-fix-ghc-8.6.x-build.patch super.git-annex;
} }

View file

@ -38,17 +38,17 @@ self: super:
# doctest doesn't work on ghcjs, but sometimes dontCheck doesn't seem to get rid of the dependency # doctest doesn't work on ghcjs, but sometimes dontCheck doesn't seem to get rid of the dependency
doctest = pkgs.lib.warn "ignoring dependency on doctest" null; doctest = pkgs.lib.warn "ignoring dependency on doctest" null;
ghcjs-dom = overrideCabal super.ghcjs-dom (drv: { ghcjs-dom = overrideCabal (drv: {
libraryHaskellDepends = with self; [ libraryHaskellDepends = with self; [
ghcjs-base ghcjs-dom-jsffi text transformers ghcjs-base ghcjs-dom-jsffi text transformers
]; ];
configureFlags = [ "-fjsffi" "-f-webkit" ]; configureFlags = [ "-fjsffi" "-f-webkit" ];
}); }) super.ghcjs-dom;
ghcjs-dom-jsffi = overrideCabal super.ghcjs-dom-jsffi (drv: { ghcjs-dom-jsffi = overrideCabal (drv: {
libraryHaskellDepends = (drv.libraryHaskellDepends or []) ++ [ self.ghcjs-base self.text ]; libraryHaskellDepends = (drv.libraryHaskellDepends or []) ++ [ self.ghcjs-base self.text ];
broken = false; broken = false;
}); }) super.ghcjs-dom-jsffi;
# https://github.com/Deewiant/glob/issues/39 # https://github.com/Deewiant/glob/issues/39
Glob = dontCheck super.Glob; Glob = dontCheck super.Glob;
@ -59,9 +59,9 @@ self: super:
# uses doctest # uses doctest
http-types = dontCheck super.http-types; http-types = dontCheck super.http-types;
jsaddle = overrideCabal super.jsaddle (drv: { jsaddle = overrideCabal (drv: {
libraryHaskellDepends = (drv.libraryHaskellDepends or []) ++ [ self.ghcjs-base ]; libraryHaskellDepends = (drv.libraryHaskellDepends or []) ++ [ self.ghcjs-base ];
}); }) super.jsaddle;
# Tests hang, possibly some issue with tasty and race(async) usage in the nonTerminating tests # Tests hang, possibly some issue with tasty and race(async) usage in the nonTerminating tests
logict = dontCheck super.logict; logict = dontCheck super.logict;
@ -74,13 +74,13 @@ self: super:
# Terminal test not supported on ghcjs # Terminal test not supported on ghcjs
QuickCheck = dontCheck super.QuickCheck; QuickCheck = dontCheck super.QuickCheck;
reflex = overrideCabal super.reflex (drv: { reflex = overrideCabal (drv: {
libraryHaskellDepends = (drv.libraryHaskellDepends or []) ++ [ self.ghcjs-base ]; libraryHaskellDepends = (drv.libraryHaskellDepends or []) ++ [ self.ghcjs-base ];
}); }) super.reflex;
reflex-dom = overrideCabal super.reflex-dom (drv: { reflex-dom = overrideCabal (drv: {
libraryHaskellDepends = removeLibraryHaskellDepends ["jsaddle-webkit2gtk"] (drv.libraryHaskellDepends or []); libraryHaskellDepends = removeLibraryHaskellDepends ["jsaddle-webkit2gtk"] (drv.libraryHaskellDepends or []);
}); }) super.reflex-dom;
# https://github.com/dreixel/syb/issues/21 # https://github.com/dreixel/syb/issues/21
syb = dontCheck super.syb; syb = dontCheck super.syb;
@ -101,6 +101,9 @@ self: super:
# still present here https://github.com/glguy/th-abstraction/issues/53 # still present here https://github.com/glguy/th-abstraction/issues/53
th-abstraction = dontCheck super.th-abstraction; th-abstraction = dontCheck super.th-abstraction;
# https://github.com/haskell/vector/issues/410
vector = appendPatch super.vector (../compilers/ghcjs/patches/vector-ghcjs-storable-set.patch);
# Need hedgehog for tests, which fails to compile due to dep on concurrent-output # Need hedgehog for tests, which fails to compile due to dep on concurrent-output
zenc = dontCheck super.zenc; zenc = dontCheck super.zenc;
} }

View file

@ -100,6 +100,7 @@ broken-packages:
- AhoCorasick - AhoCorasick
- aig - aig
- airbrake - airbrake
- airship
- airtable-api - airtable-api
- air-th - air-th
- ajhc - ajhc
@ -618,6 +619,7 @@ broken-packages:
- cg - cg
- cgen - cgen
- cgi-utils - cgi-utils
- cgroup-rts-threads
- chalkboard - chalkboard
- chalmers-lava2000 - chalmers-lava2000
- character-cases - character-cases
@ -745,6 +747,7 @@ broken-packages:
- compact-list - compact-list
- compact-map - compact-map
- compact-mutable-vector - compact-mutable-vector
- compact-sequences
- compact-socket - compact-socket
- compact-string - compact-string
- compact-string-fix - compact-string-fix
@ -1298,6 +1301,7 @@ broken-packages:
- event-driven - event-driven
- eventful-dynamodb - eventful-dynamodb
- eventful-sql-common - eventful-sql-common
- eventlog2html
- eventloop - eventloop
- eventstore - eventstore
- ewe - ewe
@ -1716,6 +1720,7 @@ broken-packages:
- goal-core - goal-core
- gochan - gochan
- godot-haskell - godot-haskell
- godot-megaparsec
- gofer-prelude - gofer-prelude
- gogol-admin-emailmigration - gogol-admin-emailmigration
- gogol-affiliates - gogol-affiliates
@ -1836,6 +1841,7 @@ broken-packages:
- haddock-cheatsheet - haddock-cheatsheet
- haddock-leksah - haddock-leksah
- haddock-test - haddock-test
- hadolint
- hadoop-formats - hadoop-formats
- hadoop-rpc - hadoop-rpc
- hafar - hafar
@ -2503,6 +2509,7 @@ broken-packages:
- IcoGrid - IcoGrid
- iconv-typed - iconv-typed
- ideas - ideas
- ide-backend-common
- idempotent - idempotent
- identifiers - identifiers
- idiii - idiii
@ -2643,6 +2650,7 @@ broken-packages:
- join-api - join-api
- joinlist - joinlist
- jonathanscard - jonathanscard
- jordan
- jort - jort
- jpeg - jpeg
- jsaddle-hello - jsaddle-hello
@ -2652,6 +2660,7 @@ broken-packages:
- json-alt - json-alt
- json-assertions - json-assertions
- json-ast-quickcheck - json-ast-quickcheck
- JSONb
- json-builder - json-builder
- json-encoder - json-encoder
- jsonextfilter - jsonextfilter
@ -2740,7 +2749,10 @@ broken-packages:
- lambda-bridge - lambda-bridge
- lambda-canvas - lambda-canvas
- lambdacms-core - lambdacms-core
- lambdacube-core
- lambdacube-engine
- lambdacube-ir - lambdacube-ir
- LambdaDesigner
- Lambdajudge - Lambdajudge
- LambdaNet - LambdaNet
- lambdatex - lambdatex
@ -2778,6 +2790,7 @@ broken-packages:
- language-typescript - language-typescript
- language-vhdl - language-vhdl
- language-webidl - language-webidl
- lapack
- LargeCardinalHierarchy - LargeCardinalHierarchy
- Lastik - Lastik
- latest-npm-version - latest-npm-version
@ -3195,6 +3208,7 @@ broken-packages:
- morphisms-functors - morphisms-functors
- morphisms-objects - morphisms-objects
- morte - morte
- mortred
- moto-postgresql - moto-postgresql
- motor-reflection - motor-reflection
- mount - mount
@ -3797,6 +3811,7 @@ broken-packages:
- postgres-embedded - postgres-embedded
- PostgreSQL - PostgreSQL
- postgresql-lo-stream - postgresql-lo-stream
- postgresql-migration
- postgresql-named - postgresql-named
- postgresql-resilient - postgresql-resilient
- postgresql-simple-bind - postgresql-simple-bind
@ -3903,6 +3918,7 @@ broken-packages:
- proxy-kindness - proxy-kindness
- proxy-mapping - proxy-mapping
- prune-juice - prune-juice
- psc-ide
- pseudo-trie - pseudo-trie
- PTQ - PTQ
- publicsuffixlistcreate - publicsuffixlistcreate
@ -3916,7 +3932,7 @@ broken-packages:
- Pup-Events-Server - Pup-Events-Server
- pure-io - pure-io
- pure-priority-queue - pure-priority-queue
- purescript-cst - purescript-tsd-gen
- pure-zlib - pure-zlib
- pusher-haskell - pusher-haskell
- pusher-ws - pusher-ws
@ -4884,6 +4900,7 @@ broken-packages:
- text-and-plots - text-and-plots
- text-ascii - text-ascii
- text-containers - text-containers
- text-display
- text-format-heavy - text-format-heavy
- text-generic-pretty - text-generic-pretty
- text-icu-normalized - text-icu-normalized
@ -4897,6 +4914,7 @@ broken-packages:
- text-register-machine - text-register-machine
- text-replace - text-replace
- text-time - text-time
- text-trie
- textual - textual
- text-utf8 - text-utf8
- text-xml-qq - text-xml-qq
@ -5323,6 +5341,7 @@ broken-packages:
- wavefront-obj - wavefront-obj
- weak-bag - weak-bag
- weather-api - weather-api
- webapi
- webapp - webapp
- WebBits - WebBits
- webby - webby
@ -5461,6 +5480,7 @@ broken-packages:
- yall - yall
- yam-app - yam-app
- yam-config - yam-config
- yaml-config
- yamlkeysdiff - yamlkeysdiff
- yaml-pretty-extras - yaml-pretty-extras
- YamlReference - YamlReference
@ -5556,6 +5576,7 @@ broken-packages:
- zendesk-api - zendesk-api
- zenhack-prelude - zenhack-prelude
- zeno - zeno
- zephyr
- zeromq4-clone-pattern - zeromq4-clone-pattern
- zeromq4-conduit - zeromq4-conduit
- zeromq4-patterns - zeromq4-patterns

View file

@ -94,6 +94,10 @@ default-package-overrides:
- autoapply < 0.4.1.1 - autoapply < 0.4.1.1
# 2021-10-22: 1.8 breaks shake-bench # 2021-10-22: 1.8 breaks shake-bench
- SVGFonts < 1.8 - SVGFonts < 1.8
# 2021-11-09: 0.20.6 can't be built with aeson < 2.0 which is a pain to override at the moment
- futhark < 0.20.6
# 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
extra-packages: extra-packages:
- base16-bytestring < 1 # required for cabal-install etc. - base16-bytestring < 1 # required for cabal-install etc.
@ -110,10 +114,10 @@ extra-packages:
- haddock == 2.23.* # required on GHC < 8.10.x - haddock == 2.23.* # required on GHC < 8.10.x
- haddock-api == 2.23.* # required on GHC < 8.10.x - haddock-api == 2.23.* # required on GHC < 8.10.x
- haddock-library ==1.7.* # required by stylish-cabal-0.5.0.0 - haddock-library ==1.7.* # required by stylish-cabal-0.5.0.0
- happy == 1.19.9 # for purescript
- happy == 1.19.12 # for ghcjs - happy == 1.19.12 # for ghcjs
- hinotify == 0.3.9 # for xmonad-0.26: https://github.com/kolmodin/hinotify/issues/29 - hinotify == 0.3.9 # for xmonad-0.26: https://github.com/kolmodin/hinotify/issues/29
- immortal == 0.2.2.1 # required by Hasura 1.3.1, 2020-08-20 - immortal == 0.2.2.1 # required by Hasura 1.3.1, 2020-08-20
- language-javascript == 0.7.0.0 # required by purescript
- mmorph == 1.1.3 # Newest working version of mmorph on ghc 8.6.5. needed for hls - mmorph == 1.1.3 # Newest working version of mmorph on ghc 8.6.5. needed for hls
- network == 2.6.3.1 # required by pkgs/games/hedgewars/default.nix, 2020-11-15 - network == 2.6.3.1 # required by pkgs/games/hedgewars/default.nix, 2020-11-15
- optparse-applicative < 0.16 # needed for niv-0.2.19 - optparse-applicative < 0.16 # needed for niv-0.2.19
@ -123,6 +127,9 @@ extra-packages:
- ShellCheck == 0.7.1 # 2021-05-09: haskell-ci 0.12.1 pins this version - ShellCheck == 0.7.1 # 2021-05-09: haskell-ci 0.12.1 pins this version
- cabal-install-parsers == 0.4.2 # 2021-09-04: needed haskell-ci by until it upgrades to Cabal >= 3.6 - cabal-install-parsers == 0.4.2 # 2021-09-04: needed haskell-ci by until it upgrades to Cabal >= 3.6
- ghc-api-compat == 8.6 # 2021-09-07: preserve for GHC 8.8.4 - ghc-api-compat == 8.6 # 2021-09-07: preserve for GHC 8.8.4
- ghc-lib == 9.0.1.* # 2021-11-05: Need one GHC 9.0.1 compatible version
- ghc-lib-parser == 9.0.1.* # 2021-11-05: Need one GHC 9.0.1 compatible version
- ghc-lib-parser-ex == 9.0.* # 2021-11-05: Need one GHC 9.0.1 compatible version
package-maintainers: package-maintainers:
abbradar: abbradar:
@ -141,6 +148,7 @@ package-maintainers:
- password - password
- password-instances - password-instances
- pretty-simple - pretty-simple
- purenix
- spago - spago
- termonad - termonad
dalpd: dalpd:
@ -402,13 +410,18 @@ unsupported-platforms:
gi-dbusmenu: [ x86_64-darwin, aarch64-darwin ] gi-dbusmenu: [ x86_64-darwin, aarch64-darwin ]
gi-ggit: [ x86_64-darwin, aarch64-darwin ] gi-ggit: [ x86_64-darwin, aarch64-darwin ]
gi-ibus: [ x86_64-darwin, aarch64-darwin ] gi-ibus: [ x86_64-darwin, aarch64-darwin ]
gi-javascriptcore: [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
gi-ostree: [ x86_64-darwin, aarch64-darwin ] gi-ostree: [ x86_64-darwin, aarch64-darwin ]
gi-vte: [ x86_64-darwin, aarch64-darwin ] gi-vte: [ x86_64-darwin, aarch64-darwin ]
gi-webkit2: [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
gi-webkit2webextension: [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
gi-wnck: [ x86_64-darwin, aarch64-darwin ] gi-wnck: [ x86_64-darwin, aarch64-darwin ]
gnome-keyring: [ x86_64-darwin, aarch64-darwin ] gnome-keyring: [ x86_64-darwin, aarch64-darwin ]
gtk-mac-integration: [ i686-linux, x86_64-linux, aarch64-linux, armv7l-linux ] gtk-mac-integration: [ i686-linux, x86_64-linux, aarch64-linux, armv7l-linux ]
gtk-sni-tray: [ x86_64-darwin, aarch64-darwin ] gtk-sni-tray: [ x86_64-darwin, aarch64-darwin ]
haskell-snake: [ x86_64-darwin, aarch64-darwin ] haskell-snake: [ x86_64-darwin, aarch64-darwin ]
hbro: [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
hbro-contrib: [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
hcwiid: [ x86_64-darwin, aarch64-darwin ] hcwiid: [ x86_64-darwin, aarch64-darwin ]
hevm: [ aarch64-linux ] # depends on sbv, which is not supported on aarch64-linux hevm: [ aarch64-linux ] # depends on sbv, which is not supported on aarch64-linux
HFuse: [ x86_64-darwin, aarch64-darwin ] HFuse: [ x86_64-darwin, aarch64-darwin ]

View file

@ -1,4 +1,4 @@
# Stackage LTS 18.13 # Stackage LTS 18.15
# This file is auto-generated by # This file is auto-generated by
# maintainers/scripts/haskell/update-stackage.sh # maintainers/scripts/haskell/update-stackage.sh
default-package-overrides: default-package-overrides:
@ -19,16 +19,16 @@ default-package-overrides:
- aeson-casing ==0.2.0.0 - aeson-casing ==0.2.0.0
- aeson-combinators ==0.0.5.0 - aeson-combinators ==0.0.5.0
- aeson-commit ==1.3 - aeson-commit ==1.3
- aeson-compat ==0.3.9 - aeson-compat ==0.3.10
- aeson-default ==0.9.1.0 - aeson-default ==0.9.1.0
- aeson-diff ==1.1.0.9 - aeson-diff ==1.1.0.9
- aeson-generic-compat ==0.0.1.3 - aeson-generic-compat ==0.0.1.3
- aeson-lens ==0.5.0.0 - aeson-lens ==0.5.0.0
- aeson-optics ==1.1.0.1 - aeson-optics ==1.1.1
- aeson-picker ==0.1.0.5 - aeson-picker ==0.1.0.5
- aeson-pretty ==0.8.8 - aeson-pretty ==0.8.9
- aeson-qq ==0.8.3 - aeson-qq ==0.8.4
- aeson-schemas ==1.3.4 - aeson-schemas ==1.3.5
- aeson-typescript ==0.3.0.1 - aeson-typescript ==0.3.0.1
- aeson-with ==0.1.2.0 - aeson-with ==0.1.2.0
- aeson-yak ==0.1.1.3 - aeson-yak ==0.1.1.3
@ -42,7 +42,7 @@ default-package-overrides:
- alex-meta ==0.3.0.13 - alex-meta ==0.3.0.13
- alg ==0.2.13.1 - alg ==0.2.13.1
- algebraic-graphs ==0.5 - algebraic-graphs ==0.5
- Allure ==0.10.2.0 - Allure ==0.10.3.0
- almost-fix ==0.0.2 - almost-fix ==0.0.2
- alsa-core ==0.5.0.1 - alsa-core ==0.5.0.1
- alsa-mixer ==0.3.0 - alsa-mixer ==0.3.0
@ -140,7 +140,7 @@ default-package-overrides:
- amazonka-workspaces ==1.6.1 - amazonka-workspaces ==1.6.1
- amazonka-xray ==1.6.1 - amazonka-xray ==1.6.1
- amqp ==0.22.0 - amqp ==0.22.0
- amqp-utils ==0.6.2.2 - amqp-utils ==0.6.3.2
- annotated-wl-pprint ==0.7.0 - annotated-wl-pprint ==0.7.0
- ansi-terminal ==0.11 - ansi-terminal ==0.11
- ansi-wl-pprint ==0.6.9 - ansi-wl-pprint ==0.6.9
@ -193,8 +193,8 @@ default-package-overrides:
- attoparsec-iso8601 ==1.0.2.0 - attoparsec-iso8601 ==1.0.2.0
- attoparsec-path ==0.0.0.1 - attoparsec-path ==0.0.0.1
- audacity ==0.0.2 - audacity ==0.0.2
- aur ==7.0.6 - aur ==7.0.7
- aura ==3.2.6 - aura ==3.2.5
- authenticate ==1.3.5 - authenticate ==1.3.5
- authenticate-oauth ==1.6.0.1 - authenticate-oauth ==1.6.0.1
- autoexporter ==1.1.20 - autoexporter ==1.1.20
@ -207,8 +207,8 @@ default-package-overrides:
- backtracking ==0.1.0 - backtracking ==0.1.0
- bank-holidays-england ==0.2.0.6 - bank-holidays-england ==0.2.0.6
- barbies ==2.0.3.0 - barbies ==2.0.3.0
- base16 ==0.3.0.1 - base16 ==0.3.0.2
- base16-bytestring ==1.0.1.0 - base16-bytestring ==1.0.2.0
- base16-lens ==0.1.3.2 - base16-lens ==0.1.3.2
- base32 ==0.2.1.0 - base32 ==0.2.1.0
- base32-lens ==0.1.1.1 - base32-lens ==0.1.1.1
@ -223,7 +223,7 @@ default-package-overrides:
- base-compat ==0.11.2 - base-compat ==0.11.2
- base-compat-batteries ==0.11.2 - base-compat-batteries ==0.11.2
- basement ==0.0.12 - basement ==0.0.12
- base-orphans ==0.8.5 - base-orphans ==0.8.6
- base-prelude ==1.4 - base-prelude ==1.4
- base-unicode-symbols ==0.2.4.2 - base-unicode-symbols ==0.2.4.2
- basic-prelude ==0.7.0 - basic-prelude ==0.7.0
@ -235,7 +235,7 @@ default-package-overrides:
- bech32 ==1.1.1 - bech32 ==1.1.1
- bech32-th ==1.0.2 - bech32-th ==1.0.2
- bench ==1.0.12 - bench ==1.0.12
- benchpress ==0.2.2.17 - benchpress ==0.2.2.18
- between ==0.11.0.0 - between ==0.11.0.0
- bibtex ==0.1.0.6 - bibtex ==0.1.0.6
- bifunctors ==5.5.11 - bifunctors ==5.5.11
@ -246,14 +246,14 @@ default-package-overrides:
- binary-conduit ==1.3.1 - binary-conduit ==1.3.1
- binary-ext ==2.0.4 - binary-ext ==2.0.4
- binary-ieee754 ==0.1.0.0 - binary-ieee754 ==0.1.0.0
- binary-instances ==1.0.1 - binary-instances ==1.0.2
- binary-list ==1.1.1.2 - binary-list ==1.1.1.2
- binary-orphans ==1.0.1 - binary-orphans ==1.0.1
- binary-parser ==0.5.7 - binary-parser ==0.5.7
- binary-parsers ==0.2.4.0 - binary-parsers ==0.2.4.0
- binary-search ==2.0.0 - binary-search ==2.0.0
- binary-shared ==0.8.3 - binary-shared ==0.8.3
- binary-tagged ==0.3 - binary-tagged ==0.3.1
- bindings-DSL ==1.0.25 - bindings-DSL ==1.0.25
- bindings-GLFW ==3.3.2.0 - bindings-GLFW ==3.3.2.0
- bindings-libzip ==1.0.1 - bindings-libzip ==1.0.1
@ -271,7 +271,7 @@ default-package-overrides:
- blas-comfort-array ==0.0.0.3 - blas-comfort-array ==0.0.0.3
- blas-ffi ==0.1 - blas-ffi ==0.1
- blaze-bootstrap ==0.1.0.1 - blaze-bootstrap ==0.1.0.1
- blaze-builder ==0.4.2.1 - blaze-builder ==0.4.2.2
- blaze-html ==0.9.1.2 - blaze-html ==0.9.1.2
- blaze-markup ==0.8.2.8 - blaze-markup ==0.8.2.8
- blaze-svg ==0.3.6.1 - blaze-svg ==0.3.6.1
@ -302,11 +302,11 @@ default-package-overrides:
- buffer-builder ==0.2.4.7 - buffer-builder ==0.2.4.7
- buffer-pipe ==0.0 - buffer-pipe ==0.0
- bugsnag-haskell ==0.0.4.1 - bugsnag-haskell ==0.0.4.1
- bugsnag-hs ==0.2.0.4 - bugsnag-hs ==0.2.0.7
- bugzilla-redhat ==0.3.2 - bugzilla-redhat ==0.3.3
- burrito ==1.2.0.2 - burrito ==1.2.0.2
- butcher ==1.3.3.2 - butcher ==1.3.3.2
- buttplug-hs-core ==0.1.0.0 - buttplug-hs-core ==0.1.0.1
- bv ==0.5 - bv ==0.5
- bv-little ==1.1.1 - bv-little ==1.1.1
- byteable ==0.1.1 - byteable ==0.1.1
@ -318,7 +318,7 @@ default-package-overrides:
- byteset ==0.1.1.0 - byteset ==0.1.1.0
- bytestring-builder ==0.10.8.2.0 - bytestring-builder ==0.10.8.2.0
- bytestring-conversion ==0.3.1 - bytestring-conversion ==0.3.1
- bytestring-lexing ==0.5.0.2 - bytestring-lexing ==0.5.0.8
- bytestring-mmap ==0.2.2 - bytestring-mmap ==0.2.2
- bytestring-strict-builder ==0.4.5.4 - bytestring-strict-builder ==0.4.5.4
- bytestring-to-vector ==0.3.0.1 - bytestring-to-vector ==0.3.0.1
@ -329,7 +329,7 @@ default-package-overrides:
- c14n ==0.1.0.1 - c14n ==0.1.0.1
- c2hs ==0.28.8 - c2hs ==0.28.8
- cabal2spec ==2.6.2 - cabal2spec ==2.6.2
- cabal-appimage ==0.3.0.2 - cabal-appimage ==0.3.0.3
- cabal-clean ==0.1.20210924 - cabal-clean ==0.1.20210924
- cabal-debian ==5.1 - cabal-debian ==5.1
- cabal-doctest ==1.0.8 - cabal-doctest ==1.0.8
@ -355,12 +355,12 @@ default-package-overrides:
- casing ==0.1.4.1 - casing ==0.1.4.1
- cassava ==0.5.2.0 - cassava ==0.5.2.0
- cassava-conduit ==0.6.0 - cassava-conduit ==0.6.0
- cassava-megaparsec ==2.0.2 - cassava-megaparsec ==2.0.4
- cast ==0.1.0.2 - cast ==0.1.0.2
- category ==0.2.5.0 - category ==0.2.5.0
- cayley-client ==0.4.15 - cayley-client ==0.4.16
- cborg ==0.2.5.0 - cborg ==0.2.6.0
- cborg-json ==0.2.2.0 - cborg-json ==0.2.3.0
- cdar-mBound ==0.1.0.4 - cdar-mBound ==0.1.0.4
- c-enum ==0.1.0.1 - c-enum ==0.1.0.1
- cereal ==0.5.8.1 - cereal ==0.5.8.1
@ -372,11 +372,11 @@ default-package-overrides:
- chan ==0.0.4.1 - chan ==0.0.4.1
- ChannelT ==0.0.0.7 - ChannelT ==0.0.0.7
- character-cases ==0.1.0.6 - character-cases ==0.1.0.6
- charset ==0.3.8 - charset ==0.3.9
- charsetdetect-ae ==1.1.0.4 - charsetdetect-ae ==1.1.0.4
- Chart ==1.9.3 - Chart ==1.9.3
- chaselev-deque ==0.5.0.5 - chaselev-deque ==0.5.0.5
- ChasingBottoms ==1.3.1.10 - ChasingBottoms ==1.3.1.11
- cheapskate ==0.1.1.2 - cheapskate ==0.1.1.2
- cheapskate-highlight ==0.1.0.0 - cheapskate-highlight ==0.1.0.0
- cheapskate-lucid ==0.1.0.0 - cheapskate-lucid ==0.1.0.0
@ -396,9 +396,9 @@ default-package-overrides:
- circle-packing ==0.1.0.6 - circle-packing ==0.1.0.6
- circular ==0.4.0.1 - circular ==0.4.0.1
- citeproc ==0.4.0.1 - citeproc ==0.4.0.1
- clash-ghc ==1.4.3 - clash-ghc ==1.4.6
- clash-lib ==1.4.3 - clash-lib ==1.4.6
- clash-prelude ==1.4.3 - clash-prelude ==1.4.6
- classy-prelude ==1.5.0 - classy-prelude ==1.5.0
- classy-prelude-conduit ==1.5.0 - classy-prelude-conduit ==1.5.0
- clay ==0.13.3 - clay ==0.13.3
@ -418,15 +418,15 @@ default-package-overrides:
- collect-errors ==0.1.5.0 - collect-errors ==0.1.5.0
- co-log-concurrent ==0.5.1.0 - co-log-concurrent ==0.5.1.0
- co-log-core ==0.2.1.1 - co-log-core ==0.2.1.1
- Color ==0.3.2 - Color ==0.3.3
- colorful-monoids ==0.2.1.3 - colorful-monoids ==0.2.1.3
- colorize-haskell ==1.0.1 - colorize-haskell ==1.0.1
- colour ==2.3.6 - colour ==2.3.6
- combinatorial ==0.1.0.1 - combinatorial ==0.1.0.1
- comfort-array ==0.4.1 - comfort-array ==0.4.1
- comfort-graph ==0.0.3.1 - comfort-graph ==0.0.3.1
- commonmark ==0.2.1 - commonmark ==0.2.1.1
- commonmark-extensions ==0.2.1.2 - commonmark-extensions ==0.2.2.1
- commonmark-pandoc ==0.2.1.1 - commonmark-pandoc ==0.2.1.1
- commutative ==0.0.2 - commutative ==0.0.2
- comonad ==5.0.8 - comonad ==5.0.8
@ -466,21 +466,21 @@ default-package-overrides:
- connection-pool ==0.2.2 - connection-pool ==0.2.2
- console-style ==0.0.2.1 - console-style ==0.0.2.1
- constraint ==0.1.4.0 - constraint ==0.1.4.0
- constraints ==0.13 - constraints ==0.13.1
- constraints-extras ==0.3.1.0 - constraints-extras ==0.3.2.0
- constraint-tuples ==0.1.2 - constraint-tuples ==0.1.2
- construct ==0.3.0.2 - construct ==0.3.0.2
- contravariant ==1.5.5 - contravariant ==1.5.5
- contravariant-extras ==0.3.5.2 - contravariant-extras ==0.3.5.3
- control-bool ==0.2.1 - control-bool ==0.2.1
- control-dsl ==0.2.1.3 - control-dsl ==0.2.1.3
- control-monad-free ==0.6.2 - control-monad-free ==0.6.2
- control-monad-omega ==0.3.2 - control-monad-omega ==0.3.2
- convertible ==1.1.1.0 - convertible ==1.1.1.0
- cookie ==0.4.5 - cookie ==0.4.5
- core-data ==0.2.1.9 - core-data ==0.2.1.11
- core-program ==0.2.9.1 - core-program ==0.2.12.0
- core-text ==0.3.2.0 - core-text ==0.3.5.0
- countable ==1.0 - countable ==1.0
- country ==0.2.1 - country ==0.2.1
- cpphs ==1.20.9.1 - cpphs ==1.20.9.1
@ -490,7 +490,7 @@ default-package-overrides:
- crackNum ==3.1 - crackNum ==3.1
- crc32c ==0.0.0 - crc32c ==0.0.0
- credential-store ==0.1.2 - credential-store ==0.1.2
- criterion ==1.5.10.0 - criterion ==1.5.11.0
- criterion-measurement ==0.1.3.0 - criterion-measurement ==0.1.3.0
- cron ==0.7.0 - cron ==0.7.0
- crypto-api ==0.13.3 - crypto-api ==0.13.3
@ -498,9 +498,9 @@ default-package-overrides:
- crypto-enigma ==0.1.1.6 - crypto-enigma ==0.1.1.6
- cryptohash ==0.11.9 - cryptohash ==0.11.9
- cryptohash-cryptoapi ==0.1.4 - cryptohash-cryptoapi ==0.1.4
- cryptohash-md5 ==0.11.100.1 - cryptohash-md5 ==0.11.101.0
- cryptohash-sha1 ==0.11.100.1 - cryptohash-sha1 ==0.11.100.1
- cryptohash-sha256 ==0.11.102.0 - cryptohash-sha256 ==0.11.102.1
- cryptohash-sha512 ==0.11.100.1 - cryptohash-sha512 ==0.11.100.1
- cryptonite ==0.29 - cryptonite ==0.29
- cryptonite-conduit ==0.2.2 - cryptonite-conduit ==0.2.2
@ -554,13 +554,13 @@ default-package-overrides:
- data-forest ==0.1.0.8 - data-forest ==0.1.0.8
- data-has ==0.4.0.0 - data-has ==0.4.0.0
- data-hash ==0.2.0.1 - data-hash ==0.2.0.1
- data-interval ==2.1.0 - data-interval ==2.1.1
- data-inttrie ==0.1.4 - data-inttrie ==0.1.4
- data-lens-light ==0.1.2.3 - data-lens-light ==0.1.2.3
- data-memocombinators ==0.5.1 - data-memocombinators ==0.5.1
- data-msgpack ==0.0.13 - data-msgpack ==0.0.13
- data-msgpack-types ==0.0.3 - data-msgpack-types ==0.0.3
- data-or ==1.0.0.5 - data-or ==1.0.0.7
- data-ordlist ==0.4.7.0 - data-ordlist ==0.4.7.0
- data-ref ==0.0.2 - data-ref ==0.0.2
- data-reify ==0.6.3 - data-reify ==0.6.3
@ -620,7 +620,7 @@ default-package-overrides:
- dlist-nonempty ==0.1.1 - dlist-nonempty ==0.1.1
- dns ==4.0.1 - dns ==4.0.1
- dockerfile ==0.2.0 - dockerfile ==0.2.0
- doclayout ==0.3.0.2 - doclayout ==0.3.1.1
- doctemplates ==0.9 - doctemplates ==0.9
- doctest ==0.17 - doctest ==0.17
- doctest-discover ==0.2.0.0 - doctest-discover ==0.2.0.0
@ -683,10 +683,10 @@ default-package-overrides:
- elynx-tree ==0.5.1.1 - elynx-tree ==0.5.1.1
- email-validate ==2.3.2.15 - email-validate ==2.3.2.15
- emd ==0.2.0.0 - emd ==0.2.0.0
- emojis ==0.1.1 - emojis ==0.1.2
- enclosed-exceptions ==1.0.3 - enclosed-exceptions ==1.0.3
- ENIG ==0.0.1.0 - ENIG ==0.0.1.0
- entropy ==0.4.1.6 - entropy ==0.4.1.7
- enummapset ==0.6.0.3 - enummapset ==0.6.0.3
- enumset ==0.0.5 - enumset ==0.0.5
- enum-subset-generate ==0.1.0.0 - enum-subset-generate ==0.1.0.0
@ -696,7 +696,7 @@ default-package-overrides:
- epub-metadata ==4.5 - epub-metadata ==4.5
- eq ==4.2.1 - eq ==4.2.1
- equal-files ==0.0.5.3 - equal-files ==0.0.5.3
- equational-reasoning ==0.7.0.0 - equational-reasoning ==0.7.0.1
- equivalence ==0.3.5 - equivalence ==0.3.5
- erf ==2.0.0.0 - erf ==2.0.0.0
- error-or ==0.1.2.0 - error-or ==0.1.2.0
@ -716,7 +716,7 @@ default-package-overrides:
- event-list ==0.1.2 - event-list ==0.1.2
- eventstore ==1.4.1 - eventstore ==1.4.1
- every ==0.0.1 - every ==0.0.1
- exact-combinatorics ==0.2.0.9 - exact-combinatorics ==0.2.0.10
- exact-pi ==0.5.0.1 - exact-pi ==0.5.0.1
- exception-hierarchy ==0.1.0.4 - exception-hierarchy ==0.1.0.4
- exception-mtl ==0.4.0.1 - exception-mtl ==0.4.0.1
@ -925,7 +925,7 @@ default-package-overrides:
- gingersnap ==0.3.1.0 - gingersnap ==0.3.1.0
- gi-pango ==1.0.24 - gi-pango ==1.0.24
- githash ==0.1.6.2 - githash ==0.1.6.2
- github-release ==1.3.7 - github-release ==1.3.8
- github-rest ==1.0.3 - github-rest ==1.0.3
- github-types ==0.2.1 - github-types ==0.2.1
- github-webhooks ==0.15.0 - github-webhooks ==0.15.0
@ -933,7 +933,7 @@ default-package-overrides:
- gitrev ==1.3.1 - gitrev ==1.3.1
- gi-xlib ==2.0.10 - gi-xlib ==2.0.10
- gl ==0.9 - gl ==0.9
- glabrous ==2.0.4 - glabrous ==2.0.5
- GLFW-b ==3.3.0.0 - GLFW-b ==3.3.0.0
- Glob ==0.10.1 - Glob ==0.10.1
- gloss ==1.13.2.1 - gloss ==1.13.2.1
@ -945,13 +945,13 @@ default-package-overrides:
- goldplate ==0.2.0 - goldplate ==0.2.0
- google-isbn ==1.0.3 - google-isbn ==1.0.3
- gopher-proxy ==0.1.1.2 - gopher-proxy ==0.1.1.2
- gothic ==0.1.6 - gothic ==0.1.7
- gpolyline ==0.1.0.1 - gpolyline ==0.1.0.1
- graph-core ==0.3.0.0 - graph-core ==0.3.0.0
- graphite ==0.10.0.1 - graphite ==0.10.0.1
- graphql-client ==1.1.1 - graphql-client ==1.1.1
- graphs ==0.7.1 - graphs ==0.7.1
- graphula ==2.0.0.5 - graphula ==2.0.1.0
- graphviz ==2999.20.1.0 - graphviz ==2999.20.1.0
- graph-wrapper ==0.2.6.0 - graph-wrapper ==0.2.6.0
- gravatar ==0.8.0 - gravatar ==0.8.0
@ -974,7 +974,7 @@ default-package-overrides:
- hall-symbols ==0.1.0.6 - hall-symbols ==0.1.0.6
- hamtsolo ==1.0.3 - hamtsolo ==1.0.3
- HandsomeSoup ==0.4.2 - HandsomeSoup ==0.4.2
- hapistrano ==0.4.2.0 - hapistrano ==0.4.3.0
- happstack-server ==7.7.1.1 - happstack-server ==7.7.1.1
- happy ==1.20.0 - happy ==1.20.0
- happy-meta ==0.2.0.11 - happy-meta ==0.2.0.11
@ -985,7 +985,7 @@ default-package-overrides:
- hashids ==1.0.2.4 - hashids ==1.0.2.4
- hashing ==0.1.0.1 - hashing ==0.1.0.1
- hashmap ==1.3.3 - hashmap ==1.3.3
- hashtables ==1.2.4.1 - hashtables ==1.2.4.2
- haskeline ==0.8.2 - haskeline ==0.8.2
- haskell-awk ==1.2.0.1 - haskell-awk ==1.2.0.1
- haskell-gi ==0.25.0 - haskell-gi ==0.25.0
@ -1003,7 +1003,7 @@ default-package-overrides:
- haskell-src-meta ==0.8.7 - haskell-src-meta ==0.8.7
- haskey-btree ==0.3.0.1 - haskey-btree ==0.3.0.1
- hasktags ==0.72.0 - hasktags ==0.72.0
- hasql ==1.4.5.2 - hasql ==1.4.5.3
- hasql-notifications ==0.2.0.0 - hasql-notifications ==0.2.0.0
- hasql-optparse-applicative ==0.3.0.6 - hasql-optparse-applicative ==0.3.0.6
- hasql-pool ==0.5.2 - hasql-pool ==0.5.2
@ -1011,7 +1011,7 @@ default-package-overrides:
- hasql-transaction ==1.0.1 - hasql-transaction ==1.0.1
- hasty-hamiltonian ==1.3.4 - hasty-hamiltonian ==1.3.4
- HaTeX ==3.22.3.0 - HaTeX ==3.22.3.0
- HaXml ==1.25.6 - HaXml ==1.25.7
- haxr ==3000.11.4.1 - haxr ==3000.11.4.1
- HCodecs ==0.5.2 - HCodecs ==0.5.2
- hdaemonize ==0.5.6 - hdaemonize ==0.5.6
@ -1082,7 +1082,7 @@ default-package-overrides:
- hourglass ==0.2.12 - hourglass ==0.2.12
- hourglass-orphans ==0.1.0.0 - hourglass-orphans ==0.1.0.0
- hp2pretty ==0.10 - hp2pretty ==0.10
- hpack ==0.34.4 - hpack ==0.34.5
- hpack-dhall ==0.5.3 - hpack-dhall ==0.5.3
- hpc-codecov ==0.3.0.0 - hpc-codecov ==0.3.0.0
- hpc-lcov ==1.0.1 - hpc-lcov ==1.0.1
@ -1101,7 +1101,7 @@ default-package-overrides:
- hsinstall ==2.6 - hsinstall ==2.6
- HSlippyMap ==3.0.1 - HSlippyMap ==3.0.1
- hslogger ==1.3.1.0 - hslogger ==1.3.1.0
- hslua ==1.3.0.1 - hslua ==1.3.0.2
- hslua-aeson ==1.0.3.1 - hslua-aeson ==1.0.3.1
- hslua-module-doclayout ==0.2.0.1 - hslua-module-doclayout ==0.2.0.1
- hslua-module-path ==0.1.0.1 - hslua-module-path ==0.1.0.1
@ -1161,7 +1161,7 @@ default-package-overrides:
- http-directory ==0.1.8 - http-directory ==0.1.8
- http-download ==0.2.0.0 - http-download ==0.2.0.0
- httpd-shed ==0.4.1.1 - httpd-shed ==0.4.1.1
- http-link-header ==1.2.0 - http-link-header ==1.2.1
- http-media ==0.8.0.0 - http-media ==0.8.0.0
- http-query ==0.1.0.1 - http-query ==0.1.0.1
- http-reverse-proxy ==0.6.0 - http-reverse-proxy ==0.6.0
@ -1229,18 +1229,18 @@ default-package-overrides:
- indexed-containers ==0.1.0.2 - indexed-containers ==0.1.0.2
- indexed-list-literals ==0.2.1.3 - indexed-list-literals ==0.2.1.3
- indexed-profunctors ==0.1.1 - indexed-profunctors ==0.1.1
- indexed-traversable ==0.1.1 - indexed-traversable ==0.1.2
- indexed-traversable-instances ==0.1 - indexed-traversable-instances ==0.1
- infer-license ==0.2.0 - infer-license ==0.2.0
- inflections ==0.4.0.6 - inflections ==0.4.0.6
- influxdb ==1.9.2 - influxdb ==1.9.2.1
- ini ==0.4.1 - ini ==0.4.1
- inj ==1.0 - inj ==1.0
- inline-c ==0.9.1.5 - inline-c ==0.9.1.5
- inline-c-cpp ==0.4.0.3 - inline-c-cpp ==0.4.0.3
- inline-r ==0.10.4 - inline-r ==0.10.4
- inliterate ==0.1.0 - inliterate ==0.1.0
- input-parsers ==0.2.3 - input-parsers ==0.2.3.1
- insert-ordered-containers ==0.2.5 - insert-ordered-containers ==0.2.5
- inspection-testing ==0.4.6.0 - inspection-testing ==0.4.6.0
- instance-control ==0.1.2.0 - instance-control ==0.1.2.0
@ -1257,9 +1257,9 @@ default-package-overrides:
- intervals ==0.9.2 - intervals ==0.9.2
- intro ==0.9.0.0 - intro ==0.9.0.0
- intset-imperative ==0.1.0.0 - intset-imperative ==0.1.0.0
- invariant ==0.5.4 - invariant ==0.5.5
- invertible ==0.2.0.7 - invertible ==0.2.0.7
- invertible-grammar ==0.1.3.1 - invertible-grammar ==0.1.3.2
- io-machine ==0.2.0.0 - io-machine ==0.2.0.0
- io-manager ==0.1.0.3 - io-manager ==0.1.0.3
- io-memoize ==1.1.1.0 - io-memoize ==1.1.1.0
@ -1270,8 +1270,8 @@ default-package-overrides:
- ip6addr ==1.0.2 - ip6addr ==1.0.2
- ipa ==0.3.1.1 - ipa ==0.3.1.1
- iproute ==1.7.11 - iproute ==1.7.11
- IPv6Addr ==2.0.2 - IPv6Addr ==2.0.3
- ipynb ==0.1.0.1 - ipynb ==0.1.0.2
- ipython-kernel ==0.10.2.1 - ipython-kernel ==0.10.2.1
- irc ==0.6.1.0 - irc ==0.6.1.0
- irc-client ==1.1.2.2 - irc-client ==1.1.2.2
@ -1299,12 +1299,12 @@ default-package-overrides:
- js-flot ==0.8.3 - js-flot ==0.8.3
- js-jquery ==3.3.1 - js-jquery ==3.3.1
- json ==0.10 - json ==0.10
- json-feed ==1.0.13 - json-feed ==1.0.14
- jsonifier ==0.1.1 - jsonifier ==0.1.1
- jsonpath ==0.2.0.0 - jsonpath ==0.2.0.0
- json-rpc ==1.0.3 - json-rpc ==1.0.3
- json-rpc-generic ==0.2.1.6 - json-rpc-generic ==0.2.1.6
- JuicyPixels ==3.3.5 - JuicyPixels ==3.3.6
- JuicyPixels-blurhash ==0.1.0.3 - JuicyPixels-blurhash ==0.1.0.3
- JuicyPixels-extra ==0.5.2 - JuicyPixels-extra ==0.5.2
- JuicyPixels-scale-dct ==0.1.2 - JuicyPixels-scale-dct ==0.1.2
@ -1313,7 +1313,7 @@ default-package-overrides:
- jwt ==0.10.0 - jwt ==0.10.0
- kan-extensions ==5.2.3 - kan-extensions ==5.2.3
- kanji ==3.4.1 - kanji ==3.4.1
- katip ==0.8.5.0 - katip ==0.8.6.0
- katip-logstash ==0.1.0.0 - katip-logstash ==0.1.0.0
- kawhi ==0.3.0 - kawhi ==0.3.0
- kazura-queue ==0.1.0.4 - kazura-queue ==0.1.0.4
@ -1323,7 +1323,7 @@ default-package-overrides:
- keys ==3.12.3 - keys ==3.12.3
- ki ==0.2.0.1 - ki ==0.2.0.1
- kind-apply ==0.3.2.0 - kind-apply ==0.3.2.0
- kind-generics ==0.4.1.0 - kind-generics ==0.4.1.2
- kind-generics-th ==0.2.2.2 - kind-generics-th ==0.2.2.2
- kmeans ==0.1.3 - kmeans ==0.1.3
- koji ==0.0.2 - koji ==0.0.2
@ -1334,7 +1334,7 @@ default-package-overrides:
- labels ==0.3.3 - labels ==0.3.3
- lackey ==1.0.15 - lackey ==1.0.15
- lambdabot-core ==5.3.0.2 - lambdabot-core ==5.3.0.2
- LambdaHack ==0.10.2.0 - LambdaHack ==0.10.3.0
- lame ==0.2.0 - lame ==0.2.0
- language-avro ==0.1.3.1 - language-avro ==0.1.3.1
- language-bash ==0.9.2 - language-bash ==0.9.2
@ -1365,7 +1365,7 @@ default-package-overrides:
- learn-physics ==0.6.5 - learn-physics ==0.6.5
- lens ==4.19.2 - lens ==4.19.2
- lens-action ==0.2.5 - lens-action ==0.2.5
- lens-aeson ==1.1.1 - lens-aeson ==1.1.2
- lens-csv ==0.1.1.0 - lens-csv ==0.1.1.0
- lens-datetime ==0.3 - lens-datetime ==0.3
- lens-family ==2.0.0 - lens-family ==2.0.0
@ -1387,7 +1387,7 @@ default-package-overrides:
- liboath-hs ==0.0.1.2 - liboath-hs ==0.0.1.2
- libyaml ==0.1.2 - libyaml ==0.1.2
- LibZip ==1.0.1 - LibZip ==1.0.1
- lifted-async ==0.10.2.1 - lifted-async ==0.10.2.2
- lifted-base ==0.2.3.12 - lifted-base ==0.2.3.12
- lift-generics ==0.2.1 - lift-generics ==0.2.1
- lift-type ==0.1.0.1 - lift-type ==0.1.0.1
@ -1418,7 +1418,7 @@ default-package-overrides:
- loch-th ==0.2.2 - loch-th ==0.2.2
- lockfree-queue ==0.2.3.1 - lockfree-queue ==0.2.3.1
- log-domain ==0.13.1 - log-domain ==0.13.1
- logfloat ==0.13.3.3 - logfloat ==0.13.4
- logging ==3.0.5 - logging ==3.0.5
- logging-facade ==0.3.0 - logging-facade ==0.3.0
- logging-facade-syslog ==1 - logging-facade-syslog ==1
@ -1488,13 +1488,13 @@ default-package-overrides:
- microlens ==0.4.12.0 - microlens ==0.4.12.0
- microlens-aeson ==2.3.1 - microlens-aeson ==2.3.1
- microlens-contra ==0.1.0.2 - microlens-contra ==0.1.0.2
- microlens-ghc ==0.4.13 - microlens-ghc ==0.4.13.1
- microlens-mtl ==0.2.0.1 - microlens-mtl ==0.2.0.1
- microlens-platform ==0.4.2 - microlens-platform ==0.4.2
- microlens-process ==0.2.0.2 - microlens-process ==0.2.0.2
- microlens-th ==0.4.3.10 - microlens-th ==0.4.3.10
- microspec ==0.2.1.3 - microspec ==0.2.1.3
- microstache ==1.0.1.2 - microstache ==1.0.2
- midair ==0.2.0.1 - midair ==0.2.0.1
- midi ==0.2.2.2 - midi ==0.2.2.2
- mighty-metropolis ==2.0.0 - mighty-metropolis ==2.0.0
@ -1555,7 +1555,7 @@ default-package-overrides:
- monad-unlift ==0.2.0 - monad-unlift ==0.2.0
- monad-unlift-ref ==0.2.1 - monad-unlift-ref ==0.2.1
- mongoDB ==2.7.1.1 - mongoDB ==2.7.1.1
- monoid-subclasses ==1.1.1 - monoid-subclasses ==1.1.2
- monoid-transformer ==0.0.4 - monoid-transformer ==0.0.4
- mono-traversable ==1.0.15.3 - mono-traversable ==1.0.15.3
- mono-traversable-instances ==0.1.1.0 - mono-traversable-instances ==0.1.1.0
@ -1580,7 +1580,7 @@ default-package-overrides:
- multiset ==0.3.4.3 - multiset ==0.3.4.3
- multistate ==0.8.0.3 - multistate ==0.8.0.3
- murmur3 ==1.0.5 - murmur3 ==1.0.5
- murmur-hash ==0.1.0.9 - murmur-hash ==0.1.0.10
- MusicBrainz ==0.4.1 - MusicBrainz ==0.4.1
- mustache ==2.3.1 - mustache ==2.3.1
- mutable-containers ==0.3.4 - mutable-containers ==0.3.4
@ -1588,8 +1588,8 @@ default-package-overrides:
- mwc-random ==0.15.0.2 - mwc-random ==0.15.0.2
- mwc-random-monad ==0.7.3.1 - mwc-random-monad ==0.7.3.1
- mx-state-codes ==1.0.0.0 - mx-state-codes ==1.0.0.0
- mysql ==0.2.0.1 - mysql ==0.2.1
- mysql-simple ==0.4.6 - mysql-simple ==0.4.7
- n2o ==0.11.1 - n2o ==0.11.1
- nagios-check ==0.3.2 - nagios-check ==0.3.2
- names-th ==0.3.0.1 - names-th ==0.3.0.1
@ -1601,7 +1601,7 @@ default-package-overrides:
- natural-transformation ==0.4 - natural-transformation ==0.4
- ndjson-conduit ==0.1.0.5 - ndjson-conduit ==0.1.0.5
- neat-interpolation ==0.5.1.2 - neat-interpolation ==0.5.1.2
- netcode-io ==0.0.2 - netcode-io ==0.0.3
- netlib-carray ==0.1 - netlib-carray ==0.1
- netlib-comfort-array ==0.0.0.2 - netlib-comfort-array ==0.0.0.2
- netlib-ffi ==0.1.1 - netlib-ffi ==0.1.1
@ -1627,7 +1627,7 @@ default-package-overrides:
- network-transport-composed ==0.2.1 - network-transport-composed ==0.2.1
- network-uri ==2.6.4.1 - network-uri ==2.6.4.1
- newtype ==0.2.2.0 - newtype ==0.2.2.0
- newtype-generics ==0.6 - newtype-generics ==0.6.1
- nicify-lib ==1.0.1 - nicify-lib ==1.0.1
- NineP ==0.0.2.1 - NineP ==0.0.2.1
- nix-derivation ==1.1.2 - nix-derivation ==1.1.2
@ -1646,8 +1646,8 @@ default-package-overrides:
- nowdoc ==0.1.1.0 - nowdoc ==0.1.1.0
- nqe ==0.6.3 - nqe ==0.6.3
- nri-env-parser ==0.1.0.7 - nri-env-parser ==0.1.0.7
- nri-observability ==0.1.1.1 - nri-observability ==0.1.1.3
- nri-prelude ==0.6.0.3 - nri-prelude ==0.6.0.5
- nsis ==0.3.3 - nsis ==0.3.3
- numbers ==3000.2.0.2 - numbers ==3000.2.0.2
- numeric-extras ==0.1 - numeric-extras ==0.1
@ -1673,7 +1673,7 @@ default-package-overrides:
- OneTuple ==0.2.2.1 - OneTuple ==0.2.2.1
- Only ==0.1 - Only ==0.1
- oo-prototypes ==0.1.0.0 - oo-prototypes ==0.1.0.0
- opaleye ==0.7.4.0 - opaleye ==0.7.6.1
- OpenAL ==1.7.0.5 - OpenAL ==1.7.0.5
- openapi3 ==3.1.0 - openapi3 ==3.1.0
- open-browser ==0.2.1.0 - open-browser ==0.2.1.0
@ -1697,7 +1697,7 @@ default-package-overrides:
- optional-args ==1.0.2 - optional-args ==1.0.2
- options ==1.2.1.1 - options ==1.2.1.1
- optparse-applicative ==0.16.1.0 - optparse-applicative ==0.16.1.0
- optparse-generic ==1.4.5 - optparse-generic ==1.4.6
- optparse-simple ==0.1.1.4 - optparse-simple ==0.1.1.4
- optparse-text ==0.1.1.0 - optparse-text ==0.1.1.0
- ordered-containers ==0.2.2 - ordered-containers ==0.2.2
@ -1712,7 +1712,7 @@ default-package-overrides:
- pandoc-dhall-decoder ==0.1.0.1 - pandoc-dhall-decoder ==0.1.0.1
- pandoc-plot ==1.2.3 - pandoc-plot ==1.2.3
- pandoc-throw ==0.1.0.0 - pandoc-throw ==0.1.0.0
- pandoc-types ==1.22 - pandoc-types ==1.22.1
- pantry ==0.5.2.3 - pantry ==0.5.2.3
- parallel ==3.2.2.0 - parallel ==3.2.2.0
- parameterized ==0.5.0.0 - parameterized ==0.5.0.0
@ -1758,26 +1758,26 @@ default-package-overrides:
- persist ==0.1.1.5 - persist ==0.1.1.5
- persistable-record ==0.6.0.5 - persistable-record ==0.6.0.5
- persistable-types-HDBC-pg ==0.0.3.5 - persistable-types-HDBC-pg ==0.0.3.5
- persistent ==2.13.1.2 - persistent ==2.13.2.1
- persistent-mtl ==0.2.2.0 - persistent-mtl ==0.2.2.0
- persistent-mysql ==2.13.0.2 - persistent-mysql ==2.13.0.2
- persistent-pagination ==0.1.1.2 - persistent-pagination ==0.1.1.2
- persistent-postgresql ==2.13.1.0 - persistent-postgresql ==2.13.2.1
- persistent-qq ==2.12.0.1 - persistent-qq ==2.12.0.1
- persistent-sqlite ==2.13.0.3 - persistent-sqlite ==2.13.0.3
- persistent-template ==2.12.0.0 - persistent-template ==2.12.0.0
- persistent-test ==2.13.0.3 - persistent-test ==2.13.0.3
- persistent-typed-db ==0.1.0.4 - persistent-typed-db ==0.1.0.5
- pg-harness-client ==0.6.0 - pg-harness-client ==0.6.0
- pgp-wordlist ==0.1.0.3 - pgp-wordlist ==0.1.0.3
- pg-transact ==0.3.2.0 - pg-transact ==0.3.2.0
- phantom-state ==0.2.1.2 - phantom-state ==0.2.1.2
- pid1 ==0.1.2.0 - pid1 ==0.1.3.0
- pinboard ==0.10.2.0 - pinboard ==0.10.2.0
- pipes ==4.3.16 - pipes ==4.3.16
- pipes-aeson ==0.4.1.8 - pipes-aeson ==0.4.1.8
- pipes-attoparsec ==0.5.1.5 - pipes-attoparsec ==0.5.1.5
- pipes-binary ==0.4.2 - pipes-binary ==0.4.3
- pipes-bytestring ==2.1.7 - pipes-bytestring ==2.1.7
- pipes-concurrency ==2.0.12 - pipes-concurrency ==2.0.12
- pipes-csv ==1.4.3 - pipes-csv ==1.4.3
@ -1798,9 +1798,9 @@ default-package-overrides:
- placeholders ==0.1 - placeholders ==0.1
- plaid ==0.1.0.4 - plaid ==0.1.0.4
- plotlyhs ==0.2.1 - plotlyhs ==0.2.1
- pointed ==5.0.2 - pointed ==5.0.3
- pointedlist ==0.6.1 - pointedlist ==0.6.1
- pointless-fun ==1.1.0.6 - pointless-fun ==1.1.0.8
- poll ==0.0.0.2 - poll ==0.0.0.2
- polling-cache ==0.1.1.0 - polling-cache ==0.1.1.0
- poly ==0.5.0.0 - poly ==0.5.0.0
@ -1827,7 +1827,7 @@ default-package-overrides:
- prairie ==0.0.1.0 - prairie ==0.0.1.0
- prefix-units ==0.2.0 - prefix-units ==0.2.0
- prelude-compat ==0.0.0.2 - prelude-compat ==0.0.0.2
- prelude-safeenum ==0.1.1.2 - prelude-safeenum ==0.1.1.3
- prettyclass ==1.0.0.0 - prettyclass ==1.0.0.0
- pretty-class ==1.0.1.1 - pretty-class ==1.0.1.1
- pretty-diff ==0.4.0.3 - pretty-diff ==0.4.0.3
@ -1844,7 +1844,7 @@ default-package-overrides:
- pretty-sop ==0.2.0.3 - pretty-sop ==0.2.0.3
- pretty-terminal ==0.1.0.0 - pretty-terminal ==0.1.0.0
- primes ==0.2.1.0 - primes ==0.2.1.0
- primitive ==0.7.2.0 - primitive ==0.7.3.0
- primitive-addr ==0.1.0.2 - primitive-addr ==0.1.0.2
- primitive-extras ==0.10.1 - primitive-extras ==0.10.1
- primitive-unaligned ==0.1.1.1 - primitive-unaligned ==0.1.1.1
@ -1879,10 +1879,10 @@ default-package-overrides:
- ptr-poker ==0.1.1.4 - ptr-poker ==0.1.1.4
- publicsuffix ==0.20200526 - publicsuffix ==0.20200526
- pulse-simple ==0.1.14 - pulse-simple ==0.1.14
- pureMD5 ==2.1.3 - pureMD5 ==2.1.4
- purescript-bridge ==0.14.0.0 - purescript-bridge ==0.14.0.0
- pushbullet-types ==0.4.1.0 - pushbullet-types ==0.4.1.0
- pusher-http-haskell ==2.1.0.3 - pusher-http-haskell ==2.1.0.5
- pvar ==1.0.0.0 - pvar ==1.0.0.0
- PyF ==0.9.0.3 - PyF ==0.9.0.3
- qchas ==1.1.0.1 - qchas ==1.1.0.1
@ -1927,7 +1927,7 @@ default-package-overrides:
- rank2classes ==1.4.3 - rank2classes ==1.4.3
- Rasterific ==0.7.5.4 - Rasterific ==0.7.5.4
- rasterific-svg ==0.3.3.2 - rasterific-svg ==0.3.3.2
- ratel ==1.0.15 - ratel ==1.0.16
- rate-limit ==1.4.2 - rate-limit ==1.4.2
- ratel-wai ==1.1.5 - ratel-wai ==1.1.5
- rattle ==0.2 - rattle ==0.2
@ -1950,8 +1950,8 @@ default-package-overrides:
- record-hasfield ==1.0 - record-hasfield ==1.0
- records-sop ==0.1.1.0 - records-sop ==0.1.1.0
- record-wrangler ==0.1.1.0 - record-wrangler ==0.1.1.0
- recursion-schemes ==5.2.2.1 - recursion-schemes ==5.2.2.2
- reducers ==3.12.3 - reducers ==3.12.4
- refact ==0.3.0.2 - refact ==0.3.0.2
- ref-fd ==0.5 - ref-fd ==0.5
- refined ==0.6.2 - refined ==0.6.2
@ -2017,7 +2017,7 @@ default-package-overrides:
- rosezipper ==0.2 - rosezipper ==0.2
- rot13 ==0.2.0.1 - rot13 ==0.2.0.1
- rpmbuild-order ==0.4.5 - rpmbuild-order ==0.4.5
- rpm-nvr ==0.1.0 - rpm-nvr ==0.1.1
- rp-tree ==0.6 - rp-tree ==0.6
- RSA ==2.4.1 - RSA ==2.4.1
- runmemo ==1.0.0.1 - runmemo ==1.0.0.1
@ -2072,7 +2072,7 @@ default-package-overrides:
- semialign-indexed ==1.1 - semialign-indexed ==1.1
- semialign-optics ==1.1 - semialign-optics ==1.1
- semigroupoid-extras ==5 - semigroupoid-extras ==5
- semigroupoids ==5.3.5 - semigroupoids ==5.3.6
- semigroups ==0.19.2 - semigroups ==0.19.2
- semirings ==0.6 - semirings ==0.6
- semiring-simple ==1.0.0.1 - semiring-simple ==1.0.0.1
@ -2085,7 +2085,7 @@ default-package-overrides:
- sequence-formats ==1.6.1 - sequence-formats ==1.6.1
- sequenceTools ==1.5.0 - sequenceTools ==1.5.0
- serf ==0.1.1.0 - serf ==0.1.1.0
- serialise ==0.2.3.0 - serialise ==0.2.4.0
- servant ==0.18.3 - servant ==0.18.3
- servant-auth ==0.4.0.0 - servant-auth ==0.4.0.0
- servant-auth-client ==0.4.1.0 - servant-auth-client ==0.4.1.0
@ -2112,7 +2112,7 @@ default-package-overrides:
- servant-rawm ==1.0.0.0 - servant-rawm ==1.0.0.0
- servant-server ==0.18.3 - servant-server ==0.18.3
- servant-swagger ==1.1.10 - servant-swagger ==1.1.10
- servant-swagger-ui ==0.3.5.3.47.1 - servant-swagger-ui ==0.3.5.3.52.5
- servant-swagger-ui-core ==0.3.5 - servant-swagger-ui-core ==0.3.5
- serverless-haskell ==0.12.6 - serverless-haskell ==0.12.6
- serversession ==1.0.2 - serversession ==1.0.2
@ -2121,7 +2121,7 @@ default-package-overrides:
- set-cover ==0.1.1 - set-cover ==0.1.1
- setenv ==0.1.1.3 - setenv ==0.1.1.3
- setlocale ==1.0.0.10 - setlocale ==1.0.0.10
- sexp-grammar ==2.3.3 - sexp-grammar ==2.3.3.1
- SHA ==1.6.4.4 - SHA ==1.6.4.4
- shake ==0.19.6 - shake ==0.19.6
- shake-language-c ==0.12.0 - shake-language-c ==0.12.0
@ -2206,7 +2206,7 @@ default-package-overrides:
- splice ==0.6.1.1 - splice ==0.6.1.1
- splint ==1.0.1.4 - splint ==1.0.1.4
- split ==0.2.3.4 - split ==0.2.3.4
- splitmix ==0.1.0.3 - splitmix ==0.1.0.4
- splitmix-distributions ==0.9.0.0 - splitmix-distributions ==0.9.0.0
- spoon ==0.3.1 - spoon ==0.3.1
- spreadsheet ==0.1.3.8 - spreadsheet ==0.1.3.8
@ -2228,7 +2228,7 @@ default-package-overrides:
- status-notifier-item ==0.3.1.0 - status-notifier-item ==0.3.1.0
- stb-image-redux ==0.2.1.3 - stb-image-redux ==0.2.1.3
- step-function ==0.2 - step-function ==0.2
- stm-chans ==3.0.0.4 - stm-chans ==3.0.0.6
- stm-conduit ==4.0.1 - stm-conduit ==4.0.1
- stm-delay ==0.1.1.1 - stm-delay ==0.1.1.1
- stm-extras ==0.1.0.3 - stm-extras ==0.1.0.3
@ -2272,9 +2272,9 @@ default-package-overrides:
- stripe-core ==2.6.2 - stripe-core ==2.6.2
- stripe-haskell ==2.6.2 - stripe-haskell ==2.6.2
- stripe-http-client ==2.6.2 - stripe-http-client ==2.6.2
- strive ==5.0.14 - strive ==5.0.16
- structs ==0.1.6 - structs ==0.1.6
- structured ==0.1.0.1 - structured ==0.1.1
- structured-cli ==2.7.0.1 - structured-cli ==2.7.0.1
- subcategories ==0.1.1.0 - subcategories ==0.1.1.0
- sum-type-boilerplate ==0.1.1 - sum-type-boilerplate ==0.1.1
@ -2284,7 +2284,7 @@ default-package-overrides:
- swagger ==0.3.0 - swagger ==0.3.0
- swagger2 ==2.6 - swagger2 ==2.6
- sweet-egison ==0.1.1.3 - sweet-egison ==0.1.1.3
- swish ==0.10.0.5 - swish ==0.10.0.7
- syb ==0.7.2.1 - syb ==0.7.2.1
- sydtest ==0.2.0.0 - sydtest ==0.2.0.0
- sydtest-discover ==0.0.0.0 - sydtest-discover ==0.0.0.0
@ -2342,7 +2342,7 @@ default-package-overrides:
- TCache ==0.12.1 - TCache ==0.12.1
- tce-conf ==1.3 - tce-conf ==1.3
- tdigest ==0.2.1.1 - tdigest ==0.2.1.1
- template-haskell-compat-v0208 ==0.1.6 - template-haskell-compat-v0208 ==0.1.7
- temporary ==1.3 - temporary ==1.3
- temporary-rc ==1.2.0.3 - temporary-rc ==1.2.0.3
- temporary-resourcet ==0.1.0.1 - temporary-resourcet ==0.1.0.1
@ -2358,7 +2358,7 @@ default-package-overrides:
- test-framework-smallcheck ==0.2 - test-framework-smallcheck ==0.2
- test-fun ==0.1.0.0 - test-fun ==0.1.0.0
- testing-type-modifiers ==0.1.0.1 - testing-type-modifiers ==0.1.0.1
- texmath ==0.12.3.1 - texmath ==0.12.3.2
- text-ansi ==0.1.1 - text-ansi ==0.1.1
- text-binary ==0.2.1.1 - text-binary ==0.2.1.1
- text-builder ==0.6.6.3 - text-builder ==0.6.6.3
@ -2429,7 +2429,7 @@ default-package-overrides:
- timezone-series ==0.1.9 - timezone-series ==0.1.9
- tinylog ==0.15.0 - tinylog ==0.15.0
- titlecase ==1.0.1 - titlecase ==1.0.1
- tldr ==0.9.1 - tldr ==0.9.2
- tls ==1.5.5 - tls ==1.5.5
- tls-debug ==0.4.8 - tls-debug ==0.4.8
- tls-session-manager ==0.0.4 - tls-session-manager ==0.0.4
@ -2448,7 +2448,7 @@ default-package-overrides:
- transformers-compat ==0.6.6 - transformers-compat ==0.6.6
- transformers-fix ==1.0 - transformers-fix ==1.0
- traverse-with-class ==1.0.1.1 - traverse-with-class ==1.0.1.1
- tree-diff ==0.2 - tree-diff ==0.2.1
- tree-fun ==0.8.1.0 - tree-fun ==0.8.1.0
- tree-view ==0.5.1 - tree-view ==0.5.1
- trifecta ==2.1.1 - trifecta ==2.1.1
@ -2457,7 +2457,7 @@ default-package-overrides:
- tsv2csv ==0.1.0.2 - tsv2csv ==0.1.0.2
- ttc ==1.1.0.2 - ttc ==1.1.0.2
- ttl-hashtables ==1.4.1.0 - ttl-hashtables ==1.4.1.0
- ttrie ==0.1.2.1 - ttrie ==0.1.2.2
- tuple ==0.3.0.2 - tuple ==0.3.0.2
- tuples-homogenous-h98 ==0.1.1.0 - tuples-homogenous-h98 ==0.1.1.0
- tuple-sop ==0.3.1.0 - tuple-sop ==0.3.1.0
@ -2465,7 +2465,7 @@ default-package-overrides:
- turtle ==1.5.22 - turtle ==1.5.22
- typecheck-plugin-nat-simple ==0.1.0.2 - typecheck-plugin-nat-simple ==0.1.0.2
- TypeCompose ==0.9.14 - TypeCompose ==0.9.14
- typed-process ==0.2.6.3 - typed-process ==0.2.7.0
- typed-uuid ==0.1.0.0 - typed-uuid ==0.1.0.0
- type-equality ==1 - type-equality ==1
- type-errors ==0.2.0.0 - type-errors ==0.2.0.0
@ -2520,7 +2520,7 @@ default-package-overrides:
- universe-reverse-instances ==1.1.1 - universe-reverse-instances ==1.1.1
- universe-some ==1.2.1 - universe-some ==1.2.1
- universum ==1.7.2 - universum ==1.7.2
- unix-bytestring ==0.3.7.3 - unix-bytestring ==0.3.7.5
- unix-compat ==0.5.3 - unix-compat ==0.5.3
- unix-time ==0.4.7 - unix-time ==0.4.7
- unliftio ==0.2.20 - unliftio ==0.2.20
@ -2591,15 +2591,15 @@ default-package-overrides:
- wai-cors ==0.2.7 - wai-cors ==0.2.7
- wai-enforce-https ==0.0.2.1 - wai-enforce-https ==0.0.2.1
- wai-eventsource ==3.0.0 - wai-eventsource ==3.0.0
- wai-extra ==3.1.6 - wai-extra ==3.1.7
- wai-feature-flags ==0.1.0.1 - wai-feature-flags ==0.1.0.2
- wai-handler-launch ==3.0.3.1 - wai-handler-launch ==3.0.3.1
- wai-logger ==2.3.6 - wai-logger ==2.3.6
- wai-middleware-auth ==0.2.5.1 - wai-middleware-auth ==0.2.5.1
- wai-middleware-caching ==0.1.0.2 - wai-middleware-caching ==0.1.0.2
- wai-middleware-clacks ==0.1.0.1 - wai-middleware-clacks ==0.1.0.1
- wai-middleware-prometheus ==1.0.0.1 - wai-middleware-prometheus ==1.0.0.1
- wai-middleware-static ==0.9.0 - wai-middleware-static ==0.9.1
- wai-rate-limit ==0.1.0.0 - wai-rate-limit ==0.1.0.0
- wai-rate-limit-redis ==0.1.0.0 - wai-rate-limit-redis ==0.1.0.0
- wai-saml2 ==0.2.1.2 - wai-saml2 ==0.2.1.2
@ -2619,7 +2619,7 @@ default-package-overrides:
- webex-teams-pipes ==0.2.0.1 - webex-teams-pipes ==0.2.0.1
- webgear-server ==0.2.1 - webgear-server ==0.2.1
- webrtc-vad ==0.1.0.3 - webrtc-vad ==0.1.0.3
- websockets ==0.12.7.2 - websockets ==0.12.7.3
- websockets-snap ==0.10.3.1 - websockets-snap ==0.10.3.1
- weigh ==0.0.16 - weigh ==0.0.16
- wide-word ==0.1.1.2 - wide-word ==0.1.1.2
@ -2630,7 +2630,7 @@ default-package-overrides:
- Win32-notify ==0.3.0.3 - Win32-notify ==0.3.0.3
- windns ==0.1.0.1 - windns ==0.1.0.1
- witch ==0.3.4.0 - witch ==0.3.4.0
- witherable ==0.4.1 - witherable ==0.4.2
- within ==0.2.0.1 - within ==0.2.0.1
- with-location ==0.1.0 - with-location ==0.1.0
- with-utf8 ==1.0.2.2 - with-utf8 ==1.0.2.2
@ -2651,7 +2651,7 @@ default-package-overrides:
- writer-cps-transformers ==0.5.6.1 - writer-cps-transformers ==0.5.6.1
- wss-client ==0.3.0.0 - wss-client ==0.3.0.0
- wuss ==1.1.18 - wuss ==1.1.18
- X11 ==1.10.1 - X11 ==1.10.2
- X11-xft ==0.3.1 - X11-xft ==0.3.1
- x11-xim ==0.0.9.0 - x11-xim ==0.0.9.0
- x509 ==1.7.5 - x509 ==1.7.5
@ -2683,8 +2683,8 @@ default-package-overrides:
- xmonad-extras ==0.15.3 - xmonad-extras ==0.15.3
- xss-sanitize ==0.3.6 - xss-sanitize ==0.3.6
- xxhash-ffi ==0.2.0.0 - xxhash-ffi ==0.2.0.0
- yaml ==0.11.6.0 - yaml ==0.11.7.0
- yamlparse-applicative ==0.2.0.0 - yamlparse-applicative ==0.2.0.1
- yesod ==1.6.1.2 - yesod ==1.6.1.2
- yesod-auth ==1.6.10.4 - yesod-auth ==1.6.10.4
- yesod-auth-hashdb ==1.7.1.7 - yesod-auth-hashdb ==1.7.1.7
@ -2709,14 +2709,14 @@ default-package-overrides:
- yjtools ==0.9.18 - yjtools ==0.9.18
- yoga ==0.0.0.5 - yoga ==0.0.0.5
- youtube ==0.2.1.1 - youtube ==0.2.1.1
- zenacy-html ==2.0.3 - zenacy-html ==2.0.4
- zenacy-unicode ==1.0.1 - zenacy-unicode ==1.0.1
- zero ==0.1.5 - zero ==0.1.5
- zeromq4-haskell ==0.8.0 - zeromq4-haskell ==0.8.0
- zeromq4-patterns ==0.3.1.0 - zeromq4-patterns ==0.3.1.0
- zim-parser ==0.2.1.0 - zim-parser ==0.2.1.0
- zio ==0.1.0.2 - zio ==0.1.0.2
- zip ==1.7.1 - zip ==1.7.2
- zip-archive ==0.4.1 - zip-archive ==0.4.1
- zipper-extra ==0.1.3.2 - zipper-extra ==0.1.3.2
- zippers ==0.3.1 - zippers ==0.3.1

View file

@ -221,6 +221,8 @@ dont-distribute-packages:
- IORefCAS - IORefCAS
- IndexedList - IndexedList
- InfixApplicative - InfixApplicative
- JSON-Combinator
- JSON-Combinator-Examples
- Javasf - Javasf
- JsContracts - JsContracts
- JsonGrammar - JsonGrammar
@ -479,6 +481,7 @@ dont-distribute-packages:
- atuin - atuin
- audiovisual - audiovisual
- aura - aura
- aura_3_2_6
- authoring - authoring
- autonix-deps-kf5 - autonix-deps-kf5
- avers - avers
@ -723,9 +726,7 @@ dont-distribute-packages:
- claferwiki - claferwiki
- clash - clash
- clash-ghc - clash-ghc
- clash-ghc_1_4_5
- clash-lib - clash-lib
- clash-lib_1_4_5
- clash-multisignal - clash-multisignal
- clash-prelude-quickcheck - clash-prelude-quickcheck
- clash-shake - clash-shake
@ -1023,7 +1024,7 @@ dont-distribute-packages:
- egison-quote - egison-quote
- egison-tutorial - egison-tutorial
- elerea-examples - elerea-examples
- eliminators_0_8 - eliminators_0_9
- elliptic-curve - elliptic-curve
- elsa - elsa
- emacs-keys - emacs-keys
@ -1720,6 +1721,7 @@ dont-distribute-packages:
- iException - iException
- ice40-prim - ice40-prim
- ide-backend - ide-backend
- ide-backend-server
- ideas-math - ideas-math
- ideas-math-types - ideas-math-types
- ideas-statistics - ideas-statistics
@ -1813,6 +1815,7 @@ dont-distribute-packages:
- jmonkey - jmonkey
- jobs-ui - jobs-ui
- join - join
- jordan-openapi
- jot - jot
- jsc - jsc
- jsmw - jsmw
@ -1826,6 +1829,7 @@ dont-distribute-packages:
- json-tokens - json-tokens
- json2-hdbc - json2-hdbc
- jsons-to-schema - jsons-to-schema
- jspath
- jvm - jvm
- jvm-batching - jvm-batching
- jvm-streaming - jvm-streaming
@ -1897,6 +1901,8 @@ dont-distribute-packages:
- lambdacube - lambdacube
- lambdacube-bullet - lambdacube-bullet
- lambdacube-compiler - lambdacube-compiler
- lambdacube-edsl
- lambdacube-examples
- lambdacube-gl - lambdacube-gl
- lambdacube-samples - lambdacube-samples
- lambdaya-bus - lambdaya-bus
@ -1911,11 +1917,7 @@ dont-distribute-packages:
- language-python-colour - language-python-colour
- language-qux - language-qux
- language-spelling - language-spelling
- lapack
- lapack-carray
- lapack-comfort-array
- lapack-hmatrix - lapack-hmatrix
- lapack_0_4
- lat - lat
- latex-formulae-hakyll - latex-formulae-hakyll
- latex-formulae-pandoc - latex-formulae-pandoc
@ -1972,6 +1974,7 @@ dont-distribute-packages:
- liquid-base - liquid-base
- liquid-bytestring - liquid-bytestring
- liquid-containers - liquid-containers
- liquid-fixpoint_8_10_7
- liquid-ghc-prim - liquid-ghc-prim
- liquid-parallel - liquid-parallel
- liquid-platform - liquid-platform
@ -2285,6 +2288,7 @@ dont-distribute-packages:
- pairing - pairing
- panda - panda
- pandoc-japanese-filters - pandoc-japanese-filters
- pandoc_2_16_1
- papa - papa
- papa-base - papa-base
- papa-base-implement - papa-base-implement
@ -2358,6 +2362,7 @@ dont-distribute-packages:
- pisigma - pisigma
- pitchtrack - pitchtrack
- pkgtreediff - pkgtreediff
- pkgtreediff_0_5_0
- planet-mitchell - planet-mitchell
- plocketed - plocketed
- ploterific - ploterific
@ -2436,7 +2441,6 @@ dont-distribute-packages:
- proto3-suite - proto3-suite
- protobuf-native - protobuf-native
- protocol-buffers-descriptor-fork - protocol-buffers-descriptor-fork
- psc-ide
- puffytools - puffytools
- pugs-compat - pugs-compat
- pugs-hsregex - pugs-hsregex
@ -2444,9 +2448,7 @@ dont-distribute-packages:
- puppetresources - puppetresources
- pure-cdb - pure-cdb
- pure-priority-queue-tests - pure-priority-queue-tests
- purescript
- purescript-iso - purescript-iso
- purescript-tsd-gen
- push-notify - push-notify
- push-notify-apn - push-notify-apn
- push-notify-ccs - push-notify-ccs
@ -2575,7 +2577,6 @@ dont-distribute-packages:
- replicant - replicant
- repr - repr
- representable-tries - representable-tries
- req-oauth2
- resistor-cube - resistor-cube
- resistor-cube_0_0_1_3 - resistor-cube_0_0_1_3
- resource-pool-catchio - resource-pool-catchio
@ -3087,10 +3088,12 @@ dont-distribute-packages:
- typson-esqueleto - typson-esqueleto
- typson-selda - typson-selda
- u2f - u2f
- uber
- ucam-webauth - ucam-webauth
- uhc-light - uhc-light
- uhc-util - uhc-util
- unagi-bloomfilter - unagi-bloomfilter
- unbeliever
- unbound - unbound
- unfoldable-restricted - unfoldable-restricted
- uni-events - uni-events
@ -3301,7 +3304,6 @@ dont-distribute-packages:
- yu-launch - yu-launch
- yuuko - yuuko
- zasni-gerna - zasni-gerna
- zephyr
- zerobin - zerobin
- zeromq3-conduit - zeromq3-conduit
- zeromq3-haskell - zeromq3-haskell

View file

@ -43,10 +43,10 @@ with haskellLib;
self: super: builtins.intersectAttrs super { self: super: builtins.intersectAttrs super {
# Apply NixOS-specific patches. # Apply NixOS-specific patches.
ghc-paths = appendPatch super.ghc-paths ./patches/ghc-paths-nix.patch; ghc-paths = appendPatch ./patches/ghc-paths-nix.patch super.ghc-paths;
# fix errors caused by hardening flags # fix errors caused by hardening flags
epanet-haskell = disableHardening super.epanet-haskell ["format"]; epanet-haskell = disableHardening ["format"] super.epanet-haskell;
# Link the proper version. # Link the proper version.
zeromq4-haskell = super.zeromq4-haskell.override { zeromq = pkgs.zeromq4; }; zeromq4-haskell = super.zeromq4-haskell.override { zeromq = pkgs.zeromq4; };
@ -56,7 +56,7 @@ self: super: builtins.intersectAttrs super {
mysql = dontCheck super.mysql; mysql = dontCheck super.mysql;
# CUDA needs help finding the SDK headers and libraries. # CUDA needs help finding the SDK headers and libraries.
cuda = overrideCabal super.cuda (drv: { cuda = overrideCabal (drv: {
extraLibraries = (drv.extraLibraries or []) ++ [pkgs.linuxPackages.nvidia_x11]; extraLibraries = (drv.extraLibraries or []) ++ [pkgs.linuxPackages.nvidia_x11];
configureFlags = (drv.configureFlags or []) ++ [ configureFlags = (drv.configureFlags or []) ++ [
"--extra-lib-dirs=${pkgs.cudatoolkit.lib}/lib" "--extra-lib-dirs=${pkgs.cudatoolkit.lib}/lib"
@ -65,84 +65,84 @@ self: super: builtins.intersectAttrs super {
preConfigure = '' preConfigure = ''
export CUDA_PATH=${pkgs.cudatoolkit} export CUDA_PATH=${pkgs.cudatoolkit}
''; '';
}); }) super.cuda;
nvvm = overrideCabal super.nvvm (drv: { nvvm = overrideCabal (drv: {
preConfigure = '' preConfigure = ''
export CUDA_PATH=${pkgs.cudatoolkit} export CUDA_PATH=${pkgs.cudatoolkit}
''; '';
}); }) super.nvvm;
cufft = overrideCabal super.cufft (drv: { cufft = overrideCabal (drv: {
preConfigure = '' preConfigure = ''
export CUDA_PATH=${pkgs.cudatoolkit} export CUDA_PATH=${pkgs.cudatoolkit}
''; '';
}); }) super.cufft;
# jni needs help finding libjvm.so because it's in a weird location. # jni needs help finding libjvm.so because it's in a weird location.
jni = overrideCabal super.jni (drv: { jni = overrideCabal (drv: {
preConfigure = '' preConfigure = ''
local libdir=( "${pkgs.jdk}/lib/openjdk/jre/lib/"*"/server" ) local libdir=( "${pkgs.jdk}/lib/openjdk/jre/lib/"*"/server" )
configureFlags+=" --extra-lib-dir=''${libdir[0]}" configureFlags+=" --extra-lib-dir=''${libdir[0]}"
''; '';
}); }) super.jni;
# The package doesn't know about the AL include hierarchy. # The package doesn't know about the AL include hierarchy.
# https://github.com/phaazon/al/issues/1 # https://github.com/phaazon/al/issues/1
al = appendConfigureFlag super.al "--extra-include-dirs=${pkgs.openal}/include/AL"; al = appendConfigureFlag "--extra-include-dirs=${pkgs.openal}/include/AL" super.al;
# Won't find it's header files without help. # Won't find it's header files without help.
sfml-audio = appendConfigureFlag super.sfml-audio "--extra-include-dirs=${pkgs.openal}/include/AL"; sfml-audio = appendConfigureFlag "--extra-include-dirs=${pkgs.openal}/include/AL" super.sfml-audio;
# avoid compiling twice by providing executable as a separate output (with small closure size) # avoid compiling twice by providing executable as a separate output (with small closure size)
niv = enableSeparateBinOutput super.niv; niv = enableSeparateBinOutput super.niv;
ormolu = enableSeparateBinOutput super.ormolu; ormolu = enableSeparateBinOutput super.ormolu;
ghcid = enableSeparateBinOutput super.ghcid; ghcid = enableSeparateBinOutput super.ghcid;
hzk = overrideCabal super.hzk (drv: { hzk = overrideCabal (drv: {
preConfigure = "sed -i -e /include-dirs/d hzk.cabal"; preConfigure = "sed -i -e /include-dirs/d hzk.cabal";
configureFlags = [ "--extra-include-dirs=${pkgs.zookeeper_mt}/include/zookeeper" ]; configureFlags = [ "--extra-include-dirs=${pkgs.zookeeper_mt}/include/zookeeper" ];
}); }) super.hzk;
haskakafka = overrideCabal super.haskakafka (drv: { haskakafka = overrideCabal (drv: {
preConfigure = "sed -i -e /extra-lib-dirs/d -e /include-dirs/d haskakafka.cabal"; preConfigure = "sed -i -e /extra-lib-dirs/d -e /include-dirs/d haskakafka.cabal";
configureFlags = [ "--extra-include-dirs=${pkgs.rdkafka}/include/librdkafka" ]; configureFlags = [ "--extra-include-dirs=${pkgs.rdkafka}/include/librdkafka" ];
}); }) super.haskakafka;
# library has hard coded directories that need to be removed. Reported upstream here https://github.com/haskell-works/hw-kafka-client/issues/32 # library has hard coded directories that need to be removed. Reported upstream here https://github.com/haskell-works/hw-kafka-client/issues/32
hw-kafka-client = dontCheck (overrideCabal super.hw-kafka-client (drv: { hw-kafka-client = dontCheck (overrideCabal (drv: {
preConfigure = "sed -i -e /extra-lib-dirs/d -e /include-dirs/d -e /librdkafka/d hw-kafka-client.cabal"; preConfigure = "sed -i -e /extra-lib-dirs/d -e /include-dirs/d -e /librdkafka/d hw-kafka-client.cabal";
configureFlags = [ "--extra-include-dirs=${pkgs.rdkafka}/include/librdkafka" ]; configureFlags = [ "--extra-include-dirs=${pkgs.rdkafka}/include/librdkafka" ];
})); }) super.hw-kafka-client);
# Foreign dependency name clashes with another Haskell package. # Foreign dependency name clashes with another Haskell package.
libarchive-conduit = super.libarchive-conduit.override { archive = pkgs.libarchive; }; libarchive-conduit = super.libarchive-conduit.override { archive = pkgs.libarchive; };
# Heist's test suite requires system pandoc # Heist's test suite requires system pandoc
heist = overrideCabal super.heist (drv: { heist = overrideCabal (drv: {
testToolDepends = [pkgs.pandoc]; testToolDepends = [pkgs.pandoc];
}); }) super.heist;
# https://github.com/NixOS/cabal2nix/issues/136 and https://github.com/NixOS/cabal2nix/issues/216 # https://github.com/NixOS/cabal2nix/issues/136 and https://github.com/NixOS/cabal2nix/issues/216
gio = disableHardening (addPkgconfigDepend (addBuildTool super.gio self.buildHaskellPackages.gtk2hs-buildtools) pkgs.glib) ["fortify"]; gio = disableHardening ["fortify"] (addPkgconfigDepend pkgs.glib (addBuildTool self.buildHaskellPackages.gtk2hs-buildtools super.gio));
glib = disableHardening (addPkgconfigDepend (addBuildTool super.glib self.buildHaskellPackages.gtk2hs-buildtools) pkgs.glib) ["fortify"]; glib = disableHardening ["fortify"] (addPkgconfigDepend pkgs.glib (addBuildTool self.buildHaskellPackages.gtk2hs-buildtools super.glib));
gtk3 = disableHardening (super.gtk3.override { inherit (pkgs) gtk3; }) ["fortify"]; gtk3 = disableHardening ["fortify"] (super.gtk3.override { inherit (pkgs) gtk3; });
gtk = let gtk1 = addBuildTool super.gtk self.buildHaskellPackages.gtk2hs-buildtools; gtk = let gtk1 = addBuildTool self.buildHaskellPackages.gtk2hs-buildtools super.gtk;
gtk2 = addPkgconfigDepend gtk1 pkgs.gtk2; gtk2 = addPkgconfigDepend pkgs.gtk2 gtk1;
gtk3 = disableHardening gtk1 ["fortify"]; gtk3 = disableHardening ["fortify"] gtk1;
gtk4 = if pkgs.stdenv.isDarwin then appendConfigureFlag gtk3 "-fhave-quartz-gtk" else gtk4; gtk4 = if pkgs.stdenv.isDarwin then appendConfigureFlag "-fhave-quartz-gtk" gtk3 else gtk4;
in gtk3; in gtk3;
gtksourceview2 = addPkgconfigDepend super.gtksourceview2 pkgs.gtk2; gtksourceview2 = addPkgconfigDepend pkgs.gtk2 super.gtksourceview2;
gtk-traymanager = addPkgconfigDepend super.gtk-traymanager pkgs.gtk3; gtk-traymanager = addPkgconfigDepend pkgs.gtk3 super.gtk-traymanager;
# Add necessary reference to gtk3 package # Add necessary reference to gtk3 package
gi-dbusmenugtk3 = addPkgconfigDepend super.gi-dbusmenugtk3 pkgs.gtk3; gi-dbusmenugtk3 = addPkgconfigDepend pkgs.gtk3 super.gi-dbusmenugtk3;
hs-mesos = overrideCabal super.hs-mesos (drv: { hs-mesos = overrideCabal (drv: {
# Pass _only_ mesos; the correct protobuf is propagated. # Pass _only_ mesos; the correct protobuf is propagated.
extraLibraries = [ pkgs.mesos ]; extraLibraries = [ pkgs.mesos ];
preConfigure = "sed -i -e /extra-lib-dirs/d -e 's|, /usr/include, /usr/local/include/mesos||' hs-mesos.cabal"; preConfigure = "sed -i -e /extra-lib-dirs/d -e 's|, /usr/include, /usr/local/include/mesos||' hs-mesos.cabal";
}); }) super.hs-mesos;
# These packages try to access the network. # These packages try to access the network.
amqp = dontCheck super.amqp; amqp = dontCheck super.amqp;
@ -156,7 +156,7 @@ self: super: builtins.intersectAttrs super {
hadoop-rpc = dontCheck super.hadoop-rpc; # http://hydra.cryp.to/build/527461/nixlog/2/raw hadoop-rpc = dontCheck super.hadoop-rpc; # http://hydra.cryp.to/build/527461/nixlog/2/raw
hasql = dontCheck super.hasql; # http://hydra.cryp.to/build/502489/nixlog/4/raw hasql = dontCheck super.hasql; # http://hydra.cryp.to/build/502489/nixlog/4/raw
hasql-transaction = dontCheck super.hasql-transaction; # wants to connect to postgresql hasql-transaction = dontCheck super.hasql-transaction; # wants to connect to postgresql
hjsonschema = overrideCabal super.hjsonschema (drv: { testTarget = "local"; }); hjsonschema = overrideCabal (drv: { testTarget = "local"; }) super.hjsonschema;
marmalade-upload = dontCheck super.marmalade-upload; # http://hydra.cryp.to/build/501904/nixlog/1/raw marmalade-upload = dontCheck super.marmalade-upload; # http://hydra.cryp.to/build/501904/nixlog/1/raw
mongoDB = dontCheck super.mongoDB; mongoDB = dontCheck super.mongoDB;
network-transport-tcp = dontCheck super.network-transport-tcp; network-transport-tcp = dontCheck super.network-transport-tcp;
@ -203,10 +203,10 @@ self: super: builtins.intersectAttrs super {
mattermost-api = dontCheck super.mattermost-api; mattermost-api = dontCheck super.mattermost-api;
# Expect to find sendmail(1) in $PATH. # Expect to find sendmail(1) in $PATH.
mime-mail = appendConfigureFlag super.mime-mail "--ghc-option=-DMIME_MAIL_SENDMAIL_PATH=\"sendmail\""; mime-mail = appendConfigureFlag "--ghc-option=-DMIME_MAIL_SENDMAIL_PATH=\"sendmail\"" super.mime-mail;
# Help the test suite find system timezone data. # Help the test suite find system timezone data.
tz = overrideCabal super.tz (drv: { tz = overrideCabal (drv: {
preConfigure = "export TZDIR=${pkgs.tzdata}/share/zoneinfo"; preConfigure = "export TZDIR=${pkgs.tzdata}/share/zoneinfo";
patches = [ patches = [
# Fix tests failing with libSystem, musl etc. due to a lack of # Fix tests failing with libSystem, musl etc. due to a lack of
@ -218,37 +218,37 @@ self: super: builtins.intersectAttrs super {
sha256 = "1f53w8k1vpy39hzalyykpvm946ykkarj2714w988jdp4c2c4l4cf"; sha256 = "1f53w8k1vpy39hzalyykpvm946ykkarj2714w988jdp4c2c4l4cf";
}) })
] ++ (drv.patches or []); ] ++ (drv.patches or []);
}); }) super.tz;
# Nix-specific workaround # Nix-specific workaround
xmonad = appendPatch (dontCheck super.xmonad) ./patches/xmonad-nix.patch; xmonad = appendPatch ./patches/xmonad-nix.patch (dontCheck super.xmonad);
# wxc supports wxGTX >= 3.0, but our current default version points to 2.8. # wxc supports wxGTX >= 3.0, but our current default version points to 2.8.
# http://hydra.cryp.to/build/1331287/log/raw # http://hydra.cryp.to/build/1331287/log/raw
wxc = (addBuildDepend super.wxc self.split).override { wxGTK = pkgs.wxGTK30; }; wxc = (addBuildDepend self.split super.wxc).override { wxGTK = pkgs.wxGTK30; };
wxcore = super.wxcore.override { wxGTK = pkgs.wxGTK30; }; wxcore = super.wxcore.override { wxGTK = pkgs.wxGTK30; };
# Test suite wants to connect to $DISPLAY. # Test suite wants to connect to $DISPLAY.
bindings-GLFW = dontCheck super.bindings-GLFW; bindings-GLFW = dontCheck super.bindings-GLFW;
gi-gtk-declarative = dontCheck super.gi-gtk-declarative; gi-gtk-declarative = dontCheck super.gi-gtk-declarative;
gi-gtk-declarative-app-simple = dontCheck super.gi-gtk-declarative-app-simple; gi-gtk-declarative-app-simple = dontCheck super.gi-gtk-declarative-app-simple;
hsqml = dontCheck (addExtraLibraries (super.hsqml.override { qt5 = pkgs.qt5Full; }) [pkgs.libGLU pkgs.libGL]); hsqml = dontCheck (addExtraLibraries [pkgs.libGLU pkgs.libGL] (super.hsqml.override { qt5 = pkgs.qt5Full; }));
monomer = dontCheck super.monomer; monomer = dontCheck super.monomer;
# Wants to check against a real DB, Needs freetds # Wants to check against a real DB, Needs freetds
odbc = dontCheck (addExtraLibraries super.odbc [ pkgs.freetds ]); odbc = dontCheck (addExtraLibraries [ pkgs.freetds ] super.odbc);
# Tests attempt to use NPM to install from the network into # Tests attempt to use NPM to install from the network into
# /homeless-shelter. Disabled. # /homeless-shelter. Disabled.
purescript = dontCheck super.purescript; purescript = dontCheck super.purescript;
# Hardcoded include path # Hardcoded include path
poppler = overrideCabal super.poppler (drv: { poppler = overrideCabal (drv: {
postPatch = '' postPatch = ''
sed -i -e 's,glib/poppler.h,poppler.h,' poppler.cabal sed -i -e 's,glib/poppler.h,poppler.h,' poppler.cabal
sed -i -e 's,glib/poppler.h,poppler.h,' Graphics/UI/Gtk/Poppler/Structs.hsc sed -i -e 's,glib/poppler.h,poppler.h,' Graphics/UI/Gtk/Poppler/Structs.hsc
''; '';
}); }) super.poppler;
# Uses OpenGL in testing # Uses OpenGL in testing
caramia = dontCheck super.caramia; caramia = dontCheck super.caramia;
@ -257,10 +257,10 @@ self: super: builtins.intersectAttrs super {
llvm-hs = super.llvm-hs.override { llvm-config = pkgs.llvm_9; }; llvm-hs = super.llvm-hs.override { llvm-config = pkgs.llvm_9; };
# Needs help finding LLVM. # Needs help finding LLVM.
spaceprobe = addBuildTool super.spaceprobe self.buildHaskellPackages.llvmPackages.llvm; spaceprobe = addBuildTool self.buildHaskellPackages.llvmPackages.llvm super.spaceprobe;
# Tries to run GUI in tests # Tries to run GUI in tests
leksah = dontCheck (overrideCabal super.leksah (drv: { leksah = dontCheck (overrideCabal (drv: {
executableSystemDepends = (drv.executableSystemDepends or []) ++ (with pkgs; [ executableSystemDepends = (drv.executableSystemDepends or []) ++ (with pkgs; [
gnome.adwaita-icon-theme # Fix error: Icon 'window-close' not present in theme ... gnome.adwaita-icon-theme # Fix error: Icon 'window-close' not present in theme ...
wrapGAppsHook # Fix error: GLib-GIO-ERROR **: No GSettings schemas are installed on the system wrapGAppsHook # Fix error: GLib-GIO-ERROR **: No GSettings schemas are installed on the system
@ -272,12 +272,10 @@ self: super: builtins.intersectAttrs super {
substituteInPlace "$f" --replace "\"leksah-server\"" "\"${self.leksah-server}/bin/leksah-server\"" substituteInPlace "$f" --replace "\"leksah-server\"" "\"${self.leksah-server}/bin/leksah-server\""
done done
''; '';
})); }) super.leksah);
dyre = dyre =
appendPatch appendPatch
# dyre's tests appear to be trying to directly call GHC.
(dontCheck super.dyre)
# Dyre needs special support for reading the NIX_GHC env var. This is # Dyre needs special support for reading the NIX_GHC env var. This is
# available upstream in https://github.com/willdonnelly/dyre/pull/43, but # available upstream in https://github.com/willdonnelly/dyre/pull/43, but
# hasn't been released to Hackage as of dyre-0.9.1. Likely included in # hasn't been released to Hackage as of dyre-0.9.1. Likely included in
@ -285,46 +283,48 @@ self: super: builtins.intersectAttrs super {
(pkgs.fetchpatch { (pkgs.fetchpatch {
url = "https://github.com/willdonnelly/dyre/commit/c7f29d321aae343d6b314f058812dffcba9d7133.patch"; url = "https://github.com/willdonnelly/dyre/commit/c7f29d321aae343d6b314f058812dffcba9d7133.patch";
sha256 = "10m22k35bi6cci798vjpy4c2l08lq5nmmj24iwp0aflvmjdgscdb"; sha256 = "10m22k35bi6cci798vjpy4c2l08lq5nmmj24iwp0aflvmjdgscdb";
}); })
# dyre's tests appear to be trying to directly call GHC.
(dontCheck super.dyre);
# https://github.com/edwinb/EpiVM/issues/13 # https://github.com/edwinb/EpiVM/issues/13
# https://github.com/edwinb/EpiVM/issues/14 # https://github.com/edwinb/EpiVM/issues/14
epic = addExtraLibraries (addBuildTool super.epic self.buildHaskellPackages.happy) [pkgs.boehmgc pkgs.gmp]; epic = addExtraLibraries [pkgs.boehmgc pkgs.gmp] (addBuildTool self.buildHaskellPackages.happy super.epic);
# https://github.com/ekmett/wl-pprint-terminfo/issues/7 # https://github.com/ekmett/wl-pprint-terminfo/issues/7
wl-pprint-terminfo = addExtraLibrary super.wl-pprint-terminfo pkgs.ncurses; wl-pprint-terminfo = addExtraLibrary pkgs.ncurses super.wl-pprint-terminfo;
# https://github.com/bos/pcap/issues/5 # https://github.com/bos/pcap/issues/5
pcap = addExtraLibrary super.pcap pkgs.libpcap; pcap = addExtraLibrary pkgs.libpcap super.pcap;
# https://github.com/NixOS/nixpkgs/issues/53336 # https://github.com/NixOS/nixpkgs/issues/53336
greenclip = addExtraLibrary super.greenclip pkgs.xorg.libXdmcp; greenclip = addExtraLibrary pkgs.xorg.libXdmcp super.greenclip;
# The cabal files for these libraries do not list the required system dependencies. # The cabal files for these libraries do not list the required system dependencies.
miniball = overrideCabal super.miniball (drv: { miniball = overrideCabal (drv: {
librarySystemDepends = [ pkgs.miniball ]; librarySystemDepends = [ pkgs.miniball ];
}); }) super.miniball;
SDL-image = overrideCabal super.SDL-image (drv: { SDL-image = overrideCabal (drv: {
librarySystemDepends = [ pkgs.SDL pkgs.SDL_image ] ++ drv.librarySystemDepends or []; librarySystemDepends = [ pkgs.SDL pkgs.SDL_image ] ++ drv.librarySystemDepends or [];
}); }) super.SDL-image;
SDL-ttf = overrideCabal super.SDL-ttf (drv: { SDL-ttf = overrideCabal (drv: {
librarySystemDepends = [ pkgs.SDL pkgs.SDL_ttf ]; librarySystemDepends = [ pkgs.SDL pkgs.SDL_ttf ];
}); }) super.SDL-ttf;
SDL-mixer = overrideCabal super.SDL-mixer (drv: { SDL-mixer = overrideCabal (drv: {
librarySystemDepends = [ pkgs.SDL pkgs.SDL_mixer ]; librarySystemDepends = [ pkgs.SDL pkgs.SDL_mixer ];
}); }) super.SDL-mixer;
SDL-gfx = overrideCabal super.SDL-gfx (drv: { SDL-gfx = overrideCabal (drv: {
librarySystemDepends = [ pkgs.SDL pkgs.SDL_gfx ]; librarySystemDepends = [ pkgs.SDL pkgs.SDL_gfx ];
}); }) super.SDL-gfx;
SDL-mpeg = overrideCabal super.SDL-mpeg (drv: { SDL-mpeg = overrideCabal (drv: {
configureFlags = (drv.configureFlags or []) ++ [ configureFlags = (drv.configureFlags or []) ++ [
"--extra-lib-dirs=${pkgs.smpeg}/lib" "--extra-lib-dirs=${pkgs.smpeg}/lib"
"--extra-include-dirs=${pkgs.smpeg}/include/smpeg" "--extra-include-dirs=${pkgs.smpeg}/include/smpeg"
]; ];
}); }) super.SDL-mpeg;
# https://github.com/ivanperez-keera/hcwiid/pull/4 # https://github.com/ivanperez-keera/hcwiid/pull/4
hcwiid = overrideCabal super.hcwiid (drv: { hcwiid = overrideCabal (drv: {
configureFlags = (drv.configureFlags or []) ++ [ configureFlags = (drv.configureFlags or []) ++ [
"--extra-lib-dirs=${pkgs.bluez.out}/lib" "--extra-lib-dirs=${pkgs.bluez.out}/lib"
"--extra-lib-dirs=${pkgs.cwiid}/lib" "--extra-lib-dirs=${pkgs.cwiid}/lib"
@ -332,16 +332,16 @@ self: super: builtins.intersectAttrs super {
"--extra-include-dirs=${pkgs.bluez.dev}/include" "--extra-include-dirs=${pkgs.bluez.dev}/include"
]; ];
prePatch = '' sed -i -e "/Extra-Lib-Dirs/d" -e "/Include-Dirs/d" "hcwiid.cabal" ''; prePatch = '' sed -i -e "/Extra-Lib-Dirs/d" -e "/Include-Dirs/d" "hcwiid.cabal" '';
}); }) super.hcwiid;
# cabal2nix doesn't pick up some of the dependencies. # cabal2nix doesn't pick up some of the dependencies.
ginsu = let ginsu = let
g = addBuildDepend super.ginsu pkgs.perl; g = addBuildDepend pkgs.perl super.ginsu;
g' = overrideCabal g (drv: { g' = overrideCabal (drv: {
executableSystemDepends = (drv.executableSystemDepends or []) ++ [ executableSystemDepends = (drv.executableSystemDepends or []) ++ [
pkgs.ncurses pkgs.ncurses
]; ];
}); }) g;
in g'; in g';
# Tests require `docker` command in PATH # Tests require `docker` command in PATH
@ -349,23 +349,23 @@ self: super: builtins.intersectAttrs super {
docker = dontCheck super.docker; docker = dontCheck super.docker;
# https://github.com/deech/fltkhs/issues/16 # https://github.com/deech/fltkhs/issues/16
fltkhs = overrideCabal super.fltkhs (drv: { fltkhs = overrideCabal (drv: {
libraryToolDepends = (drv.libraryToolDepends or []) ++ [pkgs.buildPackages.autoconf]; libraryToolDepends = (drv.libraryToolDepends or []) ++ [pkgs.buildPackages.autoconf];
librarySystemDepends = (drv.librarySystemDepends or []) ++ [pkgs.fltk13 pkgs.libGL pkgs.libjpeg]; librarySystemDepends = (drv.librarySystemDepends or []) ++ [pkgs.fltk13 pkgs.libGL pkgs.libjpeg];
}); }) super.fltkhs;
# https://github.com/skogsbaer/hscurses/pull/26 # https://github.com/skogsbaer/hscurses/pull/26
hscurses = overrideCabal super.hscurses (drv: { hscurses = overrideCabal (drv: {
librarySystemDepends = (drv.librarySystemDepends or []) ++ [ pkgs.ncurses ]; librarySystemDepends = (drv.librarySystemDepends or []) ++ [ pkgs.ncurses ];
}); }) super.hscurses;
# Looks like Avahi provides the missing library # Looks like Avahi provides the missing library
dnssd = super.dnssd.override { dns_sd = pkgs.avahi.override { withLibdnssdCompat = true; }; }; dnssd = super.dnssd.override { dns_sd = pkgs.avahi.override { withLibdnssdCompat = true; }; };
# tests depend on executable # tests depend on executable
ghcide = overrideCabal super.ghcide (drv: { ghcide = overrideCabal (drv: {
preCheck = ''export PATH="$PWD/dist/build/ghcide:$PATH"''; preCheck = ''export PATH="$PWD/dist/build/ghcide:$PATH"'';
}); }) super.ghcide;
# GLUT uses `dlopen` to link to freeglut, so we need to set the RUNPATH correctly for # GLUT uses `dlopen` to link to freeglut, so we need to set the RUNPATH correctly for
# it to find `libglut.so` from the nix store. We do this by patching GLUT.cabal to pkg-config # it to find `libglut.so` from the nix store. We do this by patching GLUT.cabal to pkg-config
@ -377,22 +377,22 @@ self: super: builtins.intersectAttrs super {
# #
# Additional note: nixpkgs' freeglut and macOS's OpenGL implementation do not cooperate, # Additional note: nixpkgs' freeglut and macOS's OpenGL implementation do not cooperate,
# so disable this on Darwin only # so disable this on Darwin only
${if pkgs.stdenv.isDarwin then null else "GLUT"} = addPkgconfigDepend (appendPatch super.GLUT ./patches/GLUT.patch) pkgs.freeglut; ${if pkgs.stdenv.isDarwin then null else "GLUT"} = addPkgconfigDepend pkgs.freeglut (appendPatch ./patches/GLUT.patch super.GLUT);
libsystemd-journal = overrideCabal super.libsystemd-journal (old: { libsystemd-journal = overrideCabal (old: {
librarySystemDepends = old.librarySystemDepends or [] ++ [ pkgs.systemd ]; librarySystemDepends = old.librarySystemDepends or [] ++ [ pkgs.systemd ];
}); }) super.libsystemd-journal;
# does not specify tests in cabal file, instead has custom runTest cabal hook, # does not specify tests in cabal file, instead has custom runTest cabal hook,
# so cabal2nix will not detect test dependencies. # so cabal2nix will not detect test dependencies.
either-unwrap = overrideCabal super.either-unwrap (drv: { either-unwrap = overrideCabal (drv: {
testHaskellDepends = (drv.testHaskellDepends or []) ++ [ self.test-framework self.test-framework-hunit ]; testHaskellDepends = (drv.testHaskellDepends or []) ++ [ self.test-framework self.test-framework-hunit ];
}); }) super.either-unwrap;
# https://github.com/haskell-fswatch/hfsnotify/issues/62 # https://github.com/haskell-fswatch/hfsnotify/issues/62
fsnotify = dontCheck super.fsnotify; fsnotify = dontCheck super.fsnotify;
hidapi = addExtraLibrary super.hidapi pkgs.udev; hidapi = addExtraLibrary pkgs.udev super.hidapi;
hs-GeoIP = super.hs-GeoIP.override { GeoIP = pkgs.geoipWithDatabase; }; hs-GeoIP = super.hs-GeoIP.override { GeoIP = pkgs.geoipWithDatabase; };
@ -402,45 +402,45 @@ self: super: builtins.intersectAttrs super {
stackage-curator = dontCheck super.stackage-curator; stackage-curator = dontCheck super.stackage-curator;
# hardcodes /usr/bin/tr: https://github.com/snapframework/io-streams/pull/59 # hardcodes /usr/bin/tr: https://github.com/snapframework/io-streams/pull/59
io-streams = enableCabalFlag super.io-streams "NoInteractiveTests"; io-streams = enableCabalFlag "NoInteractiveTests" super.io-streams;
# requires autotools to build # requires autotools to build
secp256k1 = addBuildTools super.secp256k1 [ pkgs.buildPackages.autoconf pkgs.buildPackages.automake pkgs.buildPackages.libtool ]; secp256k1 = addBuildTools [ pkgs.buildPackages.autoconf pkgs.buildPackages.automake pkgs.buildPackages.libtool ] super.secp256k1;
# requires libsecp256k1 in pkg-config-depends # requires libsecp256k1 in pkg-config-depends
secp256k1-haskell = addPkgconfigDepend super.secp256k1-haskell pkgs.secp256k1; secp256k1-haskell = addPkgconfigDepend pkgs.secp256k1 super.secp256k1-haskell;
# tests require git and zsh # tests require git and zsh
hapistrano = addBuildTools super.hapistrano [ pkgs.buildPackages.git pkgs.buildPackages.zsh ]; hapistrano = addBuildTools [ pkgs.buildPackages.git pkgs.buildPackages.zsh ] super.hapistrano;
# This propagates this to everything depending on haskell-gi-base # This propagates this to everything depending on haskell-gi-base
haskell-gi-base = addBuildDepend super.haskell-gi-base pkgs.gobject-introspection; haskell-gi-base = addBuildDepend pkgs.gobject-introspection super.haskell-gi-base;
# requires valid, writeable $HOME # requires valid, writeable $HOME
hatex-guide = overrideCabal super.hatex-guide (drv: { hatex-guide = overrideCabal (drv: {
preConfigure = '' preConfigure = ''
${drv.preConfigure or ""} ${drv.preConfigure or ""}
export HOME=$PWD export HOME=$PWD
''; '';
}); }) super.hatex-guide;
# https://github.com/plow-technologies/servant-streaming/issues/12 # https://github.com/plow-technologies/servant-streaming/issues/12
servant-streaming-server = dontCheck super.servant-streaming-server; servant-streaming-server = dontCheck super.servant-streaming-server;
# https://github.com/haskell-servant/servant/pull/1238 # https://github.com/haskell-servant/servant/pull/1238
servant-client-core = if (pkgs.lib.getVersion super.servant-client-core) == "0.16" then servant-client-core = if (pkgs.lib.getVersion super.servant-client-core) == "0.16" then
appendPatch super.servant-client-core ./patches/servant-client-core-redact-auth-header.patch appendPatch ./patches/servant-client-core-redact-auth-header.patch super.servant-client-core
else else
super.servant-client-core; super.servant-client-core;
# tests run executable, relying on PATH # tests run executable, relying on PATH
# without this, tests fail with "Couldn't launch intero process" # without this, tests fail with "Couldn't launch intero process"
intero = overrideCabal super.intero (drv: { intero = overrideCabal (drv: {
preCheck = '' preCheck = ''
export PATH="$PWD/dist/build/intero:$PATH" export PATH="$PWD/dist/build/intero:$PATH"
''; '';
}); }) super.intero;
# Break infinite recursion cycle with criterion and network-uri. # Break infinite recursion cycle with criterion and network-uri.
js-flot = dontCheck super.js-flot; js-flot = dontCheck super.js-flot;
@ -470,23 +470,23 @@ self: super: builtins.intersectAttrs super {
liquidhaskell = dontCheck (disableSharedExecutables super.liquidhaskell); liquidhaskell = dontCheck (disableSharedExecutables super.liquidhaskell);
# Without this override, the builds lacks pkg-config. # Without this override, the builds lacks pkg-config.
opencv-extra = addPkgconfigDepend super.opencv-extra pkgs.opencv3; opencv-extra = addPkgconfigDepend pkgs.opencv3 super.opencv-extra;
# Break cyclic reference that results in an infinite recursion. # Break cyclic reference that results in an infinite recursion.
partial-semigroup = dontCheck super.partial-semigroup; partial-semigroup = dontCheck super.partial-semigroup;
colour = dontCheck super.colour; colour = dontCheck super.colour;
spatial-rotations = dontCheck super.spatial-rotations; spatial-rotations = dontCheck super.spatial-rotations;
LDAP = dontCheck (overrideCabal super.LDAP (drv: { LDAP = dontCheck (overrideCabal (drv: {
librarySystemDepends = drv.librarySystemDepends or [] ++ [ pkgs.cyrus_sasl.dev ]; librarySystemDepends = drv.librarySystemDepends or [] ++ [ pkgs.cyrus_sasl.dev ];
})); }) super.LDAP);
# Expects z3 to be on path so we replace it with a hard # Expects z3 to be on path so we replace it with a hard
# #
# The tests expect additional solvers on the path, replace the # The tests expect additional solvers on the path, replace the
# available ones also with hard coded paths, and remove the missing # available ones also with hard coded paths, and remove the missing
# ones from the test. # ones from the test.
sbv = overrideCabal super.sbv (drv: { sbv = overrideCabal (drv: {
postPatch = '' postPatch = ''
sed -i -e 's|"abc"|"${pkgs.abc-verifier}/bin/abc"|' Data/SBV/Provers/ABC.hs sed -i -e 's|"abc"|"${pkgs.abc-verifier}/bin/abc"|' Data/SBV/Provers/ABC.hs
sed -i -e 's|"boolector"|"${pkgs.boolector}/bin/boolector"|' Data/SBV/Provers/Boolector.hs sed -i -e 's|"boolector"|"${pkgs.boolector}/bin/boolector"|' Data/SBV/Provers/Boolector.hs
@ -496,14 +496,14 @@ self: super: builtins.intersectAttrs super {
sed -i -e 's|\[abc, boolector, cvc4, mathSAT, yices, z3, dReal\]|[abc, boolector, cvc4, yices, z3]|' SBVTestSuite/SBVConnectionTest.hs sed -i -e 's|\[abc, boolector, cvc4, mathSAT, yices, z3, dReal\]|[abc, boolector, cvc4, yices, z3]|' SBVTestSuite/SBVConnectionTest.hs
''; '';
}); }) super.sbv;
# The test-suite requires a running PostgreSQL server. # The test-suite requires a running PostgreSQL server.
Frames-beam = dontCheck super.Frames-beam; Frames-beam = dontCheck super.Frames-beam;
# Compile manpages (which are in RST and are compiled with Sphinx). # Compile manpages (which are in RST and are compiled with Sphinx).
futhark = futhark =
overrideCabal (addBuildTools super.futhark (with pkgs.buildPackages; [makeWrapper python3Packages.sphinx])) overrideCabal
(_drv: { (_drv: {
postBuild = (_drv.postBuild or "") + '' postBuild = (_drv.postBuild or "") + ''
make -C docs man make -C docs man
@ -513,12 +513,13 @@ self: super: builtins.intersectAttrs super {
mkdir -p $out/share/man/man1 mkdir -p $out/share/man/man1
mv docs/_build/man/*.1 $out/share/man/man1/ mv docs/_build/man/*.1 $out/share/man/man1/
''; '';
}); })
(addBuildTools (with pkgs.buildPackages; [makeWrapper python3Packages.sphinx]) super.futhark);
git-annex = with pkgs; git-annex = with pkgs;
if (!stdenv.isLinux) then if (!stdenv.isLinux) then
let path = lib.makeBinPath [ coreutils ]; let path = lib.makeBinPath [ coreutils ];
in overrideCabal (addBuildTool super.git-annex buildPackages.makeWrapper) (_drv: { in overrideCabal (_drv: {
# This is an instance of https://github.com/NixOS/nix/pull/1085 # This is an instance of https://github.com/NixOS/nix/pull/1085
# Fails with: # Fails with:
# gpg: can't connect to the agent: File name too long # gpg: can't connect to the agent: File name too long
@ -532,7 +533,7 @@ self: super: builtins.intersectAttrs super {
wrapProgram $out/bin/git-annex \ wrapProgram $out/bin/git-annex \
--prefix PATH : "${path}" --prefix PATH : "${path}"
''; '';
}) }) (addBuildTool buildPackages.makeWrapper super.git-annex)
else super.git-annex; else super.git-annex;
# The test suite has undeclared dependencies on git. # The test suite has undeclared dependencies on git.
@ -559,8 +560,8 @@ self: super: builtins.intersectAttrs super {
# gtk2hs-buildtools is listed in setupHaskellDepends, but we # gtk2hs-buildtools is listed in setupHaskellDepends, but we
# need it during the build itself, too. # need it during the build itself, too.
cairo = addBuildTool super.cairo self.buildHaskellPackages.gtk2hs-buildtools; cairo = addBuildTool self.buildHaskellPackages.gtk2hs-buildtools super.cairo;
pango = disableHardening (addBuildTool super.pango self.buildHaskellPackages.gtk2hs-buildtools) ["fortify"]; pango = disableHardening ["fortify"] (addBuildTool self.buildHaskellPackages.gtk2hs-buildtools super.pango);
spago = spago =
let let
@ -584,7 +585,7 @@ self: super: builtins.intersectAttrs super {
sha256 = "1hjdprm990vyxz86fgq14ajn0lkams7i00h8k2i2g1a0hjdwppq6"; sha256 = "1hjdprm990vyxz86fgq14ajn0lkams7i00h8k2i2g1a0hjdwppq6";
}; };
spagoWithPatches = appendPatch super.spago ( spagoWithPatches = appendPatch (
# Spago needs a small patch to work with versions-5.0.0: # Spago needs a small patch to work with versions-5.0.0:
# https://github.com/purescript/spago/pull/798 # https://github.com/purescript/spago/pull/798
# This can probably be removed with >spago-0.20.3. # This can probably be removed with >spago-0.20.3.
@ -592,14 +593,14 @@ self: super: builtins.intersectAttrs super {
url = "https://github.com/purescript/spago/commit/dd4bf4413d9675c1c8065d24d0ed7b345c7fa5dd.patch"; url = "https://github.com/purescript/spago/commit/dd4bf4413d9675c1c8065d24d0ed7b345c7fa5dd.patch";
sha256 = "1i1r3f4n9mlkckx15bfrdy5m7gjf0zx7ycwyqra6qn34zpcbzpmf"; sha256 = "1i1r3f4n9mlkckx15bfrdy5m7gjf0zx7ycwyqra6qn34zpcbzpmf";
} }
); ) super.spago;
spagoWithOverrides = spagoWithPatches.override { spagoWithOverrides = spagoWithPatches.override {
# spago has not yet been updated for the latest dhall. # spago has not yet been updated for the latest dhall.
dhall = self.dhall_1_38_1; dhall = self.dhall_1_38_1;
}; };
spagoDocs = overrideCabal spagoWithOverrides (drv: { spagoDocs = overrideCabal (drv: {
postUnpack = (drv.postUnpack or "") + '' postUnpack = (drv.postUnpack or "") + ''
# Spago includes the following two files directly into the binary # Spago includes the following two files directly into the binary
# with Template Haskell. They are fetched at build-time from the # with Template Haskell. They are fetched at build-time from the
@ -624,7 +625,7 @@ self: super: builtins.intersectAttrs super {
"$sourceRoot/templates/docs-search-app-0.0.11.js" \ "$sourceRoot/templates/docs-search-app-0.0.11.js" \
"$sourceRoot/templates/purescript-docs-search-0.0.11" "$sourceRoot/templates/purescript-docs-search-0.0.11"
''; '';
}); }) spagoWithOverrides;
# Tests require network access. # Tests require network access.
spagoWithoutChecks = dontCheck spagoDocs; spagoWithoutChecks = dontCheck spagoDocs;
@ -638,11 +639,11 @@ self: super: builtins.intersectAttrs super {
# mplayer-spot uses mplayer at runtime. # mplayer-spot uses mplayer at runtime.
mplayer-spot = mplayer-spot =
let path = pkgs.lib.makeBinPath [ pkgs.mplayer ]; let path = pkgs.lib.makeBinPath [ pkgs.mplayer ];
in overrideCabal (addBuildTool super.mplayer-spot pkgs.buildPackages.makeWrapper) (oldAttrs: { in overrideCabal (oldAttrs: {
postInstall = '' postInstall = ''
wrapProgram $out/bin/mplayer-spot --prefix PATH : "${path}" wrapProgram $out/bin/mplayer-spot --prefix PATH : "${path}"
''; '';
}); }) (addBuildTool pkgs.buildPackages.makeWrapper super.mplayer-spot);
# break infinite recursion with base-orphans # break infinite recursion with base-orphans
primitive = dontCheck super.primitive; primitive = dontCheck super.primitive;
@ -650,12 +651,12 @@ self: super: builtins.intersectAttrs super {
cut-the-crap = cut-the-crap =
let path = pkgs.lib.makeBinPath [ pkgs.ffmpeg pkgs.youtube-dl ]; let path = pkgs.lib.makeBinPath [ pkgs.ffmpeg pkgs.youtube-dl ];
in overrideCabal (addBuildTool super.cut-the-crap pkgs.buildPackages.makeWrapper) (_drv: { in overrideCabal (_drv: {
postInstall = '' postInstall = ''
wrapProgram $out/bin/cut-the-crap \ wrapProgram $out/bin/cut-the-crap \
--prefix PATH : "${path}" --prefix PATH : "${path}"
''; '';
}); }) (addBuildTool pkgs.buildPackages.makeWrapper super.cut-the-crap);
# Tests access homeless-shelter. # Tests access homeless-shelter.
hie-bios = dontCheck super.hie-bios; hie-bios = dontCheck super.hie-bios;
@ -663,9 +664,9 @@ self: super: builtins.intersectAttrs super {
# Compiling the readme throws errors and has no purpose in nixpkgs # Compiling the readme throws errors and has no purpose in nixpkgs
aeson-gadt-th = aeson-gadt-th =
disableCabalFlag (doJailbreak (super.aeson-gadt-th)) "build-readme"; disableCabalFlag "build-readme" (doJailbreak super.aeson-gadt-th);
neuron = overrideCabal (super.neuron) (drv: { neuron = overrideCabal (drv: {
# neuron expects the neuron-search script to be in PATH at built-time. # neuron expects the neuron-search script to be in PATH at built-time.
buildTools = [ pkgs.buildPackages.makeWrapper ]; buildTools = [ pkgs.buildPackages.makeWrapper ];
preConfigure = '' preConfigure = ''
@ -678,14 +679,14 @@ self: super: builtins.intersectAttrs super {
} }
PATH=$PATH:$out/bin PATH=$PATH:$out/bin
''; '';
}); }) super.neuron;
# Fix compilation of Setup.hs by removing the module declaration. # Fix compilation of Setup.hs by removing the module declaration.
# See: https://github.com/tippenein/guid/issues/1 # See: https://github.com/tippenein/guid/issues/1
guid = overrideCabal (super.guid) (drv: { guid = overrideCabal (drv: {
prePatch = "sed -i '1d' Setup.hs"; # 1st line is module declaration, remove it prePatch = "sed -i '1d' Setup.hs"; # 1st line is module declaration, remove it
doCheck = false; doCheck = false;
}); }) super.guid;
# Tests disabled as recommended at https://github.com/luke-clifton/shh/issues/39 # Tests disabled as recommended at https://github.com/luke-clifton/shh/issues/39
shh = dontCheck super.shh; shh = dontCheck super.shh;
@ -696,16 +697,16 @@ self: super: builtins.intersectAttrs super {
postgresql-libpq-notify = dontCheck super.postgresql-libpq-notify; postgresql-libpq-notify = dontCheck super.postgresql-libpq-notify;
postgresql-pure = dontCheck super.postgresql-pure; postgresql-pure = dontCheck super.postgresql-pure;
retrie = overrideCabal super.retrie (drv: { retrie = overrideCabal (drv: {
testToolDepends = [ pkgs.git pkgs.mercurial ]; testToolDepends = [ pkgs.git pkgs.mercurial ];
}); }) super.retrie;
nix-output-monitor = overrideCabal super.nix-output-monitor { nix-output-monitor = overrideCabal {
# Can't ran the golden-tests with nix, because they call nix # Can't ran the golden-tests with nix, because they call nix
testTarget = "unit-tests"; testTarget = "unit-tests";
}; } super.nix-output-monitor;
haskell-language-server = overrideCabal super.haskell-language-server (drv: { haskell-language-server = overrideCabal (drv: {
postInstall = "ln -s $out/bin/haskell-language-server $out/bin/haskell-language-server-${self.ghc.version}"; postInstall = "ln -s $out/bin/haskell-language-server $out/bin/haskell-language-server-${self.ghc.version}";
testToolDepends = [ self.cabal-install pkgs.git ]; testToolDepends = [ self.cabal-install pkgs.git ];
testTarget = "func-test"; # wrapper test accesses internet testTarget = "func-test"; # wrapper test accesses internet
@ -713,14 +714,14 @@ self: super: builtins.intersectAttrs super {
export PATH=$PATH:$PWD/dist/build/haskell-language-server:$PWD/dist/build/haskell-language-server-wrapper export PATH=$PATH:$PWD/dist/build/haskell-language-server:$PWD/dist/build/haskell-language-server-wrapper
export HOME=$TMPDIR export HOME=$TMPDIR
''; '';
}); }) super.haskell-language-server;
# tests depend on a specific version of solc # tests depend on a specific version of solc
hevm = dontCheck (doJailbreak super.hevm); hevm = dontCheck (doJailbreak super.hevm);
# hadolint enables static linking by default in the cabal file, so we have to explicitly disable it. # hadolint enables static linking by default in the cabal file, so we have to explicitly disable it.
# https://github.com/hadolint/hadolint/commit/e1305042c62d52c2af4d77cdce5d62f6a0a3ce7b # https://github.com/hadolint/hadolint/commit/e1305042c62d52c2af4d77cdce5d62f6a0a3ce7b
hadolint = disableCabalFlag super.hadolint "static"; hadolint = disableCabalFlag "static" super.hadolint;
# Test suite tries to execute the build product "doctest-driver-gen", but it's not in $PATH. # Test suite tries to execute the build product "doctest-driver-gen", but it's not in $PATH.
doctest-driver-gen = dontCheck super.doctest-driver-gen; doctest-driver-gen = dontCheck super.doctest-driver-gen;
@ -729,7 +730,7 @@ self: super: builtins.intersectAttrs super {
prune-juice = dontCheck super.prune-juice; prune-juice = dontCheck super.prune-juice;
# based on https://github.com/gibiansky/IHaskell/blob/aafeabef786154d81ab7d9d1882bbcd06fc8c6c4/release.nix # based on https://github.com/gibiansky/IHaskell/blob/aafeabef786154d81ab7d9d1882bbcd06fc8c6c4/release.nix
ihaskell = overrideCabal super.ihaskell (drv: { ihaskell = overrideCabal (drv: {
configureFlags = (drv.configureFlags or []) ++ [ configureFlags = (drv.configureFlags or []) ++ [
# ihaskell's cabal file forces building a shared executable, # ihaskell's cabal file forces building a shared executable,
# but without passing --enable-executable-dynamic, the RPATH # but without passing --enable-executable-dynamic, the RPATH
@ -741,152 +742,152 @@ self: super: builtins.intersectAttrs super {
export PATH=$PWD/dist/build/ihaskell:$PATH export PATH=$PWD/dist/build/ihaskell:$PATH
export GHC_PACKAGE_PATH=$PWD/dist/package.conf.inplace/:$GHC_PACKAGE_PATH export GHC_PACKAGE_PATH=$PWD/dist/package.conf.inplace/:$GHC_PACKAGE_PATH
''; '';
}); }) super.ihaskell;
# tests need to execute the built executable # tests need to execute the built executable
stutter = overrideCabal super.stutter (drv: { stutter = overrideCabal (drv: {
preCheck = '' preCheck = ''
export PATH=dist/build/stutter:$PATH export PATH=dist/build/stutter:$PATH
'' + (drv.preCheck or ""); '' + (drv.preCheck or "");
}); }) super.stutter;
# Install man page and generate shell completions # Install man page and generate shell completions
pinboard-notes-backup = overrideCabal pinboard-notes-backup = overrideCabal
(generateOptparseApplicativeCompletion "pnbackup" super.pinboard-notes-backup)
(drv: { (drv: {
postInstall = '' postInstall = ''
install -D man/pnbackup.1 $out/share/man/man1/pnbackup.1 install -D man/pnbackup.1 $out/share/man/man1/pnbackup.1
'' + (drv.postInstall or ""); '' + (drv.postInstall or "");
}); })
(generateOptparseApplicativeCompletion "pnbackup" super.pinboard-notes-backup);
# set more accurate set of platforms instead of maintaining # set more accurate set of platforms instead of maintaining
# an ever growing list of platforms to exclude via unsupported-platforms # an ever growing list of platforms to exclude via unsupported-platforms
cpuid = overrideCabal super.cpuid { cpuid = overrideCabal {
platforms = pkgs.lib.platforms.x86; platforms = pkgs.lib.platforms.x86;
}; } super.cpuid;
# Pass the correct libarchive into the package. # Pass the correct libarchive into the package.
streamly-archive = super.streamly-archive.override { archive = pkgs.libarchive; }; streamly-archive = super.streamly-archive.override { archive = pkgs.libarchive; };
# passes the -msse2 flag which only works on x86 platforms # passes the -msse2 flag which only works on x86 platforms
hsignal = overrideCabal super.hsignal { hsignal = overrideCabal {
platforms = pkgs.lib.platforms.x86; platforms = pkgs.lib.platforms.x86;
}; } super.hsignal;
# uses x86 intrinsics # uses x86 intrinsics
blake3 = overrideCabal super.blake3 { blake3 = overrideCabal {
platforms = pkgs.lib.platforms.x86; platforms = pkgs.lib.platforms.x86;
}; } super.blake3;
# uses x86 intrinsics, see also https://github.com/NixOS/nixpkgs/issues/122014 # uses x86 intrinsics, see also https://github.com/NixOS/nixpkgs/issues/122014
crc32c = overrideCabal super.crc32c { crc32c = overrideCabal {
platforms = pkgs.lib.platforms.x86; platforms = pkgs.lib.platforms.x86;
}; } super.crc32c;
# uses x86 intrinsics # uses x86 intrinsics
seqalign = overrideCabal super.seqalign { seqalign = overrideCabal {
platforms = pkgs.lib.platforms.x86; platforms = pkgs.lib.platforms.x86;
}; } super.seqalign;
# uses x86 intrinsics # uses x86 intrinsics
geomancy = overrideCabal super.geomancy { geomancy = overrideCabal {
platforms = pkgs.lib.platforms.x86; platforms = pkgs.lib.platforms.x86;
}; } super.geomancy;
hls-brittany-plugin = overrideCabal super.hls-brittany-plugin (drv: { hls-brittany-plugin = overrideCabal (drv: {
testToolDepends = [ pkgs.git ]; testToolDepends = [ pkgs.git ];
preCheck = '' preCheck = ''
export HOME=$TMPDIR/home export HOME=$TMPDIR/home
''; '';
}); }) super.hls-brittany-plugin;
hls-class-plugin = overrideCabal super.hls-class-plugin (drv: { hls-class-plugin = overrideCabal (drv: {
testToolDepends = [ pkgs.git ]; testToolDepends = [ pkgs.git ];
preCheck = '' preCheck = ''
export HOME=$TMPDIR/home export HOME=$TMPDIR/home
''; '';
}); }) super.hls-class-plugin;
hls-ormolu-plugin = overrideCabal super.hls-ormolu-plugin (drv: { hls-ormolu-plugin = overrideCabal (drv: {
testToolDepends = [ pkgs.git ]; testToolDepends = [ pkgs.git ];
preCheck = '' preCheck = ''
export HOME=$TMPDIR/home export HOME=$TMPDIR/home
''; '';
}); }) super.hls-ormolu-plugin;
hls-fourmolu-plugin = overrideCabal super.hls-fourmolu-plugin (drv: { hls-fourmolu-plugin = overrideCabal (drv: {
testToolDepends = [ pkgs.git ]; testToolDepends = [ pkgs.git ];
preCheck = '' preCheck = ''
export HOME=$TMPDIR/home export HOME=$TMPDIR/home
''; '';
}); }) super.hls-fourmolu-plugin;
hls-module-name-plugin = overrideCabal super.hls-module-name-plugin (drv: { hls-module-name-plugin = overrideCabal (drv: {
testToolDepends = [ pkgs.git ]; testToolDepends = [ pkgs.git ];
preCheck = '' preCheck = ''
export HOME=$TMPDIR/home export HOME=$TMPDIR/home
''; '';
}); }) super.hls-module-name-plugin;
hls-rename-plugin = overrideCabal super.hls-rename-plugin (drv: { hls-rename-plugin = overrideCabal (drv: {
testToolDepends = [ pkgs.git ]; testToolDepends = [ pkgs.git ];
preCheck = '' preCheck = ''
export HOME=$TMPDIR/home export HOME=$TMPDIR/home
'' + (drv.preCheck or ""); '' + (drv.preCheck or "");
}); }) super.hls-rename-plugin;
hls-splice-plugin = overrideCabal super.hls-splice-plugin (drv: { hls-splice-plugin = overrideCabal (drv: {
testToolDepends = [ pkgs.git ]; testToolDepends = [ pkgs.git ];
preCheck = '' preCheck = ''
export HOME=$TMPDIR/home export HOME=$TMPDIR/home
''; '';
}); }) super.hls-splice-plugin;
hls-floskell-plugin = overrideCabal super.hls-floskell-plugin (drv: { hls-floskell-plugin = overrideCabal (drv: {
testToolDepends = [ pkgs.git ]; testToolDepends = [ pkgs.git ];
preCheck = '' preCheck = ''
export HOME=$TMPDIR/home export HOME=$TMPDIR/home
''; '';
}); }) super.hls-floskell-plugin;
hls-pragmas-plugin = overrideCabal super.hls-pragmas-plugin (drv: { hls-pragmas-plugin = overrideCabal (drv: {
testToolDepends = [ pkgs.git ]; testToolDepends = [ pkgs.git ];
preCheck = '' preCheck = ''
export HOME=$TMPDIR/home export HOME=$TMPDIR/home
''; '';
}); }) super.hls-pragmas-plugin;
hiedb = overrideCabal super.hiedb (drv: { hiedb = overrideCabal (drv: {
preCheck = '' preCheck = ''
export PATH=$PWD/dist/build/hiedb:$PATH export PATH=$PWD/dist/build/hiedb:$PATH
''; '';
}); }) super.hiedb;
hls-call-hierarchy-plugin = overrideCabal super.hls-call-hierarchy-plugin (drv: { hls-call-hierarchy-plugin = overrideCabal (drv: {
preCheck = '' preCheck = ''
export HOME=$TMPDIR/home export HOME=$TMPDIR/home
''; '';
}); }) super.hls-call-hierarchy-plugin;
# Tests have file permissions expections that dont work with the nix store. # Tests have file permissions expections that dont work with the nix store.
hls-stylish-haskell-plugin = dontCheck super.hls-stylish-haskell-plugin; hls-stylish-haskell-plugin = dontCheck super.hls-stylish-haskell-plugin;
hls-haddock-comments-plugin = overrideCabal super.hls-haddock-comments-plugin (drv: { hls-haddock-comments-plugin = overrideCabal (drv: {
testToolDepends = [ pkgs.git ]; testToolDepends = [ pkgs.git ];
preCheck = '' preCheck = ''
export HOME=$TMPDIR/home export HOME=$TMPDIR/home
''; '';
}); }) super.hls-haddock-comments-plugin;
hls-eval-plugin = overrideCabal super.hls-eval-plugin (drv: { hls-eval-plugin = overrideCabal (drv: {
testToolDepends = [ pkgs.git ]; testToolDepends = [ pkgs.git ];
preCheck = '' preCheck = ''
export HOME=$TMPDIR/home export HOME=$TMPDIR/home
''; '';
}); }) super.hls-eval-plugin;
taglib = overrideCabal super.taglib (drv: { taglib = overrideCabal (drv: {
librarySystemDepends = [ librarySystemDepends = [
pkgs.zlib pkgs.zlib
] ++ (drv.librarySystemDepends or []); ] ++ (drv.librarySystemDepends or []);
}); }) super.taglib;
# uses x86 assembler # uses x86 assembler
inline-asm = overrideCabal super.inline-asm { inline-asm = overrideCabal {
platforms = pkgs.lib.platforms.x86; platforms = pkgs.lib.platforms.x86;
}; } super.inline-asm;
# uses x86 assembler in C bits # uses x86 assembler in C bits
hw-prim-bits = overrideCabal super.hw-prim-bits { hw-prim-bits = overrideCabal {
platforms = pkgs.lib.platforms.x86; platforms = pkgs.lib.platforms.x86;
}; } super.hw-prim-bits;
# random 1.2.0 has tests that indirectly depend on # random 1.2.0 has tests that indirectly depend on
# itself causing an infinite recursion at evaluation # itself causing an infinite recursion at evaluation
@ -897,7 +898,6 @@ self: super: builtins.intersectAttrs super {
# not used to link against by anyone, we can make its closure smaller and # not used to link against by anyone, we can make its closure smaller and
# add its runtime dependencies in `haskellPackages` (as opposed to cabal2nix). # add its runtime dependencies in `haskellPackages` (as opposed to cabal2nix).
cabal2nix-unstable = overrideCabal cabal2nix-unstable = overrideCabal
(justStaticExecutables super.cabal2nix-unstable)
(drv: { (drv: {
buildTools = (drv.buildTools or []) ++ [ buildTools = (drv.buildTools or []) ++ [
pkgs.buildPackages.makeWrapper pkgs.buildPackages.makeWrapper
@ -908,21 +908,22 @@ self: super: builtins.intersectAttrs super {
pkgs.lib.makeBinPath [ pkgs.nix pkgs.nix-prefetch-scripts ] pkgs.lib.makeBinPath [ pkgs.nix pkgs.nix-prefetch-scripts ]
}" }"
''; '';
}); })
(justStaticExecutables super.cabal2nix-unstable);
# test suite needs local redis daemon # test suite needs local redis daemon
nri-redis = dontCheck super.nri-redis; nri-redis = dontCheck super.nri-redis;
# Make tophat find itself for _compiling_ its test suite # Make tophat find itself for _compiling_ its test suite
tophat = overrideCabal super.tophat (drv: { tophat = overrideCabal (drv: {
postPatch = '' postPatch = ''
sed -i 's|"tophat"|"./dist/build/tophat/tophat"|' app-test-bin/*.hs sed -i 's|"tophat"|"./dist/build/tophat/tophat"|' app-test-bin/*.hs
'' + (drv.postPatch or ""); '' + (drv.postPatch or "");
}); }) super.tophat;
# Runtime dependencies and CLI completion # Runtime dependencies and CLI completion
nvfetcher = generateOptparseApplicativeCompletion "nvfetcher" (overrideCabal nvfetcher = generateOptparseApplicativeCompletion "nvfetcher" (overrideCabal
super.nvfetcher (drv: { (drv: {
# test needs network # test needs network
doCheck = false; doCheck = false;
buildTools = drv.buildTools or [ ] ++ [ pkgs.buildPackages.makeWrapper ]; buildTools = drv.buildTools or [ ] ++ [ pkgs.buildPackages.makeWrapper ];
@ -931,9 +932,9 @@ self: super: builtins.intersectAttrs super {
pkgs.lib.makeBinPath [ pkgs.nvchecker pkgs.nix-prefetch-git ] pkgs.lib.makeBinPath [ pkgs.nvchecker pkgs.nix-prefetch-git ]
}" }"
''; '';
})); }) super.nvfetcher);
rel8 = addTestToolDepend super.rel8 pkgs.postgresql; rel8 = addTestToolDepend pkgs.postgresql super.rel8;
cachix = generateOptparseApplicativeCompletion "cachix" (super.cachix.override { nix = pkgs.nix_2_3; }); cachix = generateOptparseApplicativeCompletion "cachix" (super.cachix.override { nix = pkgs.nix_2_3; });
@ -944,7 +945,7 @@ self: super: builtins.intersectAttrs super {
# Enable extra optimisations which increase build time, but also # Enable extra optimisations which increase build time, but also
# later compiler performance, so we should do this for user's benefit. # later compiler performance, so we should do this for user's benefit.
# Flag added in Agda 2.6.2 # Flag added in Agda 2.6.2
Agda = appendConfigureFlag super.Agda "-foptimise-heavily"; Agda = appendConfigureFlag "-foptimise-heavily" super.Agda;
# ats-format uses cli-setup in Setup.hs which is quite happy to write # ats-format uses cli-setup in Setup.hs which is quite happy to write
# to arbitrary files in $HOME. This doesn't either not achieve anything # to arbitrary files in $HOME. This doesn't either not achieve anything
@ -952,7 +953,7 @@ self: super: builtins.intersectAttrs super {
# See also: https://hackage.haskell.org/package/cli-setup-0.2.1.4/docs/src/Distribution.CommandLine.html#setManpathGeneric # See also: https://hackage.haskell.org/package/cli-setup-0.2.1.4/docs/src/Distribution.CommandLine.html#setManpathGeneric
ats-format = generateOptparseApplicativeCompletion "atsfmt" ( ats-format = generateOptparseApplicativeCompletion "atsfmt" (
justStaticExecutables ( justStaticExecutables (
overrideCabal super.ats-format (drv: { overrideCabal (drv: {
# use vanilla Setup.hs # use vanilla Setup.hs
preCompileBuildDriver = '' preCompileBuildDriver = ''
cat > Setup.hs << EOF cat > Setup.hs << EOF
@ -968,7 +969,7 @@ self: super: builtins.intersectAttrs super {
postInstall = '' postInstall = ''
installManPage man/atsfmt.1 installManPage man/atsfmt.1
'' + (drv.postInstall or ""); '' + (drv.postInstall or "");
}) }) super.ats-format
) )
); );
@ -978,10 +979,10 @@ self: super: builtins.intersectAttrs super {
# Some hash implementations are x86 only, but part of the test suite. # Some hash implementations are x86 only, but part of the test suite.
# So executing and building it on non-x86 platforms will always fail. # So executing and building it on non-x86 platforms will always fail.
hashes = overrideCabal super.hashes { hashes = overrideCabal {
doCheck = with pkgs.stdenv; hostPlatform == buildPlatform doCheck = with pkgs.stdenv; hostPlatform == buildPlatform
&& buildPlatform.isx86; && buildPlatform.isx86;
}; } super.hashes;
# procex relies on close_range which has been introduced in Linux 5.9, # procex relies on close_range which has been introduced in Linux 5.9,
# the test suite seems to force the use of this feature (or the fallback # the test suite seems to force the use of this feature (or the fallback
@ -989,7 +990,7 @@ self: super: builtins.intersectAttrs super {
# Kernel < 5.9. To check for this, we use uname -r to obtain the Kernel # Kernel < 5.9. To check for this, we use uname -r to obtain the Kernel
# version and sort -V to compare against our minimum version. If the # version and sort -V to compare against our minimum version. If the
# Kernel turns out to be older, we disable the test suite. # Kernel turns out to be older, we disable the test suite.
procex = overrideCabal super.procex (drv: { procex = overrideCabal (drv: {
postConfigure = '' postConfigure = ''
minimumKernel=5.9 minimumKernel=5.9
higherVersion=`printf "%s\n%s\n" "$minimumKernel" "$(uname -r)" | sort -rV | head -n1` higherVersion=`printf "%s\n%s\n" "$minimumKernel" "$(uname -r)" | sort -rV | head -n1`
@ -998,5 +999,5 @@ self: super: builtins.intersectAttrs super {
unset doCheck unset doCheck
fi fi
'' + (drv.postConfigure or ""); '' + (drv.postConfigure or "");
}); }) super.procex;
} }

View file

@ -17,7 +17,7 @@ let
}; };
setTensorflowSourceRoot = dir: drv: setTensorflowSourceRoot = dir: drv:
(overrideCabal drv (drv: { src = tensorflow-haskell; })) (overrideCabal (drv: { src = tensorflow-haskell; }) drv)
.overrideAttrs (_oldAttrs: {sourceRoot = "source/${dir}";}); .overrideAttrs (_oldAttrs: {sourceRoot = "source/${dir}";});
in in
{ {

View file

@ -56,6 +56,7 @@ in
, mainProgram ? null , mainProgram ? null
, doCoverage ? false , doCoverage ? false
, doHaddock ? !(ghc.isHaLVM or false) , doHaddock ? !(ghc.isHaLVM or false)
, doHaddockInterfaces ? doHaddock && lib.versionAtLeast ghc.version "9.0.1"
, passthru ? {} , passthru ? {}
, pkg-configDepends ? [], libraryPkgconfigDepends ? [], executablePkgconfigDepends ? [], testPkgconfigDepends ? [], benchmarkPkgconfigDepends ? [] , pkg-configDepends ? [], libraryPkgconfigDepends ? [], executablePkgconfigDepends ? [], testPkgconfigDepends ? [], benchmarkPkgconfigDepends ? []
, testDepends ? [], testHaskellDepends ? [], testSystemDepends ? [], testFrameworkDepends ? [] , testDepends ? [], testHaskellDepends ? [], testSystemDepends ? [], testFrameworkDepends ? []
@ -226,7 +227,11 @@ let
] ++ optionals isCross ([ ] ++ optionals isCross ([
"--configure-option=--host=${stdenv.hostPlatform.config}" "--configure-option=--host=${stdenv.hostPlatform.config}"
] ++ crossCabalFlags ] ++ crossCabalFlags
) ++ optionals enableSeparateBinOutput ["--bindir=${binDir}"]; ) ++ optionals enableSeparateBinOutput [
"--bindir=${binDir}"
] ++ optionals (doHaddockInterfaces && isLibrary) [
"--ghc-options=-haddock"
];
setupCompileFlags = [ setupCompileFlags = [
(optionalString (!coreSetup) "-${nativePackageDbFlag}=$setupPackageConfDir") (optionalString (!coreSetup) "-${nativePackageDbFlag}=$setupPackageConfDir")

File diff suppressed because it is too large Load diff

View file

@ -3,10 +3,18 @@
{ pkgs, lib }: { pkgs, lib }:
rec { rec {
/* The same functionality as this haskell.lib, except that the derivation
being overridden is always the last parameter. This permits more natural
composition of several overrides, i.e. without having to nestle one call
between the function name and argument of another. haskell.lib.compose is
preferred for any new code.
*/
compose = import ./lib/compose.nix { inherit pkgs lib; };
/* This function takes a file like `hackage-packages.nix` and constructs /* This function takes a file like `hackage-packages.nix` and constructs
a full package set out of that. a full package set out of that.
*/ */
makePackageSet = import ./make-package-set.nix; makePackageSet = compose.makePackageSet;
/* The function overrideCabal lets you alter the arguments to the /* The function overrideCabal lets you alter the arguments to the
mkDerivation function. mkDerivation function.
@ -34,47 +42,37 @@ rec {
"https://github.com/bos/aeson#readme" "https://github.com/bos/aeson#readme"
*/ */
overrideCabal = drv: f: (drv.override (args: args // { overrideCabal = drv: f: compose.overrideCabal f drv;
mkDerivation = drv: (args.mkDerivation drv).override f;
})) // {
overrideScope = scope: overrideCabal (drv.overrideScope scope) f;
};
# : Map Name (Either Path VersionNumber) -> HaskellPackageOverrideSet # : Map Name (Either Path VersionNumber) -> HaskellPackageOverrideSet
# Given a set whose values are either paths or version strings, produces # Given a set whose values are either paths or version strings, produces
# a package override set (i.e. (self: super: { etc. })) that sets # a package override set (i.e. (self: super: { etc. })) that sets
# the packages named in the input set to the corresponding versions # the packages named in the input set to the corresponding versions
packageSourceOverrides = packageSourceOverrides = compose.packageSourceOverrides;
overrides: self: super: pkgs.lib.mapAttrs (name: src:
let isPath = x: builtins.substring 0 1 (toString x) == "/";
generateExprs = if isPath src
then self.callCabal2nix
else self.callHackage;
in generateExprs name src {}) overrides;
/* doCoverage modifies a haskell package to enable the generation /* doCoverage modifies a haskell package to enable the generation
and installation of a coverage report. and installation of a coverage report.
See https://wiki.haskell.org/Haskell_program_coverage See https://wiki.haskell.org/Haskell_program_coverage
*/ */
doCoverage = drv: overrideCabal drv (drv: { doCoverage = true; }); doCoverage = compose.doCoverage;
/* dontCoverage modifies a haskell package to disable the generation /* dontCoverage modifies a haskell package to disable the generation
and installation of a coverage report. and installation of a coverage report.
*/ */
dontCoverage = drv: overrideCabal drv (drv: { doCoverage = false; }); dontCoverage = compose.dontCoverage;
/* doHaddock modifies a haskell package to enable the generation and /* doHaddock modifies a haskell package to enable the generation and
installation of API documentation from code comments using the installation of API documentation from code comments using the
haddock tool. haddock tool.
*/ */
doHaddock = drv: overrideCabal drv (drv: { doHaddock = true; }); doHaddock = compose.doHaddock;
/* dontHaddock modifies a haskell package to disable the generation and /* dontHaddock modifies a haskell package to disable the generation and
installation of API documentation from code comments using the installation of API documentation from code comments using the
haddock tool. haddock tool.
*/ */
dontHaddock = drv: overrideCabal drv (drv: { doHaddock = false; }); dontHaddock = compose.dontHaddock;
/* doJailbreak enables the removal of version bounds from the cabal /* doJailbreak enables the removal of version bounds from the cabal
file. You may want to avoid this function. file. You may want to avoid this function.
@ -92,39 +90,39 @@ rec {
https://github.com/peti/jailbreak-cabal/issues/7 has further details. https://github.com/peti/jailbreak-cabal/issues/7 has further details.
*/ */
doJailbreak = drv: overrideCabal drv (drv: { jailbreak = true; }); doJailbreak = compose.doJailbreak;
/* dontJailbreak restores the use of the version bounds the check /* dontJailbreak restores the use of the version bounds the check
the use of dependencies in the package description. the use of dependencies in the package description.
*/ */
dontJailbreak = drv: overrideCabal drv (drv: { jailbreak = false; }); dontJailbreak = compose.dontJailbreak;
/* doCheck enables dependency checking, compilation and execution /* doCheck enables dependency checking, compilation and execution
of test suites listed in the package description file. of test suites listed in the package description file.
*/ */
doCheck = drv: overrideCabal drv (drv: { doCheck = true; }); doCheck = compose.doCheck;
/* dontCheck disables dependency checking, compilation and execution /* dontCheck disables dependency checking, compilation and execution
of test suites listed in the package description file. of test suites listed in the package description file.
*/ */
dontCheck = drv: overrideCabal drv (drv: { doCheck = false; }); dontCheck = compose.dontCheck;
/* doBenchmark enables dependency checking, compilation and execution /* doBenchmark enables dependency checking, compilation and execution
for benchmarks listed in the package description file. for benchmarks listed in the package description file.
*/ */
doBenchmark = drv: overrideCabal drv (drv: { doBenchmark = true; }); doBenchmark = compose.doBenchmark;
/* dontBenchmark disables dependency checking, compilation and execution /* dontBenchmark disables dependency checking, compilation and execution
for benchmarks listed in the package description file. for benchmarks listed in the package description file.
*/ */
dontBenchmark = drv: overrideCabal drv (drv: { doBenchmark = false; }); dontBenchmark = compose.dontBenchmark;
/* doDistribute enables the distribution of binaries for the package /* doDistribute enables the distribution of binaries for the package
via hydra. via hydra.
*/ */
doDistribute = drv: overrideCabal drv (drv: { hydraPlatforms = drv.platforms or ["i686-linux" "x86_64-linux" "x86_64-darwin"]; }); doDistribute = compose.doDistribute;
/* dontDistribute disables the distribution of binaries for the package /* dontDistribute disables the distribution of binaries for the package
via hydra. via hydra.
*/ */
dontDistribute = drv: overrideCabal drv (drv: { hydraPlatforms = []; }); dontDistribute = compose.dontDistribute;
/* appendConfigureFlag adds a single argument that will be passed to the /* appendConfigureFlag adds a single argument that will be passed to the
cabal configure command, after the arguments that have been defined cabal configure command, after the arguments that have been defined
@ -134,67 +132,67 @@ rec {
> haskell.lib.appendConfigureFlag haskellPackages.servant "--profiling-detail=all-functions" > haskell.lib.appendConfigureFlag haskellPackages.servant "--profiling-detail=all-functions"
*/ */
appendConfigureFlag = drv: x: appendConfigureFlags drv [x]; appendConfigureFlag = drv: x: compose.appendConfigureFlag x drv;
appendConfigureFlags = drv: xs: overrideCabal drv (drv: { configureFlags = (drv.configureFlags or []) ++ xs; }); appendConfigureFlags = drv: xs: compose.appendConfigureFlags xs drv;
appendBuildFlag = drv: x: overrideCabal drv (drv: { buildFlags = (drv.buildFlags or []) ++ [x]; }); appendBuildFlag = drv: x: compose.appendBuildFlag x drv;
appendBuildFlags = drv: xs: overrideCabal drv (drv: { buildFlags = (drv.buildFlags or []) ++ xs; }); appendBuildFlags = drv: xs: compose.appendBuildFlags xs drv;
/* removeConfigureFlag drv x is a Haskell package like drv, but with /* removeConfigureFlag drv x is a Haskell package like drv, but with
all cabal configure arguments that are equal to x removed. all cabal configure arguments that are equal to x removed.
> haskell.lib.removeConfigureFlag haskellPackages.servant "--verbose" > haskell.lib.removeConfigureFlag haskellPackages.servant "--verbose"
*/ */
removeConfigureFlag = drv: x: overrideCabal drv (drv: { configureFlags = lib.remove x (drv.configureFlags or []); }); removeConfigureFlag = drv: x: compose.removeConfigureFlag x drv;
addBuildTool = drv: x: addBuildTools drv [x]; addBuildTool = drv: x: compose.addBuildTool x drv;
addBuildTools = drv: xs: overrideCabal drv (drv: { buildTools = (drv.buildTools or []) ++ xs; }); addBuildTools = drv: xs: compose.addBuildTools xs drv;
addExtraLibrary = drv: x: addExtraLibraries drv [x]; addExtraLibrary = drv: x: compose.addExtraLibrary x drv;
addExtraLibraries = drv: xs: overrideCabal drv (drv: { extraLibraries = (drv.extraLibraries or []) ++ xs; }); addExtraLibraries = drv: xs: compose.addExtraLibraries xs drv;
addBuildDepend = drv: x: addBuildDepends drv [x]; addBuildDepend = drv: x: compose.addBuildDepend x drv;
addBuildDepends = drv: xs: overrideCabal drv (drv: { buildDepends = (drv.buildDepends or []) ++ xs; }); addBuildDepends = drv: xs: compose.addBuildDepends xs drv;
addTestToolDepend = drv: x: addTestToolDepends drv [x]; addTestToolDepend = drv: x: compose.addTestToolDepend x drv;
addTestToolDepends = drv: xs: overrideCabal drv (drv: { testToolDepends = (drv.testToolDepends or []) ++ xs; }); addTestToolDepends = drv: xs: compose.addTestToolDepends xs drv;
addPkgconfigDepend = drv: x: addPkgconfigDepends drv [x]; addPkgconfigDepend = drv: x: compose.addPkgconfigDepend x drv;
addPkgconfigDepends = drv: xs: overrideCabal drv (drv: { pkg-configDepends = (drv.pkg-configDepends or []) ++ xs; }); addPkgconfigDepends = drv: xs: compose.addPkgconfigDepends xs drv;
addSetupDepend = drv: x: addSetupDepends drv [x]; addSetupDepend = drv: x: compose.addSetupDepend x drv;
addSetupDepends = drv: xs: overrideCabal drv (drv: { setupHaskellDepends = (drv.setupHaskellDepends or []) ++ xs; }); addSetupDepends = drv: xs: compose.addSetupDepends xs drv;
enableCabalFlag = drv: x: appendConfigureFlag (removeConfigureFlag drv "-f-${x}") "-f${x}"; enableCabalFlag = drv: x: compose.enableCabalFlag x drv;
disableCabalFlag = drv: x: appendConfigureFlag (removeConfigureFlag drv "-f${x}") "-f-${x}"; disableCabalFlag = drv: x: compose.disableCabalFlag x drv;
markBroken = drv: overrideCabal drv (drv: { broken = true; hydraPlatforms = []; }); markBroken = compose.markBroken;
unmarkBroken = drv: overrideCabal drv (drv: { broken = false; }); unmarkBroken = compose.unmarkBroken;
markBrokenVersion = version: drv: assert drv.version == version; markBroken drv; markBrokenVersion = compose.markBrokenVersion;
markUnbroken = drv: overrideCabal drv (drv: { broken = false; }); markUnbroken = compose.markUnbroken;
enableLibraryProfiling = drv: overrideCabal drv (drv: { enableLibraryProfiling = true; }); enableLibraryProfiling = compose.enableLibraryProfiling;
disableLibraryProfiling = drv: overrideCabal drv (drv: { enableLibraryProfiling = false; }); disableLibraryProfiling = compose.disableLibraryProfiling;
enableExecutableProfiling = drv: overrideCabal drv (drv: { enableExecutableProfiling = true; }); enableExecutableProfiling = compose.enableExecutableProfiling;
disableExecutableProfiling = drv: overrideCabal drv (drv: { enableExecutableProfiling = false; }); disableExecutableProfiling = compose.disableExecutableProfiling;
enableSharedExecutables = drv: overrideCabal drv (drv: { enableSharedExecutables = true; }); enableSharedExecutables = compose.enableSharedExecutables;
disableSharedExecutables = drv: overrideCabal drv (drv: { enableSharedExecutables = false; }); disableSharedExecutables = compose.disableSharedExecutables;
enableSharedLibraries = drv: overrideCabal drv (drv: { enableSharedLibraries = true; }); enableSharedLibraries = compose.enableSharedLibraries;
disableSharedLibraries = drv: overrideCabal drv (drv: { enableSharedLibraries = false; }); disableSharedLibraries = compose.disableSharedLibraries;
enableDeadCodeElimination = drv: overrideCabal drv (drv: { enableDeadCodeElimination = true; }); enableDeadCodeElimination = compose.enableDeadCodeElimination;
disableDeadCodeElimination = drv: overrideCabal drv (drv: { enableDeadCodeElimination = false; }); disableDeadCodeElimination = compose.disableDeadCodeElimination;
enableStaticLibraries = drv: overrideCabal drv (drv: { enableStaticLibraries = true; }); enableStaticLibraries = compose.enableStaticLibraries;
disableStaticLibraries = drv: overrideCabal drv (drv: { enableStaticLibraries = false; }); disableStaticLibraries = compose.disableStaticLibraries;
enableSeparateBinOutput = drv: overrideCabal drv (drv: { enableSeparateBinOutput = true; }); enableSeparateBinOutput = compose.enableSeparateBinOutput;
appendPatch = drv: x: appendPatches drv [x]; appendPatch = drv: x: compose.appendPatch x drv;
appendPatches = drv: xs: overrideCabal drv (drv: { patches = (drv.patches or []) ++ xs; }); appendPatches = drv: xs: compose.appendPatches xs drv;
/* Set a specific build target instead of compiling all targets in the package. /* Set a specific build target instead of compiling all targets in the package.
* For example, imagine we have a .cabal file with a library, and 2 executables "dev" and "server". * For example, imagine we have a .cabal file with a library, and 2 executables "dev" and "server".
@ -203,115 +201,67 @@ rec {
* setBuildTarget (callCabal2nix "thePackageName" thePackageSrc {}) "server" * setBuildTarget (callCabal2nix "thePackageName" thePackageSrc {}) "server"
* *
*/ */
setBuildTargets = drv: xs: overrideCabal drv (drv: { buildTarget = lib.concatStringsSep " " xs; }); setBuildTargets = drv: xs: compose.setBuildTargets xs drv;
setBuildTarget = drv: x: setBuildTargets drv [x]; setBuildTarget = drv: x: compose.setBuildTarget x drv;
doHyperlinkSource = drv: overrideCabal drv (drv: { hyperlinkSource = true; }); doHyperlinkSource = compose.doHyperlinkSource;
dontHyperlinkSource = drv: overrideCabal drv (drv: { hyperlinkSource = false; }); dontHyperlinkSource = compose.dontHyperlinkSource;
disableHardening = drv: flags: overrideCabal drv (drv: { hardeningDisable = flags; }); disableHardening = drv: flags: compose.disableHardening flags drv;
/* Let Nix strip the binary files. /* Let Nix strip the binary files.
* This removes debugging symbols. * This removes debugging symbols.
*/ */
doStrip = drv: overrideCabal drv (drv: { dontStrip = false; }); doStrip = compose.doStrip;
/* Stop Nix from stripping the binary files. /* Stop Nix from stripping the binary files.
* This keeps debugging symbols. * This keeps debugging symbols.
*/ */
dontStrip = drv: overrideCabal drv (drv: { dontStrip = true; }); dontStrip = compose.dontStrip;
/* Useful for debugging segfaults with gdb. /* Useful for debugging segfaults with gdb.
* This includes dontStrip. * This includes dontStrip.
*/ */
enableDWARFDebugging = drv: enableDWARFDebugging = compose.enableDWARFDebugging;
# -g: enables debugging symbols
# --disable-*-stripping: tell GHC not to strip resulting binaries
# dontStrip: see above
appendConfigureFlag (dontStrip drv) "--ghc-options=-g --disable-executable-stripping --disable-library-stripping";
/* Create a source distribution tarball like those found on hackage, /* Create a source distribution tarball like those found on hackage,
instead of building the package. instead of building the package.
*/ */
sdistTarball = pkg: lib.overrideDerivation pkg (drv: { sdistTarball = compose.sdistTarball;
name = "${drv.pname}-source-${drv.version}";
# Since we disable the haddock phase, we also need to override the
# outputs since the separate doc output will not be produced.
outputs = ["out"];
buildPhase = "./Setup sdist";
haddockPhase = ":";
checkPhase = ":";
installPhase = "install -D dist/${drv.pname}-*.tar.gz $out/${drv.pname}-${drv.version}.tar.gz";
fixupPhase = ":";
});
/* Create a documentation tarball suitable for uploading to Hackage instead /* Create a documentation tarball suitable for uploading to Hackage instead
of building the package. of building the package.
*/ */
documentationTarball = pkg: documentationTarball = compose.documentationTarball;
pkgs.lib.overrideDerivation pkg (drv: {
name = "${drv.name}-docs";
# Like sdistTarball, disable the "doc" output here.
outputs = [ "out" ];
buildPhase = ''
runHook preHaddock
./Setup haddock --for-hackage
runHook postHaddock
'';
haddockPhase = ":";
checkPhase = ":";
installPhase = ''
runHook preInstall
mkdir -p "$out"
tar --format=ustar \
-czf "$out/${drv.name}-docs.tar.gz" \
-C dist/doc/html "${drv.name}-docs"
runHook postInstall
'';
});
/* Use the gold linker. It is a linker for ELF that is designed /* Use the gold linker. It is a linker for ELF that is designed
"to run as fast as possible on modern systems" "to run as fast as possible on modern systems"
*/ */
linkWithGold = drv : appendConfigureFlag drv linkWithGold = compose.linkWithGold;
"--ghc-option=-optl-fuse-ld=gold --ld-option=-fuse-ld=gold --with-ld=ld.gold";
/* link executables statically against haskell libs to reduce /* link executables statically against haskell libs to reduce
closure size closure size
*/ */
justStaticExecutables = drv: overrideCabal drv (drv: { justStaticExecutables = compose.justStaticExecutables;
enableSharedExecutables = false;
enableLibraryProfiling = false;
isLibrary = false;
doHaddock = false;
postFixup = "rm -rf $out/lib $out/nix-support $out/share/doc";
});
/* Build a source distribution tarball instead of using the source files /* Build a source distribution tarball instead of using the source files
directly. The effect is that the package is built as if it were published directly. The effect is that the package is built as if it were published
on hackage. This can be used as a test for the source distribution, on hackage. This can be used as a test for the source distribution,
assuming the build fails when packaging mistakes are in the cabal file. assuming the build fails when packaging mistakes are in the cabal file.
*/ */
buildFromSdist = pkg: overrideCabal pkg (drv: { buildFromSdist = compose.buildFromSdist;
src = "${sdistTarball pkg}/${pkg.pname}-${pkg.version}.tar.gz";
# Revising and jailbreaking the cabal file has been handled in sdistTarball
revision = null;
editedCabalFile = null;
jailbreak = false;
});
/* Build the package in a strict way to uncover potential problems. /* Build the package in a strict way to uncover potential problems.
This includes buildFromSdist and failOnAllWarnings. This includes buildFromSdist and failOnAllWarnings.
*/ */
buildStrictly = pkg: buildFromSdist (failOnAllWarnings pkg); buildStrictly = compose.buildStrictly;
/* Disable core optimizations, significantly speeds up build time */ /* Disable core optimizations, significantly speeds up build time */
disableOptimization = pkg: appendConfigureFlag pkg "--disable-optimization"; disableOptimization = compose.disableOptimization;
/* Turn on most of the compiler warnings and fail the build if any /* Turn on most of the compiler warnings and fail the build if any
of them occur. */ of them occur. */
failOnAllWarnings = drv: appendConfigureFlag drv "--ghc-option=-Wall --ghc-option=-Werror"; failOnAllWarnings = compose.failOnAllWarnings;
/* Add a post-build check to verify that dependencies declared in /* Add a post-build check to verify that dependencies declared in
the cabal file are actually used. the cabal file are actually used.
@ -320,54 +270,33 @@ rec {
of this check and a list of ignored package names that would otherwise of this check and a list of ignored package names that would otherwise
cause false alarms. cause false alarms.
*/ */
checkUnusedPackages = checkUnusedPackages = compose.checkUnusedPackages;
{ ignoreEmptyImports ? false
, ignoreMainModule ? false
, ignorePackages ? []
} : drv :
overrideCabal (appendConfigureFlag drv "--ghc-option=-ddump-minimal-imports") (_drv: {
postBuild = with lib;
let args = concatStringsSep " " (
optional ignoreEmptyImports "--ignore-empty-imports" ++
optional ignoreMainModule "--ignore-main-module" ++
map (pkg: "--ignore-package ${pkg}") ignorePackages
);
in "${pkgs.haskellPackages.packunused}/bin/packunused" +
optionalString (args != "") " ${args}";
});
buildStackProject = pkgs.callPackage ./generic-stack-builder.nix { }; buildStackProject = compose.buildStackProject;
/* Add a dummy command to trigger a build despite an equivalent /* Add a dummy command to trigger a build despite an equivalent
earlier build that is present in the store or cache. earlier build that is present in the store or cache.
*/ */
triggerRebuild = drv: i: overrideCabal drv (drv: { postUnpack = ": trigger rebuild ${toString i}"; }); triggerRebuild = drv: i: compose.triggerRebuild i drv;
/* Override the sources for the package and optionaly the version. /* Override the sources for the package and optionaly the version.
This also takes of removing editedCabalFile. This also takes of removing editedCabalFile.
*/ */
overrideSrc = drv: { src, version ? drv.version }: overrideSrc = drv: src: compose.overrideSrc src drv;
overrideCabal drv (_: { inherit src version; editedCabalFile = null; });
# Get all of the build inputs of a haskell package, divided by category. # Get all of the build inputs of a haskell package, divided by category.
getBuildInputs = p: p.getBuildInputs; getBuildInputs = compose.getBuildInputs;
# Extract the haskell build inputs of a haskell package. # Extract the haskell build inputs of a haskell package.
# This is useful to build environments for developing on that # This is useful to build environments for developing on that
# package. # package.
getHaskellBuildInputs = p: (getBuildInputs p).haskellBuildInputs; getHaskellBuildInputs = compose.getHaskellBuildInputs;
# Under normal evaluation, simply return the original package. Under # Under normal evaluation, simply return the original package. Under
# nix-shell evaluation, return a nix-shell optimized environment. # nix-shell evaluation, return a nix-shell optimized environment.
shellAware = p: if lib.inNixShell then p.env else p; shellAware = compose.shellAware;
ghcInfo = ghc: ghcInfo = compose.ghcInfo;
rec { isCross = (ghc.cross or null) != null;
isGhcjs = ghc.isGhcjs or false;
nativeGhc = if isCross || isGhcjs
then ghc.bootPkgs.ghc
else ghc;
};
### mkDerivation helpers ### mkDerivation helpers
# These allow external users of a haskell package to extract # These allow external users of a haskell package to extract
@ -379,35 +308,15 @@ rec {
# an example of this. # an example of this.
# Some information about which phases should be run. # Some information about which phases should be run.
controlPhases = ghc: let inherit (ghcInfo ghc) isCross; in controlPhases = compose.controlPhases;
{ doCheck ? !isCross && (lib.versionOlder "7.4" ghc.version)
, doBenchmark ? false
, ...
}: { inherit doCheck doBenchmark; };
# Utility to convert a directory full of `cabal2nix`-generated files into a # Utility to convert a directory full of `cabal2nix`-generated files into a
# package override set # package override set
# #
# packagesFromDirectory : { directory : Directory, ... } -> HaskellPackageOverrideSet # packagesFromDirectory : { directory : Directory, ... } -> HaskellPackageOverrideSet
packagesFromDirectory = packagesFromDirectory = compose.packagesFromDirectory;
{ directory, ... }:
self: super: addOptparseApplicativeCompletionScripts = compose.addOptparseApplicativeCompletionScripts;
let
haskellPaths = builtins.attrNames (builtins.readDir directory);
toKeyVal = file: {
name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
value = self.callPackage (directory + "/${file}") { };
};
in
builtins.listToAttrs (map toKeyVal haskellPaths);
addOptparseApplicativeCompletionScripts = exeName: pkg:
builtins.trace "addOptparseApplicativeCompletionScripts is deprecated in favor of generateOptparseApplicativeCompletion. Please change ${pkg.name} to use the latter or its plural form."
(generateOptparseApplicativeCompletion exeName pkg);
/* /*
Modify a Haskell package to add shell completion scripts for the Modify a Haskell package to add shell completion scripts for the
@ -422,23 +331,7 @@ rec {
command: name of an executable command: name of an executable
pkg: Haskell package that builds the executables pkg: Haskell package that builds the executables
*/ */
generateOptparseApplicativeCompletion = exeName: pkg: overrideCabal pkg (drv: { generateOptparseApplicativeCompletion = compose.generateOptparseApplicativeCompletion;
postInstall = (drv.postInstall or "") + ''
bashCompDir="''${!outputBin}/share/bash-completion/completions"
zshCompDir="''${!outputBin}/share/zsh/vendor-completions"
fishCompDir="''${!outputBin}/share/fish/vendor_completions.d"
mkdir -p "$bashCompDir" "$zshCompDir" "$fishCompDir"
"''${!outputBin}/bin/${exeName}" --bash-completion-script "''${!outputBin}/bin/${exeName}" >"$bashCompDir/${exeName}"
"''${!outputBin}/bin/${exeName}" --zsh-completion-script "''${!outputBin}/bin/${exeName}" >"$zshCompDir/_${exeName}"
"''${!outputBin}/bin/${exeName}" --fish-completion-script "''${!outputBin}/bin/${exeName}" >"$fishCompDir/${exeName}.fish"
# Sanity check
grep -F ${exeName} <$bashCompDir/${exeName} >/dev/null || {
echo 'Could not find ${exeName} in completion script.'
exit 1
}
'';
});
/* /*
Modify a Haskell package to add shell completion scripts for the Modify a Haskell package to add shell completion scripts for the
@ -453,13 +346,10 @@ rec {
commands: name of an executable commands: name of an executable
pkg: Haskell package that builds the executables pkg: Haskell package that builds the executables
*/ */
generateOptparseApplicativeCompletions = commands: pkg: generateOptparseApplicativeCompletions = compose.generateOptparseApplicativeCompletions;
pkgs.lib.foldr generateOptparseApplicativeCompletion pkg commands;
# Don't fail at configure time if there are multiple versions of the # Don't fail at configure time if there are multiple versions of the
# same package in the (recursive) dependencies of the package being # same package in the (recursive) dependencies of the package being
# built. Will delay failures, if any, to compile time. # built. Will delay failures, if any, to compile time.
allowInconsistentDependencies = drv: overrideCabal drv (drv: { allowInconsistentDependencies = compose.allowInconsistentDependencies;
allowInconsistentDependencies = true;
});
} }

View file

@ -0,0 +1,466 @@
# TODO(@Ericson2314): Remove `pkgs` param, which is only used for
# `buildStackProject`, `justStaticExecutables` and `checkUnusedPackages`
{ pkgs, lib }:
rec {
/* This function takes a file like `hackage-packages.nix` and constructs
a full package set out of that.
*/
makePackageSet = import ../make-package-set.nix;
/* The function overrideCabal lets you alter the arguments to the
mkDerivation function.
Example:
First, note how the aeson package is constructed in hackage-packages.nix:
"aeson" = callPackage ({ mkDerivation, attoparsec, <snip>
}:
mkDerivation {
pname = "aeson";
<snip>
homepage = "https://github.com/bos/aeson";
})
The mkDerivation function of haskellPackages will take care of putting
the homepage in the right place, in meta.
> haskellPackages.aeson.meta.homepage
"https://github.com/bos/aeson"
> x = haskell.lib.compose.overrideCabal (old: { homepage = old.homepage + "#readme"; }) haskellPackages.aeson
> x.meta.homepage
"https://github.com/bos/aeson#readme"
*/
overrideCabal = f: drv: (drv.override (args: args // {
mkDerivation = drv: (args.mkDerivation drv).override f;
})) // {
overrideScope = scope: overrideCabal f (drv.overrideScope scope);
};
# : Map Name (Either Path VersionNumber) -> HaskellPackageOverrideSet
# Given a set whose values are either paths or version strings, produces
# a package override set (i.e. (self: super: { etc. })) that sets
# the packages named in the input set to the corresponding versions
packageSourceOverrides =
overrides: self: super: pkgs.lib.mapAttrs (name: src:
let isPath = x: builtins.substring 0 1 (toString x) == "/";
generateExprs = if isPath src
then self.callCabal2nix
else self.callHackage;
in generateExprs name src {}) overrides;
/* doCoverage modifies a haskell package to enable the generation
and installation of a coverage report.
See https://wiki.haskell.org/Haskell_program_coverage
*/
doCoverage = overrideCabal (drv: { doCoverage = true; });
/* dontCoverage modifies a haskell package to disable the generation
and installation of a coverage report.
*/
dontCoverage = overrideCabal (drv: { doCoverage = false; });
/* doHaddock modifies a haskell package to enable the generation and
installation of API documentation from code comments using the
haddock tool.
*/
doHaddock = overrideCabal (drv: { doHaddock = true; });
/* dontHaddock modifies a haskell package to disable the generation and
installation of API documentation from code comments using the
haddock tool.
*/
dontHaddock = overrideCabal (drv: { doHaddock = false; });
/* doJailbreak enables the removal of version bounds from the cabal
file. You may want to avoid this function.
This is useful when a package reports that it can not be built
due to version mismatches. In some cases, removing the version
bounds entirely is an easy way to make a package build, but at
the risk of breaking software in non-obvious ways now or in the
future.
Instead of jailbreaking, you can patch the cabal file.
Note that jailbreaking at this time, doesn't lift bounds on
conditional branches.
https://github.com/peti/jailbreak-cabal/issues/7 has further details.
*/
doJailbreak = overrideCabal (drv: { jailbreak = true; });
/* dontJailbreak restores the use of the version bounds the check
the use of dependencies in the package description.
*/
dontJailbreak = overrideCabal (drv: { jailbreak = false; });
/* doCheck enables dependency checking, compilation and execution
of test suites listed in the package description file.
*/
doCheck = overrideCabal (drv: { doCheck = true; });
/* dontCheck disables dependency checking, compilation and execution
of test suites listed in the package description file.
*/
dontCheck = overrideCabal (drv: { doCheck = false; });
/* doBenchmark enables dependency checking, compilation and execution
for benchmarks listed in the package description file.
*/
doBenchmark = overrideCabal (drv: { doBenchmark = true; });
/* dontBenchmark disables dependency checking, compilation and execution
for benchmarks listed in the package description file.
*/
dontBenchmark = overrideCabal (drv: { doBenchmark = false; });
/* doDistribute enables the distribution of binaries for the package
via hydra.
*/
doDistribute = overrideCabal (drv: { hydraPlatforms = drv.platforms or ["i686-linux" "x86_64-linux" "x86_64-darwin"]; });
/* dontDistribute disables the distribution of binaries for the package
via hydra.
*/
dontDistribute = overrideCabal (drv: { hydraPlatforms = []; });
/* appendConfigureFlag adds a single argument that will be passed to the
cabal configure command, after the arguments that have been defined
in the initial declaration or previous overrides.
Example:
> haskell.lib.compose.appendConfigureFlag "--profiling-detail=all-functions" haskellPackages.servant
*/
appendConfigureFlag = x: appendConfigureFlags [x];
appendConfigureFlags = xs: overrideCabal (drv: { configureFlags = (drv.configureFlags or []) ++ xs; });
appendBuildFlag = x: overrideCabal (drv: { buildFlags = (drv.buildFlags or []) ++ [x]; });
appendBuildFlags = xs: overrideCabal (drv: { buildFlags = (drv.buildFlags or []) ++ xs; });
/* removeConfigureFlag drv x is a Haskell package like drv, but with
all cabal configure arguments that are equal to x removed.
> haskell.lib.compose.removeConfigureFlag "--verbose" haskellPackages.servant
*/
removeConfigureFlag = x: overrideCabal (drv: { configureFlags = lib.remove x (drv.configureFlags or []); });
addBuildTool = x: addBuildTools [x];
addBuildTools = xs: overrideCabal (drv: { buildTools = (drv.buildTools or []) ++ xs; });
addExtraLibrary = x: addExtraLibraries [x];
addExtraLibraries = xs: overrideCabal (drv: { extraLibraries = (drv.extraLibraries or []) ++ xs; });
addBuildDepend = x: addBuildDepends [x];
addBuildDepends = xs: overrideCabal (drv: { buildDepends = (drv.buildDepends or []) ++ xs; });
addTestToolDepend = x: addTestToolDepends [x];
addTestToolDepends = xs: overrideCabal (drv: { testToolDepends = (drv.testToolDepends or []) ++ xs; });
addPkgconfigDepend = x: addPkgconfigDepends [x];
addPkgconfigDepends = xs: overrideCabal (drv: { pkg-configDepends = (drv.pkg-configDepends or []) ++ xs; });
addSetupDepend = x: addSetupDepends [x];
addSetupDepends = xs: overrideCabal (drv: { setupHaskellDepends = (drv.setupHaskellDepends or []) ++ xs; });
enableCabalFlag = x: drv: appendConfigureFlag "-f${x}" (removeConfigureFlag "-f-${x}" drv);
disableCabalFlag = x: drv: appendConfigureFlag "-f-${x}" (removeConfigureFlag "-f${x}" drv);
markBroken = overrideCabal (drv: { broken = true; hydraPlatforms = []; });
unmarkBroken = overrideCabal (drv: { broken = false; });
markBrokenVersion = version: drv: assert drv.version == version; markBroken drv;
markUnbroken = overrideCabal (drv: { broken = false; });
enableLibraryProfiling = overrideCabal (drv: { enableLibraryProfiling = true; });
disableLibraryProfiling = overrideCabal (drv: { enableLibraryProfiling = false; });
enableExecutableProfiling = overrideCabal (drv: { enableExecutableProfiling = true; });
disableExecutableProfiling = overrideCabal (drv: { enableExecutableProfiling = false; });
enableSharedExecutables = overrideCabal (drv: { enableSharedExecutables = true; });
disableSharedExecutables = overrideCabal (drv: { enableSharedExecutables = false; });
enableSharedLibraries = overrideCabal (drv: { enableSharedLibraries = true; });
disableSharedLibraries = overrideCabal (drv: { enableSharedLibraries = false; });
enableDeadCodeElimination = overrideCabal (drv: { enableDeadCodeElimination = true; });
disableDeadCodeElimination = overrideCabal (drv: { enableDeadCodeElimination = false; });
enableStaticLibraries = overrideCabal (drv: { enableStaticLibraries = true; });
disableStaticLibraries = overrideCabal (drv: { enableStaticLibraries = false; });
enableSeparateBinOutput = overrideCabal (drv: { enableSeparateBinOutput = true; });
appendPatch = x: appendPatches [x];
appendPatches = xs: overrideCabal (drv: { patches = (drv.patches or []) ++ xs; });
/* Set a specific build target instead of compiling all targets in the package.
* For example, imagine we have a .cabal file with a library, and 2 executables "dev" and "server".
* We can build only "server" and not wait on the compilation of "dev" by using setBuildTarget as follows:
*
* > setBuildTarget "server" (callCabal2nix "thePackageName" thePackageSrc {})
*
*/
setBuildTargets = xs: overrideCabal (drv: { buildTarget = lib.concatStringsSep " " xs; });
setBuildTarget = x: setBuildTargets [x];
doHyperlinkSource = overrideCabal (drv: { hyperlinkSource = true; });
dontHyperlinkSource = overrideCabal (drv: { hyperlinkSource = false; });
disableHardening = flags: overrideCabal (drv: { hardeningDisable = flags; });
/* Let Nix strip the binary files.
* This removes debugging symbols.
*/
doStrip = overrideCabal (drv: { dontStrip = false; });
/* Stop Nix from stripping the binary files.
* This keeps debugging symbols.
*/
dontStrip = overrideCabal (drv: { dontStrip = true; });
/* Useful for debugging segfaults with gdb.
* This includes dontStrip.
*/
enableDWARFDebugging = drv:
# -g: enables debugging symbols
# --disable-*-stripping: tell GHC not to strip resulting binaries
# dontStrip: see above
appendConfigureFlag "--ghc-options=-g --disable-executable-stripping --disable-library-stripping" (dontStrip drv);
/* Create a source distribution tarball like those found on hackage,
instead of building the package.
*/
sdistTarball = pkg: lib.overrideDerivation pkg (drv: {
name = "${drv.pname}-source-${drv.version}";
# Since we disable the haddock phase, we also need to override the
# outputs since the separate doc output will not be produced.
outputs = ["out"];
buildPhase = "./Setup sdist";
haddockPhase = ":";
checkPhase = ":";
installPhase = "install -D dist/${drv.pname}-*.tar.gz $out/${drv.pname}-${drv.version}.tar.gz";
fixupPhase = ":";
});
/* Create a documentation tarball suitable for uploading to Hackage instead
of building the package.
*/
documentationTarball = pkg:
pkgs.lib.overrideDerivation pkg (drv: {
name = "${drv.name}-docs";
# Like sdistTarball, disable the "doc" output here.
outputs = [ "out" ];
buildPhase = ''
runHook preHaddock
./Setup haddock --for-hackage
runHook postHaddock
'';
haddockPhase = ":";
checkPhase = ":";
installPhase = ''
runHook preInstall
mkdir -p "$out"
tar --format=ustar \
-czf "$out/${drv.name}-docs.tar.gz" \
-C dist/doc/html "${drv.name}-docs"
runHook postInstall
'';
});
/* Use the gold linker. It is a linker for ELF that is designed
"to run as fast as possible on modern systems"
*/
linkWithGold = appendConfigureFlag
"--ghc-option=-optl-fuse-ld=gold --ld-option=-fuse-ld=gold --with-ld=ld.gold";
/* link executables statically against haskell libs to reduce
closure size
*/
justStaticExecutables = overrideCabal (drv: {
enableSharedExecutables = false;
enableLibraryProfiling = false;
isLibrary = false;
doHaddock = false;
postFixup = "rm -rf $out/lib $out/nix-support $out/share/doc";
});
/* Build a source distribution tarball instead of using the source files
directly. The effect is that the package is built as if it were published
on hackage. This can be used as a test for the source distribution,
assuming the build fails when packaging mistakes are in the cabal file.
*/
buildFromSdist = pkg: overrideCabal (drv: {
src = "${sdistTarball pkg}/${pkg.pname}-${pkg.version}.tar.gz";
# Revising and jailbreaking the cabal file has been handled in sdistTarball
revision = null;
editedCabalFile = null;
jailbreak = false;
}) pkg;
/* Build the package in a strict way to uncover potential problems.
This includes buildFromSdist and failOnAllWarnings.
*/
buildStrictly = pkg: buildFromSdist (failOnAllWarnings pkg);
/* Disable core optimizations, significantly speeds up build time */
disableOptimization = appendConfigureFlag "--disable-optimization";
/* Turn on most of the compiler warnings and fail the build if any
of them occur. */
failOnAllWarnings = appendConfigureFlag "--ghc-option=-Wall --ghc-option=-Werror";
/* Add a post-build check to verify that dependencies declared in
the cabal file are actually used.
The first attrset argument can be used to configure the strictness
of this check and a list of ignored package names that would otherwise
cause false alarms.
*/
checkUnusedPackages =
{ ignoreEmptyImports ? false
, ignoreMainModule ? false
, ignorePackages ? []
} : drv :
overrideCabal (_drv: {
postBuild = with lib;
let args = concatStringsSep " " (
optional ignoreEmptyImports "--ignore-empty-imports" ++
optional ignoreMainModule "--ignore-main-module" ++
map (pkg: "--ignore-package ${pkg}") ignorePackages
);
in "${pkgs.haskellPackages.packunused}/bin/packunused" +
optionalString (args != "") " ${args}";
}) (appendConfigureFlag "--ghc-option=-ddump-minimal-imports" drv);
buildStackProject = pkgs.callPackage ../generic-stack-builder.nix { };
/* Add a dummy command to trigger a build despite an equivalent
earlier build that is present in the store or cache.
*/
triggerRebuild = i: overrideCabal (drv: { postUnpack = ": trigger rebuild ${toString i}"; });
/* Override the sources for the package and optionaly the version.
This also takes of removing editedCabalFile.
*/
overrideSrc = { src, version ? null }: drv:
overrideCabal (_: { inherit src; version = if version == null then drv.version else version; editedCabalFile = null; }) drv;
# Get all of the build inputs of a haskell package, divided by category.
getBuildInputs = p: p.getBuildInputs;
# Extract the haskell build inputs of a haskell package.
# This is useful to build environments for developing on that
# package.
getHaskellBuildInputs = p: (getBuildInputs p).haskellBuildInputs;
# Under normal evaluation, simply return the original package. Under
# nix-shell evaluation, return a nix-shell optimized environment.
shellAware = p: if lib.inNixShell then p.env else p;
ghcInfo = ghc:
rec { isCross = (ghc.cross or null) != null;
isGhcjs = ghc.isGhcjs or false;
nativeGhc = if isCross || isGhcjs
then ghc.bootPkgs.ghc
else ghc;
};
### mkDerivation helpers
# These allow external users of a haskell package to extract
# information about how it is built in the same way that the
# generic haskell builder does, by reusing the same functions.
# Each function here has the same interface as mkDerivation and thus
# can be called for a given package simply by overriding the
# mkDerivation argument it used. See getHaskellBuildInputs above for
# an example of this.
# Some information about which phases should be run.
controlPhases = ghc: let inherit (ghcInfo ghc) isCross; in
{ doCheck ? !isCross && (lib.versionOlder "7.4" ghc.version)
, doBenchmark ? false
, ...
}: { inherit doCheck doBenchmark; };
# Utility to convert a directory full of `cabal2nix`-generated files into a
# package override set
#
# packagesFromDirectory : { directory : Directory, ... } -> HaskellPackageOverrideSet
packagesFromDirectory =
{ directory, ... }:
self: super:
let
haskellPaths = builtins.attrNames (builtins.readDir directory);
toKeyVal = file: {
name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
value = self.callPackage (directory + "/${file}") { };
};
in
builtins.listToAttrs (map toKeyVal haskellPaths);
addOptparseApplicativeCompletionScripts = exeName: pkg:
builtins.trace "addOptparseApplicativeCompletionScripts is deprecated in favor of generateOptparseApplicativeCompletion. Please change ${pkg.name} to use the latter or its plural form."
(generateOptparseApplicativeCompletion exeName pkg);
/*
Modify a Haskell package to add shell completion scripts for the
given executable produced by it. These completion scripts will be
picked up automatically if the resulting derivation is installed,
e.g. by `nix-env -i`.
Invocation:
generateOptparseApplicativeCompletion command pkg
command: name of an executable
pkg: Haskell package that builds the executables
*/
generateOptparseApplicativeCompletion = exeName: overrideCabal (drv: {
postInstall = (drv.postInstall or "") + ''
bashCompDir="''${!outputBin}/share/bash-completion/completions"
zshCompDir="''${!outputBin}/share/zsh/vendor-completions"
fishCompDir="''${!outputBin}/share/fish/vendor_completions.d"
mkdir -p "$bashCompDir" "$zshCompDir" "$fishCompDir"
"''${!outputBin}/bin/${exeName}" --bash-completion-script "''${!outputBin}/bin/${exeName}" >"$bashCompDir/${exeName}"
"''${!outputBin}/bin/${exeName}" --zsh-completion-script "''${!outputBin}/bin/${exeName}" >"$zshCompDir/_${exeName}"
"''${!outputBin}/bin/${exeName}" --fish-completion-script "''${!outputBin}/bin/${exeName}" >"$fishCompDir/${exeName}.fish"
# Sanity check
grep -F ${exeName} <$bashCompDir/${exeName} >/dev/null || {
echo 'Could not find ${exeName} in completion script.'
exit 1
}
'';
});
/*
Modify a Haskell package to add shell completion scripts for the
given executables produced by it. These completion scripts will be
picked up automatically if the resulting derivation is installed,
e.g. by `nix-env -i`.
Invocation:
generateOptparseApplicativeCompletions commands pkg
commands: name of an executable
pkg: Haskell package that builds the executables
*/
generateOptparseApplicativeCompletions = commands: pkg:
pkgs.lib.foldr generateOptparseApplicativeCompletion pkg commands;
# Don't fail at configure time if there are multiple versions of the
# same package in the (recursive) dependencies of the package being
# built. Will delay failures, if any, to compile time.
allowInconsistentDependencies = overrideCabal (drv: {
allowInconsistentDependencies = true;
});
}

View file

@ -49,23 +49,23 @@ let
nodejs = buildPackages.nodejs-slim; nodejs = buildPackages.nodejs-slim;
inherit (self) buildHaskellPackages ghc ghcWithHoogle ghcWithPackages; inherit (self) buildHaskellPackages ghc ghcWithHoogle ghcWithPackages;
inherit (self.buildHaskellPackages) jailbreak-cabal; inherit (self.buildHaskellPackages) jailbreak-cabal;
hscolour = overrideCabal self.buildHaskellPackages.hscolour (drv: { hscolour = overrideCabal (drv: {
isLibrary = false; isLibrary = false;
doHaddock = false; doHaddock = false;
hyperlinkSource = false; # Avoid depending on hscolour for this build. hyperlinkSource = false; # Avoid depending on hscolour for this build.
postFixup = "rm -rf $out/lib $out/share $out/nix-support"; postFixup = "rm -rf $out/lib $out/share $out/nix-support";
}); }) self.buildHaskellPackages.hscolour;
cpphs = overrideCabal (self.cpphs.overrideScope (self: super: { cpphs = overrideCabal (drv: {
isLibrary = false;
postFixup = "rm -rf $out/lib $out/share $out/nix-support";
}) (self.cpphs.overrideScope (self: super: {
mkDerivation = drv: super.mkDerivation (drv // { mkDerivation = drv: super.mkDerivation (drv // {
enableSharedExecutables = false; enableSharedExecutables = false;
enableSharedLibraries = false; enableSharedLibraries = false;
doHaddock = false; doHaddock = false;
useCpphs = false; useCpphs = false;
}); });
})) (drv: { }));
isLibrary = false;
postFixup = "rm -rf $out/lib $out/share $out/nix-support";
});
}; };
mkDerivation = makeOverridable mkDerivationImpl; mkDerivation = makeOverridable mkDerivationImpl;
@ -159,7 +159,7 @@ let
# (requiring it to be frequently rebuilt), which can be an # (requiring it to be frequently rebuilt), which can be an
# annoyance. # annoyance.
callPackageKeepDeriver = src: args: callPackageKeepDeriver = src: args:
overrideCabal (self.callPackage src args) (orig: { overrideCabal (orig: {
preConfigure = '' preConfigure = ''
# Generated from ${src} # Generated from ${src}
${orig.preConfigure or ""} ${orig.preConfigure or ""}
@ -171,7 +171,7 @@ let
# cabal2nixDeriver field. # cabal2nixDeriver field.
cabal2nixDeriver = src; cabal2nixDeriver = src;
}; };
}); }) (self.callPackage src args);
in package-set { inherit pkgs lib callPackage; } self // { in package-set { inherit pkgs lib callPackage; } self // {
@ -213,9 +213,9 @@ in package-set { inherit pkgs lib callPackage; } self // {
then pkgs.lib.cleanSourceWith { inherit src filter; } then pkgs.lib.cleanSourceWith { inherit src filter; }
else src; else src;
}; };
in overrideCabal (callPackageKeepDeriver expr args) (orig: { in overrideCabal (orig: {
inherit src; inherit src;
}); }) (callPackageKeepDeriver expr args);
callCabal2nix = name: src: args: self.callCabal2nixWithOptions name src "" args; callCabal2nix = name: src: args: self.callCabal2nixWithOptions name src "" args;
@ -294,7 +294,7 @@ in package-set { inherit pkgs lib callPackage; } self // {
# #
# # default.nix # # default.nix
# with import <nixpkgs> {}; # with import <nixpkgs> {};
# haskellPackages.extend (haskell.lib.packageSourceOverrides { # haskellPackages.extend (haskell.lib.compose.packageSourceOverrides {
# frontend = ./frontend; # frontend = ./frontend;
# backend = ./backend; # backend = ./backend;
# common = ./common; # common = ./common;

View file

@ -48,7 +48,7 @@
let let
# HTTP support is disabled in order to force that HTTP dependencies are built # HTTP support is disabled in order to force that HTTP dependencies are built
# using Nix instead of using Dhall's support for HTTP imports. # using Nix instead of using Dhall's support for HTTP imports.
dhallNoHTTP = haskell.lib.appendConfigureFlag dhall "-f-with-http"; dhallNoHTTP = haskell.lib.compose.appendConfigureFlag "-f-with-http" dhall;
file = writeText "${name}.dhall" code; file = writeText "${name}.dhall" code;

View file

@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "0l0m48lnmdlmnaxn2021qi5cj366d9fzfjxkqgcj9bs14pxbgaw4"; sha256 = "0l0m48lnmdlmnaxn2021qi5cj366d9fzfjxkqgcj9bs14pxbgaw4";
}; };
separateDebugInfo = true; separateDebugInfo = !stdenv.hostPlatform.isStatic;
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];

View file

@ -1,4 +1,5 @@
{ lib { lib
, black
, buildPythonPackage , buildPythonPackage
, fetchPypi , fetchPypi
, cachecontrol , cachecontrol
@ -8,15 +9,19 @@
, rdflib-jsonld , rdflib-jsonld
, ruamel-yaml , ruamel-yaml
, pytestCheckHook , pytestCheckHook
, pythonOlder
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "schema-salad"; pname = "schema-salad";
version = "8.2.20210918131710"; version = "8.2.20211104054942";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "464180407f49a3533cd5a5bc7db9254769bc77595ea00562bbe4a50493f7f445"; sha256 = "sha256-1crKyAON8iZBYxP6bhj0MxV3fSpnCh3Lqp8x91KLBT8=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -28,13 +33,20 @@ buildPythonPackage rec {
ruamel-yaml ruamel-yaml
]; ];
checkInputs = [ pytestCheckHook ]; checkInputs = [
black
pytestCheckHook
];
disabledTests = [ disabledTests = [
# setup for these tests requires network access # setup for these tests requires network access
"test_secondaryFiles" "test_secondaryFiles"
"test_outputBinding" "test_outputBinding"
]; ];
pythonImportsCheck = [ "schema_salad" ];
pythonImportsCheck = [
"schema_salad"
];
meta = with lib; { meta = with lib; {
description = "Semantic Annotations for Linked Avro Data"; description = "Semantic Annotations for Linked Avro Data";

View file

@ -87,6 +87,6 @@ stdenv.mkDerivation rec {
"riscv32-linux" "riscv64-linux" "riscv32-linux" "riscv64-linux"
"alpha-linux" "alpha-linux"
]; ];
broken = stdenv.isDarwin; # https://hydra.nixos.org/build/128521440/nixlog/2 broken = stdenv.isDarwin || stdenv.hostPlatform.isStatic; # https://hydra.nixos.org/build/128521440/nixlog/2
}; };
} }

View file

@ -1,13 +1,12 @@
{ haskell, haskellPackages, lib, makeWrapper, runc, stdenv }: { haskell, haskellPackages, lib, makeWrapper, runc, stdenv }:
let let
inherit (haskell.lib) overrideCabal addBuildDepends; inherit (haskell.lib.compose) overrideCabal addBuildDepends justStaticExecutables;
inherit (lib) makeBinPath; inherit (lib) makeBinPath;
bundledBins = lib.optional stdenv.isLinux runc; bundledBins = lib.optional stdenv.isLinux runc;
pkg = pkg =
# justStaticExecutables is needed due to https://github.com/NixOS/nix/issues/2990 # justStaticExecutables is needed due to https://github.com/NixOS/nix/issues/2990
overrideCabal overrideCabal
(addBuildDepends (haskell.lib.justStaticExecutables haskellPackages.hercules-ci-cli) [ makeWrapper ])
(o: { (o: {
postInstall = '' postInstall = ''
${o.postInstall or ""} ${o.postInstall or ""}
@ -15,7 +14,8 @@ let
mv $out/bin/hci $out/libexec mv $out/bin/hci $out/libexec
makeWrapper $out/libexec/hci $out/bin/hci --prefix PATH : ${makeBinPath bundledBins} makeWrapper $out/libexec/hci $out/bin/hci --prefix PATH : ${makeBinPath bundledBins}
''; '';
}); })
(addBuildDepends [ makeWrapper ] (justStaticExecutables haskellPackages.hercules-ci-cli));
in pkg // { in pkg // {
meta = pkg.meta // { meta = pkg.meta // {
position = toString ./default.nix + ":1"; position = toString ./default.nix + ":1";

View file

@ -1,13 +1,12 @@
{ gnutar, gzip, git, haskell, haskellPackages, lib, makeWrapper, nixos, runc, stdenv }: { gnutar, gzip, git, haskell, haskellPackages, lib, makeWrapper, nixos, runc, stdenv }:
let let
inherit (haskell.lib) overrideCabal addBuildDepends; inherit (haskell.lib.compose) overrideCabal addBuildDepends justStaticExecutables;
inherit (lib) makeBinPath; inherit (lib) makeBinPath;
bundledBins = [ gnutar gzip git ] ++ lib.optional stdenv.isLinux runc; bundledBins = [ gnutar gzip git ] ++ lib.optional stdenv.isLinux runc;
pkg = pkg =
# justStaticExecutables is needed due to https://github.com/NixOS/nix/issues/2990 # justStaticExecutables is needed due to https://github.com/NixOS/nix/issues/2990
overrideCabal overrideCabal
(addBuildDepends (haskell.lib.justStaticExecutables haskellPackages.hercules-ci-agent) [ makeWrapper ])
(o: { (o: {
postInstall = '' postInstall = ''
${o.postInstall or ""} ${o.postInstall or ""}
@ -15,7 +14,8 @@ let
mv $out/bin/hercules-ci-agent $out/libexec mv $out/bin/hercules-ci-agent $out/libexec
makeWrapper $out/libexec/hercules-ci-agent $out/bin/hercules-ci-agent --prefix PATH : ${makeBinPath bundledBins} makeWrapper $out/libexec/hercules-ci-agent $out/bin/hercules-ci-agent --prefix PATH : ${makeBinPath bundledBins}
''; '';
}); })
(addBuildDepends [ makeWrapper ] (justStaticExecutables haskellPackages.hercules-ci-agent));
in pkg.overrideAttrs (o: { in pkg.overrideAttrs (o: {
meta = o.meta // { meta = o.meta // {
position = toString ./default.nix + ":1"; position = toString ./default.nix + ":1";

View file

@ -2,12 +2,12 @@
let let
dconf2nix = dconf2nix =
haskell.lib.justStaticExecutables haskell.lib.compose.justStaticExecutables
(haskell.lib.overrideCabal haskellPackages.dconf2nix (oldAttrs: { (haskell.lib.compose.overrideCabal (oldAttrs: {
maintainers = (oldAttrs.maintainers or []) ++ [ maintainers = (oldAttrs.maintainers or []) ++ [
lib.maintainers.gvolpe lib.maintainers.gvolpe
]; ];
})); }) haskellPackages.dconf2nix);
in in
dconf2nix.overrideAttrs (oldAttrs: { dconf2nix.overrideAttrs (oldAttrs: {

View file

@ -11,8 +11,8 @@ let
inherit (lib) concatStringsSep concatMapStringsSep take splitString; inherit (lib) concatStringsSep concatMapStringsSep take splitString;
getPackages = version: haskell.packages."ghc${version}"; getPackages = version: haskell.packages."ghc${version}";
tunedHls = hsPkgs: tunedHls = hsPkgs:
haskell.lib.justStaticExecutables haskell.lib.compose.justStaticExecutables
(haskell.lib.overrideCabal hsPkgs.haskell-language-server (old: { (haskell.lib.compose.overrideCabal (old: {
postInstall = '' postInstall = ''
remove-references-to -t ${hsPkgs.ghc} $out/bin/haskell-language-server remove-references-to -t ${hsPkgs.ghc} $out/bin/haskell-language-server
remove-references-to -t ${hsPkgs.shake.data} $out/bin/haskell-language-server remove-references-to -t ${hsPkgs.shake.data} $out/bin/haskell-language-server
@ -20,7 +20,7 @@ let
remove-references-to -t ${hsPkgs.js-dgtable.data} $out/bin/haskell-language-server remove-references-to -t ${hsPkgs.js-dgtable.data} $out/bin/haskell-language-server
remove-references-to -t ${hsPkgs.js-flot.data} $out/bin/haskell-language-server remove-references-to -t ${hsPkgs.js-flot.data} $out/bin/haskell-language-server
''; '';
})); }) hsPkgs.haskell-language-server);
targets = version: targets = version:
let packages = getPackages version; let packages = getPackages version;
in [ in [

View file

@ -23,7 +23,7 @@ let allPkgs = pkgs: mueval.defaultPkgs pkgs ++ [ pkgs.lambdabot-trusted ] ++ pac
modulesStr = lib.replaceChars ["\n"] [" "] modules; modulesStr = lib.replaceChars ["\n"] [" "] modules;
configStr = lib.replaceChars ["\n"] [" "] configuration; configStr = lib.replaceChars ["\n"] [" "] configuration;
in haskellLib.overrideCabal haskellPackages.lambdabot (self: { in haskellLib.overrideCabal (self: {
patches = (self.patches or []) ++ [ ./custom-config.patch ]; patches = (self.patches or []) ++ [ ./custom-config.patch ];
postPatch = (self.postPatch or "") + '' postPatch = (self.postPatch or "") + ''
substituteInPlace src/Main.hs \ substituteInPlace src/Main.hs \
@ -38,4 +38,4 @@ in haskellLib.overrideCabal haskellPackages.lambdabot (self: {
wrapProgram $out/bin/lambdabot \ wrapProgram $out/bin/lambdabot \
--prefix PATH ":" '${bins}' --prefix PATH ":" '${bins}'
''; '';
}) }) haskellPackages.lambdabot

View file

@ -1,10 +1,10 @@
{ haskellPackages, fetchpatch, haskell, removeReferencesTo }: { haskellPackages, fetchpatch, haskell, removeReferencesTo }:
let let
static = haskell.lib.justStaticExecutables haskellPackages.pandoc; static = haskell.lib.compose.justStaticExecutables haskellPackages.pandoc;
in in
(haskell.lib.overrideCabal static (drv: { (haskell.lib.compose.overrideCabal (drv: {
configureFlags = drv.configureFlags or [] ++ ["-fembed_data_files"]; configureFlags = drv.configureFlags or [] ++ ["-fembed_data_files"];
buildDepends = drv.buildDepends or [] ++ [haskellPackages.file-embed]; buildDepends = drv.buildDepends or [] ++ [haskellPackages.file-embed];
buildTools = (drv.buildTools or []) ++ [ removeReferencesTo ]; buildTools = (drv.buildTools or []) ++ [ removeReferencesTo ];
@ -16,7 +16,7 @@ in
sha256 = "gOtrWVylzwgu0YLD4SztqlXxtaXXGOf8nTqLwUBS7qs="; sha256 = "gOtrWVylzwgu0YLD4SztqlXxtaXXGOf8nTqLwUBS7qs=";
}) })
]; ];
})).overrideAttrs (drv: { }) static).overrideAttrs (drv: {
# These libraries are still referenced, because they generate # These libraries are still referenced, because they generate
# a `Paths_*` module for figuring out their version. # a `Paths_*` module for figuring out their version.

View file

@ -1,6 +1,6 @@
{ haskell, haskellPackages, lib }: { haskell, haskellPackages, lib }:
haskell.lib.justStaticExecutables (haskell.lib.overrideCabal haskellPackages.pretty-simple (oldAttrs: { haskell.lib.compose.justStaticExecutables (haskell.lib.compose.overrideCabal (oldAttrs: {
maintainers = (oldAttrs.maintainers or []) ++ [ maintainers = (oldAttrs.maintainers or []) ++ [
lib.maintainers.cdepillabout lib.maintainers.cdepillabout
]; ];
@ -8,5 +8,5 @@ haskell.lib.justStaticExecutables (haskell.lib.overrideCabal haskellPackages.pre
configureFlags = (oldAttrs.configureFlags or []) ++ ["-fbuildexe"]; configureFlags = (oldAttrs.configureFlags or []) ++ ["-fbuildexe"];
buildDepends = (oldAttrs.buildDepends or []) ++ [haskellPackages.optparse-applicative]; buildDepends = (oldAttrs.buildDepends or []) ++ [haskellPackages.optparse-applicative];
})) }) haskellPackages.pretty-simple)

View file

@ -12,14 +12,14 @@
let let
spago = spago =
haskell.lib.justStaticExecutables haskell.lib.compose.justStaticExecutables
(haskell.lib.overrideCabal haskellPackages.spago (oldAttrs: { (haskell.lib.compose.overrideCabal (oldAttrs: {
maintainers = (oldAttrs.maintainers or []) ++ [ maintainers = (oldAttrs.maintainers or []) ++ [
lib.maintainers.cdepillabout lib.maintainers.cdepillabout
]; ];
changelog = changelog =
"https://github.com/purescript/spago/releases/tag/${oldAttrs.version}"; "https://github.com/purescript/spago/releases/tag/${oldAttrs.version}";
})); }) haskellPackages.spago);
in in
spago.overrideAttrs (oldAttrs: { spago.overrideAttrs (oldAttrs: {

View file

@ -15,7 +15,7 @@ let
}; };
in drv' // { meta = meta' // overrideFn meta'; }; in drv' // { meta = meta' // overrideFn meta'; };
bin = haskell.lib.justStaticExecutables haskellPackages.ShellCheck; bin = haskell.lib.compose.justStaticExecutables haskellPackages.ShellCheck;
shellcheck = stdenv.mkDerivation { shellcheck = stdenv.mkDerivation {
pname = "shellcheck"; pname = "shellcheck";

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, makeDesktopItem, pkg-config, cmake { lib, stdenv, fetchFromGitHub, pkg-config, cmake
, wrapQtAppsHook, qtbase, bluez, ffmpeg, libao, libGLU, libGL, pcre, gettext , wrapQtAppsHook, qtbase, bluez, ffmpeg, libao, libGLU, libGL, pcre, gettext
, libXrandr, libusb1, lzo, libpthreadstubs, libXext, libXxf86vm, libXinerama , libXrandr, libusb1, lzo, libpthreadstubs, libXext, libXxf86vm, libXinerama
, libSM, libXdmcp, readline, openal, udev, libevdev, portaudio, curl, alsa-lib , libSM, libXdmcp, readline, openal, udev, libevdev, portaudio, curl, alsa-lib
@ -8,18 +8,7 @@
# - Inputs used for Darwin # - Inputs used for Darwin
, CoreBluetooth, ForceFeedback, IOKit, OpenGL, libpng, hidapi }: , CoreBluetooth, ForceFeedback, IOKit, OpenGL, libpng, hidapi }:
let stdenv.mkDerivation rec {
desktopItem = makeDesktopItem {
name = "dolphin-emu-master";
exec = "dolphin-emu-master";
icon = "dolphin-emu";
comment = "A Wii/GameCube Emulator";
desktopName = "Dolphin Emulator (master)";
genericName = "Wii/GameCube Emulator";
categories = "Game;Emulator;";
startupNotify = "false";
};
in stdenv.mkDerivation rec {
pname = "dolphin-emu"; pname = "dolphin-emu";
version = "5.0-15260"; version = "5.0-15260";
@ -57,6 +46,9 @@ in stdenv.mkDerivation rec {
qtWrapperArgs = lib.optionals stdenv.isLinux [ qtWrapperArgs = lib.optionals stdenv.isLinux [
"--prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib" "--prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib"
# https://bugs.dolphin-emu.org/issues/11807
# The .desktop file should already set this, but Dolphin may be launched in other ways
"--set QT_QPA_PLATFORM xcb"
]; ];
# - Allow Dolphin to use nix-provided libraries instead of building them # - Allow Dolphin to use nix-provided libraries instead of building them
@ -68,10 +60,7 @@ in stdenv.mkDerivation rec {
CMakeLists.txt CMakeLists.txt
''; '';
postInstall = '' postInstall = lib.optionalString stdenv.hostPlatform.isLinux ''
cp -r ${desktopItem}/share/applications $out/share
ln -sf $out/bin/dolphin-emu $out/bin/dolphin-emu-master
'' + lib.optionalString stdenv.hostPlatform.isLinux ''
install -D $src/Data/51-usb-device.rules $out/etc/udev/rules.d/51-usb-device.rules install -D $src/Data/51-usb-device.rules $out/etc/udev/rules.d/51-usb-device.rules
''; '';

View file

@ -2,9 +2,9 @@
let let
drv = haskellPackages.vector; drv = haskellPackages.vector;
docs = pkgs.haskell.lib.documentationTarball drv; docs = pkgs.haskell.lib.compose.documentationTarball drv;
in pkgs.runCommand "test haskell.lib.documentationTarball" { in pkgs.runCommand "test haskell.lib.compose.documentationTarball" {
meta = { meta = {
inherit (docs.meta) platforms; inherit (docs.meta) platforms;
}; };

View file

@ -17,7 +17,7 @@ let
drv = haskellPackages.callPackage pkgDef {}; drv = haskellPackages.callPackage pkgDef {};
test = target: excluded: test = target: excluded:
let only = pkgs.haskell.lib.setBuildTarget drv target; let only = pkgs.haskell.lib.compose.setBuildTarget target drv;
in '' in ''
if [[ ! -f "${only}/bin/${target}" ]]; then if [[ ! -f "${only}/bin/${target}" ]]; then
echo "${target} was not built" echo "${target} was not built"
@ -31,7 +31,7 @@ let
''; '';
in in
pkgs.runCommand "test haskell.lib.setBuildTarget" { pkgs.runCommand "test haskell.lib.compose.setBuildTarget" {
meta = { meta = {
inherit (drv.meta) platforms; inherit (drv.meta) platforms;
}; };

View file

@ -1,47 +1,48 @@
{ lib, stdenv, fetchurl, autoPatchelfHook }: { stdenv, lib, fetchurl, p7zip }:
let platform = if stdenv.isi686 then "x86" # https://sourceforge.net/p/sevenzip/discussion/45797/thread/7fe6c21efa/
else if stdenv.isx86_64 then "x64" stdenv.mkDerivation rec {
else if stdenv.isAarch32 then "arm"
else if stdenv.isAarch64 then "arm64"
else throw "Unsupported architecture";
url = "https://7-zip.org/a/7z2101-linux-${platform}.tar.xz";
hashes = {
x86 = "0k6vg85ld8i2pcv5sv3xbvf3swqh9qj8hf2jcpadssys3yyidqyj";
x64 = "1yfanx98fizj8d2s87yxgsy30zydx7h5w9wf4wy3blgsp0vkbjb3";
arm = "04iah9vijm86r8rbkhxig86fx3lpag4xi7i3vq7gfrlwkymclhm1";
arm64 = "0a26ginpb22aydcyvffxpbi7lxh4sgs9gb6cj96qqx7cnf7bk2ri";
};
sha256 = hashes."${platform}";
in stdenv.mkDerivation {
pname = "7zz"; pname = "7zz";
version = "21.01"; version = "21.04";
src = fetchurl { inherit url sha256; }; src = fetchurl {
sourceRoot = "."; url = "https://7-zip.org/a/7z${lib.replaceStrings ["." ] [""] version}-src.7z";
sha256 = "sha256-XmuEyIJAJQM0ZbgrW02lQ2rp4KFDBjLXKRaTfY+VCOg=";
};
nativeBuildInputs = [ autoPatchelfHook ]; sourceRoot = "CPP/7zip/Bundles/Alone2";
buildInputs = [ stdenv.cc.cc.lib ];
dontBuild = true; # we need https://github.com/nidud/asmc/tree/master/source/asmc/linux in order
# to build with the optimized assembler but that doesn't support building with
# GCC: https://github.com/nidud/asmc/issues/8
makefile = "../../cmpl_gcc.mak"; # "../../cmpl_gcc_x64.mak";
NIX_CFLAGS_COMPILE = [ "-Wno-error=maybe-uninitialized" ];
nativeBuildInputs = [ p7zip ];
enableParallelBuilding = true;
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
install -D -t $out/bin 7zz
install -Dm555 -t $out/bin b/g/7zz
install -Dm444 -t $out/share/doc/${pname} ../../../../DOC/*.txt
runHook postInstall runHook postInstall
''; '';
doInstallCheck = true;
installCheckPhase = ''
$out/bin/7zz --help | grep ${version}
'';
meta = with lib; { meta = with lib; {
description = "Command line archiver utility"; description = "Command line archiver utility";
homepage = "https://www.7-zip.org"; homepage = "https://7zip.org";
license = licenses.lgpl21Plus;
# source not released yet. will be under LGPL 2.1+ with RAR exception maintainers = with maintainers; [ anna328p peterhoeg ];
license = licenses.unfree; platforms = platforms.linux;
platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "armv7l-linux" ];
maintainers = with maintainers; [ anna328p ];
}; };
} }

View file

@ -1,7 +1,7 @@
{ lib, pkgs, makeWrapper, haskellPackages, haskell, pandoc, imagemagick, CoreServices }: { lib, pkgs, makeWrapper, haskellPackages, haskell, pandoc, imagemagick, CoreServices }:
with lib; with lib;
with haskell.lib; with haskell.lib.compose;
let let
ldgallery-viewer = pkgs.callPackage ./viewer { inherit CoreServices; }; ldgallery-viewer = pkgs.callPackage ./viewer { inherit CoreServices; };
@ -12,7 +12,7 @@ in
# making sure that the versions of the compiler and viewer parts are in sync # making sure that the versions of the compiler and viewer parts are in sync
assert ldgallery-compiler.version == versions.majorMinor ldgallery-viewer.version; assert ldgallery-compiler.version == versions.majorMinor ldgallery-viewer.version;
justStaticExecutables (overrideCabal ldgallery-compiler (oldAttrs: { justStaticExecutables (overrideCabal (oldAttrs: {
pname = "ldgallery"; # bundled viewer + compiler pname = "ldgallery"; # bundled viewer + compiler
buildTools = (oldAttrs.buildTools or []) ++ [ makeWrapper pandoc ]; buildTools = (oldAttrs.buildTools or []) ++ [ makeWrapper pandoc ];
@ -50,4 +50,4 @@ justStaticExecutables (overrideCabal ldgallery-compiler (oldAttrs: {
# other package metadata (maintainer, description, license, ...) # other package metadata (maintainer, description, license, ...)
# are inherited from the compiler package # are inherited from the compiler package
})) }) ldgallery-compiler)

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "curlie"; pname = "curlie";
version = "1.6.2"; version = "1.6.7";
src= fetchFromGitHub { src= fetchFromGitHub {
owner = "rs"; owner = "rs";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-2CZpqc1MnAY6M1UFakKLaqGjaifw+7bN4hxc0jWgSps="; sha256 = "sha256-uWLJWhsqJaLji2JSuVX8Vu929AdozhtAPwsqXdpEt84=";
}; };
vendorSha256 = "sha256-tYZtnD7RUurhl8yccXlTIvOxybBJITM+it1ollYJ1OI="; vendorSha256 = "sha256-tYZtnD7RUurhl8yccXlTIvOxybBJITM+it1ollYJ1OI=";

View file

@ -202,6 +202,8 @@ mapAliases ({
dnnl = oneDNN; # added 2020-04-22 dnnl = oneDNN; # added 2020-04-22
docbook5_xsl = docbook_xsl_ns; # added 2018-04-25 docbook5_xsl = docbook_xsl_ns; # added 2018-04-25
docbook_xml_xslt = docbook_xsl; # added 2018-04-25 docbook_xml_xslt = docbook_xsl; # added 2018-04-25
dolphinEmu = dolphin-emu; # added 2021-11-10
dolphinEmuMaster = dolphin-emu-beta; # added 2021-11-10
dotnet-netcore = dotnet-runtime; # added 2021-10-07 dotnet-netcore = dotnet-runtime; # added 2021-10-07
double_conversion = double-conversion; # 2017-11-22 double_conversion = double-conversion; # 2017-11-22
docker_compose = docker-compose; # 2018-11-10 docker_compose = docker-compose; # 2018-11-10

View file

@ -1639,7 +1639,7 @@ with pkgs;
ecdsautils = callPackage ../tools/security/ecdsautils { }; ecdsautils = callPackage ../tools/security/ecdsautils { };
echidna = haskell.lib.justStaticExecutables (haskellPackages.callPackage (../tools/security/echidna) { }); echidna = haskell.lib.compose.justStaticExecutables (haskellPackages.callPackage (../tools/security/echidna) { });
sedutil = callPackage ../tools/security/sedutil { }; sedutil = callPackage ../tools/security/sedutil { };
@ -1789,7 +1789,7 @@ with pkgs;
hime = callPackage ../tools/inputmethods/hime {}; hime = callPackage ../tools/inputmethods/hime {};
hinit = haskell.lib.justStaticExecutables haskellPackages.hinit; hinit = haskell.lib.compose.justStaticExecutables haskellPackages.hinit;
hostctl = callPackage ../tools/system/hostctl { }; hostctl = callPackage ../tools/system/hostctl { };
@ -2316,7 +2316,7 @@ with pkgs;
cue2pops = callPackage ../tools/cd-dvd/cue2pops { }; cue2pops = callPackage ../tools/cd-dvd/cue2pops { };
cabal2nix-unwrapped = haskell.lib.justStaticExecutables (haskell.lib.generateOptparseApplicativeCompletion "cabal2nix" haskellPackages.cabal2nix); cabal2nix-unwrapped = haskell.lib.compose.justStaticExecutables (haskell.lib.compose.generateOptparseApplicativeCompletion "cabal2nix" haskellPackages.cabal2nix);
cabal2nix = symlinkJoin { cabal2nix = symlinkJoin {
inherit (cabal2nix-unwrapped) name meta; inherit (cabal2nix-unwrapped) name meta;
@ -2934,7 +2934,7 @@ with pkgs;
fsmark = callPackage ../tools/misc/fsmark { }; fsmark = callPackage ../tools/misc/fsmark { };
futhark = haskell.lib.justStaticExecutables haskellPackages.futhark; futhark = haskell.lib.compose.justStaticExecutables haskellPackages.futhark;
inherit (nodePackages) fx; inherit (nodePackages) fx;
@ -3343,7 +3343,7 @@ with pkgs;
nix-direnv = callPackage ../tools/misc/nix-direnv { }; nix-direnv = callPackage ../tools/misc/nix-direnv { };
nix-output-monitor = haskell.lib.justStaticExecutables (haskellPackages.nix-output-monitor); nix-output-monitor = haskell.lib.compose.justStaticExecutables (haskellPackages.nix-output-monitor);
nix-template = callPackage ../tools/package-management/nix-template { nix-template = callPackage ../tools/package-management/nix-template {
inherit (darwin.apple_sdk.frameworks) Security; inherit (darwin.apple_sdk.frameworks) Security;
@ -4578,8 +4578,8 @@ with pkgs;
dotnetfx40 = callPackage ../development/libraries/dotnetfx40 { }; dotnetfx40 = callPackage ../development/libraries/dotnetfx40 { };
dolphinEmu = callPackage ../misc/emulators/dolphin-emu { }; dolphin-emu = callPackage ../misc/emulators/dolphin-emu { };
dolphinEmuMaster = qt5.callPackage ../misc/emulators/dolphin-emu/master.nix { dolphin-emu-beta = qt5.callPackage ../misc/emulators/dolphin-emu/master.nix {
inherit (darwin.apple_sdk.frameworks) CoreBluetooth ForceFeedback IOKit OpenGL; inherit (darwin.apple_sdk.frameworks) CoreBluetooth ForceFeedback IOKit OpenGL;
}; };
@ -4795,7 +4795,7 @@ with pkgs;
uudeview = callPackage ../tools/misc/uudeview { }; uudeview = callPackage ../tools/misc/uudeview { };
uusi = haskell.lib.justStaticExecutables haskellPackages.uusi; uusi = haskell.lib.compose.justStaticExecutables haskellPackages.uusi;
uutils-coreutils = callPackage ../tools/misc/uutils-coreutils { uutils-coreutils = callPackage ../tools/misc/uutils-coreutils {
inherit (python3Packages) sphinx; inherit (python3Packages) sphinx;
@ -6327,7 +6327,7 @@ with pkgs;
icemon = libsForQt5.callPackage ../applications/networking/icemon { }; icemon = libsForQt5.callPackage ../applications/networking/icemon { };
icepeak = haskell.lib.justStaticExecutables haskellPackages.icepeak; icepeak = haskell.lib.compose.justStaticExecutables haskellPackages.icepeak;
iceshelf = callPackage ../tools/backup/iceshelf { }; iceshelf = callPackage ../tools/backup/iceshelf { };
@ -7382,7 +7382,7 @@ with pkgs;
inherit (darwin.apple_sdk.frameworks) Foundation; inherit (darwin.apple_sdk.frameworks) Foundation;
}; };
madlang = haskell.lib.justStaticExecutables haskellPackages.madlang; madlang = haskell.lib.compose.justStaticExecutables haskellPackages.madlang;
maeparser = callPackage ../development/libraries/maeparser { }; maeparser = callPackage ../development/libraries/maeparser { };
@ -7833,7 +7833,7 @@ with pkgs;
ngrep = callPackage ../tools/networking/ngrep { }; ngrep = callPackage ../tools/networking/ngrep { };
neuron-notes = haskell.lib.justStaticExecutables (haskell.lib.generateOptparseApplicativeCompletion "neuron" haskellPackages.neuron); neuron-notes = haskell.lib.compose.justStaticExecutables (haskell.lib.compose.generateOptparseApplicativeCompletion "neuron" haskellPackages.neuron);
ngrok = ngrok-2; ngrok = ngrok-2;
@ -7879,7 +7879,7 @@ with pkgs;
nvchecker = with python3Packages; toPythonApplication nvchecker; nvchecker = with python3Packages; toPythonApplication nvchecker;
nvfetcher = haskell.lib.justStaticExecutables haskellPackages.nvfetcher; nvfetcher = haskell.lib.compose.justStaticExecutables haskellPackages.nvfetcher;
miller = callPackage ../tools/text/miller { }; miller = callPackage ../tools/text/miller { };
@ -8231,7 +8231,7 @@ with pkgs;
update-dotdee = with python3Packages; toPythonApplication update-dotdee; update-dotdee = with python3Packages; toPythonApplication update-dotdee;
update-nix-fetchgit = haskell.lib.justStaticExecutables haskellPackages.update-nix-fetchgit; update-nix-fetchgit = haskell.lib.compose.justStaticExecutables haskellPackages.update-nix-fetchgit;
update-resolv-conf = callPackage ../tools/networking/openvpn/update-resolv-conf.nix { }; update-resolv-conf = callPackage ../tools/networking/openvpn/update-resolv-conf.nix { };
@ -9471,7 +9471,9 @@ with pkgs;
snallygaster = callPackage ../tools/security/snallygaster { }; snallygaster = callPackage ../tools/security/snallygaster { };
snapcast = callPackage ../applications/audio/snapcast { }; snapcast = callPackage ../applications/audio/snapcast {
pulseaudioSupport = config.pulseaudio or stdenv.isLinux;
};
snapdragon-profiler = callPackage ../tools/graphics/snapdragon-profiler { }; snapdragon-profiler = callPackage ../tools/graphics/snapdragon-profiler { };
@ -9595,7 +9597,7 @@ with pkgs;
speech-denoiser = callPackage ../applications/audio/speech-denoiser {}; speech-denoiser = callPackage ../applications/audio/speech-denoiser {};
splot = haskell.lib.justStaticExecutables haskellPackages.splot; splot = haskell.lib.compose.justStaticExecutables haskellPackages.splot;
spotdl = callPackage ../tools/audio/spotdl { }; spotdl = callPackage ../tools/audio/spotdl { };
@ -9709,13 +9711,13 @@ with pkgs;
stuntman = callPackage ../tools/networking/stuntman { }; stuntman = callPackage ../tools/networking/stuntman { };
stutter = haskell.lib.justStaticExecutables haskellPackages.stutter; stutter = haskell.lib.compose.justStaticExecutables haskellPackages.stutter;
strongswan = callPackage ../tools/networking/strongswan { }; strongswan = callPackage ../tools/networking/strongswan { };
strongswanTNC = strongswan.override { enableTNC = true; }; strongswanTNC = strongswan.override { enableTNC = true; };
strongswanNM = strongswan.override { enableNetworkManager = true; }; strongswanNM = strongswan.override { enableNetworkManager = true; };
stylish-haskell = haskell.lib.justStaticExecutables haskellPackages.stylish-haskell; stylish-haskell = haskell.lib.compose.justStaticExecutables haskellPackages.stylish-haskell;
su = shadow.su; su = shadow.su;
@ -10496,7 +10498,7 @@ with pkgs;
wsmancli = callPackage ../tools/system/wsmancli {}; wsmancli = callPackage ../tools/system/wsmancli {};
wstunnel = haskell.lib.justStaticExecutables haskellPackages.wstunnel; wstunnel = haskell.lib.compose.justStaticExecutables haskellPackages.wstunnel;
wolfebin = callPackage ../tools/networking/wolfebin { wolfebin = callPackage ../tools/networking/wolfebin {
python = python2; python = python2;
@ -10545,7 +10547,7 @@ with pkgs;
time = callPackage ../tools/misc/time { }; time = callPackage ../tools/misc/time { };
tweet-hs = haskell.lib.justStaticExecutables haskellPackages.tweet-hs; tweet-hs = haskell.lib.compose.justStaticExecutables haskellPackages.tweet-hs;
tweeny = callPackage ../development/libraries/tweeny { }; tweeny = callPackage ../development/libraries/tweeny { };
@ -11481,7 +11483,7 @@ with pkgs;
eql = callPackage ../development/compilers/eql {}; eql = callPackage ../development/compilers/eql {};
elm2nix = haskell.lib.justStaticExecutables haskellPackages.elm2nix; elm2nix = haskell.lib.compose.justStaticExecutables haskellPackages.elm2nix;
elmPackages = recurseIntoAttrs (callPackage ../development/compilers/elm { elmPackages = recurseIntoAttrs (callPackage ../development/compilers/elm {
inherit (darwin.apple_sdk.frameworks) Security; inherit (darwin.apple_sdk.frameworks) Security;
@ -11982,14 +11984,14 @@ with pkgs;
inherit (haskellPackages) ghc; inherit (haskellPackages) ghc;
cabal-install = haskell.lib.justStaticExecutables haskellPackages.cabal-install; cabal-install = haskell.lib.compose.justStaticExecutables haskellPackages.cabal-install;
stack = haskell.lib.justStaticExecutables haskellPackages.stack; stack = haskell.lib.compose.justStaticExecutables haskellPackages.stack;
hlint = haskell.lib.justStaticExecutables haskellPackages.hlint; hlint = haskell.lib.compose.justStaticExecutables haskellPackages.hlint;
krank = haskell.lib.justStaticExecutables haskellPackages.krank; krank = haskell.lib.compose.justStaticExecutables haskellPackages.krank;
stylish-cabal = haskell.lib.justStaticExecutables haskellPackages.stylish-cabal; stylish-cabal = haskell.lib.compose.justStaticExecutables haskellPackages.stylish-cabal;
all-cabal-hashes = callPackage ../data/misc/hackage { }; all-cabal-hashes = callPackage ../data/misc/hackage { };
@ -12344,7 +12346,7 @@ with pkgs;
knightos-z80e = callPackage ../development/tools/knightos/z80e { }; knightos-z80e = callPackage ../development/tools/knightos/z80e { };
koka = haskell.lib.justStaticExecutables (haskellPackages.callPackage ../development/compilers/koka { }); koka = haskell.lib.compose.justStaticExecutables (haskellPackages.callPackage ../development/compilers/koka { });
kotlin = callPackage ../development/compilers/kotlin { }; kotlin = callPackage ../development/compilers/kotlin { };
kotlin-native = callPackage ../development/compilers/kotlin/native.nix { }; kotlin-native = callPackage ../development/compilers/kotlin/native.nix { };
@ -13189,19 +13191,19 @@ with pkgs;
clooj = callPackage ../development/interpreters/clojure/clooj.nix { }; clooj = callPackage ../development/interpreters/clojure/clooj.nix { };
dhall = haskell.lib.justStaticExecutables haskellPackages.dhall; dhall = haskell.lib.compose.justStaticExecutables haskellPackages.dhall;
dhall-bash = haskell.lib.justStaticExecutables haskellPackages.dhall-bash; dhall-bash = haskell.lib.compose.justStaticExecutables haskellPackages.dhall-bash;
dhall-docs = haskell.lib.justStaticExecutables haskellPackages.dhall-docs; dhall-docs = haskell.lib.compose.justStaticExecutables haskellPackages.dhall-docs;
dhall-lsp-server = haskell.lib.justStaticExecutables haskellPackages.dhall-lsp-server; dhall-lsp-server = haskell.lib.compose.justStaticExecutables haskellPackages.dhall-lsp-server;
dhall-json = haskell.lib.justStaticExecutables haskellPackages.dhall-json; dhall-json = haskell.lib.compose.justStaticExecutables haskellPackages.dhall-json;
dhall-nix = haskell.lib.justStaticExecutables haskellPackages.dhall-nix; dhall-nix = haskell.lib.compose.justStaticExecutables haskellPackages.dhall-nix;
dhall-text = haskell.lib.justStaticExecutables haskellPackages.dhall-text; dhall-text = haskell.lib.compose.justStaticExecutables haskellPackages.dhall-text;
dhallPackages = recurseIntoAttrs (callPackage ./dhall-packages.nix { }); dhallPackages = recurseIntoAttrs (callPackage ./dhall-packages.nix { });
@ -14438,7 +14440,7 @@ with pkgs;
flootty = callPackage ../development/tools/flootty { }; flootty = callPackage ../development/tools/flootty { };
fffuu = haskell.lib.justStaticExecutables (haskellPackages.callPackage ../tools/misc/fffuu { }); fffuu = haskell.lib.compose.justStaticExecutables (haskellPackages.callPackage ../tools/misc/fffuu { });
ffuf = callPackage ../tools/security/ffuf { }; ffuf = callPackage ../tools/security/ffuf { };
@ -14608,7 +14610,7 @@ with pkgs;
guile = guile_2_0; guile = guile_2_0;
}; };
hadolint = haskell.lib.justStaticExecutables haskellPackages.hadolint; hadolint = haskell.lib.compose.justStaticExecutables haskellPackages.hadolint;
halfempty = callPackage ../development/tools/halfempty {}; halfempty = callPackage ../development/tools/halfempty {};
@ -14837,8 +14839,8 @@ with pkgs;
msitools = callPackage ../development/tools/misc/msitools { }; msitools = callPackage ../development/tools/misc/msitools { };
haskell-ci = haskell.lib.justStaticExecutables haskellPackages.haskell-ci; haskell-ci = haskell.lib.compose.justStaticExecutables haskellPackages.haskell-ci;
haskell-ci-unstable = lowPrio (haskell.lib.justStaticExecutables haskellPackages.haskell-ci-unstable); haskell-ci-unstable = lowPrio (haskell.lib.compose.justStaticExecutables haskellPackages.haskell-ci-unstable);
neoload = callPackage ../development/tools/neoload { neoload = callPackage ../development/tools/neoload {
licenseAccepted = (config.neoload.accept_license or false); licenseAccepted = (config.neoload.accept_license or false);
@ -15128,7 +15130,7 @@ with pkgs;
inherit (darwin.apple_sdk.frameworks) Security; inherit (darwin.apple_sdk.frameworks) Security;
}; };
shake = haskell.lib.justStaticExecutables haskellPackages.shake; shake = haskell.lib.compose.justStaticExecutables haskellPackages.shake;
shallot = callPackage ../tools/misc/shallot { }; shallot = callPackage ../tools/misc/shallot { };
@ -15706,7 +15708,7 @@ with pkgs;
c-blosc = callPackage ../development/libraries/c-blosc { }; c-blosc = callPackage ../development/libraries/c-blosc { };
# justStaticExecutables is needed due to https://github.com/NixOS/nix/issues/2990 # justStaticExecutables is needed due to https://github.com/NixOS/nix/issues/2990
cachix = haskell.lib.justStaticExecutables haskellPackages.cachix; cachix = haskell.lib.compose.justStaticExecutables haskellPackages.cachix;
hercules-ci-agent = callPackage ../development/tools/continuous-integration/hercules-ci-agent { }; hercules-ci-agent = callPackage ../development/tools/continuous-integration/hercules-ci-agent { };
@ -15714,7 +15716,7 @@ with pkgs;
isa-l = callPackage ../development/libraries/isa-l { }; isa-l = callPackage ../development/libraries/isa-l { };
niv = lib.getBin (haskell.lib.justStaticExecutables haskellPackages.niv); niv = lib.getBin (haskell.lib.compose.justStaticExecutables haskellPackages.niv);
ormolu = haskellPackages.ormolu.bin; ormolu = haskellPackages.ormolu.bin;
@ -16617,7 +16619,7 @@ with pkgs;
glib-testing = callPackage ../development/libraries/glib-testing { }; glib-testing = callPackage ../development/libraries/glib-testing { };
glirc = haskell.lib.justStaticExecutables haskellPackages.glirc; glirc = haskell.lib.compose.justStaticExecutables haskellPackages.glirc;
gom = callPackage ../development/libraries/gom { }; gom = callPackage ../development/libraries/gom { };
@ -17013,7 +17015,7 @@ with pkgs;
json2hcl = callPackage ../development/tools/json2hcl { }; json2hcl = callPackage ../development/tools/json2hcl { };
json2yaml = haskell.lib.justStaticExecutables haskellPackages.json2yaml; json2yaml = haskell.lib.compose.justStaticExecutables haskellPackages.json2yaml;
json-glib = callPackage ../development/libraries/json-glib { }; json-glib = callPackage ../development/libraries/json-glib { };
@ -18470,7 +18472,7 @@ with pkgs;
matio = callPackage ../development/libraries/matio { }; matio = callPackage ../development/libraries/matio { };
matterhorn = haskell.lib.justStaticExecutables haskellPackages.matterhorn; matterhorn = haskell.lib.compose.justStaticExecutables haskellPackages.matterhorn;
maxflow = callPackage ../development/libraries/maxflow { }; maxflow = callPackage ../development/libraries/maxflow { };
@ -18957,7 +18959,7 @@ with pkgs;
pkgdiff = callPackage ../tools/misc/pkgdiff { }; pkgdiff = callPackage ../tools/misc/pkgdiff { };
place-cursor-at = haskell.lib.justStaticExecutables haskellPackages.place-cursor-at; place-cursor-at = haskell.lib.compose.justStaticExecutables haskellPackages.place-cursor-at;
plib = callPackage ../development/libraries/plib { }; plib = callPackage ../development/libraries/plib { };
@ -19238,7 +19240,7 @@ with pkgs;
kissfft = callPackage ../development/libraries/kissfft { }; kissfft = callPackage ../development/libraries/kissfft { };
lambdabot = callPackage ../development/tools/haskell/lambdabot { lambdabot = callPackage ../development/tools/haskell/lambdabot {
haskellLib = haskell.lib; haskellLib = haskell.lib.compose;
}; };
lambda-mod-zsh-theme = callPackage ../shells/zsh/lambda-mod-zsh-theme { }; lambda-mod-zsh-theme = callPackage ../shells/zsh/lambda-mod-zsh-theme { };
@ -20665,7 +20667,7 @@ with pkgs;
hashi-ui = callPackage ../servers/hashi-ui {}; hashi-ui = callPackage ../servers/hashi-ui {};
hasura-graphql-engine = haskell.lib.justStaticExecutables haskellPackages.graphql-engine; hasura-graphql-engine = haskell.lib.compose.justStaticExecutables haskellPackages.graphql-engine;
hasura-cli = callPackage ../servers/hasura/cli.nix { }; hasura-cli = callPackage ../servers/hasura/cli.nix { };
@ -21422,7 +21424,7 @@ with pkgs;
sogo = callPackage ../servers/web-apps/sogo { }; sogo = callPackage ../servers/web-apps/sogo { };
spacecookie = spacecookie =
haskell.lib.justStaticExecutables haskellPackages.spacecookie; haskell.lib.compose.justStaticExecutables haskellPackages.spacecookie;
spawn_fcgi = callPackage ../servers/http/spawn-fcgi { }; spawn_fcgi = callPackage ../servers/http/spawn-fcgi { };
@ -24348,9 +24350,9 @@ with pkgs;
dablin = callPackage ../applications/radio/dablin { }; dablin = callPackage ../applications/radio/dablin { };
darcs = haskell.lib.overrideCabal (haskell.lib.justStaticExecutables haskellPackages.darcs) (drv: { darcs = haskell.lib.compose.overrideCabal (drv: {
configureFlags = (lib.remove "-flibrary" drv.configureFlags or []) ++ ["-f-library"]; configureFlags = (lib.remove "-flibrary" drv.configureFlags or []) ++ ["-f-library"];
}); }) (haskell.lib.compose.justStaticExecutables haskellPackages.darcs);
darcs-to-git = callPackage ../applications/version-management/git-and-tools/darcs-to-git { }; darcs-to-git = callPackage ../applications/version-management/git-and-tools/darcs-to-git { };
@ -25557,12 +25559,12 @@ with pkgs;
hivelytracker = callPackage ../applications/audio/hivelytracker { }; hivelytracker = callPackage ../applications/audio/hivelytracker { };
hledger = haskell.lib.justStaticExecutables haskellPackages.hledger; hledger = haskell.lib.compose.justStaticExecutables haskellPackages.hledger;
hledger-check-fancyassertions = callPackage ../applications/office/hledger-check-fancyassertions { }; hledger-check-fancyassertions = callPackage ../applications/office/hledger-check-fancyassertions { };
hledger-iadd = haskell.lib.justStaticExecutables haskellPackages.hledger-iadd; hledger-iadd = haskell.lib.compose.justStaticExecutables haskellPackages.hledger-iadd;
hledger-interest = haskell.lib.justStaticExecutables haskellPackages.hledger-interest; hledger-interest = haskell.lib.compose.justStaticExecutables haskellPackages.hledger-interest;
hledger-ui = haskell.lib.justStaticExecutables haskellPackages.hledger-ui; hledger-ui = haskell.lib.compose.justStaticExecutables haskellPackages.hledger-ui;
hledger-web = haskell.lib.justStaticExecutables haskellPackages.hledger-web; hledger-web = haskell.lib.compose.justStaticExecutables haskellPackages.hledger-web;
homebank = callPackage ../applications/office/homebank { homebank = callPackage ../applications/office/homebank {
gtk = gtk3; gtk = gtk3;
@ -25580,7 +25582,7 @@ with pkgs;
hdl-dump = callPackage ../tools/misc/hdl-dump { }; hdl-dump = callPackage ../tools/misc/hdl-dump { };
hpack = haskell.lib.justStaticExecutables haskellPackages.hpack; hpack = haskell.lib.compose.justStaticExecutables haskellPackages.hpack;
hpcg = callPackage ../tools/misc/hpcg { }; hpcg = callPackage ../tools/misc/hpcg { };
@ -25651,7 +25653,7 @@ with pkgs;
pinboard = with python3Packages; toPythonApplication pinboard; pinboard = with python3Packages; toPythonApplication pinboard;
pinboard-notes-backup = haskell.lib.justStaticExecutables haskellPackages.pinboard-notes-backup; pinboard-notes-backup = haskell.lib.compose.justStaticExecutables haskellPackages.pinboard-notes-backup;
pixelnuke = callPackage ../applications/graphics/pixelnuke { }; pixelnuke = callPackage ../applications/graphics/pixelnuke { };
@ -28259,7 +28261,7 @@ with pkgs;
teamspeak_client = libsForQt5.callPackage ../applications/networking/instant-messengers/teamspeak/client.nix { }; teamspeak_client = libsForQt5.callPackage ../applications/networking/instant-messengers/teamspeak/client.nix { };
teamspeak_server = callPackage ../applications/networking/instant-messengers/teamspeak/server.nix { }; teamspeak_server = callPackage ../applications/networking/instant-messengers/teamspeak/server.nix { };
taskell = haskell.lib.justStaticExecutables haskellPackages.taskell; taskell = haskell.lib.compose.justStaticExecutables haskellPackages.taskell;
tap-plugins = callPackage ../applications/audio/tap-plugins { }; tap-plugins = callPackage ../applications/audio/tap-plugins { };
@ -28564,7 +28566,7 @@ with pkgs;
uroboros = callPackage ../tools/system/uroboros { }; uroboros = callPackage ../tools/system/uroboros { };
uuagc = haskell.lib.justStaticExecutables haskellPackages.uuagc; uuagc = haskell.lib.compose.justStaticExecutables haskellPackages.uuagc;
uucp = callPackage ../tools/misc/uucp { }; uucp = callPackage ../tools/misc/uucp { };
@ -29759,7 +29761,7 @@ with pkgs;
bean-add = callPackage ../applications/office/beancount/bean-add.nix { }; bean-add = callPackage ../applications/office/beancount/bean-add.nix { };
bench = haskell.lib.justStaticExecutables haskellPackages.bench; bench = haskell.lib.compose.justStaticExecutables haskellPackages.bench;
beret = callPackage ../games/beret { }; beret = callPackage ../games/beret { };
@ -32471,9 +32473,9 @@ with pkgs;
nix-bundle = callPackage ../tools/package-management/nix-bundle { }; nix-bundle = callPackage ../tools/package-management/nix-bundle { };
nix-delegate = haskell.lib.justStaticExecutables haskellPackages.nix-delegate; nix-delegate = haskell.lib.compose.justStaticExecutables haskellPackages.nix-delegate;
nix-deploy = haskell.lib.justStaticExecutables haskellPackages.nix-deploy; nix-deploy = haskell.lib.compose.justStaticExecutables haskellPackages.nix-deploy;
nix-diff = haskell.lib.justStaticExecutables haskellPackages.nix-diff; nix-diff = haskell.lib.compose.justStaticExecutables haskellPackages.nix-diff;
nix-du = callPackage ../tools/package-management/nix-du { nix-du = callPackage ../tools/package-management/nix-du {
inherit (darwin.apple_sdk.frameworks) Security; inherit (darwin.apple_sdk.frameworks) Security;
@ -32487,7 +32489,7 @@ with pkgs;
}; };
nix-index = callPackage ../tools/package-management/nix-index/wrapper.nix { }; nix-index = callPackage ../tools/package-management/nix-index/wrapper.nix { };
nix-linter = haskell.lib.justStaticExecutables (haskellPackages.nix-linter); nix-linter = haskell.lib.compose.justStaticExecutables (haskellPackages.nix-linter);
nixos-option = callPackage ../tools/nix/nixos-option { nix = nix_2_3; }; nixos-option = callPackage ../tools/nix/nixos-option { nix = nix_2_3; };
@ -32518,7 +32520,7 @@ with pkgs;
nix-top = callPackage ../tools/package-management/nix-top { }; nix-top = callPackage ../tools/package-management/nix-top { };
nix-tree = haskell.lib.justStaticExecutables (haskellPackages.nix-tree); nix-tree = haskell.lib.compose.justStaticExecutables (haskellPackages.nix-tree);
nix-universal-prefetch = callPackage ../tools/package-management/nix-universal-prefetch { }; nix-universal-prefetch = callPackage ../tools/package-management/nix-universal-prefetch { };
@ -32534,7 +32536,7 @@ with pkgs;
nix-simple-deploy = callPackage ../tools/package-management/nix-simple-deploy { }; nix-simple-deploy = callPackage ../tools/package-management/nix-simple-deploy { };
nixfmt = haskell.lib.justStaticExecutables haskellPackages.nixfmt; nixfmt = haskell.lib.compose.justStaticExecutables haskellPackages.nixfmt;
nixpkgs-fmt = callPackage ../tools/nix/nixpkgs-fmt { }; nixpkgs-fmt = callPackage ../tools/nix/nixpkgs-fmt { };

View file

@ -19,13 +19,13 @@ let
"ghcHEAD" "ghcHEAD"
]; ];
haskellLib = import ../development/haskell-modules/lib.nix { haskellLibUncomposable = import ../development/haskell-modules/lib.nix {
inherit (pkgs) lib; inherit (pkgs) lib;
inherit pkgs; inherit pkgs;
}; };
callPackage = newScope { callPackage = newScope {
inherit haskellLib; haskellLib = haskellLibUncomposable.compose;
overrides = pkgs.haskell.packageOverrides; overrides = pkgs.haskell.packageOverrides;
}; };
@ -44,7 +44,7 @@ let
inherit (pkgs.haskell) compiler packages; inherit (pkgs.haskell) compiler packages;
in { in {
lib = haskellLib; lib = haskellLibUncomposable;
package-list = callPackage ../development/haskell-modules/package-list.nix {}; package-list = callPackage ../development/haskell-modules/package-list.nix {};