aboutsummaryrefslogtreecommitdiffhomepage
path: root/nix-overlays/ldc/bootstrap.nix
diff options
context:
space:
mode:
authorRalph Amissah <ralph.amissah@gmail.com>2024-12-03 19:25:28 -0500
committerRalph Amissah <ralph.amissah@gmail.com>2024-12-03 19:31:05 -0500
commitd1903f4e3c44f3ea6b23b7fcdf0f108aeb0c9e71 (patch)
tree4723955f152b2d08bfd096f56a76f2bb507019f4 /nix-overlays/ldc/bootstrap.nix
parentnix 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.nix45
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" ];
+ };
}