Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Waf: refactor #249251

Merged
merged 36 commits into from
Aug 26, 2023
Merged

Waf: refactor #249251

merged 36 commits into from
Aug 26, 2023

Conversation

AndersonTorres
Copy link
Member

Description of changes

Things done

Following #243758

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 23.11 Release Notes (or backporting 23.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

@AndersonTorres
Copy link
Member Author

@ofborg build fomp

@AndersonTorres
Copy link
Member Author

AndersonTorres commented Aug 23, 2023

@ofborg build aubio

@AndersonTorres
Copy link
Member Author

@ofborg build ardour

@AndersonTorres
Copy link
Member Author

@ofborg build ganv

@AndersonTorres
Copy link
Member Author

@ofborg build waf.hook

@AndersonTorres AndersonTorres merged commit 5e0eb2b into NixOS:staging Aug 26, 2023
22 of 24 checks passed
@lopsided98
Copy link
Contributor

lopsided98 commented Sep 2, 2023

058e903 causes infinite recursion when cross-compiling jack2:

Backtrace
error:
       … while calling the 'derivationStrict' builtin

         at /builtin/derivation.nix:9:12: (source not available)

       … while evaluating derivation 'jack2-armv7l-unknown-linux-gnueabihf-1.9.22'
         whose name attribute is located at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:300:7

       … while evaluating attribute 'buildInputs' of derivation 'jack2-armv7l-unknown-linux-gnueabihf-1.9.22'

         at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:347:7:

          346|       depsHostHost                = lib.elemAt (lib.elemAt dependencies 1) 0;
          347|       buildInputs                 = lib.elemAt (lib.elemAt dependencies 1) 1;
             |       ^
          348|       depsTargetTarget            = lib.elemAt (lib.elemAt dependencies 2) 0;

       … while evaluating derivation 'libsamplerate-armv7l-unknown-linux-gnueabihf-0.1.9'
         whose name attribute is located at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:300:7

       … while evaluating attribute 'buildInputs' of derivation 'libsamplerate-armv7l-unknown-linux-gnueabihf-0.1.9'

         at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:347:7:

          346|       depsHostHost                = lib.elemAt (lib.elemAt dependencies 1) 0;
          347|       buildInputs                 = lib.elemAt (lib.elemAt dependencies 1) 1;
             |       ^
          348|       depsTargetTarget            = lib.elemAt (lib.elemAt dependencies 2) 0;

       … while evaluating derivation 'libsndfile-armv7l-unknown-linux-gnueabihf-1.2.2'
         whose name attribute is located at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:300:7

       … while evaluating attribute 'buildInputs' of derivation 'libsndfile-armv7l-unknown-linux-gnueabihf-1.2.2'

         at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:347:7:

          346|       depsHostHost                = lib.elemAt (lib.elemAt dependencies 1) 0;
          347|       buildInputs                 = lib.elemAt (lib.elemAt dependencies 1) 1;
             |       ^
          348|       depsTargetTarget            = lib.elemAt (lib.elemAt dependencies 2) 0;

       … while evaluating derivation 'flac-armv7l-unknown-linux-gnueabihf-1.4.3'
         whose name attribute is located at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:300:7

       … while evaluating attribute 'nativeBuildInputs' of derivation 'flac-armv7l-unknown-linux-gnueabihf-1.4.3'

         at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:344:7:

          343|       depsBuildBuild              = lib.elemAt (lib.elemAt dependencies 0) 0;
          344|       nativeBuildInputs           = lib.elemAt (lib.elemAt dependencies 0) 1;
             |       ^
          345|       depsBuildTarget             = lib.elemAt (lib.elemAt dependencies 0) 2;

       … while evaluating derivation 'graphviz-8.1.0'
         whose name attribute is located at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:300:7

       … while evaluating attribute 'buildInputs' of derivation 'graphviz-8.1.0'

         at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:347:7:

          346|       depsHostHost                = lib.elemAt (lib.elemAt dependencies 1) 0;
          347|       buildInputs                 = lib.elemAt (lib.elemAt dependencies 1) 1;
             |       ^
          348|       depsTargetTarget            = lib.elemAt (lib.elemAt dependencies 2) 0;

       … while evaluating derivation 'gd-2.3.3'
         whose name attribute is located at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:300:7

       … while evaluating attribute 'buildInputs' of derivation 'gd-2.3.3'

         at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:347:7:

          346|       depsHostHost                = lib.elemAt (lib.elemAt dependencies 1) 0;
          347|       buildInputs                 = lib.elemAt (lib.elemAt dependencies 1) 1;
             |       ^
          348|       depsTargetTarget            = lib.elemAt (lib.elemAt dependencies 2) 0;

       … while evaluating derivation 'libavif-0.11.1'
         whose name attribute is located at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:300:7

       … while evaluating attribute 'PKG_CONFIG_GDK_PIXBUF_2_0_GDK_PIXBUF_MODULEDIR' of derivation 'libavif-0.11.1'

         at «none»:0: (source not available)

       … while calling anonymous lambda

         at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:488:11:

          487|     lib.mapAttrs
          488|       (n: v: assert lib.assertMsg (lib.isString v || lib.isBool v || lib.isInt v || lib.isDerivation v)
             |           ^
          489|         "The ‘env’ attribute set can only contain derivation, string, boolean or integer attributes. The ‘${n}’ attribute is of type ${builtins.typeOf v}."; v)

       … from call site

         at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:488:21:

          487|     lib.mapAttrs
          488|       (n: v: assert lib.assertMsg (lib.isString v || lib.isBool v || lib.isInt v || lib.isDerivation v)
             |                     ^
          489|         "The ‘env’ attribute set can only contain derivation, string, boolean or integer attributes. The ‘${n}’ attribute is of type ${builtins.typeOf v}."; v)

       … while calling 'assertMsg'

         at /home/ben/Documents/Projects/nixpkgs/lib/asserts.nix:23:5:

           22|     # Message to throw in case `pred` fails
           23|     msg:
             |     ^
           24|     pred || builtins.throw msg;

       … from call site

         at /home/ben/Documents/Projects/nixpkgs/pkgs/top-level/splice.nix:73:67:

           72|             # on to splice them together.
           73|           if lib.isDerivation defaultValue then augmentedValue // spliceReal {
             |                                                                   ^
           74|             pkgsBuildBuild = tryGetOutputs valueBuildBuild;

       … while calling 'spliceReal'

         at /home/ben/Documents/Projects/nixpkgs/pkgs/top-level/splice.nix:22:5:

           21|   spliceReal =
           22|     { pkgsBuildBuild
             |     ^
           23|     , pkgsBuildHost

       … from call site

         at /home/ben/Documents/Projects/nixpkgs/pkgs/top-level/splice.nix:79:32:

           78|             pkgsHostTarget = getOutputs valueHostTarget;
           79|             pkgsTargetTarget = tryGetOutputs valueTargetTarget;
             |                                ^
           80|             # Just recur on plain attrsets

       … while calling 'tryGetOutputs'

         at /home/ben/Documents/Projects/nixpkgs/pkgs/top-level/splice.nix:62:29:

           61|             # on {}
           62|             tryGetOutputs = value0:
             |                             ^
           63|               let

       … from call site

         at /home/ben/Documents/Projects/nixpkgs/pkgs/top-level/splice.nix:66:15:

           65|               in
           66|               getOutputs (lib.optionalAttrs success value);
             |               ^
           67|             getOutputs = value: lib.genAttrs

       … while calling 'getOutputs'

         at /home/ben/Documents/Projects/nixpkgs/pkgs/top-level/splice.nix:67:26:

           66|               getOutputs (lib.optionalAttrs success value);
           67|             getOutputs = value: lib.genAttrs
             |                          ^
           68|               (value.outputs or (lib.optional (value ? out) "out"))

       … from call site

         at /home/ben/Documents/Projects/nixpkgs/pkgs/top-level/splice.nix:67:33:

           66|               getOutputs (lib.optionalAttrs success value);
           67|             getOutputs = value: lib.genAttrs
             |                                 ^
           68|               (value.outputs or (lib.optional (value ? out) "out"))

       … while calling 'genAttrs'

         at /home/ben/Documents/Projects/nixpkgs/lib/attrsets.nix:621:5:

          620|     # A function, given the name of the attribute, returns the attribute's value.
          621|     f:
             |     ^
          622|     listToAttrs (map (n: nameValuePair n (f n)) names);

       … from call site

         at /home/ben/Documents/Projects/nixpkgs/pkgs/top-level/splice.nix:66:27:

           65|               in
           66|               getOutputs (lib.optionalAttrs success value);
             |                           ^
           67|             getOutputs = value: lib.genAttrs

       … while calling 'optionalAttrs'

         at /home/ben/Documents/Projects/nixpkgs/lib/attrsets.nix:679:5:

          678|     # The attribute set to return if `cond` is `true`.
          679|     as:
             |     ^
          680|     if cond then as else {};

       … from call site

         at /home/ben/Documents/Projects/nixpkgs/pkgs/top-level/all-packages.nix:21941:16:

        21940|
        21941|   gdk-pixbuf = callPackage ../development/libraries/gdk-pixbuf { };
             |                ^
        21942|

       … while calling 'callPackageWith'

         at /home/ben/Documents/Projects/nixpkgs/lib/customisation.nix:122:35:

          121|   */
          122|   callPackageWith = autoArgs: fn: args:
             |                                   ^
          123|     let

       … from call site

         at /home/ben/Documents/Projects/nixpkgs/lib/customisation.nix:173:34:

          172|
          173|     in if missingArgs == [] then makeOverridable f allArgs else abort error;
             |                                  ^
          174|

       … while calling 'makeOverridable'

         at /home/ben/Documents/Projects/nixpkgs/lib/customisation.nix:72:24:

           71|   */
           72|   makeOverridable = f: origArgs:
             |                        ^
           73|     let

       … from call site

         at /home/ben/Documents/Projects/nixpkgs/lib/customisation.nix:74:16:

           73|     let
           74|       result = f origArgs;
             |                ^
           75|

       … while calling anonymous lambda

         at /home/ben/Documents/Projects/nixpkgs/pkgs/development/libraries/gdk-pixbuf/default.nix:1:1:

            1| { stdenv
             | ^
            2| , fetchurl

       … from call site

         at /home/ben/Documents/Projects/nixpkgs/pkgs/development/libraries/gdk-pixbuf/default.nix:26:1:

           25|
           26| stdenv.mkDerivation (finalAttrs: {
             | ^
           27|   pname = "gdk-pixbuf";

       … while calling anonymous lambda

         at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:546:3:

          545| in
          546|   fnOrAttrs:
             |   ^
          547|     if builtins.isFunction fnOrAttrs

       … from call site

         at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:548:10:

          547|     if builtins.isFunction fnOrAttrs
          548|     then makeDerivationExtensible fnOrAttrs
             |          ^
          549|     else makeDerivationExtensibleConst fnOrAttrs

       … while calling 'makeDerivationExtensible'

         at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:14:30:

           13|   # Based off lib.makeExtensible, with modifications:
           14|   makeDerivationExtensible = rattrs:
             |                              ^
           15|     let

       … from call site

         at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:47:9:

           46|       finalPackage =
           47|         mkDerivationSimple overrideAttrs args;
             |         ^
           48|

       … while calling 'mkDerivationSimple'

         at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:81:1:

           80| #   Explanation about derivations in general
           81| {
             | ^
           82|

       … from call site

         at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:494:1:

          493|
          494| lib.extendDerivation
             | ^
          495|   validity.handled

       … while calling 'extendDerivation'

         at /home/ben/Documents/Projects/nixpkgs/lib/customisation.nix:196:43:

          195|      the derivation itself and check a given condition when evaluating. */
          196|   extendDerivation = condition: passthru: drv:
             |                                           ^
          197|     let

       … from call site

         at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:543:4:

          542|    passthru)
          543|   (derivation (derivationArg // lib.optionalAttrs envIsExportable checkedEnv));
             |    ^
          544|

       … while calling anonymous lambda

         at /builtin/derivation.nix:5:1: (source not available)

       … from call site

         at /home/ben/Documents/Projects/nixpkgs/pkgs/development/libraries/gdk-pixbuf/default.nix:31:8:

           30|   outputs = [ "out" "dev" "man" ]
           31|     ++ lib.optional withIntrospection "devdoc"
             |        ^
           32|     ++ lib.optional (stdenv.buildPlatform == stdenv.hostPlatform) "installedTests";

       … while calling 'optional'

         at /home/ben/Documents/Projects/nixpkgs/lib/lists.nix:311:20:

          310|   */
          311|   optional = cond: elem: if cond then [elem] else [];
             |                    ^
          312|

       … from call site

         at /home/ben/Documents/Projects/nixpkgs/pkgs/development/libraries/gdk-pixbuf/default.nix:22:23:

           21| , buildPackages
           22| , withIntrospection ? stdenv.hostPlatform.emulatorAvailable buildPackages
             |                       ^
           23| , gobject-introspection

       … while calling 'emulatorAvailable'

         at /home/ben/Documents/Projects/nixpkgs/lib/systems/default.nix:246:29:

          245|       in {
          246|         emulatorAvailable = pkgs: (selectEmulator pkgs) != null;
             |                             ^
          247|

       … from call site

         at /home/ben/Documents/Projects/nixpkgs/lib/systems/default.nix:246:36:

          245|       in {
          246|         emulatorAvailable = pkgs: (selectEmulator pkgs) != null;
             |                                    ^
          247|

       … while calling 'selectEmulator'

         at /home/ben/Documents/Projects/nixpkgs/lib/systems/default.nix:216:26:

          215|       let
          216|         selectEmulator = pkgs:
             |                          ^
          217|           let

       … while evaluating derivation 'qemu-8.0.4'
         whose name attribute is located at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:300:7

       … while evaluating attribute 'buildInputs' of derivation 'qemu-8.0.4'

         at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:347:7:

          346|       depsHostHost                = lib.elemAt (lib.elemAt dependencies 1) 0;
          347|       buildInputs                 = lib.elemAt (lib.elemAt dependencies 1) 1;
             |       ^
          348|       depsTargetTarget            = lib.elemAt (lib.elemAt dependencies 2) 0;

       … while evaluating derivation 'libjack2-1.9.22'
         whose name attribute is located at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:300:7

       … while evaluating attribute 'nativeBuildInputs' of derivation 'libjack2-1.9.22'

         at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:344:7:

          343|       depsBuildBuild              = lib.elemAt (lib.elemAt dependencies 0) 0;
          344|       nativeBuildInputs           = lib.elemAt (lib.elemAt dependencies 0) 1;
             |       ^
          345|       depsBuildTarget             = lib.elemAt (lib.elemAt dependencies 0) 2;

       … while evaluating derivation 'waf-setup-hook'
         whose name attribute is located at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:300:7

       … while evaluating attribute 'crossFlags' of derivation 'waf-setup-hook'

         at /home/ben/Documents/Projects/nixpkgs/pkgs/development/tools/build-managers/waf/hook.nix:16:5:

           15|     inherit waf;
           16|     crossFlags = lib.optionalString (stdenv.hostPlatform.system != stdenv.targetPlatform.system)
             |     ^
           17|       ''--cross-compile "--cross-execute=${stdenv.targetPlatform.emulator pkgs}"'';

       … from call site

         at /home/ben/Documents/Projects/nixpkgs/pkgs/development/tools/build-managers/waf/hook.nix:16:18:

           15|     inherit waf;
           16|     crossFlags = lib.optionalString (stdenv.hostPlatform.system != stdenv.targetPlatform.system)
             |                  ^
           17|       ''--cross-compile "--cross-execute=${stdenv.targetPlatform.emulator pkgs}"'';

       … while calling 'optionalString'

         at /home/ben/Documents/Projects/nixpkgs/lib/strings.nix:243:5:

          242|     # String to return if condition is true
          243|     string: if cond then string else "";
             |     ^
          244|

       … from call site

         at /home/ben/Documents/Projects/nixpkgs/pkgs/development/tools/build-managers/waf/hook.nix:17:44:

           16|     crossFlags = lib.optionalString (stdenv.hostPlatform.system != stdenv.targetPlatform.system)
           17|       ''--cross-compile "--cross-execute=${stdenv.targetPlatform.emulator pkgs}"'';
             |                                            ^
           18|   };

       … while calling 'emulator'

         at /home/ben/Documents/Projects/nixpkgs/lib/systems/default.nix:248:20:

          247|
          248|         emulator = pkgs:
             |                    ^
          249|           if (final.emulatorAvailable pkgs)

       … from call site

         at /home/ben/Documents/Projects/nixpkgs/lib/systems/default.nix:249:15:

          248|         emulator = pkgs:
          249|           if (final.emulatorAvailable pkgs)
             |               ^
          250|           then selectEmulator pkgs

       … while calling 'emulatorAvailable'

         at /home/ben/Documents/Projects/nixpkgs/lib/systems/default.nix:246:29:

          245|       in {
          246|         emulatorAvailable = pkgs: (selectEmulator pkgs) != null;
             |                             ^
          247|

       … from call site

         at /home/ben/Documents/Projects/nixpkgs/lib/systems/default.nix:246:36:

          245|       in {
          246|         emulatorAvailable = pkgs: (selectEmulator pkgs) != null;
             |                                    ^
          247|

       … while calling 'selectEmulator'

         at /home/ben/Documents/Projects/nixpkgs/lib/systems/default.nix:216:26:

          215|       let
          216|         selectEmulator = pkgs:
             |                          ^
          217|           let

       … while evaluating derivation 'qemu-8.0.4'
         whose name attribute is located at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:300:7

       … while evaluating attribute 'buildInputs' of derivation 'qemu-8.0.4'

         at /home/ben/Documents/Projects/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:347:7:

          346|       depsHostHost                = lib.elemAt (lib.elemAt dependencies 1) 0;
          347|       buildInputs                 = lib.elemAt (lib.elemAt dependencies 1) 1;
             |       ^
          348|       depsTargetTarget            = lib.elemAt (lib.elemAt dependencies 2) 0;

       error: infinite recursion encountered

       at «none»:0: (source not available)

@AndersonTorres
Copy link
Member Author

AndersonTorres commented Sep 2, 2023

Cross compilation was already bugged afaicr.
I am trying to understand it, maybe the correct pkgs should be transmitted.

@lopsided98
Copy link
Contributor

I'm working on a PR that touches python3Packages.cairosvg, which apparently has jack2 as a transitive dependency. pkgsCross.armv7l-hf-multiplatform.python3Packages.cairosvg builds fine in 094bfcf from staging a few days ago. I tried to rebase on the latest staging and it no longer evaluates after this PR.

@lopsided98
Copy link
Contributor

lopsided98 commented Sep 2, 2023

libjack2 fails to build (both native and cross):

waf: error: no such option: --sbindir

On master I see:

configure flags: --prefix=/nix/store/dm1lsr8ywyc64x3wgriiqmd1mpsm532c-libjack2-1.9.22 --classic --autostart=dbus --dbus configure

On staging, I see:

configure flags: --prefix=/nix/store/zf1b3sw1c4sy8i0fx94k6is9j6zaji98-libjack2-1.9.22 --bindir=/nix/store/zf1b3sw1c4sy8i0fx94k6is9j6zaji98-libjack2-1.9.22/bin --sbindir=/nix/store/zf1b3sw1c4sy8i0fx94k6is9j6zaji98-libjack2-1.9.22/sbin --includedir=/nix/store/kp7l18845jvywbxbc6jh18gl5fncdkq4-libjack2-1.9.22-dev/include --oldincludedir=/nix/store/kp7l18845jvywbxbc6jh18gl5fncdkq4-libjack2-1.9.22-dev/include --mandir=/nix/store/zf1b3sw1c4sy8i0fx94k6is9j6zaji98-libjack2-1.9.22/share/man --infodir=/nix/store/zf1b3sw1c4sy8i0fx94k6is9j6zaji98-libjack2-1.9.22/share/info --docdir=/nix/store/zf1b3sw1c4sy8i0fx94k6is9j6zaji98-libjack2-1.9.22/share/doc/libjack2 --libdir=/nix/store/zf1b3sw1c4sy8i0fx94k6is9j6zaji98-libjack2-1.9.22/lib --libexecdir=/nix/store/zf1b3sw1c4sy8i0fx94k6is9j6zaji98-libjack2-1.9.22/libexec --localedir=/nix/store/zf1b3sw1c4sy8i0fx94k6is9j6zaji98-libjack2-1.9.22/share/locale --classic --autostart=dbus --dbus configure

I haven't identified the commit that causes this failure, but it seems related (edit: #250889 is the cause).

@Artturin
Copy link
Member

Artturin commented Sep 2, 2023

waf.hook breaks cross-compilation

before

nix-repl> pkgsCross.aarch64-multiplatform.__splicedPackages.wafHook ? __spliced
true

after

nix-repl> pkgsCross.aarch64-multiplatform.__splicedPackages.waf.hook ? __spliced
false

the hook will be from pkgsHostTarget not pkgsBuildHost even when it's in nativeBuildInputs

#211340

@lopsided98
Copy link
Contributor

Yes, I was just coming to the same conclusion. I think the rename may have to be reverted; #252874 may only work around the most obvious issues caused by the lack of splicing.

@AndersonTorres
Copy link
Member Author

I believe this can be important to the Zig team, since they use the same idea of zig.hook.

@AndersonTorres
Copy link
Member Author

I will test a soft revert: bringing wafHook = waf.hook to toplevel.

@alyssais
Copy link
Member

I will test a soft revert: bringing wafHook = waf.hook to toplevel.

Did you get anywhere with this?

@Artturin
Copy link
Member

I will test a soft revert: bringing wafHook = waf.hook to toplevel.

Did you get anywhere with this?

It's in staging-next

@AndersonTorres
Copy link
Member Author

Did you get anywhere with this?

It worked.
#252874

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants