
This reverts commit 65a333600d5c88a98d674f637d092807cfc12253. This wasn't tested for correctness with something like fodwatch [0], and should not have been (self-)merged so quickly, especially without further review. It also resulted in the breakage of at least one package [1] (and that's the one we know of and was caught). A few packages that were updated in between this commit and this revert were not reverted back to using `rev`, but other than that, this is a 1:1 revert. [0]: https://codeberg.org/raphaelr/fodwatch [1]: https://github.com/NixOS/nixpkgs/pull/396904 / 758551e4587d75882aebc21a04bee960418f8ce9
57 lines
1.3 KiB
Nix
57 lines
1.3 KiB
Nix
{
|
|
lib,
|
|
buildNimPackage,
|
|
fetchFromGitHub,
|
|
nim,
|
|
makeWrapper,
|
|
}:
|
|
|
|
buildNimPackage (finalAttrs: {
|
|
pname = "balls";
|
|
version = "5.4.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "disruptek";
|
|
repo = "balls";
|
|
rev = finalAttrs.version;
|
|
hash = "sha256-CMYkMkekVI0C1WUds+KBbRfjMte42kBAB2ddtQp8d+k=";
|
|
};
|
|
|
|
nativeBuildInputs = [ makeWrapper ];
|
|
|
|
lockFile = ./lock.json;
|
|
|
|
postPatch =
|
|
# Trim comments from the Nimble file.
|
|
''
|
|
sed \
|
|
-e 's/[[:space:]]* # .*$//g' \
|
|
-i balls.nimble
|
|
'';
|
|
|
|
preCheck = ''
|
|
echo 'path:"$projectDir/.."' > tests/nim.cfg
|
|
'';
|
|
|
|
postFixup =
|
|
let
|
|
lockAttrs = builtins.fromJSON (builtins.readFile finalAttrs.lockFile);
|
|
pathFlagOfFod = { path, srcDir, ... }: ''"--path:${path}/${srcDir}"'';
|
|
pathFlags = map pathFlagOfFod lockAttrs.depends;
|
|
in
|
|
''
|
|
wrapProgram $out/bin/balls \
|
|
--suffix PATH : ${lib.makeBinPath [ nim ]} \
|
|
--append-flags '--path:"${finalAttrs.src}" ${toString pathFlags}'
|
|
'';
|
|
|
|
meta = finalAttrs.src.meta // {
|
|
description = "The testing framework with balls";
|
|
homepage = "https://github.com/disruptek/balls";
|
|
mainProgram = "balls";
|
|
license = lib.licenses.mit;
|
|
platforms = lib.platforms.linux;
|
|
maintainers = with lib.maintainers; [ ehmry ];
|
|
};
|
|
})
|