nixpkgs/pkgs/development/tools/build-managers/gup/default.nix
Jan Tojnar 59a94b57f0
update.nix: Run update scripts in parallel
To make updating large attribute sets faster, the update scripts
are now run in parallel.

Please note the following changes in semantics:

- The string passed to updateScript needs to be a path to an executable file.
- The updateScript can also be a list: the tail elements will then be passed
  to the head as command line arguments.
2018-12-01 19:17:13 +01:00

40 lines
1.1 KiB
Nix

{ stdenv, fetchFromGitHub, nix-update-source, lib, python, which, pychecker ? null }:
stdenv.mkDerivation rec {
version = "0.7.0";
src = fetchFromGitHub {
owner = "timbertson";
repo = "gup";
rev = "version-0.7.0";
sha256 = "1pwnmlq2pgkkln9sgz4wlb9dqlqw83bkf105qljnlvggc21zm3pv";
};
name = "gup-${version}";
buildInputs = lib.remove null [ python which pychecker ];
SKIP_PYCHECKER = pychecker == null;
buildPhase = "make python";
installPhase = ''
mkdir $out
cp -r python/bin $out/bin
'';
passthru.updateScript = ''
#!${stdenv.shell}
set -e
echo
cd ${toString ./.}
${nix-update-source}/bin/nix-update-source \
--prompt version \
--replace-attr version \
--set owner timbertson \
--set repo gup \
--set type fetchFromGitHub \
--set rev 'version-{version}' \
--modify-nix default.nix
'';
meta = {
inherit (src.meta) homepage;
description = "A better make, inspired by djb's redo";
license = stdenv.lib.licenses.lgpl2Plus;
maintainers = [ stdenv.lib.maintainers.timbertson ];
platforms = stdenv.lib.platforms.all;
};
}