fix minifakeroot on macos
This commit is contained in:
@@ -191,26 +191,8 @@ in
|
|||||||
config.services.zerotierone.package
|
config.services.zerotierone.package
|
||||||
pkgs.python3
|
pkgs.python3
|
||||||
];
|
];
|
||||||
generator.script =
|
generator.script = ''
|
||||||
let
|
source ${(pkgs.callPackage ../../../pkgs/minifakeroot { })}/share/minifakeroot/rc
|
||||||
library = "libfakeroot${pkgs.stdenv.hostPlatform.extensions.sharedLibrary}";
|
|
||||||
minifakeroot = pkgs.stdenv.mkDerivation {
|
|
||||||
name = "minifakeroot";
|
|
||||||
dontUnpack = true;
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/lib
|
|
||||||
${
|
|
||||||
if pkgs.stdenv.isDarwin then
|
|
||||||
"$CC -dynamiclib -o $out/lib/libfakeroot.dylib ${./fake_root.c}"
|
|
||||||
else
|
|
||||||
"$CC -shared -o $out/lib/libfakeroot.so ${./fake_root.c}"
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
varName = if pkgs.stdenv.isDarwin then "DYLD_INSERT_LIBRARIES" else "LD_PRELOAD";
|
|
||||||
in
|
|
||||||
''
|
|
||||||
export ${varName}=${minifakeroot}/lib/${library}
|
|
||||||
python3 ${./generate.py} --mode network \
|
python3 ${./generate.py} --mode network \
|
||||||
--ip "$facts/zerotier-ip" \
|
--ip "$facts/zerotier-ip" \
|
||||||
--identity-secret "$secrets/zerotier-identity-secret" \
|
--identity-secret "$secrets/zerotier-identity-secret" \
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
zt-tcp-relay = pkgs.callPackage ./zt-tcp-relay { };
|
zt-tcp-relay = pkgs.callPackage ./zt-tcp-relay { };
|
||||||
moonlight-sunshine-accept = pkgs.callPackage ./moonlight-sunshine-accept { };
|
moonlight-sunshine-accept = pkgs.callPackage ./moonlight-sunshine-accept { };
|
||||||
merge-after-ci = pkgs.callPackage ./merge-after-ci { inherit (config.packages) tea-create-pr; };
|
merge-after-ci = pkgs.callPackage ./merge-after-ci { inherit (config.packages) tea-create-pr; };
|
||||||
|
minifakeroot = pkgs.callPackage ./minifakeroot { };
|
||||||
pending-reviews = pkgs.callPackage ./pending-reviews { };
|
pending-reviews = pkgs.callPackage ./pending-reviews { };
|
||||||
editor = pkgs.callPackage ./editor/clan-edit-codium.nix { };
|
editor = pkgs.callPackage ./editor/clan-edit-codium.nix { };
|
||||||
classgen = pkgs.callPackage ./classgen { };
|
classgen = pkgs.callPackage ./classgen { };
|
||||||
|
|||||||
18
pkgs/minifakeroot/default.nix
Normal file
18
pkgs/minifakeroot/default.nix
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{ stdenv }:
|
||||||
|
let
|
||||||
|
varName = if stdenv.isDarwin then "DYLD_INSERT_LIBRARIES" else "LD_PRELOAD";
|
||||||
|
linkerFlags = if stdenv.isDarwin then "-dynamiclib" else "-shared";
|
||||||
|
sharedLibrary = stdenv.hostPlatform.extensions.sharedLibrary;
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "minifakeroot";
|
||||||
|
dontUnpack = true;
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/lib
|
||||||
|
$CC ${linkerFlags} -o $out/lib/libfakeroot${sharedLibrary} ${./main.c}
|
||||||
|
mkdir -p $out/share/minifakeroot
|
||||||
|
cat > $out/share/minifakeroot/rc <<EOF
|
||||||
|
export ${varName}=$out/lib/libfakeroot${sharedLibrary}
|
||||||
|
EOF
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -1,4 +1,8 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
#ifdef __APPLE__
|
||||||
|
#include <unistd.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef uint32_t uid_t;
|
typedef uint32_t uid_t;
|
||||||
|
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
Reference in New Issue
Block a user