tests.haskell*: move into tests.haskell set

This will make it easier to add all haskell related tests to the haskell
hydra jobset without updating a list of tests in two places.
This commit is contained in:
sternenseemann
2021-05-01 22:58:35 +02:00
committed by sterni
parent ee30de13b7
commit 10b771c61a
4 changed files with 7 additions and 2 deletions
+6
View File
@@ -0,0 +1,6 @@
{ lib, callPackage }:
lib.recurseIntoAttrs {
shellFor = callPackage ./shellFor { };
documentationTarball = callPackage ./documentationTarball { };
}
@@ -0,0 +1,17 @@
{ pkgs, haskellPackages }:
let
drv = haskellPackages.vector;
docs = pkgs.haskell.lib.documentationTarball drv;
in pkgs.runCommand "test haskell.lib.documentationTarball" { } ''
tar xvzf "${docs}/${drv.name}-docs.tar.gz"
# Check for Haddock html
find "${drv.name}-docs" | grep -q "Data-Vector.html"
# Check for source html
find "${drv.name}-docs" | grep -q "src/Data.Vector.html"
touch "$out"
''
+33
View File
@@ -0,0 +1,33 @@
{ lib, haskellPackages, cabal-install }:
(haskellPackages.shellFor {
packages = p: [ p.database-id-class p.constraints ];
nativeBuildInputs = [ cabal-install ];
phases = [ "unpackPhase" "buildPhase" "installPhase" ];
unpackPhase = ''
sourceRoot=$(pwd)/scratch
mkdir -p "$sourceRoot"
cd "$sourceRoot"
tar -xf ${haskellPackages.database-id-class.src}
tar -xf ${haskellPackages.constraints.src}
cp ${builtins.toFile "cabal.project" "packages: database-id-class* constraints*"} cabal.project
'';
buildPhase = ''
export HOME=$(mktemp -d)
mkdir -p $HOME/.cabal
touch $HOME/.cabal/config
cabal v2-build --offline --verbose database-id-class constraints --ghc-options="-O0 -j$NIX_BUILD_CORES"
'';
installPhase = ''
touch $out
'';
}).overrideAttrs (oldAttrs: {
meta =
let
oldMeta = oldAttrs.meta or {};
oldMaintainers = oldMeta.maintainers or [];
additionalMaintainers = with lib.maintainers; [ cdepillabout ];
allMaintainers = oldMaintainers ++ additionalMaintainers;
in
oldMeta // { maintainers = allMaintainers; };
})