2020-04-24 23:36:52 +00:00
|
|
|
{ haskell
|
2024-05-15 15:35:15 +00:00
|
|
|
, haskellPackages
|
2020-04-24 23:36:52 +00:00
|
|
|
, lib
|
2020-12-26 04:20:00 +00:00
|
|
|
|
|
|
|
# The following are only needed for the passthru.tests:
|
2024-05-15 15:35:15 +00:00
|
|
|
, spago
|
2021-04-12 18:23:04 +00:00
|
|
|
, cacert
|
2020-12-26 04:20:00 +00:00
|
|
|
, git
|
2020-04-24 23:36:52 +00:00
|
|
|
, nodejs
|
|
|
|
, purescript
|
|
|
|
, runCommand
|
|
|
|
}:
|
|
|
|
|
2024-05-15 15:35:15 +00:00
|
|
|
lib.pipe
|
|
|
|
haskellPackages.spago
|
|
|
|
[
|
|
|
|
haskell.lib.compose.justStaticExecutables
|
2020-04-24 23:36:52 +00:00
|
|
|
|
2024-05-15 15:35:15 +00:00
|
|
|
(haskell.lib.compose.overrideCabal (oldAttrs: {
|
|
|
|
changelog = "https://github.com/purescript/spago/releases/tag/${oldAttrs.version}";
|
2020-04-24 23:36:52 +00:00
|
|
|
|
2024-05-15 15:35:15 +00:00
|
|
|
passthru = (oldAttrs.passthru or {}) // {
|
|
|
|
updateScript = ./update.sh;
|
2020-04-24 23:36:52 +00:00
|
|
|
|
2024-05-15 15:35:15 +00: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 = [
|
|
|
|
cacert
|
|
|
|
git
|
|
|
|
nodejs
|
|
|
|
purescript
|
|
|
|
spago
|
|
|
|
];
|
|
|
|
}
|
|
|
|
''
|
|
|
|
# spago expects HOME to be set because it creates a cache file under
|
|
|
|
# home.
|
|
|
|
HOME=$(pwd)
|
2020-04-24 23:36:52 +00:00
|
|
|
|
2024-05-15 15:35:15 +00:00
|
|
|
spago --verbose init
|
|
|
|
spago --verbose build
|
|
|
|
spago --verbose test
|
|
|
|
|
|
|
|
touch $out
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
}))
|
|
|
|
]
|