diff options
Diffstat (limited to 'nix-overlays/ldc/bootstrap.nix')
| -rw-r--r-- | nix-overlays/ldc/bootstrap.nix | 64 | 
1 files changed, 56 insertions, 8 deletions
diff --git a/nix-overlays/ldc/bootstrap.nix b/nix-overlays/ldc/bootstrap.nix index 7724cbc..f166568 100644 --- a/nix-overlays/ldc/bootstrap.nix +++ b/nix-overlays/ldc/bootstrap.nix @@ -1,11 +1,59 @@ -{ callPackage }: -callPackage ./binary.nix { -  version = "1.25.0"; +{ +  lib, +  stdenv, +  fetchurl, +  curl, +  tzdata, +  autoPatchelfHook, +  fixDarwinDylibNames, +  libxml2, +}: + +let +  inherit (stdenv) hostPlatform; +  OS = if hostPlatform.isDarwin then "osx" else hostPlatform.parsed.kernel.name; +  ARCH = if hostPlatform.isDarwin && hostPlatform.isAarch64 then "arm64" else hostPlatform.parsed.cpu.name; +  version = "1.41.0";    hashes = { -    # Get these from `nix-prefetch-url https://github.com/ldc-developers/ldc/releases/download/v1.19.0/ldc2-1.19.0-osx-x86_64.tar.xz` etc.. -    osx-x86_64 = "sha256-6iKnbS+oalLKmyS8qYD/wS21b7+O+VgsWG2iT4PrWPU="; -    linux-x86_64 = "sha256-sfg47RdlsIpryc3iZvE17OtLweh3Zw6DeuNJYgpuH+o="; -    linux-aarch64  = "sha256-UDZ43x4flSo+SfsPeE8juZO2Wtk2ZzwySk0ADHnvJBI="; -    osx-arm64  = "sha256-O/x0vy0wwQFaDc4uWSeMhx+chJKqbQb6e5QNYf+7DCw="; +    # Get these from `nix store prefetch-file https://github.com/ldc-developers/ldc/releases/download/v1.41.0/ldc2-1.41.0-osx-x86_64.tar.xz` etc.. +    osx-x86_64 = "sha256-W8/0i2PFakXbqs2wxb3cjqa+htSgx7LHyDGOBH9yEYE="; +    linux-x86_64 = "sha256-SkOUV/D+WeadAv1rV1Sfw8h60PVa2fueQlB7b44yfI8="; +    linux-aarch64 = "sha256-HEuVChPVM3ntT1ZDZsJ+xW1iYeIWhogNcMdIaz6Me6g="; +    osx-arm64 = "sha256-FXJnBC8QsEchBhkxSqcZtPC/iHYB6TscY0qh7LPFRuQ="; +  }; +in stdenv.mkDerivation { +  pname = "ldc-bootstrap"; +  inherit version; + +  src = fetchurl rec { +    name = "ldc2-${version}-${OS}-${ARCH}.tar.xz"; +    url = "https://github.com/ldc-developers/ldc/releases/download/v${version}/${name}"; +    hash = hashes."${OS}-${ARCH}" or (throw "missing bootstrap hash for ${OS}-${ARCH}"); +  }; + +  dontConfigure = true; +  dontBuild = true; + +  nativeBuildInputs = lib.optionals hostPlatform.isLinux [ +    autoPatchelfHook +  ] ++ lib.optional hostPlatform.isDarwin fixDarwinDylibNames; + +  buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ libxml2 stdenv.cc.cc ]; + +  propagatedBuildInputs = [ curl tzdata ]; + +  installPhase = '' +    mkdir -p $out + +    mv bin etc import lib LICENSE README $out/ +  ''; + +  meta = with lib; { +    description = "LLVM-based D Compiler"; +    homepage = "https://github.com/ldc-developers/ldc"; +    # from https://github.com/ldc-developers/ldc/blob/master/LICENSE +    license = with licenses; [ bsd3 boost mit ncsa gpl2Plus ]; +    maintainers = with maintainers; [ lionello ]; +    platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];    };  }  | 
