From 12c4f6a9467d4f0809f51dafd8c1abf0bd98ae0d Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Sat, 8 Jul 2023 15:54:02 -0400 Subject: flake nix build dub, set HOME, dub >= 1.31.0 fix - fixes dub >= 1.31.0 build failure, attempted to build in /homeless-shelter --- flake.lock | 6 ++--- flake.nix | 12 +++++++++ nix-overlays/README | 15 ++++++----- nix-overlays/dub/default.nix | 4 +-- org/config_nix.org | 12 +++++++++ org/nixpkgs_overlays_d_related.org | 51 +++++++++++++++++++++++--------------- 6 files changed, 69 insertions(+), 31 deletions(-) diff --git a/flake.lock b/flake.lock index 618357c..27adeaf 100644 --- a/flake.lock +++ b/flake.lock @@ -20,11 +20,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1688798537, - "narHash": "sha256-+3QEnDgBiso8lgUJpMagn6xCujmarc6zCWfKYAd6nqU=", + "lastModified": 1688894907, + "narHash": "sha256-U7hEDDhzAhLp6T+DEUbfwAsL+BtqFFGn+S1pa/0XrZY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "842e90934a352f517d23963df3ec0474612e483c", + "rev": "4ddf98349c793377c76806ebfbdfb2b96dd4ef5d", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 0ac58cf..f784f98 100644 --- a/flake.nix +++ b/flake.nix @@ -57,6 +57,9 @@ inherit devEnv; buildInputs = [sqlite]; nativeBuildInputs = [dub ldc gnumake]; # [ dub dmd ]; [ dub ldc ]; [ dub gdc ]; + preBuild = '' + export HOME=$(pwd) + ''; buildPhase = '' runHook preBuild for DC_ in dmd ldmd2 ldc2 gdc gdmd; do @@ -83,6 +86,9 @@ inherit devEnv; buildInputs = [sqlite]; nativeBuildInputs = [dub dmd gnumake]; + preBuild = '' + export HOME=$(pwd) + ''; buildPhase = '' runHook preBuild dub build --cache=local --compiler=$(type -P dmd) --build=dmd --combined --skip-registry=all @@ -102,6 +108,9 @@ inherit devEnv; buildInputs = [sqlite]; nativeBuildInputs = [dub ldc gnumake]; + preBuild = '' + export HOME=$(pwd) + ''; buildPhase = '' runHook preBuild dub build --cache=local --compiler=$(type -P ldc2) --build=ldc2 --combined --skip-registry=all @@ -121,6 +130,9 @@ inherit devEnv; buildInputs = with pkgs; [sqlite]; nativeBuildInputs = with pkgs; [dub ldc gnumake]; + preBuild = '' + export HOME=$(pwd) + ''; buildPhase = '' runHook preBuild dub build --cache=local --compiler=$(type -P ldc2) --build=ldc2 --combined --skip-registry=all diff --git a/nix-overlays/README b/nix-overlays/README index 87ac9f3..58c624d 100644 --- a/nix-overlays/README +++ b/nix-overlays/README @@ -24,7 +24,7 @@ of publishing, in some cases with additional fixes. nix overlays for (updates nixpkgs, more recent versions of): - ldc ( 1.30.0 -> 1.33.0-beta2 ) - - dub ( 1.23.0 -> 1.30.0 ) [for nix versions 1.31.0 ... 1.33.0 broken] + - dub ( 1.23.0 -> 1.33.1 ) [for nix versions 1.31.0 ... 1.33.0 broken] - dtools ( 2.095.1 -> 2.103.1 ) - dmd ( 2.100.2 -> 2.104.0 ) KO ✗ @@ -97,13 +97,13 @@ not yet provided in nixpkgs with gcc12, no attempt made - https://github.com/D-Programming-GDC/gdc ** build tool -*** dub ( 1.23.0 -> 1.30.0 ) +*** dub ( 1.23.0 -> 1.33.1 ) - https://code.dlang.org/packages/dub - https://github.com/dlang/dub - https://github.com/dlang/dub/releases - nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.30.0.tar.gz + nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.33.1.tar.gz - https://github.com/dlang/dub/issues - version in nixpkgs: @@ -111,9 +111,10 @@ not yet provided in nixpkgs with gcc12, no attempt made - dub nixpkg overlay is updated and runs most dub tests correctly -- dub from v1.31.0 FAILS to build packages with nix tools that previous version - of dub built (from v1.23.0 to v1.30.0 which is currently in nixpkgs); FAILURE - is from v1.31.0 through v1.32.1 (which is current at the time of this commit) +- dub OK ✓ ( 1.30.0 -> 1.33.1 ) + + from v1.31.0 requires seeting of pwd in buildPhase else fails to build + packages with nix tools that previous version of dub built; ** tools *** dtools OK ✓ ( 2.095.1 -> 2.103.1 ) @@ -151,3 +152,5 @@ It is possible to compare the changes made by the overlays here directly against what is currently available in nixpkgs. - https://search.nixos.org/packages?channel=unstable&size=100&sort=relevance&query= + +nix flake update && nix flake check --show-trace && nix flake info && echo "" && nix flake show diff --git a/nix-overlays/dub/default.nix b/nix-overlays/dub/default.nix index 0ebc576..3993f8d 100644 --- a/nix-overlays/dub/default.nix +++ b/nix-overlays/dub/default.nix @@ -4,7 +4,7 @@ assert dcompiler != null; stdenv.mkDerivation rec { pname = "dub"; - version = "1.30.0"; + version = "1.33.1"; enableParallelBuilding = true; @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { owner = "dlang"; repo = "dub"; rev = "v${version}"; - sha256 = "sha256-iVl7bjblvIxvrUX7Phq6h4AIAmZjNVkGYYFA1hhsE7c="; + sha256 = "sha256-QFgUsO04VRXBDjGI5QQs7u9XrexG7/V34TMgJP1D8yA="; }; #postUnpack = '' diff --git a/org/config_nix.org b/org/config_nix.org index 41efed4..2ef18e5 100644 --- a/org/config_nix.org +++ b/org/config_nix.org @@ -80,6 +80,9 @@ inherit devEnv; buildInputs = [sqlite]; nativeBuildInputs = [dub ldc gnumake]; # [ dub dmd ]; [ dub ldc ]; [ dub gdc ]; + preBuild = '' + export HOME=$(pwd) + ''; buildPhase = '' runHook preBuild for DC_ in dmd ldmd2 ldc2 gdc gdmd; do @@ -106,6 +109,9 @@ inherit devEnv; buildInputs = [sqlite]; nativeBuildInputs = [dub dmd gnumake]; + preBuild = '' + export HOME=$(pwd) + ''; buildPhase = '' runHook preBuild dub build --cache=local --compiler=$(type -P dmd) --build=dmd --combined --skip-registry=all @@ -125,6 +131,9 @@ inherit devEnv; buildInputs = [sqlite]; nativeBuildInputs = [dub ldc gnumake]; + preBuild = '' + export HOME=$(pwd) + ''; buildPhase = '' runHook preBuild dub build --cache=local --compiler=$(type -P ldc2) --build=ldc2 --combined --skip-registry=all @@ -144,6 +153,9 @@ inherit devEnv; buildInputs = with pkgs; [sqlite]; nativeBuildInputs = with pkgs; [dub ldc gnumake]; + preBuild = '' + export HOME=$(pwd) + ''; buildPhase = '' runHook preBuild dub build --cache=local --compiler=$(type -P ldc2) --build=ldc2 --combined --skip-registry=all diff --git a/org/nixpkgs_overlays_d_related.org b/org/nixpkgs_overlays_d_related.org index 5c9dfc0..cb40228 100644 --- a/org/nixpkgs_overlays_d_related.org +++ b/org/nixpkgs_overlays_d_related.org @@ -1,6 +1,6 @@ -*- mode: org -*- #+TITLE: D nix, dev shells with overlays -#+DESCRIPTION: dlang related nixpkgs of interest (dlang cvompilers & tools) +#+DESCRIPTION: dlang related nixpkgs of interest (dlang compilers & tools) #+FILETAGS: :nixos:nixpkgs:dlang:compiler: #+AUTHOR: Ralph Amissah #+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] @@ -30,13 +30,6 @@ ,#+COPYRIGHT: Copyright (C) 2015 - 2023 Ralph Amissah ,#+LANGUAGE: en ,#+STARTUP: content hideblocks hidestars noindent entitiespretty -,#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t -,#+PROPERTY: header-args :exports code -,#+PROPERTY: header-args+ :noweb yes -,#+PROPERTY: header-args+ :eval no -,#+PROPERTY: header-args+ :results no -,#+PROPERTY: header-args+ :cache no -,#+PROPERTY: header-args+ :padline no ,* README for D related overlays ,** dlang-nix-overlays @@ -134,9 +127,10 @@ not yet provided in nixpkgs with gcc12, no attempt made - dub nixpkg overlay is updated and runs most dub tests correctly -- dub from v1.31.0 FAILS to build packages with nix tools that previous version - of dub built (from v1.23.0 to v1.30.0 which is currently in nixpkgs); FAILURE - is from v1.31.0 through v1.32.1 (which is current at the time of this commit) +- dub OK ✓ ( 1.30.0 -> <> ) + + from v1.31.0 requires seeting of pwd in buildPhase else fails to build + packages with nix tools that previous version of dub built; ,** tools ,*** dtools OK ✓ ( 2.095.1 -> <> ) @@ -175,6 +169,7 @@ what is currently available in nixpkgs. - https://search.nixos.org/packages?channel=unstable&size=100&sort=relevance&query= +nix flake update && nix flake check --show-trace && nix flake info && echo "" && nix flake show #+END_SRC ** .gitignore @@ -471,7 +466,7 @@ will automatically build the default development shell, perhaps unecessary #+HEADER: :tangle-NO "../nix-overlays/default.nix" #+HEADER: :tangle-mode (identity #o755) -#+HEADER: :shebang #!/usr/bin/env -S nix-build +#+HEADER: :shebang "#!/usr/bin/env -S nix-build" #+BEGIN_SRC nix {pkgs ? import {}}: pkgs.callPackage ./shell.nix {} @@ -875,7 +870,7 @@ sha256-/bs3bwgkLZF5IqaiKnc5gCF/r6MQBG/F1kWUkK8j2s0= **** links - https://dlang.org/ - - https://wiki.dlang.org/LDC + - https://wiki.dlang.org/DMD - https://github.com/dlang/dmd - https://github.com/dlang/dmd/tags @@ -1305,7 +1300,7 @@ sha256-qXvY1ECN4mPwOGgOE1FWwvxoRvlSww3tGLWgBdhzAKo= sha256-kTHRaAKG7cAGb4IE/NGHWaZ8t7ZceKj03l6E8wLzJzs= #+END_SRC -** dub OK KO ✗ ISSUE (>= 1.31.0) +** dub OK *** info **** links @@ -1424,15 +1419,29 @@ stdenv.mkDerivation rec { #+NAME: dub_version #+BEGIN_SRC nix -<> +<> #+END_SRC #+NAME: dub_hash #+BEGIN_SRC nix -<> +<> #+END_SRC -**** 1.33.0 OK ✓ KO ✗ ISSUE +**** 1.33.1 OK ✓ + +- nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.33.1.tar.gz + +#+NAME: dub_version_1_33_1 +#+BEGIN_SRC nix +1.33.1 +#+END_SRC + +#+NAME: dub_hash_1_33_1 +#+BEGIN_SRC nix +sha256-QFgUsO04VRXBDjGI5QQs7u9XrexG7/V34TMgJP1D8yA= +#+END_SRC + +**** 1.33.0 OK ✓ - nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.33.0.tar.gz @@ -1446,7 +1455,7 @@ stdenv.mkDerivation rec { sha256-4Mha7WF6cg3DIccfpvOnheuvgfziv/7wo8iFsPXO4yY= #+END_SRC -**** 1.32.1 OK ✓ KO ✗ ISSUE +**** 1.32.1 OK ✓ - nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.32.1.tar.gz @@ -1462,7 +1471,7 @@ sha256-5pW3Fu3PQ1ZLJnsuh7fPpEBNbVQgGfFyiuMrAVOJKQA= - ISSUES from 1.31.0 continuing -**** 1.31.1 OK ✓ KO ✗ ISSUE +**** 1.31.1 OK ✓ - nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.31.1.tar.gz @@ -1478,10 +1487,12 @@ sha256-dp64D51ypowXS1+EYKRXh5hpa3rMmiotvKO2FW+i92w= - ISSUES from 1.31.0 continuing -**** 1.31.0 OK ✓ KO ✗ ISSUE +**** 1.31.0 OK ✓ NOTE - nix-prefetch-url --unpack https://github.com/dlang/dub/archive/refs/tags/v1.31.0.tar.gz +behavior change in dub requiring the setting of pwd in buildPhase + #+NAME: dub_version_1_31_0 #+BEGIN_SRC nix 1.31.0 -- cgit v1.2.3