summaryrefslogtreecommitdiffhomepage
path: root/org/dlang-nix-flakes.org
diff options
context:
space:
mode:
Diffstat (limited to 'org/dlang-nix-flakes.org')
-rw-r--r--org/dlang-nix-flakes.org563
1 files changed, 224 insertions, 339 deletions
diff --git a/org/dlang-nix-flakes.org b/org/dlang-nix-flakes.org
index 888b2e0..9e12692 100644
--- a/org/dlang-nix-flakes.org
+++ b/org/dlang-nix-flakes.org
@@ -17,6 +17,14 @@
#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t
* nix ( written to ../ )
+** check updates CHECK
+
+- https://github.com/nix-community/nix-direnv/releases
+- https://github.com/dlang/dmd/tags
+- https://github.com/ldc-developers/ldc/releases
+- https://github.com/dlang/dub/releases
+- https://github.com/dlang/tools/tags
+
** README
#+HEADER: :tangle "../README"
@@ -261,7 +269,7 @@ tmp/**
#+END_SRC
** .env*
-*** .envrc
+*** nixDevEnv.sh (.envrc)
#+HEADER: :tangle "../nixDevEnv.sh"
#+BEGIN_SRC sh
@@ -298,6 +306,7 @@ fi
*** .envrc-nix
- https://github.com/nix-community/nix-direnv
+- https://github.com/nix-community/nix-direnv/releases
- source_url
- direnv fetchurl "https://raw.githubusercontent.com/nix-community/nix-direnv/<<direnv-version>>/direnvrc" "<<direnv-sha>>"
- ${NixDirEnvVersion}
@@ -327,15 +336,25 @@ use flake .
#use flake .#default
#+END_SRC
-*** 3.0.4
+*** 3.0.6
#+NAME: direnv-version
#+BEGIN_SRC sh
-3.0.4
+3.0.6
#+END_SRC
#+NAME: direnv-sha
#+BEGIN_SRC sh
+sha256-RYcUJaRMf8oF5LznDrlCXbkOQrywm0HDv1VjYGaJGdM=
+#+END_SRC
+
+*** 3.0.4
+
+#+BEGIN_SRC sh
+3.0.4
+#+END_SRC
+
+#+BEGIN_SRC sh
sha256-DzlYZ33mWF/Gs8DDeyjr8mnVmQGx7ASYqA5WlxwvBG4=
#+END_SRC
@@ -570,25 +589,25 @@ with pkgs-nix;
# ❯❯❯ nix_related
#nix
direnv
- nixVersions.nix_2_21 #nixVersions.latest #nixVersions.git
+ nixVersions.latest #nixVersions.latest #nixVersions.git
nix-prefetch-git
validatePkgConfig
nix-output-monitor
#nix-tree
#nvd
jq #gx
- #alejandra
+ #nixfmt-rfc-style
git
# ❯❯❯ dev
gnumake
ps
# ❯❯❯ d_build_related
+ # ❯❯ package manager
+ #dub
# ❯❯ compiler
#dmd
#ldc
#rund
- # ❯❯ package manager
- #dub
# ❯❯ linker
#lld
#mold
@@ -646,19 +665,31 @@ pkgs.callPackage ./shell.nix {}
#+HEADER: :tangle "../nix-overlays/ldc/default.nix"
#+BEGIN_SRC nix
-import ./generic.nix {
- <<ldc_version_info>>
-}
+import ./package.nix
#+END_SRC
-**** generic.nix OK ✓ (unaltered)
+**** package.nix OK ✓ (unaltered)
-#+HEADER: :tangle "../nix-overlays/ldc/generic.nix"
+#+HEADER: :tangle "../nix-overlays/ldc/package.nix"
#+BEGIN_SRC nix
-{ version, sha256 }:
-{ lib, stdenv, fetchurl, cmake, ninja, <<ldc_llvm_set>>, curl, tzdata
-, libconfig, lit, gdb, unzip, darwin, bash
-, callPackage, makeWrapper, runCommand, targetPackages
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, ninja
+, <<ldc_llvm_set>>
+, curl
+, tzdata
+, lit
+, gdb
+, unzip
+, darwin
+, callPackage
+, makeWrapper
+, runCommand
+, writeText
+, targetPackages
+
, ldcBootstrap ? callPackage ./bootstrap.nix { }
}:
@@ -671,60 +702,56 @@ let
in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
pname = "ldc";
- inherit version;
+ version = "<<ldc_version>>";
- src = fetchurl {
- url = "https://github.com/ldc-developers/ldc/releases/download/v${version}/ldc-${version}-src.tar.gz";
- inherit sha256;
+ src = fetchFromGitHub {
+ owner = "ldc-developers";
+ repo = "ldc";
+ rev = "v${finalAttrs.version}";
+ hash = "<<ldc_hash>>";
+ fetchSubmodules = true;
};
# https://issues.dlang.org/show_bug.cgi?id=19553
hardeningDisable = [ "fortify" ];
- postUnpack = ''
- patchShebangs .
- ''
- + ''
- rm ldc-${version}-src/tests/dmd/fail_compilation/mixin_gc.d
- rm ldc-${version}-src/tests/dmd/runnable/xtest46_gc.d
- rm ldc-${version}-src/tests/dmd/runnable/testptrref_gc.d
-
- # test depends on current year
- rm ldc-${version}-src/tests/dmd/compilable/ddocYear.d
- ''
- + lib.optionalString stdenv.hostPlatform.isDarwin ''
- # https://github.com/NixOS/nixpkgs/issues/34817
- rm -r ldc-${version}-src/tests/plugins/addFuncEntryCall
- '';
-
postPatch = ''
- # Setting SHELL=$SHELL when dmd testsuite is run doesn't work on Linux somehow
- #substituteInPlace tests/dmd/Makefile --replace "SHELL=/bin/bash" "SHELL=${bash}/bin/bash"
- ''
- + lib.optionalString stdenv.hostPlatform.isLinux ''
- substituteInPlace runtime/phobos/std/socket.d --replace "assert(ih.addrList[0] == 0x7F_00_00_01);" ""
- ''
- + lib.optionalString stdenv.hostPlatform.isDarwin ''
- substituteInPlace runtime/phobos/std/socket.d --replace "foreach (name; names)" "names = []; foreach (name; names)"
+ patchShebangs runtime tools tests
+
+ rm tests/dmd/fail_compilation/mixin_gc.d
+ rm tests/dmd/runnable/xtest46_gc.d
+ rm tests/dmd/runnable/testptrref_gc.d
+
+ # test depends on current year
+ rm tests/dmd/compilable/ddocYear.d
+ '' + lib.optionalString stdenv.hostPlatform.isLinux ''
+ substituteInPlace runtime/phobos/std/socket.d --replace-fail "assert(ih.addrList[0] == 0x7F_00_00_01);" ""
+ '' + lib.optionalString stdenv.hostPlatform.isDarwin ''
+ substituteInPlace runtime/phobos/std/socket.d --replace-fail "foreach (name; names)" "names = []; foreach (name; names)"
+
+ # https://github.com/NixOS/nixpkgs/issues/34817
+ rm -r tests/plugins/addFuncEntryCall
'';
nativeBuildInputs = [
cmake ldcBootstrap lit lit.python <<ldc_llvm_set>>.dev makeWrapper ninja unzip
- ]
- ++ lib.optionals stdenv.hostPlatform.isDarwin [
+ ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
darwin.apple_sdk.frameworks.Foundation
- ]
- ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
+ ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
# https://github.com/NixOS/nixpkgs/pull/36378#issuecomment-385034818
gdb
];
buildInputs = [ curl tzdata ];
+ outputs = [ "out" "include" ];
+ outputInclude = "include";
+
cmakeFlags = [
"-DD_FLAGS=-d-version=TZDatabaseDir;-d-version=LibcurlPath;-J${pathConfig}"
+ "-DINCLUDE_INSTALL_DIR=${placeholder "include"}/include/d"
];
postConfigure = ''
@@ -733,7 +760,7 @@ stdenv.mkDerivation rec {
makeFlags = [ "DMD=$DMD" ];
- fixNames = lib.optionalString stdenv.hostPlatform.isDarwin ''
+ fixNames = lib.optionalString stdenv.hostPlatform.isDarwin ''
fixDarwinDylibNames() {
local flags=()
@@ -760,7 +787,7 @@ stdenv.mkDerivation rec {
# Build default lib test runners
ninja -j$NIX_BUILD_CORES all-test-runners
- ${fixNames}
+ ${finalAttrs.fixNames}
# Run dmd testsuite
export DMD_TESTSUITE_MAKE_ARGS="-j$NIX_BUILD_CORES DMD=$DMD"
@@ -773,90 +800,73 @@ stdenv.mkDerivation rec {
ctest -V -R "lit-tests"
# Run default lib unittests
- ctest -j$NIX_BUILD_CORES --output-on-failure -E "ldc2-unittest|lit-tests|dmd-testsuite${additionalExceptions}"
+ ctest -j$NIX_BUILD_CORES --output-on-failure -E "ldc2-unittest|lit-tests|dmd-testsuite${finalAttrs.additionalExceptions}"
'';
postInstall = ''
wrapProgram $out/bin/ldc2 \
- --prefix PATH ":" "${targetPackages.stdenv.cc}/bin" \
- --set-default CC "${targetPackages.stdenv.cc}/bin/cc"
- '';
+ --prefix PATH : ${targetPackages.stdenv.cc}/bin \
+ --set-default CC ${targetPackages.stdenv.cc}/bin/cc
+ '';
meta = with lib; {
- description = "The LLVM-based D compiler";
+ description = "LLVM-based D compiler";
homepage = "https://github.com/ldc-developers/ldc";
+ changelog = "https://github.com/ldc-developers/ldc/releases/tag/v${finalAttrs.version}";
# from https://github.com/ldc-developers/ldc/blob/master/LICENSE
license = with licenses; [ bsd3 boost mit ncsa gpl2Plus ];
+ mainProgram = "ldc2";
maintainers = with maintainers; [ lionello jtbx ];
platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
};
-}
-#+END_SRC
-
-**** bootstrap.nix
-
-#+HEADER: :tangle "../nix-overlays/ldc/bootstrap.nix"
-#+BEGIN_SRC nix
-<<ldc_bootstrap_1-25-0>>
-#+END_SRC
-#+NAME: ldc_bootstrap_1-25-0
-#+BEGIN_SRC nix
-{ callPackage }:
-callPackage ./binary.nix {
- 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..
- 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=";
+ passthru.ldcBootstrap = ldcBootstrap;
+ passthru.tests = let
+ ldc = finalAttrs.finalPackage;
+ helloWorld = stdenv.mkDerivation (finalAttrs: {
+ name = "ldc-hello-world";
+ src = writeText "hello_world.d" ''
+ module hello_world;
+ import std.stdio;
+ void main() {
+ writeln("Hello, world!");
+ }
+ '';
+ dontUnpack = true;
+ buildInputs = [ ldc ];
+ dFlags = [];
+ buildPhase = ''
+ ldc2 ${lib.escapeShellArgs finalAttrs.dFlags} -of=test $src
+ '';
+ installPhase = ''
+ mkdir -p $out/bin
+ mv test $out/bin
+ '';
+ });
+ in {
+ # Without -shared, built binaries should not contain
+ # references to the compiler binaries.
+ no-references-to-compiler = helloWorld.overrideAttrs {
+ disallowedReferences = [ ldc ];
+ dFlags = ["-g"];
+ };
};
-}
+})
#+END_SRC
-#+NAME: ldc_bootstrap_1-30-0
-#+BEGIN_SRC nix
-{ callPackage }:
-callPackage ./binary.nix {
- version = "1.30.0";
- hashes = {
- # Get these from `nix store prefetch-file 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-AAWZvxuZC82xvrW6fpYm783TY+H8k3DvqE94ZF1yjmk=";
- linux-x86_64 = "sha256-V4TUzEfQhFrwiX07dHOgjdAoGkzausCkhnQIQNAU/eE=";
- linux-aarch64 = "sha256-kTeglub75iv/jWWNPCn15aCGAbmck0RQl6L7bFOUu7Y=";
- osx-arm64 = "sha256-Nb/owBdIeroB9jLMDvwjo8bvsTC9vFyJPLMTOMsSAd4=";
- };
-}
-#+END_SRC
+**** bootstrap.nix
- this is the ldc bootstrap in current use, nixpkgs:
+#+HEADER: :tangle "../nix-overlays/ldc/bootstrap.nix"
#+BEGIN_SRC nix
-{ callPackage }:
-callPackage ./binary.nix {
- version = "1.30.0";
- hashes = {
- # Get these from `nix store prefetch-file 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-AAWZvxuZC82xvrW6fpYm783TY+H8k3DvqE94ZF1yjmk=";
- linux-x86_64 = "sha256-V4TUzEfQhFrwiX07dHOgjdAoGkzausCkhnQIQNAU/eE=";
- linux-aarch64 = "sha256-kTeglub75iv/jWWNPCn15aCGAbmck0RQl6L7bFOUu7Y=";
- osx-arm64 = "sha256-Nb/owBdIeroB9jLMDvwjo8bvsTC9vFyJPLMTOMsSAd4=";
- };
-}
-#+END_SRC
-
-**** binary.nix (unaltered)
-
-#+HEADER: :tangle "../nix-overlays/ldc/binary.nix"
-#+BEGIN_SRC nix
-{ lib, stdenv, fetchurl, curl, tzdata, autoPatchelfHook, fixDarwinDylibNames, libxml2
-, version, hashes }:
+{ 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;
+ <<ldc_bootstrap_1-25-0_hashes>>
in stdenv.mkDerivation {
pname = "ldc-bootstrap";
inherit version;
@@ -864,7 +874,7 @@ in stdenv.mkDerivation {
src = fetchurl rec {
name = "ldc2-${version}-${OS}-${ARCH}.tar.xz";
url = "https://github.com/ldc-developers/ldc/releases/download/v${version}/${name}";
- sha256 = hashes."${OS}-${ARCH}" or (throw "missing bootstrap sha256 for ${OS}-${ARCH}");
+ hash = hashes."${OS}-${ARCH}" or (throw "missing bootstrap hash for ${OS}-${ARCH}");
};
dontConfigure = true;
@@ -885,7 +895,7 @@ in stdenv.mkDerivation {
'';
meta = with lib; {
- description = "The LLVM-based D Compiler";
+ 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 ];
@@ -895,6 +905,35 @@ in stdenv.mkDerivation {
}
#+END_SRC
+***** bootstrap.nix version SELECT
+****** bootstrap.nix ldc2-1.25.0
+
+#+NAME: ldc_bootstrap_1-25-0_hashes
+#+BEGIN_SRC nix
+version = "1.25.0";
+hashes = {
+ # 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=";
+};
+#+END_SRC
+
+****** bootstrap.nix ldc2-1.30.0
+
+#+NAME: ldc_bootstrap_1-30-0_hashes
+#+BEGIN_SRC nix
+version = "1.30.0";
+hashes = {
+ # Get these from `nix store prefetch-file https://github.com/ldc-developers/ldc/releases/download/v1.30.0/ldc2-1.30.0-osx-x86_64.tar.xz` etc..
+ osx-x86_64 = "sha256-AAWZvxuZC82xvrW6fpYm783TY+H8k3DvqE94ZF1yjmk=";
+ linux-x86_64 = "sha256-V4TUzEfQhFrwiX07dHOgjdAoGkzausCkhnQIQNAU/eE=";
+ linux-aarch64 = "sha256-kTeglub75iv/jWWNPCn15aCGAbmck0RQl6L7bFOUu7Y=";
+ osx-arm64 = "sha256-Nb/owBdIeroB9jLMDvwjo8bvsTC9vFyJPLMTOMsSAd4=";
+};
+#+END_SRC
+
*** versions SET
**** selected version SET OK ✓
***** version & sha256 nix composite
@@ -909,259 +948,61 @@ sha256 = "<<ldc_hash>>";
#+NAME: ldc_version
#+BEGIN_SRC nix
-<<ldc_version_1_39_0>>
+<<ldc_version_1_40_0>>
#+END_SRC
#+NAME: ldc_hash
#+BEGIN_SRC nix
-<<ldc_hash_1_39_0>>
+<<ldc_hash_1_40_0>>
#+END_SRC
#+NAME: ldc_llvm_set
#+BEGIN_SRC nix
-<<ldc_llvm_set_1_39_0>>
+<<ldc_llvm_set_1_40_0>>
#+END_SRC
-**** 1.39 OK ✓
-***** 1.39.0 OK ✓
+**** 1.40 OK ✓
+***** 1.40.0 OK ✓
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.39.0.tar.gz
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/releases/download/v${version}/ldc-${version}-src.tar.gz
+ - nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.40.0-beta5.tar.gz
+ - nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/releases/download/v${version}/ldc-${version}-src.tar.gz
-#+NAME: ldc_version_1_39_0
+#+NAME: ldc_version_1_40_0
#+BEGIN_SRC nix
-1.39.0
+1.40.0-beta5
#+END_SRC
-#+NAME: ldc_hash_1_39_0
+#+NAME: ldc_hash_1_40_0
#+BEGIN_SRC nix
-sha256-g5usNvYHMxjjbwsWN2fgO9vT9X2ZJWuXSUrEObWaRWI=
+sha256-AaH5xw4hA0LHVx9SU3E+CIZKUHyjJ4TiPaoJnmQZJx4=
#+END_SRC
-#+NAME: ldc_llvm_set_1_39_0
+#+NAME: ldc_llvm_set_1_40_0
#+BEGIN_SRC nix
llvm_18
#+END_SRC
-**** 1.38 OK ✓
-***** 1.38.0 OK ✓
+**** 1.39 OK ✓
+***** 1.39.0 OK ✓
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.38.0.tar.gz
+- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.39.0.tar.gz
- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/releases/download/v${version}/ldc-${version}-src.tar.gz
-#+NAME: ldc_version_1_38_0
+#+NAME: ldc_version_1_39_0
#+BEGIN_SRC nix
-1.38.0
+1.39.0
#+END_SRC
-#+NAME: ldc_hash_1_38_0
+#+NAME: ldc_hash_1_39_0
#+BEGIN_SRC nix
-sha256-ymI47+Ai40zTB2dB+KBwxqN3GWNRxhlJpIpIyZN5844=
+sha256-ZiG0ATsY6Asu2nus3Y404fvqIwtKYoHl1JRUDU5A6mo=
#+END_SRC
-#+NAME: ldc_llvm_set_1_38_0
+#+NAME: ldc_llvm_set_1_39_0
#+BEGIN_SRC nix
llvm_18
#+END_SRC
-**** 1.37 OK ✓
-***** 1.37.0 OK ✓
-
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.37.0.tar.gz
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/releases/download/v${version}/ldc-${version}-src.tar.gz
-
-#+NAME: ldc_version_1_37_0
-#+BEGIN_SRC nix
-1.37.0
-#+END_SRC
-
-#+NAME: ldc_hash_1_37_0
-#+BEGIN_SRC nix
-sha256-UOgK48Q2yQY3wsPUDzktwotyH3qrOh48o79PnCjboGQ=
-#+END_SRC
-
-#+NAME: ldc_llvm_set_1_37_0
-#+BEGIN_SRC nix
-llvm_17
-#+END_SRC
-
-**** 1.36 OK ✓
-***** 1.36.0 OK ✓
-
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.36.0.tar.gz
-
-#+NAME: ldc_version_1_36_0
-#+BEGIN_SRC nix
-1.36.0
-#+END_SRC
-
-#+NAME: ldc_hash_1_36_0
-#+BEGIN_SRC nix
-sha256-oAx5BzEjqIfBf0Rsd4KklVajUSo9Natna31Trhu41u8=
-#+END_SRC
-
-#+NAME: ldc_llvm_set_1_36_0
-#+BEGIN_SRC nix
-llvm_17
-#+END_SRC
-
-**** 1.35 OK ✓
-***** 1.35.0 OK ✓
-
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.35.0.tar.gz
-
-#+NAME: ldc_version_1_35_0
-#+BEGIN_SRC nix
-1.35.0
-#+END_SRC
-
-#+NAME: ldc_hash_1_35_0
-#+BEGIN_SRC nix
-sha256-bilpk3BsdsCT5gkTmqCz+HBDVfoPN1b2dY141EIm36A=
-#+END_SRC
-
-#+NAME: ldc_llvm_set_1_35_0
-#+BEGIN_SRC nix
-llvm_16
-#+END_SRC
-
-**** 1.34 OK ✓
-***** 1.34.0 OK ✓
-
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.34.0.tar.gz
-
-#+NAME: ldc_version_1_34_0
-#+BEGIN_SRC nix
-1.34.0
-#+END_SRC
-
-#+NAME: ldc_hash_1_34_0
-#+BEGIN_SRC nix
-sha256-MAXG6ceSWFOMg5eXZnZ6WePXTzy5CsLLDc5ddXO+txk=
-#+END_SRC
-
-#+NAME: ldc_llvm_set_1_34_0
-#+BEGIN_SRC nix
-llvm_16
-#+END_SRC
-
-**** 1.33 OK ✓
-***** 1.33.0 OK ✓
-
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.33.0.tar.gz
-
-#+NAME: ldc_version_1_33_0
-#+BEGIN_SRC nix
-1.33.0
-#+END_SRC
-
-#+NAME: ldc_hash_1_33_0
-#+BEGIN_SRC nix
-sha256-g0wbCMX1s6mPnvuvhjLw03fRfawcFxDkg8nuaEZYw6g=
-#+END_SRC
-
-#+NAME: ldc_llvm_set_1_33_0
-#+BEGIN_SRC nix
-llvm_15
-#+END_SRC
-
-**** 1.32
-***** 1.32.2 OK ✓
-
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.32.1.tar.gz
-
-#+NAME: ldc_version_1_32_2
-#+BEGIN_SRC nix
-1.32.2
-#+END_SRC
-
-#+NAME: ldc_hash_1_32_2
-#+BEGIN_SRC nix
-sha256-v6Sq7nQyChJohDyI4inzObLfCVOkvLT87VLr4N2hzZU=
-#+END_SRC
-
-#+NAME: ldc_llvm_set_1_32_2
-#+BEGIN_SRC nix
-llvm_15
-#+END_SRC
-
-***** 1.32.1
-
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.32.1.tar.gz
-
-#+NAME: ldc_version_1_32_1
-#+BEGIN_SRC nix
-1.32.1
-#+END_SRC
-
-#+NAME: ldc_hash_1_32_1
-#+BEGIN_SRC nix
-sha256-s1U7+qiVJDF+zSHrLGPG6g+acIChYnXkb9p+OrNX6g8=
-#+END_SRC
-
-#+NAME: ldc_llvm_set_1_32_1
-#+BEGIN_SRC nix
-llvm_14
-#+END_SRC
-
-***** 1.32.0
-
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.32.0.tar.gz
-
-#+NAME: ldc_version_1_32_0
-#+BEGIN_SRC nix
-1.32.0
-#+END_SRC
-
-#+NAME: ldc_hash_1_32_0
-#+BEGIN_SRC nix
-sha256-xO4L+RtBbdVkE1PZsme2pIYAxJnHgr6xEtLkYOMpvqw=
-#+END_SRC
-
-#+NAME: ldc_llvm_set_1_32_0
-#+BEGIN_SRC nix
-llvm_14
-#+END_SRC
-
-**** 1.31
-***** 1.31.0
-
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.31.0.tar.gz
-
-#+NAME: ldc_version_1_31_0
-#+BEGIN_SRC nix
-1.31.0
-#+END_SRC
-
-#+NAME: ldc_hash_1_31_0
-#+BEGIN_SRC nix
-sha256-8cjs6eHjWAbDRBvyT75mbN3Y7vN1WSwZzY/uRwHNVFg=
-#+END_SRC
-
-#+NAME: ldc_llvm_set_1_31_0
-#+BEGIN_SRC nix
-llvm_14
-#+END_SRC
-
-***** 1.30.0
-
-- nix-prefetch-url --unpack https://github.com/ldc-developers/ldc/archive/refs/tags/v1.30.0.tar.gz
-
-#+NAME: ldc_version_1_30_0
-#+BEGIN_SRC nix
-1.30.0
-#+END_SRC
-
-#+NAME: ldc_hash_1_30_0
-#+BEGIN_SRC nix
-sha256-/bs3bwgkLZF5IqaiKnc5gCF/r6MQBG/F1kWUkK8j2s0=
-#+END_SRC
-
-#+NAME: ldc_llvm_set_1_30_0
-#+BEGIN_SRC nix
-llvm_14
-#+END_SRC
-
** dmd OK ✓
*** info
**** links
@@ -1250,7 +1091,7 @@ let
bits = builtins.toString stdenv.hostPlatform.parsed.cpu.bits;
osname =
- if stdenv.isDarwin then
+ if stdenv.hostPlatform.isDarwin then
"osx"
else
stdenv.hostPlatform.parsed.kernel.name;
@@ -1310,6 +1151,7 @@ stdenv.mkDerivation (finalAttrs: {
rm dmd/compiler/test/runnable/gdb4149.d
rm dmd/compiler/test/runnable/gdb4181.d
rm dmd/compiler/test/compilable/ddocYear.d
+ rm dmd/compiler/test/fail_compilation/needspkgmod.d
# Disable tests that rely on objdump whitespace until fixed upstream:
# https://issues.dlang.org/show_bug.cgi?id=23317
@@ -1319,9 +1161,9 @@ stdenv.mkDerivation (finalAttrs: {
rm dmd/compiler/test/dshell/test6952.d
'' + lib.optionalString (lib.versionAtLeast version "2.092.2") ''
substituteInPlace dmd/compiler/test/dshell/test6952.d --replace-fail "/usr/bin/env bash" "${bash}/bin/bash"
- '' + lib.optionalString stdenv.isLinux ''
+ '' + lib.optionalString stdenv.hostPlatform.isLinux ''
substituteInPlace phobos/std/socket.d --replace-fail "assert(ih.addrList[0] == 0x7F_00_00_01);" ""
- '' + lib.optionalString stdenv.isDarwin ''
+ '' + lib.optionalString stdenv.hostPlatform.isDarwin ''
substituteInPlace phobos/std/socket.d --replace-fail "foreach (name; names)" "names = []; foreach (name; names)"
'';
@@ -1336,7 +1178,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
curl
tzdata
- # ] ++ lib.optionals stdenv.isDarwin [
+ # ] ++ lib.optionals stdenv.hostPlatform.isDarwin []
# Foundation
];
@@ -1421,15 +1263,23 @@ stdenv.mkDerivation (finalAttrs: {
disallowedReferences = [ dmdBootstrap ];
+ passthru = {
+ inherit dmdBootstrap;
+ };
+
meta = with lib; {
description = "Official reference compiler for the D language";
homepage = "https://dlang.org/";
+ changelog = "https://dlang.org/changelog/${finalAttrs.version}.html";
# Everything is now Boost licensed, even the backend.
# https://github.com/dlang/dmd/pull/6680
license = licenses.boost;
mainProgram = "dmd";
maintainers = with maintainers; [ lionello dukc jtbx ];
platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
+ # ld: section __DATA/__thread_bss has type zero-fill but non-zero file offset file '/private/tmp/nix-build-dmd-2.109.1.drv-0/.rdmd-301/rdmd-build.d-A1CF043A7D87C5E88A58F3C0EF5A0DF7/objs/build.o' for architecture x86_64
+ # clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
+ broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64;
};
})
#+END_SRC
@@ -1537,17 +1387,37 @@ stdenv.mkDerivation {
#+NAME: dmd_version
#+BEGIN_SRC nix
-<<dmd_version_2_109_0>>
+<<dmd_version_2_109_1>>
#+END_SRC
#+NAME: dmd_hash
#+BEGIN_SRC nix
-<<dmd_hash_2_109_0>>
+<<dmd_hash_2_109_1>>
#+END_SRC
#+NAME: phobos_hash
#+BEGIN_SRC nix
-<<phobos_hash_2_109_0>>
+<<phobos_hash_2_109_1>>
+#+END_SRC
+
+**** 2.109.1 OK ✓
+
+- nix-prefetch-url --unpack https://github.com/dlang/dmd/archive/refs/tags/v2.109.1.tar.gz
+- nix-prefetch-url --unpack https://github.com/dlang/phobos/archive/refs/tags/v2.109.1.tar.gz
+
+#+NAME: dmd_version_2_109_1
+#+BEGIN_SRC nix
+2.109.1
+#+END_SRC
+
+#+NAME: phobos_hash_2_109_1
+#+BEGIN_SRC nix
+sha256-73I0k7tCBwe5tl4K6uMs3/nT2JTZ2SppFYzmokS4W5Y=
+#+END_SRC
+
+#+NAME: dmd_hash_2_109_1
+#+BEGIN_SRC nix
+sha256-3nCDPZnb4eQZmhYYxcH6qOmsP8or0KYuzAa5g/C9xdU=
#+END_SRC
**** 2.109.0 OK ✓
@@ -1819,12 +1689,27 @@ stdenv.mkDerivation rec {
#+NAME: dub_version
#+BEGIN_SRC nix
-<<dub_version_1_36_0>>
+<<dub_version_1_38_1>>
#+END_SRC
#+NAME: dub_hash
#+BEGIN_SRC nix
-<<dub_hash_1_36_0>>
+<<dub_hash_1_38_1>>
+#+END_SRC
+
+**** 1.38 OK ✓
+***** 1.38.1
+
+- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.38.1.tar.gz
+
+#+NAME: dub_version_1_38_1
+#+BEGIN_SRC nix
+1.38.1
+#+END_SRC
+
+#+NAME: dub_hash_1_38_1
+#+BEGIN_SRC nix
+sha256-8Lr/0sx4SKwU1aNOxZArta0RXpDM+EWl29ZsPDdPWFo=
#+END_SRC
**** 1.36 OK ✓