uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
70
pkgs/development/tools/build-managers/tup/default.nix
Normal file
70
pkgs/development/tools/build-managers/tup/default.nix
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
{ lib, stdenv, fetchFromGitHub, fuse3, macfuse-stubs, pkg-config, pcre }:
|
||||
|
||||
let
|
||||
fuse = if stdenv.isDarwin then macfuse-stubs else fuse3;
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "tup";
|
||||
version = "0.7.11";
|
||||
outputs = [ "bin" "man" "out" ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gittup";
|
||||
repo = "tup";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Q2Y5ErcfhLChi9Wezn8+7eNXYX2UXW1fBOqEclmgzOo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ fuse pcre ];
|
||||
|
||||
patches = [ ./fusermount-setuid.patch ];
|
||||
|
||||
configurePhase = ''
|
||||
substituteInPlace src/tup/link.sh --replace '`git describe' '`echo ${version}'
|
||||
substituteInPlace Tuprules.tup --replace 'pcre-config' 'pkg-config libpcre'
|
||||
'';
|
||||
|
||||
# Regular tup builds require fusermount to have suid, which nix cannot
|
||||
# currently provide in a build environment, so we bootstrap and use 'tup
|
||||
# generate' instead
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
./build.sh
|
||||
./build/tup init
|
||||
./build/tup generate script.sh
|
||||
./script.sh
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -D tup -t $bin/bin/
|
||||
install -D tup.1 -t $man/share/man/man1/
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A fast, file-based build system";
|
||||
longDescription = ''
|
||||
Tup is a file-based build system for Linux, OSX, and Windows. It inputs a list
|
||||
of file changes and a directed acyclic graph (DAG), then processes the DAG to
|
||||
execute the appropriate commands required to update dependent files. Updates are
|
||||
performed with very little overhead since tup implements powerful build
|
||||
algorithms to avoid doing unnecessary work. This means you can stay focused on
|
||||
your project rather than on your build system.
|
||||
'';
|
||||
homepage = "http://gittup.org/tup/";
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ ehmry ];
|
||||
platforms = platforms.unix;
|
||||
|
||||
# TODO: Remove once nixpkgs uses newer SDKs that supports '*at' functions.
|
||||
# Probably MacOS SDK 10.13 or later. Check the current version in
|
||||
# ../../../../os-specific/darwin/apple-sdk/default.nix
|
||||
#
|
||||
# https://github.com/gittup/tup/commit/3697c74
|
||||
broken = stdenv.isDarwin;
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue