diff options
| author | Ralph Amissah <ralph.amissah@gmail.com> | 2024-12-03 19:25:28 -0500 | 
|---|---|---|
| committer | Ralph Amissah <ralph.amissah@gmail.com> | 2024-12-03 19:31:05 -0500 | 
| commit | d1903f4e3c44f3ea6b23b7fcdf0f108aeb0c9e71 (patch) | |
| tree | 4723955f152b2d08bfd096f56a76f2bb507019f4 /nix-overlays/ldc/bootstrap.nix | |
| parent | nix build flake.nix fix (diff) | |
nix build housekeeping, ldc, follow nixpkgs build
Diffstat (limited to 'nix-overlays/ldc/bootstrap.nix')
| -rw-r--r-- | nix-overlays/ldc/bootstrap.nix | 45 | 
1 files changed, 42 insertions, 3 deletions
| diff --git a/nix-overlays/ldc/bootstrap.nix b/nix-overlays/ldc/bootstrap.nix index 7724cbc..d81e5a4 100644 --- a/nix-overlays/ldc/bootstrap.nix +++ b/nix-overlays/ldc/bootstrap.nix @@ -1,11 +1,50 @@ -{ callPackage }: -callPackage ./binary.nix { +{ 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.25.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.. +    # Get these from `nix store prefetch-file https://github.com/ldc-developers/ldc/releases/download/v1.25.0/ldc2-1.25.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=";    }; +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" ]; +  };  } | 
