nixpkgs/pkgs/tools/misc/stow/default.nix

47 lines
1.4 KiB
Nix
Raw Normal View History

2019-06-29 15:46:31 +01:00
{ stdenv, fetchurl, perl, perlPackages, makeWrapper }:
2016-05-30 13:39:29 +01:00
let
2019-06-29 15:46:31 +01:00
pname = "stow";
version = "2.3.0";
2016-05-30 13:39:29 +01:00
in
stdenv.mkDerivation {
2019-06-29 15:46:31 +01:00
name = "${pname}-${version}";
src = fetchurl {
2016-05-30 13:39:29 +01:00
url = "mirror://gnu/stow/stow-${version}.tar.bz2";
2019-06-29 15:46:31 +01:00
sha256 = "1fnn83wwx3yaxpqkq8xyya3aiibz19fwrfj30nsiikm7igmwgiv5";
};
2019-06-29 15:46:31 +01:00
nativeBuildInputs = [ makeWrapper ];
buildInputs = with perlPackages; [ perl IOStringy TestOutput HashMerge Clone CloneChoose ];
postFixup = ''
wrapProgram "$out"/bin/stow \
--set PERL5LIB "$out/lib/perl5/site_perl:${with perlPackages; makePerlPath [
HashMerge Clone CloneChoose
]}"
'';
doCheck = true;
meta = {
description = "A tool for managing the installation of multiple software packages in the same run-time directory tree";
longDescription = ''
GNU Stow is a symlink farm manager which takes distinct packages
of software and/or data located in separate directories on the
filesystem, and makes them appear to be installed in the same
place. For example, /usr/local/bin could contain symlinks to
files within /usr/local/stow/emacs/bin, /usr/local/stow/perl/bin
etc., and likewise recursively for any other subdirectories such
as .../share, .../man, and so on.
'';
license = stdenv.lib.licenses.gpl3Plus;
homepage = https://www.gnu.org/software/stow/;
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
platforms = stdenv.lib.platforms.all;
};
}