46 lines
1.4 KiB
Nix
46 lines
1.4 KiB
Nix
{ stdenv, fetchurl, perl, perlPackages, makeWrapper }:
|
|
|
|
let
|
|
pname = "stow";
|
|
version = "2.3.0";
|
|
in
|
|
stdenv.mkDerivation {
|
|
name = "${pname}-${version}";
|
|
|
|
src = fetchurl {
|
|
url = "mirror://gnu/stow/stow-${version}.tar.bz2";
|
|
sha256 = "1fnn83wwx3yaxpqkq8xyya3aiibz19fwrfj30nsiikm7igmwgiv5";
|
|
};
|
|
|
|
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;
|
|
};
|
|
}
|