nixpkgs/pkgs/os-specific/darwin/darling/default.nix
Matthew Bauer 47a7383395 darling: fix src
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.
2018-04-29 19:15:45 -05:00

40 lines
1.0 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;
};
}