nixpkgs/pkgs/development/tools/haskell/cabal2nix/cabal2nix.nix
2015-12-18 11:37:44 +01:00

37 lines
1.3 KiB
Nix

{ mkDerivation, ansi-wl-pprint, base, Cabal, containers
, distribution-nixpkgs, language-nix, lens, optparse-applicative
, pretty, pretty-show, stdenv, text, yaml
, nix-prefetch-scripts, makeWrapper, fetchFromGitHub
}:
mkDerivation rec {
pname = "cabal2nix";
version = "20151217";
src = fetchFromGitHub {
owner = "nixos";
repo = "cabal2nix";
rev = "v${version}";
sha256 = "1140ym5j1prvzyfw8q784dr0hwvfw6s4h63j3a4j67cawa2dbkr5";
};
postUnpack = "sourceRoot+=/${pname}";
isLibrary = false;
isExecutable = true;
enableSharedExecutables = false;
executableHaskellDepends = [
ansi-wl-pprint base Cabal containers distribution-nixpkgs
language-nix lens optparse-applicative pretty pretty-show text yaml
];
executableToolDepends = [ makeWrapper ];
postInstall = ''
exe=$out/libexec/${pname}-${version}/${pname}
install -D $out/bin/${pname} $exe
rm -rf $out/{bin,lib,share}
makeWrapper $exe $out/bin/${pname} --prefix PATH ":" "${nix-prefetch-scripts}/bin"
mkdir -p $out/share/bash-completion/completions
$exe --bash-completion-script $exe >$out/share/bash-completion/completions/${pname}
'';
homepage = "https://github.com/nixos/cabal2nix#readme";
description = "Convert Cabal files into Nix build instructions";
license = stdenv.lib.licenses.bsd3;
maintainers = with stdenv.lib.maintainers; [ simons ];
}