diff --git a/pkgs/by-name/co/cockpit-zfs/package.nix b/pkgs/by-name/co/cockpit-zfs/package.nix index 134cd2a35477..5084bdde1de1 100644 --- a/pkgs/by-name/co/cockpit-zfs/package.nix +++ b/pkgs/by-name/co/cockpit-zfs/package.nix @@ -1,6 +1,7 @@ { acl, bash, + buildPackages, cockpit, coreutils, fetchFromGitHub, @@ -13,6 +14,7 @@ makeWrapper, mbuffer, msmtp, + nix-update-script, nodejs, openssh, samba, @@ -28,19 +30,20 @@ stdenv.mkDerivation (finalAttrs: { pname = "cockpit-zfs"; - version = "1.2.12-2"; + version = "1.2.16"; src = fetchFromGitHub { owner = "45Drives"; repo = "cockpit-zfs"; tag = "v${finalAttrs.version}"; fetchSubmodules = true; - hash = "sha256-oeXSOxogfAazRsKfngq2+DOyo//wRJQSqm7gaCza4WY="; + hash = "sha256-d1wurTha4LIe01oogJZHfLdTvBnEsNG9sGO8CfyS+GE="; }; missingHashes = ./missing-hashes.json; - offlineCache = yarn-berry.fetchYarnBerryDeps { + # Use buildPackages for cross-compilation support + offlineCache = buildPackages.yarn-berry.fetchYarnBerryDeps { inherit (finalAttrs) src missingHashes; hash = "sha256-YnR1SqBGnxEQaGUGMNTHHEGcOIhuGbWnqMdr4eRGXcA="; }; @@ -50,9 +53,13 @@ stdenv.mkDerivation (finalAttrs: { nodejs jq yarn-berry - yarn-berry.yarnBerryConfigHook + buildPackages.yarn-berry.yarnBerryConfigHook ]; + disallowedRequisites = [ finalAttrs.offlineCache ]; + + passthru.updateScript = nix-update-script { }; + passthru.cockpitPath = [ acl bash @@ -82,7 +89,7 @@ stdenv.mkDerivation (finalAttrs: { ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; }; - patchPhase = + postPatch = let # houston-common-lib has @types/electron which pulls in electron. # Electron's postinstall downloads binaries, which fails in sandbox. @@ -91,8 +98,6 @@ stdenv.mkDerivation (finalAttrs: { houstonUiDir = "houston-common/houston-common-ui"; in '' - runHook prePatch - # Remove electron type dependency substituteInPlace ${houstonLibDir}/package.json \ --replace-fail '"@types/electron": "^1.6.12",' "" @@ -116,8 +121,6 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail "VueDevTools()," "" \ --replace-fail "import dts from 'vite-plugin-dts'" "" sed -i '/dts({/,/})/d' ${houstonUiDir}/vite.config.ts - - runHook postPatch ''; buildPhase = '' diff --git a/pkgs/by-name/fz/fzf-zsh-plugin/package.nix b/pkgs/by-name/fz/fzf-zsh-plugin/package.nix index 08c059bb8baa..738cbd6267a1 100644 --- a/pkgs/by-name/fz/fzf-zsh-plugin/package.nix +++ b/pkgs/by-name/fz/fzf-zsh-plugin/package.nix @@ -3,18 +3,19 @@ stdenv, lib, fetchFromGitHub, + unstableGitUpdater, zsh, }: stdenv.mkDerivation { pname = "fzf-zsh-plugin"; - version = "1.0.0-unstable-2025-12-15"; + version = "1.0.0-unstable-2026-03-03"; src = fetchFromGitHub { owner = "unixorn"; repo = "fzf-zsh-plugin"; - rev = "cdd9d5cc3b41a3a390a0fb8605c40de652da6309"; - hash = "sha256-i6qoaMWVofhD3K6/RaaNatzA2aokiNQ5ilqmahprJFU="; + rev = "d56d2387ce376f80e42c46654a9ee1f899a40b46"; + hash = "sha256-twry9z9gDvRfH3AOWEV/a9HX4pnlMJDSw74Sm/MBwIk="; }; strictDeps = true; @@ -33,6 +34,8 @@ stdenv.mkDerivation { runHook postInstall ''; + passthru.updateScript = unstableGitUpdater { tagPrefix = "v"; }; + meta = { homepage = "https://github.com/unixorn/fzf-zsh-plugin"; description = "ZSH plugin to enable fzf searches of a lot more stuff - docker, tmux, homebrew and more"; diff --git a/pkgs/by-name/jm/jmc2obj/package.nix b/pkgs/by-name/jm/jmc2obj/package.nix index b4abf1aff21c..efc0114dc310 100644 --- a/pkgs/by-name/jm/jmc2obj/package.nix +++ b/pkgs/by-name/jm/jmc2obj/package.nix @@ -4,20 +4,21 @@ jre, makeWrapper, maven, + nix-update-script, }: maven.buildMavenPackage rec { pname = "j-mc-2-obj"; - version = "126"; + version = "128"; src = fetchFromGitHub { owner = "jmc2obj"; repo = "j-mc-2-obj"; - rev = version; - hash = "sha256-c0qLryv9Gx9BlKXmwSKkK5/v3Wypny841htNfsNNxpg="; + tag = version; + hash = "sha256-3+vH1pGJ6I4oobb2vk+J5GrOQrSLNoCuBIC9OsWYCj0="; }; - mvnHash = "sha256-ya8E/6tOxyW+AO7v9p0dg72qFpQjWwvntZOw+TEKq0k="; + mvnHash = "sha256-ZU/5RGujCdmlBuxtHDaBpF/54e8W/Kca+2jtTudMXWo="; mvnParameters = "-Dmaven.gitcommitid.skip=true"; @@ -33,6 +34,8 @@ maven.buildMavenPackage rec { runHook postInstall ''; + passthru.updateScript = nix-update-script { }; + meta = { changelog = "https://github.com/jmc2obj/j-mc-2-obj/releases/tag/${version}"; description = "Java-based Minecraft-to-OBJ exporter"; diff --git a/pkgs/by-name/me/melos/package.nix b/pkgs/by-name/me/melos/package.nix index 6aad5b405e11..c6a5dbe4d188 100644 --- a/pkgs/by-name/me/melos/package.nix +++ b/pkgs/by-name/me/melos/package.nix @@ -3,18 +3,15 @@ fetchFromGitHub, buildDartApplication, }: -let - version = "7.3.0"; +buildDartApplication (finalAttrs: { + pname = "melos"; + version = "7.4.1"; src = fetchFromGitHub { owner = "invertase"; repo = "melos"; - tag = "melos-v${version}"; - hash = "sha256-XTEhH8F54BoXJ1QNhUIZszHQoDwP0Za1LPQ6Dv9sR08="; + tag = "melos-v${finalAttrs.version}"; + hash = "sha256-bsNPZd1euOKF2LlAmBIkr+0iO51iAkcIZYrd5oUJTKo="; }; -in -buildDartApplication { - pname = "melos"; - inherit version src; patches = [ # Patch melos entrypoint to bypass cli_launcher which throws because it does not find melos in the "classic" folders eg : .dart_tool or pub cache. @@ -34,6 +31,16 @@ buildDartApplication { cp --recursive packages/melos/templates $out/ ''; + passthru = { + updateScript = { + command = [ + ./update.sh + ./. + ]; + supportedFeatures = [ "commit" ]; + }; + }; + meta = { homepage = "https://github.com/invertase/melos"; description = "Tool for managing Dart projects with multiple packages"; @@ -41,4 +48,4 @@ buildDartApplication { license = lib.licenses.asl20; maintainers = [ lib.maintainers.eymeric ]; }; -} +}) diff --git a/pkgs/by-name/me/melos/pubspec.lock.json b/pkgs/by-name/me/melos/pubspec.lock.json index 744a351566ba..11aa0a7769ba 100644 --- a/pkgs/by-name/me/melos/pubspec.lock.json +++ b/pkgs/by-name/me/melos/pubspec.lock.json @@ -4,21 +4,21 @@ "dependency": "transitive", "description": { "name": "_fe_analyzer_shared", - "sha256": "c209688d9f5a5f26b2fb47a188131a6fb9e876ae9e47af3737c0b4f58a93470d", + "sha256": "3b19a47f6ea7c2632760777c78174f47f6aec1e05f0cd611380d4593b8af1dbc", "url": "https://pub.dev" }, "source": "hosted", - "version": "91.0.0" + "version": "96.0.0" }, "analyzer": { "dependency": "transitive", "description": { "name": "analyzer", - "sha256": "f51c8499b35f9b26820cfe914828a6a98a94efd5cc78b37bb7d03debae3a1d08", + "sha256": "0c516bc4ad36a1a75759e54d5047cb9d15cded4459df01aa35a0b5ec7db2c2a0", "url": "https://pub.dev" }, "source": "hosted", - "version": "8.4.1" + "version": "10.2.0" }, "ansi_styles": { "dependency": "transitive", @@ -64,11 +64,11 @@ "dependency": "transitive", "description": { "name": "build", - "sha256": "dfb67ccc9a78c642193e0c2d94cb9e48c2c818b3178a86097d644acdcde6a8d9", + "sha256": "275bf6bb2a00a9852c28d4e0b410da1d833a734d57d39d44f94bfc895a484ec3", "url": "https://pub.dev" }, "source": "hosted", - "version": "4.0.2" + "version": "4.0.4" }, "built_collection": { "dependency": "transitive", @@ -84,11 +84,11 @@ "dependency": "transitive", "description": { "name": "built_value", - "sha256": "a30f0a0e38671e89a492c44d005b5545b830a961575bbd8336d42869ff71066d", + "sha256": "6ae8a6435a8c6520c7077b107e77f1fb4ba7009633259a4d49a8afd8e7efc5e9", "url": "https://pub.dev" }, "source": "hosted", - "version": "8.12.0" + "version": "8.12.4" }, "charcode": { "dependency": "transitive", @@ -124,11 +124,11 @@ "dependency": "transitive", "description": { "name": "cli_launcher", - "sha256": "17d2744fb9a254c49ec8eda582536abe714ea0131533e24389843a4256f82eac", + "sha256": "35cf15a3ffaeb9c11849eaa0afba761bb76dceb42d050532bfd3e1299c9748cd", "url": "https://pub.dev" }, "source": "hosted", - "version": "0.3.2+1" + "version": "0.3.3+1" }, "cli_util": { "dependency": "transitive", @@ -144,11 +144,11 @@ "dependency": "transitive", "description": { "name": "code_builder", - "sha256": "11654819532ba94c34de52ff5feb52bd81cba1de00ef2ed622fd50295f9d4243", + "sha256": "6a6cab2ba4680d6423f34a9b972a4c9a94ebe1b62ecec4e1a1f2cba91fd1319d", "url": "https://pub.dev" }, "source": "hosted", - "version": "4.11.0" + "version": "4.11.1" }, "collection": { "dependency": "transitive", @@ -194,11 +194,11 @@ "dependency": "transitive", "description": { "name": "dart_style", - "sha256": "c87dfe3d56f183ffe9106a18aebc6db431fc7c98c31a54b952a77f3d54a85697", + "sha256": "29f7ecc274a86d32920b1d9cfc7502fa87220da41ec60b55f329559d5732e2b2", "url": "https://pub.dev" }, "source": "hosted", - "version": "3.1.2" + "version": "3.1.7" }, "file": { "dependency": "transitive", @@ -254,11 +254,11 @@ "dependency": "transitive", "description": { "name": "http", - "sha256": "bb2ce4590bc2667c96f318d68cac1b5a7987ec819351d32b1c987239a815e007", + "sha256": "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.5.0" + "version": "1.6.0" }, "http_multi_server": { "dependency": "transitive", @@ -290,25 +290,15 @@ "source": "hosted", "version": "1.0.5" }, - "js": { - "dependency": "transitive", - "description": { - "name": "js", - "sha256": "53385261521cc4a0c4658fd0ad07a7d14591cf8fc33abbceae306ddb974888dc", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.7.2" - }, "json_annotation": { "dependency": "transitive", "description": { "name": "json_annotation", - "sha256": "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1", + "sha256": "cb09e7dac6210041fad964ed7fbee004f14258b4eca4040f72d1234062ace4c8", "url": "https://pub.dev" }, "source": "hosted", - "version": "4.9.0" + "version": "4.11.0" }, "logging": { "dependency": "transitive", @@ -324,21 +314,21 @@ "dependency": "transitive", "description": { "name": "matcher", - "sha256": "dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2", + "sha256": "dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861", "url": "https://pub.dev" }, "source": "hosted", - "version": "0.12.17" + "version": "0.12.19" }, "meta": { "dependency": "transitive", "description": { "name": "meta", - "sha256": "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394", + "sha256": "df0c643f44ad098eb37988027a8e2b2b5a031fd3977f06bbfd3a76637e8df739", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.17.0" + "version": "1.18.2" }, "mime": { "dependency": "transitive", @@ -354,21 +344,21 @@ "dependency": "transitive", "description": { "name": "mockito", - "sha256": "4feb43bc4eb6c03e832f5fcd637d1abb44b98f9cfa245c58e27382f58859f8f6", + "sha256": "a45d1aa065b796922db7b9e7e7e45f921aed17adf3a8318a1f47097e7e695566", "url": "https://pub.dev" }, "source": "hosted", - "version": "5.5.1" + "version": "5.6.3" }, "mustache_template": { "dependency": "transitive", "description": { "name": "mustache_template", - "sha256": "daa42be75f2ccfb287c24a75e7ac594f2ea0b32bf9ebe7c15154aa45b2dfb2de", + "sha256": "4326d0002ff58c74b9486990ccbdab08157fca3c996fe9e197aff9d61badf307", "url": "https://pub.dev" }, "source": "hosted", - "version": "2.0.2" + "version": "2.0.3" }, "node_preamble": { "dependency": "transitive", @@ -404,11 +394,11 @@ "dependency": "transitive", "description": { "name": "petitparser", - "sha256": "1a97266a94f7350d30ae522c0af07890c70b8e62c71e8e3920d1db4d23c057d1", + "sha256": "91bd59303e9f769f108f8df05e371341b15d59e995e6806aefab827b58336675", "url": "https://pub.dev" }, "source": "hosted", - "version": "7.0.1" + "version": "7.0.2" }, "platform": { "dependency": "transitive", @@ -524,11 +514,11 @@ "dependency": "transitive", "description": { "name": "source_gen", - "sha256": "9098ab86015c4f1d8af6486b547b11100e73b193e1899015033cb3e14ad20243", + "sha256": "adc962c96fffb2de1728ef396a995aaedcafbe635abdca13d2a987ce17e57751", "url": "https://pub.dev" }, "source": "hosted", - "version": "4.0.2" + "version": "4.2.1" }, "source_map_stack_trace": { "dependency": "transitive", @@ -554,11 +544,11 @@ "dependency": "transitive", "description": { "name": "source_span", - "sha256": "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c", + "sha256": "56a02f1f4cd1a2d96303c0144c93bd6d909eea6bee6bf5a0e0b685edbd4c47ab", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.10.1" + "version": "1.10.2" }, "stack_trace": { "dependency": "transitive", @@ -604,31 +594,31 @@ "dependency": "transitive", "description": { "name": "test", - "sha256": "75906bf273541b676716d1ca7627a17e4c4070a3a16272b7a3dc7da3b9f3f6b7", + "sha256": "280d6d890011ca966ad08df7e8a4ddfab0fb3aa49f96ed6de56e3521347a9ae7", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.26.3" + "version": "1.30.0" }, "test_api": { "dependency": "transitive", "description": { "name": "test_api", - "sha256": "ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55", + "sha256": "8161c84903fd860b26bfdefb7963b3f0b68fee7adea0f59ef805ecca346f0c7a", "url": "https://pub.dev" }, "source": "hosted", - "version": "0.7.7" + "version": "0.7.10" }, "test_core": { "dependency": "transitive", "description": { "name": "test_core", - "sha256": "0cc24b5ff94b38d2ae73e1eb43cc302b77964fbf67abad1e296025b78deb53d0", + "sha256": "0381bd1585d1a924763c308100f2138205252fb90c9d4eeaf28489ee65ccde51", "url": "https://pub.dev" }, "source": "hosted", - "version": "0.6.12" + "version": "0.6.16" }, "typed_data": { "dependency": "transitive", @@ -654,11 +644,11 @@ "dependency": "transitive", "description": { "name": "watcher", - "sha256": "592ab6e2892f67760543fb712ff0177f4ec76c031f02f5b4ff8d3fc5eb9fb61a", + "sha256": "1398c9f081a753f9226febe8900fce8f7d0a67163334e1c94a2438339d79d635", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.1.4" + "version": "1.2.1" }, "web": { "dependency": "transitive", @@ -724,14 +714,14 @@ "dependency": "transitive", "description": { "name": "yaml_edit", - "sha256": "fb38626579fb345ad00e674e2af3a5c9b0cc4b9bfb8fd7f7ff322c7c9e62aef5", + "sha256": "07c9e63ba42519745182b88ca12264a7ba2484d8239958778dfe4d44fe760488", "url": "https://pub.dev" }, "source": "hosted", - "version": "2.2.2" + "version": "2.2.4" } }, "sdks": { - "dart": ">=3.9.0 <4.0.0" + "dart": ">=3.10.0 <4.0.0" } } diff --git a/pkgs/by-name/me/melos/update.sh b/pkgs/by-name/me/melos/update.sh new file mode 100755 index 000000000000..dc0514431d57 --- /dev/null +++ b/pkgs/by-name/me/melos/update.sh @@ -0,0 +1,92 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl jq dart yq-go nix + +set -e + +# Get the directory where this script is located +script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +# Fetch the latest tags from GitHub +echo "Fetching latest tags from GitHub..." >&2 +tags=$(curl -s ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/invertase/melos/tags?per_page=20") + +if [ -z "$tags" ]; then + echo "Error: Failed to fetch tags from GitHub" >&2 + exit 1 +fi + +# Extract the latest stable version tag (skip dev versions) +latest_release=$(echo "$tags" | jq -r '.[] | select(.name | test("^melos-v[0-9]+\\.[0-9]+\\.[0-9]+$")) | .name' | head -1) + +if [ -z "$latest_release" ]; then + echo "Error: Could not find any stable release tags" >&2 + exit 1 +fi + +new_version=${latest_release#melos-v} + +# Get current version from package.nix +current_version=$(grep 'version = ' "$script_dir/package.nix" | head -1 | sed 's/.*version = "\(.*\)".*/\1/') + +echo "Current version: $current_version" >&2 +echo "Latest version: $new_version" >&2 + +if [ "$new_version" = "$current_version" ]; then + echo "Already at latest version" >&2 + exit 0 +fi + +# Create a temporary directory +tmpdir=$(mktemp -d) +trap "rm -rf $tmpdir" EXIT + +echo "Downloading melos ${latest_release} from GitHub..." >&2 +archive_url="https://github.com/invertase/melos/archive/refs/tags/${latest_release}.tar.gz" +archive_path="$tmpdir/melos.tar.gz" + +if ! curl -sL -o "$archive_path" "$archive_url"; then + echo "Error: Failed to download archive" >&2 + exit 1 +fi + +echo "Extracting archive..." >&2 +tar -xzf "$archive_path" -C "$tmpdir" + +extracted_dir=$(tar -tzf "$archive_path" | head -1 | cut -d/ -f1) +source_dir="$tmpdir/$extracted_dir" + +echo "Generating pubspec.lock..." >&2 +cd "$source_dir" +dart pub get > /dev/null 2>&1 + +echo "Converting to JSON..." >&2 +yq eval --output-format=json --prettyPrint pubspec.lock > "$tmpdir/pubspec.lock.json" + +# Compute the hash from the downloaded archive +echo "Computing source hash..." >&2 +nix_hash=$(nix-hash --flat --base32 --type sha256 "$archive_path") +if [ -z "$nix_hash" ]; then + echo "Error: Failed to compute source hash" >&2 + exit 1 +fi +new_hash="sha256-$(nix-hash --to-sri --type sha256 "$nix_hash")" + +cp "$tmpdir/pubspec.lock.json" "$script_dir/pubspec.lock.json" +echo "Updated pubspec.lock.json" >&2 + +# Update version in package.nix +sed -i "s/version = \"[^\"]*\";/version = \"${new_version}\";/" "$script_dir/package.nix" +echo "Updated version to ${new_version}" >&2 + +# Update hash in package.nix +sed -i "s|hash = \"[^\"]*\";|hash = \"${new_hash}\";|" "$script_dir/package.nix" +echo "Updated hash" >&2 + +# Output commit message +printf '{ + "attrPath": "melos", + "oldVersion": "%s", + "newVersion": "%s", + "files": ["pubspec.lock.json", "package.nix"], + "commitMessage": "melos: %s -> %s" +}' "$current_version" "$new_version" "$current_version" "$new_version"