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
51
pkgs/tools/filesystems/unionfs-fuse/default.nix
Normal file
51
pkgs/tools/filesystems/unionfs-fuse/default.nix
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake, fuse }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "unionfs-fuse";
|
||||
version = "2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rpodgorny";
|
||||
repo = "unionfs-fuse";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-EJryML6E0CW4kvsqMRqV3cq77j50HuylNzgaHD6CL/o=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Prevent the unionfs daemon from being killed during
|
||||
# shutdown. See
|
||||
# http://www.freedesktop.org/wiki/Software/systemd/RootStorageDaemons/
|
||||
# for details.
|
||||
./prevent-kill-on-shutdown.patch
|
||||
];
|
||||
|
||||
postPatch = lib.optionalString stdenv.isDarwin ''
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace '/usr/local/include/osxfuse/fuse' '${fuse}/include/fuse'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ fuse ];
|
||||
|
||||
# Put the unionfs mount helper in place as mount.unionfs-fuse. This makes it
|
||||
# possible to do:
|
||||
# mount -t unionfs-fuse none /dest -o dirs=/source1=RW,/source2=RO
|
||||
#
|
||||
# This must be done in preConfigure because the build process removes
|
||||
# helper from the source directory during the build.
|
||||
preConfigure = lib.optionalString (!stdenv.isDarwin) ''
|
||||
mkdir -p $out/sbin
|
||||
cp -a mount.unionfs $out/sbin/mount.unionfs-fuse
|
||||
substituteInPlace $out/sbin/mount.unionfs-fuse --replace mount.fuse ${fuse}/sbin/mount.fuse
|
||||
substituteInPlace $out/sbin/mount.unionfs-fuse --replace unionfs $out/bin/unionfs
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
broken = stdenv.isDarwin;
|
||||
description = "FUSE UnionFS implementation";
|
||||
homepage = "https://github.com/rpodgorny/unionfs-fuse";
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ orivej ];
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
diff -ru -x '*~' unionfs-fuse-0.26-orig/src/unionfs.c unionfs-fuse-0.26/src/unionfs.c
|
||||
--- unionfs-fuse-0.26-orig/src/unionfs.c 2012-09-11 00:06:32.000000000 +0200
|
||||
+++ unionfs-fuse-0.26/src/unionfs.c 2014-05-21 14:22:03.597861805 +0200
|
||||
@@ -831,6 +831,10 @@
|
||||
}
|
||||
#endif
|
||||
|
||||
+ /* Prevent systemd's shutdown from killing us. */
|
||||
+ if (access("/etc/initrd-release", F_OK) >= 0)
|
||||
+ argv[0][0] = '@';
|
||||
+
|
||||
umask(0);
|
||||
int res = fuse_main(args.argc, args.argv, &unionfs_oper, NULL);
|
||||
RETURN(uopt.doexit ? uopt.retval : res);
|
||||
Loading…
Add table
Add a link
Reference in a new issue