From 088daa4b922b17640900d7d32c2030e61b8699a4 Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Fri, 1 May 2026 10:06:53 -0400 Subject: [PATCH 1/3] shelfmark{,-frontend}: 1.2.1 -> 1.2.2 Diff: https://github.com/calibrain/shelfmark/compare/v1.2.1...v1.2.2 Changelog: https://github.com/calibrain/shelfmark/releases/tag/v1.2.2 --- pkgs/by-name/sh/shelfmark-frontend/package.nix | 2 +- pkgs/by-name/sh/shelfmark/package.nix | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/sh/shelfmark-frontend/package.nix b/pkgs/by-name/sh/shelfmark-frontend/package.nix index 95fcfeac6214..c39f7920f828 100644 --- a/pkgs/by-name/sh/shelfmark-frontend/package.nix +++ b/pkgs/by-name/sh/shelfmark-frontend/package.nix @@ -9,7 +9,7 @@ buildNpmPackage (finalAttrs: { sourceRoot = "${finalAttrs.src.name}/src/frontend"; - npmDepsHash = "sha256-VCnxEcaqWo31oIpF6X8Lid4I/aaQCQZ9l9rV6TTqXPI="; + npmDepsHash = "sha256-c/KDGUe+X4dfzbDXpkzYsEzvBxJjq46PTzqbgoCdGgw="; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/sh/shelfmark/package.nix b/pkgs/by-name/sh/shelfmark/package.nix index ca13ad35ae59..2267d26bda21 100644 --- a/pkgs/by-name/sh/shelfmark/package.nix +++ b/pkgs/by-name/sh/shelfmark/package.nix @@ -2,7 +2,7 @@ lib, stdenv, fetchFromGitHub, - python3Packages, + python314Packages, makeWrapper, nixosTests, shelfmark-frontend, @@ -10,6 +10,8 @@ }: let + python3Packages = python314Packages; + pythonDeps = with python3Packages; [ flask flask-cors @@ -35,13 +37,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "shelfmark"; - version = "1.2.1"; + version = "1.2.2"; src = fetchFromGitHub { owner = "calibrain"; repo = "shelfmark"; tag = "v${finalAttrs.version}"; - hash = "sha256-Fe7zu51gFG2QgcBWcGkFi64CdZW4ohZg+7jdmeMFVLI="; + hash = "sha256-4x5HwVNNGmoJ/ey1+hc7IqgYjaEJjOWpFuqGlTc4MsM="; }; nativeBuildInputs = [ From 15552e032fe756180e2c0d9186137bca85fe58d4 Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Fri, 1 May 2026 14:05:41 -0400 Subject: [PATCH 2/3] shelfmark: inline frontend and add updateScript --- .../by-name/sh/shelfmark-frontend/package.nix | 25 ---------- pkgs/by-name/sh/shelfmark/package.nix | 46 +++++++++++++++---- 2 files changed, 37 insertions(+), 34 deletions(-) delete mode 100644 pkgs/by-name/sh/shelfmark-frontend/package.nix diff --git a/pkgs/by-name/sh/shelfmark-frontend/package.nix b/pkgs/by-name/sh/shelfmark-frontend/package.nix deleted file mode 100644 index c39f7920f828..000000000000 --- a/pkgs/by-name/sh/shelfmark-frontend/package.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ - buildNpmPackage, - shelfmark, -}: - -buildNpmPackage (finalAttrs: { - pname = "shelfmark-frontend"; - inherit (shelfmark) version src; - - sourceRoot = "${finalAttrs.src.name}/src/frontend"; - - npmDepsHash = "sha256-c/KDGUe+X4dfzbDXpkzYsEzvBxJjq46PTzqbgoCdGgw="; - - installPhase = '' - runHook preInstall - cp -r dist $out - runHook postInstall - ''; - - meta = { - description = "Shelfmark frontend"; - homepage = "https://github.com/calibrain/shelfmark/tree/main/src/frontend"; - inherit (shelfmark.meta) changelog license maintainers; - }; -}) diff --git a/pkgs/by-name/sh/shelfmark/package.nix b/pkgs/by-name/sh/shelfmark/package.nix index 2267d26bda21..891242c77951 100644 --- a/pkgs/by-name/sh/shelfmark/package.nix +++ b/pkgs/by-name/sh/shelfmark/package.nix @@ -1,12 +1,14 @@ { lib, stdenv, + buildNpmPackage, fetchFromGitHub, python314Packages, + nix-update-script, makeWrapper, nixosTests, - shelfmark-frontend, unrar-free, + _experimental-update-script-combinators, }: let @@ -34,18 +36,35 @@ let authlib apprise ]; -in -stdenv.mkDerivation (finalAttrs: { - pname = "shelfmark"; + version = "1.2.2"; src = fetchFromGitHub { owner = "calibrain"; repo = "shelfmark"; - tag = "v${finalAttrs.version}"; + tag = "v${version}"; hash = "sha256-4x5HwVNNGmoJ/ey1+hc7IqgYjaEJjOWpFuqGlTc4MsM="; }; + frontend = buildNpmPackage (finalAttrs: { + pname = "shelfmark-frontend"; + inherit version src; + + sourceRoot = "${finalAttrs.src.name}/src/frontend"; + + npmDepsHash = "sha256-c/KDGUe+X4dfzbDXpkzYsEzvBxJjq46PTzqbgoCdGgw="; + + installPhase = '' + runHook preInstall + cp -r dist $out + runHook postInstall + ''; + }); +in +stdenv.mkDerivation (finalAttrs: { + pname = "shelfmark"; + inherit version src; + nativeBuildInputs = [ python3Packages.wrapPython makeWrapper @@ -62,7 +81,7 @@ stdenv.mkDerivation (finalAttrs: { cp -r shelfmark $out/libexec/shelfmark cp -r data $out/libexec/data - ln -s ${finalAttrs.passthru.frontend} $out/libexec/frontend-dist + ln -s ${frontend} $out/libexec/frontend-dist makeWrapper ${python3Packages.python.interpreter} $out/bin/shelfmark \ --prefix PATH : ${ @@ -79,12 +98,21 @@ stdenv.mkDerivation (finalAttrs: { ''; passthru = { - frontend = shelfmark-frontend.override { - shelfmark = finalAttrs.finalPackage; - }; + inherit frontend; + tests = { inherit (nixosTests) shelfmark; }; + + updateScript = _experimental-update-script-combinators.sequence [ + (nix-update-script { }) + (nix-update-script { + extraArgs = [ + "--subpackage=frontend" + "--version=skip" + ]; + }) + ]; }; meta = { From 3aa172c2edbcbfd5bb7edf7c55a7dc217c147f9c Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Sat, 2 May 2026 10:25:10 -0400 Subject: [PATCH 3/3] shelfmark: 1.2.2 -> 1.2.3 Changelog: https://github.com/calibrain/shelfmark/releases/tag/v1.2.3 --- pkgs/by-name/sh/shelfmark/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sh/shelfmark/package.nix b/pkgs/by-name/sh/shelfmark/package.nix index 891242c77951..18db8a5a8a52 100644 --- a/pkgs/by-name/sh/shelfmark/package.nix +++ b/pkgs/by-name/sh/shelfmark/package.nix @@ -37,13 +37,13 @@ let apprise ]; - version = "1.2.2"; + version = "1.2.3"; src = fetchFromGitHub { owner = "calibrain"; repo = "shelfmark"; tag = "v${version}"; - hash = "sha256-4x5HwVNNGmoJ/ey1+hc7IqgYjaEJjOWpFuqGlTc4MsM="; + hash = "sha256-abRM2ZWfA5nyD0YF7BVmZ6AU37+qd7osjQVGqhjdEV0="; }; frontend = buildNpmPackage (finalAttrs: {