Loading pkgs/by-name/mu/muon/package.nix +35 −34 Original line number Diff line number Diff line { lib, stdenv, fetchFromSourcehut, fetchFromGitHub, fetchFromSourcehut, callPackage, coreutils, curl, libarchive, Loading @@ -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"; Loading Loading @@ -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 pkgs/by-name/mu/muon/update.nix 0 → 100644 +35 −0 Original line number Diff line number Diff line { 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 ''; }) Loading
pkgs/by-name/mu/muon/package.nix +35 −34 Original line number Diff line number Diff line { lib, stdenv, fetchFromSourcehut, fetchFromGitHub, fetchFromSourcehut, callPackage, coreutils, curl, libarchive, Loading @@ -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"; Loading Loading @@ -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
pkgs/by-name/mu/muon/update.nix 0 → 100644 +35 −0 Original line number Diff line number Diff line { 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 ''; })