From 10b771c61a02fc9db2047e880388ac9dcefe8f8c Mon Sep 17 00:00:00 2001 From: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> Date: Sat, 1 May 2021 13:24:25 +0200 Subject: 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. --- pkgs/test/default.nix | 3 +- pkgs/test/haskell-documentationTarball/default.nix | 17 ----------- pkgs/test/haskell-shellFor/default.nix | 33 ---------------------- pkgs/test/haskell/default.nix | 6 ++++ pkgs/test/haskell/documentationTarball/default.nix | 17 +++++++++++ pkgs/test/haskell/shellFor/default.nix | 33 ++++++++++++++++++++++ 6 files changed, 57 insertions(+), 52 deletions(-) delete mode 100644 pkgs/test/haskell-documentationTarball/default.nix delete mode 100644 pkgs/test/haskell-shellFor/default.nix create mode 100644 pkgs/test/haskell/default.nix create mode 100644 pkgs/test/haskell/documentationTarball/default.nix create mode 100644 pkgs/test/haskell/shellFor/default.nix (limited to 'pkgs/test') diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix index b24fc539c93..89656dde292 100644 --- a/pkgs/test/default.nix +++ b/pkgs/test/default.nix @@ -22,8 +22,7 @@ with pkgs; cc-wrapper-libcxx-9 = callPackage ./cc-wrapper { stdenv = llvmPackages_9.libcxxStdenv; }; stdenv-inputs = callPackage ./stdenv-inputs { }; - haskell-shellFor = callPackage ./haskell-shellFor { }; - haskell-documentationTarball = callPackage ./haskell-documentationTarball { }; + haskell = callPackage ./haskell { }; cc-multilib-gcc = callPackage ./cc-wrapper/multilib.nix { stdenv = gccMultiStdenv; }; cc-multilib-clang = callPackage ./cc-wrapper/multilib.nix { stdenv = clangMultiStdenv; }; diff --git a/pkgs/test/haskell-documentationTarball/default.nix b/pkgs/test/haskell-documentationTarball/default.nix deleted file mode 100644 index aec3dc41f26..00000000000 --- a/pkgs/test/haskell-documentationTarball/default.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ 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" -'' diff --git a/pkgs/test/haskell-shellFor/default.nix b/pkgs/test/haskell-shellFor/default.nix deleted file mode 100644 index 9d13e1112cc..00000000000 --- a/pkgs/test/haskell-shellFor/default.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ 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; }; -}) diff --git a/pkgs/test/haskell/default.nix b/pkgs/test/haskell/default.nix new file mode 100644 index 00000000000..8171f929311 --- /dev/null +++ b/pkgs/test/haskell/default.nix @@ -0,0 +1,6 @@ +{ lib, callPackage }: + +lib.recurseIntoAttrs { + shellFor = callPackage ./shellFor { }; + documentationTarball = callPackage ./documentationTarball { }; +} diff --git a/pkgs/test/haskell/documentationTarball/default.nix b/pkgs/test/haskell/documentationTarball/default.nix new file mode 100644 index 00000000000..aec3dc41f26 --- /dev/null +++ b/pkgs/test/haskell/documentationTarball/default.nix @@ -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" +'' diff --git a/pkgs/test/haskell/shellFor/default.nix b/pkgs/test/haskell/shellFor/default.nix new file mode 100644 index 00000000000..9d13e1112cc --- /dev/null +++ b/pkgs/test/haskell/shellFor/default.nix @@ -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; }; +}) -- cgit 1.4.1