writers: add writeGuile[Bin] (#364531)
[NixPkgs.git] / pkgs / by-name / ro / rolespec / package.nix
blobf6b12a6f788bfbfe879b129f8d1d8483016ab7c9
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   makeWrapper,
6 }:
8 stdenv.mkDerivation rec {
9   pname = "rolespec";
10   version = "20161104";
12   src = fetchFromGitHub {
13     owner = "nickjj";
14     repo = "rolespec";
15     rev = "d9ee530cd709168882059776c482fc37f46cb743";
16     sha256 = "1jkidw6aqr0zfqwmcvlpi9qa140z2pxcfsd43xm5ikx6jcwjdrzl";
17   };
19   nativeBuildInputs = [ makeWrapper ];
21   # The default build phase (`make`) runs the test code. It's difficult to do
22   # the test in the build environment because it depends on the system package
23   # managers (apt/yum/pacman). We simply skip this phase since RoleSpec is
24   # shell based.
25   dontBuild = true;
27   # Wrap the program because `ROLESPEC_LIB` defaults to
28   # `/usr/local/lib/rolespec`.
29   installPhase = ''
30     make install PREFIX=$out
31     wrapProgram $out/bin/rolespec --set ROLESPEC_LIB $out/lib/rolespec
32   '';
34   # Since RoleSpec installs the shell script files in `lib` directory, the
35   # fixup phase shows some warnings. Disable these actions.
36   dontPatchELF = true;
37   dontStrip = true;
39   meta = with lib; {
40     homepage = "https://github.com/nickjj/rolespec";
41     description = "Test library for testing Ansible roles";
42     mainProgram = "rolespec";
43     longDescription = ''
44       A shell based test library for Ansible that works both locally and over
45       Travis-CI.
46     '';
47     downloadPage = "https://github.com/nickjj/rolespec";
48     license = licenses.gpl3;
49     maintainers = [ maintainers.dochang ];
50     platforms = platforms.unix;
51   };