From 2832d2b0f583112f9a308b7d5858e0f3a77d5069 Mon Sep 17 00:00:00 2001 From: Ross Smyth <18294397+RossSmyth@users.noreply.github.com> Date: Fri, 12 Jun 2026 16:18:26 -0400 Subject: [PATCH] jellyfin: fix reproducibility of build timestamp leaking into output --- pkgs/by-name/je/jellyfin/package.nix | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pkgs/by-name/je/jellyfin/package.nix b/pkgs/by-name/je/jellyfin/package.nix index 89353c557a47..3f1f60b59110 100644 --- a/pkgs/by-name/je/jellyfin/package.nix +++ b/pkgs/by-name/je/jellyfin/package.nix @@ -10,6 +10,7 @@ jellyfin-web, sqlite, versionCheckHook, + jq, }: buildDotnetModule (finalAttrs: { @@ -23,6 +24,10 @@ buildDotnetModule (finalAttrs: { hash = "sha256-bad532F8Ln5Y3TV4x5c7mgsiI+ZJGTZoahuSZhefMvQ="; }; + nativeBuildInputs = [ + jq + ]; + propagatedBuildInputs = [ sqlite ]; projectFile = "Jellyfin.Server/Jellyfin.Server.csproj"; @@ -44,6 +49,17 @@ buildDotnetModule (finalAttrs: { "--webdir=${jellyfin-web}/share/jellyfin-web" ]; + # Impurity with time. Injects the build date into this file + postFixup = '' + timestamp="$(TZ=GMT date -d "@$SOURCE_DATE_EPOCH" '+%a, %d %b %Y %X GMT')" + + cat "$out/lib/jellyfin/jellyfin.staticwebassets.endpoints.json" \ + | jq --arg timestamp "$timestamp" '.Endpoints[].ResponseHeaders[] |= if (.Name == "Last-Modified") then .Value = $timestamp else . end' \ + > jellyfin.staticwebassets.endpoints.json.new + + mv "jellyfin.staticwebassets.endpoints.json.new" "$out/lib/jellyfin/jellyfin.staticwebassets.endpoints.json" + ''; + nativeInstallCheckInputs = [ versionCheckHook ];