50 lines
1.5 KiB
Nix
50 lines
1.5 KiB
Nix
{ lib, stdenv, fetchFromGitHub, makeWrapper }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
name = "rolespec-${meta.version}";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "nickjj";
|
|
repo = "rolespec";
|
|
rev = "d9ee530cd709168882059776c482fc37f46cb743";
|
|
sha256 = "1jkidw6aqr0zfqwmcvlpi9qa140z2pxcfsd43xm5ikx6jcwjdrzl";
|
|
inherit name;
|
|
};
|
|
|
|
buildInputs = [ makeWrapper ];
|
|
|
|
# The default build phase (`make`) runs the test code. It's difficult to do
|
|
# the test in the build environment because it depends on the system package
|
|
# managers (apt/yum/pacman). We simply skip this phase since RoleSpec is
|
|
# shell based.
|
|
dontBuild = true;
|
|
|
|
# Wrap the program because `ROLESPEC_LIB` defaults to
|
|
# `/usr/local/lib/rolespec`.
|
|
installPhase = ''
|
|
make install PREFIX=$out
|
|
wrapProgram $out/bin/rolespec --set ROLESPEC_LIB $out/lib/rolespec
|
|
'';
|
|
|
|
# Since RoleSpec installs the shell script files in `lib` directory, the
|
|
# fixup phase shows some warnings. Disable these actions.
|
|
dontPatchELF = true;
|
|
dontStrip = true;
|
|
|
|
meta = with lib; {
|
|
homepage = "https://github.com/nickjj/rolespec";
|
|
description = "A test library for testing Ansible roles";
|
|
longDescription = ''
|
|
A shell based test library for Ansible that works both locally and over
|
|
Travis-CI.
|
|
'';
|
|
downloadPage = "https://github.com/nickjj/rolespec";
|
|
license = licenses.gpl3;
|
|
version = "20161104";
|
|
maintainers = [ maintainers.dochang ];
|
|
platforms = platforms.unix;
|
|
};
|
|
|
|
}
|