nixpkgs/pkgs/tools/security/mktemp/default.nix
Sergei Trofimovich af5b1dbeb2 mktemp: fix parallel installing
Without the upstream patch parallel install fails as:

    mktemp> mkdir /nix/store/k5b7wyhwyv9x3z5i6d88y7l1kdrkkfgj-mktemp-1.7/share/man/man1
    mktemp> cp: cannot create regular file '/nix/store/k5b7wyhwyv9x3z5i6d88y7l1kdrkkfgj-mktemp-1.7/share/man/man1/1185.tmp': No such file or directory
    mktemp> make: *** [Makefile:101: install-man] Error 1
    mktemp> make: *** Waiting for unfinished jobs....
2023-10-15 08:53:38 +01:00

43 lines
1.0 KiB
Nix

{ lib
, stdenv
, fetchurl
, fetchpatch
, groff
}:
stdenv.mkDerivation rec {
pname = "mktemp";
version = "1.7";
# Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
NROFF = "${groff}/bin/nroff";
patches = [
# Pull upstream fix for parallel install failures.
(fetchpatch {
name = "parallel-install.patch";
url = "https://www.mktemp.org/repos/mktemp/raw-rev/eb87d96ce8b7";
hash = "sha256-cJ/0pFj8tOkByUwhlMwLNSQgTHyAU8svEkjKWWwsNmY=";
})
];
# Don't use "install -s"
postPatch = ''
substituteInPlace Makefile.in --replace " 0555 -s " " 0555 "
'';
src = fetchurl {
url = "ftp://ftp.mktemp.org/pub/mktemp/mktemp-${version}.tar.gz";
sha256 = "0x969152znxxjbj7387xb38waslr4yv6bnj5jmhb4rpqxphvk54f";
};
enableParallelBuilding = true;
meta = with lib; {
description = "Simple tool to make temporary file handling in shells scripts safe and simple";
homepage = "https://www.mktemp.org";
license = licenses.isc;
platforms = platforms.unix;
};
}