forked from mirrors/nixpkgs
47a7383395
Darling has a case conflict which means that its src hash will be different between case sensitive and case insensitive file systems. This is not ideal and the only way around it is basically to remove the offending files from the output. I use fetchzip here to do that but I hope there is a better fix available eventually.
40 lines
1 KiB
Nix
40 lines
1 KiB
Nix
{stdenv, lib, fetchzip, cmake, bison, flex}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "darling";
|
|
name = pname;
|
|
|
|
src = fetchzip {
|
|
url = "https://github.com/darlinghq/darling/archive/d2cc5fa748003aaa70ad4180fff0a9a85dc65e9b.tar.gz";
|
|
sha256 = "11b51fw47nl505h63bgx5kqiyhf3glhp1q6jkpb6nqfislnzzkrf";
|
|
postFetch = ''
|
|
# Get rid of case conflict
|
|
mkdir $out
|
|
cd $out
|
|
tar -xzf $downloadedFile --strip-components=1
|
|
rm -r $out/src/libm
|
|
'';
|
|
};
|
|
|
|
# only packaging sandbox for now
|
|
buildPhase = ''
|
|
cc -c src/sandbox/sandbox.c -o src/sandbox/sandbox.o
|
|
cc -dynamiclib -flat_namespace src/sandbox/sandbox.o -o libsystem_sandbox.dylib
|
|
'';
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/lib
|
|
cp -rL src/sandbox/include/ $out/
|
|
cp libsystem_sandbox.dylib $out/lib/
|
|
'';
|
|
|
|
# buildInputs = [ cmake bison flex ];
|
|
|
|
meta = with lib; {
|
|
maintainers = with maintainers; [ matthewbauer ];
|
|
license = licenses.gpl3;
|
|
description = "Darwin/macOS emulation layer for Linux";
|
|
platforms = platforms.darwin;
|
|
};
|
|
}
|