From 624fe3e9b422ce54c89a82e60f2896f91e4080ae Mon Sep 17 00:00:00 2001 From: winston Date: Wed, 20 Aug 2025 14:17:37 +0200 Subject: [PATCH 1/5] muon: 0.4.0 -> 0.5.0, enable tests --- pkgs/by-name/mu/muon/package.nix | 120 +++++++++++++++++-------------- 1 file changed, 66 insertions(+), 54 deletions(-) diff --git a/pkgs/by-name/mu/muon/package.nix b/pkgs/by-name/mu/muon/package.nix index 92fe65a060a1..18a2d2987e46 100644 --- a/pkgs/by-name/mu/muon/package.nix +++ b/pkgs/by-name/mu/muon/package.nix @@ -2,7 +2,8 @@ lib, stdenv, fetchFromSourcehut, - fetchurl, + fetchFromGitHub, + coreutils, curl, libarchive, libpkgconf, @@ -10,33 +11,51 @@ python3, samurai, scdoc, + writableTmpDirAsHomeHook, zlib, embedSamurai ? false, buildDocs ? true, }: - stdenv.mkDerivation (finalAttrs: { pname = "muon" + lib.optionalString embedSamurai "-embedded-samurai"; - version = "0.4.0"; + version = "0.5.0"; - src = fetchFromSourcehut { - name = "muon-src"; - owner = "~lattis"; - repo = "muon"; - tag = finalAttrs.version; - hash = "sha256-xTdyqK8t741raMhjjJBMbWnAorLMMdZ02TeMXK7O+Yw="; - }; + srcs = [ + (fetchFromSourcehut { + name = "muon-src"; + owner = "~lattis"; + repo = "muon"; + tag = finalAttrs.version; + hash = "sha256-bWEYWUD+GK8R3yVnDTnzFWmm4KAuVPI+1yMfCXWcG/A="; + }) + (fetchFromGitHub { + name = "meson-tests"; + repo = "meson-tests"; + owner = "muon-build"; + rev = "db92588773a24f67cda2f331b945825ca3a63fa7"; + hash = "sha256-z4Fc1lr/m2MwIwhXJwoFWpzeNg+udzMxuw5Q/zVvpSM="; + }) + ] + ++ lib.optionals buildDocs [ + (fetchFromGitHub { + name = "meson-docs"; + repo = "meson-docs"; + owner = "muon-build"; + rev = "1017b3413601044fb41ad04977445e68a80e8181"; + hash = "sha256-aFpyJFIqybLNKhm/kyfCjYylj7DE6muI1+OUh4Cq4WY="; + }) + ]; + + sourceRoot = "./muon-src"; outputs = [ "out" ] ++ lib.optionals buildDocs [ "man" ]; nativeBuildInputs = [ pkgconf + (python3.withPackages (ps: [ ps.pyyaml ])) ] ++ lib.optionals (!embedSamurai) [ samurai ] - ++ lib.optionals buildDocs [ - (python3.withPackages (ps: [ ps.pyyaml ])) - scdoc - ]; + ++ lib.optionals buildDocs [ scdoc ]; buildInputs = [ curl @@ -47,54 +66,43 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; - postUnpack = - let - # URLs manually extracted from subprojects directory - meson-docs-wrap = fetchurl { - name = "meson-docs-wrap"; - url = "https://github.com/muon-build/meson-docs/archive/5bc0b250984722389419dccb529124aed7615583.tar.gz"; - hash = "sha256-5MmmiZfadCuUJ2jy5Rxubwf4twX0jcpr+TPj5ssdSbM="; - }; - - meson-tests-wrap = fetchurl { - name = "meson-tests-wrap"; - url = "https://github.com/muon-build/meson-tests/archive/591b5a053f9aa15245ccbd1d334cf3f8031b1035.tar.gz"; - hash = "sha256-6GXfcheZyB/S/xl/j7pj5EAWtsmx4N0fVhLPMJ2wC/w="; - }; - in - '' - mkdir -p $sourceRoot/subprojects/meson-docs - pushd $sourceRoot/subprojects/meson-docs - ${lib.optionalString buildDocs "tar xvf ${meson-docs-wrap} --strip-components=1"} - popd - - mkdir -p $sourceRoot/subprojects/meson-tests - pushd $sourceRoot/subprojects/meson-tests - tar xvf ${meson-tests-wrap} --strip-components=1 - popd - ''; + postUnpack = '' + for subproject in ${lib.optionalString buildDocs "meson-docs"} meson-tests; do + cp -r "$subproject" "$sourceRoot/subprojects/$subproject" + chmod +w -R "$sourceRoot/subprojects/$subproject" + rm "$sourceRoot/subprojects/$subproject.wrap" + done + ''; postPatch = '' - patchShebangs bootstrap.sh - '' - + lib.optionalString buildDocs '' - patchShebangs subprojects/meson-docs/docs/genrefman.py + find subprojects/meson-tests -name "*.py" -exec chmod +x {} \; + patchShebangs . + + substituteInPlace \ + "subprojects/meson-tests/common/14 configure file/test.py.in" \ + "subprojects/meson-tests/common/274 customtarget exe for test/generate.py" \ + "subprojects/meson-tests/native/8 external program shebang parsing/script.int.in" \ + --replace-fail "/usr/bin/env" "${coreutils}/bin/env" + + substituteInPlace \ + "subprojects/meson-tests/meson.build" \ + --replace-fail "['common/66 vcstag', {'python': true}]," "" ''; - # tests try to access "~" - postConfigure = '' - export HOME=$(mktemp -d) - ''; + enableParallelBuilding = true; buildPhase = let muonBool = lib.mesonBool; muonEnable = lib.mesonEnable; + muonOption = lib.mesonOption; cmdlineForMuon = lib.concatStringsSep " " [ + (muonOption "prefix" (placeholder "out")) (muonBool "static" stdenv.targetPlatform.isStatic) - (muonEnable "docs" buildDocs) + (muonEnable "meson-docs" buildDocs) (muonEnable "samurai" embedSamurai) + (muonEnable "tracy" false) ]; cmdlineForSamu = "-j$NIX_BUILD_CORES"; in @@ -108,19 +116,24 @@ stdenv.mkDerivation (finalAttrs: { ./stage-1/muon-bootstrap setup ${cmdlineForMuon} stage-2 ${lib.optionalString embedSamurai "./stage-1/muon-bootstrap"} samu ${cmdlineForSamu} -C stage-2 - ./stage-2/muon setup -Dprefix=$out ${cmdlineForMuon} stage-3 + ./stage-2/muon setup ${cmdlineForMuon} stage-3 ${lib.optionalString embedSamurai "./stage-2/muon"} samu ${cmdlineForSamu} -C stage-3 runHook postBuild ''; - # tests are failing because they don't find Python - doCheck = false; + # tests only pass when samurai is embedded + doCheck = embedSamurai; + + nativeCheckInputs = [ + # needed for "common/220 fs module" + writableTmpDirAsHomeHook + ]; checkPhase = '' runHook preCheck - ./stage-3/muon -C stage-3 test + ./stage-3/muon -C stage-3 test -d dots -S -j$NIX_BUILD_CORES runHook postCheck ''; @@ -146,4 +159,3 @@ stdenv.mkDerivation (finalAttrs: { # TODO LIST: # 1. automate sources acquisition (especially wraps) # 2. setup hook -# 3. tests From b9a9eb100b5fdfe65db673faa93e627e02f995a2 Mon Sep 17 00:00:00 2001 From: winston Date: Wed, 20 Aug 2025 20:09:52 +0200 Subject: [PATCH 2/5] muon: unbreak on darwin --- pkgs/by-name/mu/muon/darwin-clang.patch | 15 +++++++++++++++ pkgs/by-name/mu/muon/package.nix | 6 +++++- 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 pkgs/by-name/mu/muon/darwin-clang.patch diff --git a/pkgs/by-name/mu/muon/darwin-clang.patch b/pkgs/by-name/mu/muon/darwin-clang.patch new file mode 100644 index 000000000000..170e7864c630 --- /dev/null +++ b/pkgs/by-name/mu/muon/darwin-clang.patch @@ -0,0 +1,15 @@ +diff --git a/src/functions/kernel/dependency.c b/src/functions/kernel/dependency.c +index fbfc86f6..46f9be9d 100644 +--- a/src/functions/kernel/dependency.c ++++ b/src/functions/kernel/dependency.c +@@ -377,10 +377,6 @@ get_dependency_extraframework(struct workspace *wk, struct dep_lookup_ctx *ctx, + } + + struct obj_compiler *comp = get_obj_compiler(wk, compiler); +- if (comp->type[toolchain_component_compiler] != compiler_apple_clang) { +- L("skipping extraframework dependency lookup: compiler type is not apple clang"); +- return true; +- } + + if (!comp->fwdirs) { + obj cmd; diff --git a/pkgs/by-name/mu/muon/package.nix b/pkgs/by-name/mu/muon/package.nix index 18a2d2987e46..eed22dd00eab 100644 --- a/pkgs/by-name/mu/muon/package.nix +++ b/pkgs/by-name/mu/muon/package.nix @@ -74,6 +74,8 @@ stdenv.mkDerivation (finalAttrs: { done ''; + patches = [ ./darwin-clang.patch ]; + postPatch = '' find subprojects/meson-tests -name "*.py" -exec chmod +x {} \; patchShebangs . @@ -133,6 +135,9 @@ stdenv.mkDerivation (finalAttrs: { checkPhase = '' runHook preCheck + ${lib.optionalString ( + stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64 + ) "NIX_BUILD_CORES=1"} ./stage-3/muon -C stage-3 test -d dots -S -j$NIX_BUILD_CORES runHook postCheck @@ -152,7 +157,6 @@ stdenv.mkDerivation (finalAttrs: { license = licenses.gpl3Only; maintainers = with maintainers; [ ]; platforms = platforms.unix; - broken = stdenv.hostPlatform.isDarwin; # typical `ar failure` mainProgram = "muon"; }; }) From 53889b7b8e8c9fd3d33f6d9a70ee98287f9afd43 Mon Sep 17 00:00:00 2001 From: winston Date: Wed, 20 Aug 2025 22:39:27 +0200 Subject: [PATCH 3/5] muon: add updateScript and update meta --- pkgs/by-name/mu/muon/package.nix | 69 ++++++++++++++++---------------- pkgs/by-name/mu/muon/update.nix | 35 ++++++++++++++++ 2 files changed, 70 insertions(+), 34 deletions(-) create mode 100644 pkgs/by-name/mu/muon/update.nix diff --git a/pkgs/by-name/mu/muon/package.nix b/pkgs/by-name/mu/muon/package.nix index eed22dd00eab..1c1fb6f24485 100644 --- a/pkgs/by-name/mu/muon/package.nix +++ b/pkgs/by-name/mu/muon/package.nix @@ -1,8 +1,9 @@ { lib, stdenv, - fetchFromSourcehut, fetchFromGitHub, + fetchFromSourcehut, + callPackage, coreutils, curl, libarchive, @@ -20,31 +21,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "muon" + lib.optionalString embedSamurai "-embedded-samurai"; version = "0.5.0"; - srcs = [ - (fetchFromSourcehut { - name = "muon-src"; - owner = "~lattis"; - repo = "muon"; - tag = finalAttrs.version; - hash = "sha256-bWEYWUD+GK8R3yVnDTnzFWmm4KAuVPI+1yMfCXWcG/A="; - }) - (fetchFromGitHub { - name = "meson-tests"; - repo = "meson-tests"; - owner = "muon-build"; - rev = "db92588773a24f67cda2f331b945825ca3a63fa7"; - hash = "sha256-z4Fc1lr/m2MwIwhXJwoFWpzeNg+udzMxuw5Q/zVvpSM="; - }) - ] - ++ lib.optionals buildDocs [ - (fetchFromGitHub { - name = "meson-docs"; - repo = "meson-docs"; - owner = "muon-build"; - rev = "1017b3413601044fb41ad04977445e68a80e8181"; - hash = "sha256-aFpyJFIqybLNKhm/kyfCjYylj7DE6muI1+OUh4Cq4WY="; - }) - ]; + srcs = builtins.attrValues finalAttrs.passthru.srcs; sourceRoot = "./muon-src"; @@ -151,15 +128,39 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; - meta = with lib; { - homepage = "https://muon.build/"; - description = "Implementation of Meson build system in C99"; - license = licenses.gpl3Only; - maintainers = with maintainers; [ ]; - platforms = platforms.unix; + passthru.srcs = { + muon-src = fetchFromSourcehut { + name = "muon-src"; + owner = "~lattis"; + repo = "muon"; + tag = finalAttrs.version; + hash = "sha256-bWEYWUD+GK8R3yVnDTnzFWmm4KAuVPI+1yMfCXWcG/A="; + }; + meson-docs = fetchFromGitHub { + name = "meson-docs"; + repo = "meson-docs"; + owner = "muon-build"; + rev = "1017b3413601044fb41ad04977445e68a80e8181"; + hash = "sha256-aFpyJFIqybLNKhm/kyfCjYylj7DE6muI1+OUh4Cq4WY="; + }; + meson-tests = fetchFromGitHub { + name = "meson-tests"; + repo = "meson-tests"; + owner = "muon-build"; + rev = "db92588773a24f67cda2f331b945825ca3a63fa7"; + hash = "sha256-z4Fc1lr/m2MwIwhXJwoFWpzeNg+udzMxuw5Q/zVvpSM="; + }; + }; + passthru.updateScript = callPackage ./update.nix { }; + + meta = { + homepage = "https://muon.build"; + description = "Implementation of the meson build system in C99"; + license = lib.licenses.gpl3Only; + maintainers = [ ]; + platforms = lib.platforms.unix; mainProgram = "muon"; }; }) # TODO LIST: -# 1. automate sources acquisition (especially wraps) -# 2. setup hook +# 1. setup hook diff --git a/pkgs/by-name/mu/muon/update.nix b/pkgs/by-name/mu/muon/update.nix new file mode 100644 index 000000000000..7c907ef2cec0 --- /dev/null +++ b/pkgs/by-name/mu/muon/update.nix @@ -0,0 +1,35 @@ +{ + lib, + writeShellApplication, + common-updater-scripts, + curl, + gnugrep, +}: + +lib.getExe (writeShellApplication { + name = "update-muon"; + + runtimeInputs = [ + common-updater-scripts + curl + gnugrep + ]; + + text = '' + REPO=$(nix-instantiate --raw --eval -E "with import ./. {}; muon.passthru.srcs.muon-src.meta.homepage") + MUON_VERSION=$(list-git-tags --url="$REPO" | tail -1) + + update-source-version "muon" \ + "$MUON_VERSION" \ + --version-key=version \ + --source-key=passthru.srcs.muon-src + update-source-version "muon" \ + "$(curl -s "$REPO/blob/$MUON_VERSION/subprojects/meson-docs.wrap" | grep -oP "revision = \K.+$")" \ + --version-key=passthru.srcs.meson-docs.rev \ + --source-key=passthru.srcs.meson-docs + update-source-version "muon" \ + "$(curl -s "$REPO/blob/$MUON_VERSION/subprojects/meson-tests.wrap" | grep -oP "revision = \K.+$")" \ + --version-key=passthru.srcs.meson-tests.rev \ + --source-key=passthru.srcs.meson-tests + ''; +}) From 1992ee89431f2f1f8976dc1984d69af58dc9da27 Mon Sep 17 00:00:00 2001 From: winston Date: Tue, 9 Sep 2025 02:25:04 +0200 Subject: [PATCH 4/5] muon: only run tests in `passthru.tests` This was done to for `muonStandalone` to have minimal dependencies. Other edits: - Additional cleanup to the postUnpack. - I've added `cmdlineForMuon` flags that I've learned about since starting work on the `setupHook`. Without these, we get warnings about `fortify` requiring `-O2`, and muon defaults to `-O0` when "plain" isn't given. --- pkgs/by-name/mu/muon/package.nix | 74 +++++++++++++++++++++++++------- 1 file changed, 59 insertions(+), 15 deletions(-) diff --git a/pkgs/by-name/mu/muon/package.nix b/pkgs/by-name/mu/muon/package.nix index 1c1fb6f24485..de78b476f1e7 100644 --- a/pkgs/by-name/mu/muon/package.nix +++ b/pkgs/by-name/mu/muon/package.nix @@ -9,13 +9,20 @@ libarchive, libpkgconf, pkgconf, - python3, samurai, - scdoc, - writableTmpDirAsHomeHook, zlib, embedSamurai ? false, + # docs buildDocs ? true, + scdoc, + # tests + runTests ? false, + gettext, + muon, + nasm, + pkg-config, + python3, + writableTmpDirAsHomeHook, }: stdenv.mkDerivation (finalAttrs: { pname = "muon" + lib.optionalString embedSamurai "-embedded-samurai"; @@ -23,16 +30,20 @@ stdenv.mkDerivation (finalAttrs: { srcs = builtins.attrValues finalAttrs.passthru.srcs; - sourceRoot = "./muon-src"; + sourceRoot = "muon-src"; outputs = [ "out" ] ++ lib.optionals buildDocs [ "man" ]; nativeBuildInputs = [ pkgconf - (python3.withPackages (ps: [ ps.pyyaml ])) ] ++ lib.optionals (!embedSamurai) [ samurai ] - ++ lib.optionals buildDocs [ scdoc ]; + ++ lib.optionals buildDocs [ + scdoc + ] + ++ lib.optionals (buildDocs || finalAttrs.doCheck) [ + (python3.withPackages (ps: [ ps.pyyaml ])) + ]; buildInputs = [ curl @@ -44,19 +55,25 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; postUnpack = '' - for subproject in ${lib.optionalString buildDocs "meson-docs"} meson-tests; do - cp -r "$subproject" "$sourceRoot/subprojects/$subproject" - chmod +w -R "$sourceRoot/subprojects/$subproject" - rm "$sourceRoot/subprojects/$subproject.wrap" + for src in $srcs; do + name=$(stripHash $src) + + # skip the main project, only move subprojects + [ "$name" == "$sourceRoot" ] && continue + + cp -r "$name" "$sourceRoot/subprojects/$name" + chmod +w -R "$sourceRoot/subprojects/$name" + rm "$sourceRoot/subprojects/$name.wrap" done ''; patches = [ ./darwin-clang.patch ]; postPatch = '' - find subprojects/meson-tests -name "*.py" -exec chmod +x {} \; - patchShebangs . - + find subprojects -name "*.py" -exec chmod +x {} \; + patchShebangs subprojects + '' + + lib.optionalString finalAttrs.doCheck '' substituteInPlace \ "subprojects/meson-tests/common/14 configure file/test.py.in" \ "subprojects/meson-tests/common/274 customtarget exe for test/generate.py" \ @@ -76,12 +93,22 @@ stdenv.mkDerivation (finalAttrs: { muonEnable = lib.mesonEnable; muonOption = lib.mesonOption; + # see `muon options -a` to see built-in options cmdlineForMuon = lib.concatStringsSep " " [ (muonOption "prefix" (placeholder "out")) + # don't let muon override stdenv C flags + (muonEnable "auto_features" true) + (muonOption "buildtype" "plain") + (muonOption "optimization" "plain") + (muonOption "wrap_mode" "nodownload") + # muon features (muonBool "static" stdenv.targetPlatform.isStatic) + (muonEnable "man-pages" buildDocs) (muonEnable "meson-docs" buildDocs) + (muonEnable "meson-tests" finalAttrs.doCheck) (muonEnable "samurai" embedSamurai) (muonEnable "tracy" false) + (muonEnable "website" false) ]; cmdlineForSamu = "-j$NIX_BUILD_CORES"; in @@ -102,11 +129,19 @@ stdenv.mkDerivation (finalAttrs: { ''; # tests only pass when samurai is embedded - doCheck = embedSamurai; + doCheck = embedSamurai && runTests; nativeCheckInputs = [ - # needed for "common/220 fs module" + # "common/220 fs module" writableTmpDirAsHomeHook + # "common/44 pkgconfig-gen" + pkg-config + # "frameworks/6 gettext" + gettext + ] + ++ lib.optionals stdenv.hostPlatform.isx86_64 [ + # "nasm/*" tests + nasm ]; checkPhase = '' @@ -151,6 +186,15 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-z4Fc1lr/m2MwIwhXJwoFWpzeNg+udzMxuw5Q/zVvpSM="; }; }; + + # tests are run here in package tests, rather than enabling doCheck by + # default, to reduce the number of required dependencies. + passthru.tests.test = (muon.overrideAttrs { pname = "muon-tests"; }).override { + buildDocs = false; + embedSamurai = true; + runTests = true; + }; + passthru.updateScript = callPackage ./update.nix { }; meta = { From 5a64c8630bf72aad82c2d7059e34c605b62102ea Mon Sep 17 00:00:00 2001 From: winston Date: Wed, 10 Sep 2025 03:53:35 +0200 Subject: [PATCH 5/5] muon: use two-stage build, only use needed srcs Had to work around an issue with the fetchFromSourcehut fetcher. #441478 --- pkgs/by-name/mu/muon/package.nix | 22 ++++++++-------------- pkgs/by-name/mu/muon/update.nix | 12 ++++++------ 2 files changed, 14 insertions(+), 20 deletions(-) diff --git a/pkgs/by-name/mu/muon/package.nix b/pkgs/by-name/mu/muon/package.nix index de78b476f1e7..dd760d4519f4 100644 --- a/pkgs/by-name/mu/muon/package.nix +++ b/pkgs/by-name/mu/muon/package.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "muon" + lib.optionalString embedSamurai "-embedded-samurai"; version = "0.5.0"; - srcs = builtins.attrValues finalAttrs.passthru.srcs; + srcs = builtins.attrValues (lib.filterAttrs (_: v: v.use or true) finalAttrs.passthru.srcsAttrs); sourceRoot = "muon-src"; @@ -93,6 +93,7 @@ stdenv.mkDerivation (finalAttrs: { muonEnable = lib.mesonEnable; muonOption = lib.mesonOption; + bootstrapFlags = lib.optionalString (!embedSamurai) "CFLAGS=\"$CFLAGS -DBOOTSTRAP_NO_SAMU\""; # see `muon options -a` to see built-in options cmdlineForMuon = lib.concatStringsSep " " [ (muonOption "prefix" (placeholder "out")) @@ -115,16 +116,10 @@ stdenv.mkDerivation (finalAttrs: { '' runHook preBuild - ${ - lib.optionalString (!embedSamurai) "CFLAGS=\"$CFLAGS -DBOOTSTRAP_NO_SAMU\"" - } ./bootstrap.sh stage-1 - + ${bootstrapFlags} ./bootstrap.sh stage-1 ./stage-1/muon-bootstrap setup ${cmdlineForMuon} stage-2 ${lib.optionalString embedSamurai "./stage-1/muon-bootstrap"} samu ${cmdlineForSamu} -C stage-2 - ./stage-2/muon setup ${cmdlineForMuon} stage-3 - ${lib.optionalString embedSamurai "./stage-2/muon"} samu ${cmdlineForSamu} -C stage-3 - runHook postBuild ''; @@ -147,10 +142,7 @@ stdenv.mkDerivation (finalAttrs: { checkPhase = '' runHook preCheck - ${lib.optionalString ( - stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64 - ) "NIX_BUILD_CORES=1"} - ./stage-3/muon -C stage-3 test -d dots -S -j$NIX_BUILD_CORES + ./stage-2/muon -C stage-2 test -d dots -S -j$NIX_BUILD_CORES runHook postCheck ''; @@ -158,12 +150,12 @@ stdenv.mkDerivation (finalAttrs: { installPhase = '' runHook preInstall - stage-3/muon -C stage-3 install + stage-2/muon -C stage-2 install runHook postInstall ''; - passthru.srcs = { + passthru.srcsAttrs = { muon-src = fetchFromSourcehut { name = "muon-src"; owner = "~lattis"; @@ -177,6 +169,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "muon-build"; rev = "1017b3413601044fb41ad04977445e68a80e8181"; hash = "sha256-aFpyJFIqybLNKhm/kyfCjYylj7DE6muI1+OUh4Cq4WY="; + passthru.use = buildDocs; }; meson-tests = fetchFromGitHub { name = "meson-tests"; @@ -184,6 +177,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "muon-build"; rev = "db92588773a24f67cda2f331b945825ca3a63fa7"; hash = "sha256-z4Fc1lr/m2MwIwhXJwoFWpzeNg+udzMxuw5Q/zVvpSM="; + passthru.use = finalAttrs.doCheck; }; }; diff --git a/pkgs/by-name/mu/muon/update.nix b/pkgs/by-name/mu/muon/update.nix index 7c907ef2cec0..e870efce07c1 100644 --- a/pkgs/by-name/mu/muon/update.nix +++ b/pkgs/by-name/mu/muon/update.nix @@ -16,20 +16,20 @@ lib.getExe (writeShellApplication { ]; text = '' - REPO=$(nix-instantiate --raw --eval -E "with import ./. {}; muon.passthru.srcs.muon-src.meta.homepage") + REPO=$(nix-instantiate --raw --eval -E "with import ./. {}; muon.srcsAttrs.muon-src.meta.homepage") MUON_VERSION=$(list-git-tags --url="$REPO" | tail -1) update-source-version "muon" \ "$MUON_VERSION" \ --version-key=version \ - --source-key=passthru.srcs.muon-src + --source-key=srcsAttrs.muon-src update-source-version "muon" \ "$(curl -s "$REPO/blob/$MUON_VERSION/subprojects/meson-docs.wrap" | grep -oP "revision = \K.+$")" \ - --version-key=passthru.srcs.meson-docs.rev \ - --source-key=passthru.srcs.meson-docs + --version-key=srcsAttrs.meson-docs.rev \ + --source-key=srcsAttrs.meson-docs update-source-version "muon" \ "$(curl -s "$REPO/blob/$MUON_VERSION/subprojects/meson-tests.wrap" | grep -oP "revision = \K.+$")" \ - --version-key=passthru.srcs.meson-tests.rev \ - --source-key=passthru.srcs.meson-tests + --version-key=srcsAttrs.meson-tests.rev \ + --source-key=srcsAttrs.meson-tests ''; })