nixpkgs/pkgs/development/tools/purescript/spago/default.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

62 lines
1.3 KiB
Nix
Raw Normal View History

2020-02-10 06:54:23 +03:00
{ haskell
2019-12-20 10:12:29 +03:00
, lib
2020-12-23 11:30:54 +03:00
# The following are only needed for the passthru.tests:
2021-04-09 17:47:09 +03:00
, cacert
2020-12-23 11:30:54 +03:00
, git
2020-02-10 06:54:23 +03:00
, nodejs
, purescript
, runCommand
}:
2019-12-20 10:12:29 +03:00
2020-02-10 06:54:23 +03:00
let
spago =
2022-11-26 10:28:54 +03:00
lib.pipe
haskell.packages.ghc90.spago
[ haskell.lib.compose.justStaticExecutables
(haskell.lib.compose.overrideCabal (oldAttrs: {
changelog = "https://github.com/purescript/spago/releases/tag/${oldAttrs.version}";
}))
];
2020-02-10 06:54:23 +03:00
in
2019-12-20 10:12:29 +03:00
2020-02-10 06:54:23 +03:00
spago.overrideAttrs (oldAttrs: {
2019-12-20 10:12:29 +03:00
passthru = (oldAttrs.passthru or {}) // {
updateScript = ./update.sh;
2020-02-10 06:54:23 +03:00
# These tests can be run with the following command. The tests access the
# network, so they cannot be run in the nix sandbox. sudo is needed in
# order to change the sandbox option.
#
# $ sudo nix-build -A spago.passthru.tests --option sandbox relaxed
#
tests =
runCommand
"spago-tests"
{
__noChroot = true;
nativeBuildInputs = [
2021-04-09 17:47:09 +03:00
cacert
2020-12-23 11:30:54 +03:00
git
2020-02-10 06:54:23 +03:00
nodejs
purescript
spago
];
}
''
# spago expects HOME to be set because it creates a cache file under
# home.
HOME=$(pwd)
spago --verbose init
spago --verbose build
spago --verbose test
touch $out
'';
2019-12-20 10:12:29 +03:00
};
2024-01-19 18:23:37 +03:00
meta = (oldAttrs.meta or {}) // {
mainProgram = "spago";
};
2020-02-10 06:54:23 +03:00
})