From cdd75cbaf7a97defc39c099f801bfce097283e4a Mon Sep 17 00:00:00 2001 From: kivuno Date: Fri, 22 Aug 2025 09:36:06 +0800 Subject: [PATCH 1/5] youtube-music: 3.9.0 -> 3.10.0 --- pkgs/applications/audio/youtube-music/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/audio/youtube-music/default.nix b/pkgs/applications/audio/youtube-music/default.nix index ba02694aa40f..fd747fb36438 100644 --- a/pkgs/applications/audio/youtube-music/default.nix +++ b/pkgs/applications/audio/youtube-music/default.nix @@ -13,19 +13,19 @@ stdenv.mkDerivation (finalAttrs: { pname = "youtube-music"; - version = "3.9.0"; + version = "3.10.0"; src = fetchFromGitHub { owner = "th-ch"; repo = "youtube-music"; - rev = "v${finalAttrs.version}"; - hash = "sha256-xaHYNfW5ZLYiaeJ0F32NQ87woMh6K4Ea9rjgNOyabck="; + tag = "v${finalAttrs.version}"; + hash = "sha256-+PCDA7lHaUQw9DhODRsEScyJC+9v8UPiZ1W8w2h/Ljg="; }; pnpmDeps = pnpm.fetchDeps { inherit (finalAttrs) pname version src; - fetcherVersion = 1; - hash = "sha256-xIQyTetHU37gTxCcQp4VCqzGdIfVQGy/aORCVba6YQ0="; + fetcherVersion = 2; + hash = "sha256-b5I0n3CedA6qCL68lePU3pwyGp1JlQHzUpfCvhqw2qI="; }; nativeBuildInputs = [ @@ -104,7 +104,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Electron wrapper around YouTube Music"; homepage = "https://th-ch.github.io/youtube-music/"; changelog = "https://github.com/th-ch/youtube-music/blob/master/changelog.md#${ - lib.replaceStrings [ "." ] [ "" ] finalAttrs.src.rev + lib.replaceStrings [ "." ] [ "" ] finalAttrs.src.tag }"; license = licenses.mit; maintainers = with maintainers; [ From 8586b9b7b4f4e29ddb78919041e0f3bdf9ef370a Mon Sep 17 00:00:00 2001 From: kivuno Date: Fri, 22 Aug 2025 09:38:17 +0800 Subject: [PATCH 2/5] youtube-music: remove with lib --- pkgs/applications/audio/youtube-music/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/audio/youtube-music/default.nix b/pkgs/applications/audio/youtube-music/default.nix index fd747fb36438..bb1099f554ee 100644 --- a/pkgs/applications/audio/youtube-music/default.nix +++ b/pkgs/applications/audio/youtube-music/default.nix @@ -100,14 +100,14 @@ stdenv.mkDerivation (finalAttrs: { }) ]; - meta = with lib; { + meta = { description = "Electron wrapper around YouTube Music"; homepage = "https://th-ch.github.io/youtube-music/"; changelog = "https://github.com/th-ch/youtube-music/blob/master/changelog.md#${ lib.replaceStrings [ "." ] [ "" ] finalAttrs.src.tag }"; - license = licenses.mit; - maintainers = with maintainers; [ + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ aacebedo SuperSandro2000 ]; From e55053a5851af00b90819bc67915c212dc7cf0e2 Mon Sep 17 00:00:00 2001 From: kivuno Date: Fri, 22 Aug 2025 09:40:32 +0800 Subject: [PATCH 3/5] youtube-music: sort --- .../audio/youtube-music/default.nix | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/pkgs/applications/audio/youtube-music/default.nix b/pkgs/applications/audio/youtube-music/default.nix index bb1099f554ee..2db52d565c68 100644 --- a/pkgs/applications/audio/youtube-music/default.nix +++ b/pkgs/applications/audio/youtube-music/default.nix @@ -1,10 +1,10 @@ { lib, + stdenv, fetchFromGitHub, makeWrapper, electron, python3, - stdenv, copyDesktopItems, nodejs, pnpm, @@ -22,6 +22,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-+PCDA7lHaUQw9DhODRsEScyJC+9v8UPiZ1W8w2h/Ljg="; }; + patches = [ + # MPRIS's DesktopEntry property needs to match the desktop entry basename + ./fix-mpris-desktop-entry.patch + ]; + pnpmDeps = pnpm.fetchDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; @@ -36,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ copyDesktopItems ]; - ELECTRON_SKIP_BINARY_DOWNLOAD = 1; + env.ELECTRON_SKIP_BINARY_DOWNLOAD = 1; postBuild = lib.optionalString stdenv.hostPlatform.isDarwin '' @@ -51,6 +56,17 @@ stdenv.mkDerivation (finalAttrs: { -c.electronVersion=${electron.version} ''; + desktopItems = [ + (makeDesktopItem { + name = "com.github.th_ch.youtube_music"; + exec = "youtube-music %u"; + icon = "youtube-music"; + desktopName = "YouTube Music"; + startupWMClass = "com.github.th_ch.youtube_music"; + categories = [ "AudioVideo" ]; + }) + ]; + installPhase = '' runHook preInstall @@ -84,22 +100,6 @@ stdenv.mkDerivation (finalAttrs: { --inherit-argv0 ''; - patches = [ - # MPRIS's DesktopEntry property needs to match the desktop entry basename - ./fix-mpris-desktop-entry.patch - ]; - - desktopItems = [ - (makeDesktopItem { - name = "com.github.th_ch.youtube_music"; - exec = "youtube-music %u"; - icon = "youtube-music"; - desktopName = "YouTube Music"; - startupWMClass = "com.github.th_ch.youtube_music"; - categories = [ "AudioVideo" ]; - }) - ]; - meta = { description = "Electron wrapper around YouTube Music"; homepage = "https://th-ch.github.io/youtube-music/"; From 23c2bda6fda8119834d25c1d726b2a0e45a26b16 Mon Sep 17 00:00:00 2001 From: kivuno Date: Fri, 22 Aug 2025 09:44:31 +0800 Subject: [PATCH 4/5] youtube-music: set --wayland-text-input-version=3, move out of $out/share/lib directory --- pkgs/applications/audio/youtube-music/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/audio/youtube-music/default.nix b/pkgs/applications/audio/youtube-music/default.nix index 2db52d565c68..b11d3d6a11fd 100644 --- a/pkgs/applications/audio/youtube-music/default.nix +++ b/pkgs/applications/audio/youtube-music/default.nix @@ -74,11 +74,11 @@ stdenv.mkDerivation (finalAttrs: { + lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir -p $out/{Applications,bin} mv pack/mac*/YouTube\ Music.app $out/Applications - makeWrapper $out/Applications/YouTube\ Music.app/Contents/MacOS/YouTube\ Music $out/bin/youtube-music + ln -s "$out/Applications/YouTube Music.app/Contents/MacOS/YouTube Music" $out/bin/youtube-music '' + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - mkdir -p "$out/share/lib/youtube-music" - cp -r pack/*-unpacked/{locales,resources{,.pak}} "$out/share/lib/youtube-music" + mkdir -p "$out/share/youtube-music" + cp -r pack/*-unpacked/{locales,resources{,.pak}} "$out/share/youtube-music" pushd assets/generated/icons/png for file in *.png; do @@ -93,8 +93,8 @@ stdenv.mkDerivation (finalAttrs: { postFixup = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' makeWrapper ${electron}/bin/electron $out/bin/youtube-music \ - --add-flags $out/share/lib/youtube-music/resources/app.asar \ - --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ + --add-flags $out/share/youtube-music/resources/app.asar \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true --wayland-text-input-version=3}}" \ --set-default ELECTRON_FORCE_IS_PACKAGED 1 \ --set-default ELECTRON_IS_DEV 0 \ --inherit-argv0 From f102c789cc8274030013261660da7b74f72d59ca Mon Sep 17 00:00:00 2001 From: kivuno Date: Fri, 22 Aug 2025 09:47:07 +0800 Subject: [PATCH 5/5] youtube-music: add updateScript --- pkgs/applications/audio/youtube-music/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/applications/audio/youtube-music/default.nix b/pkgs/applications/audio/youtube-music/default.nix index b11d3d6a11fd..cde0d6cd26ad 100644 --- a/pkgs/applications/audio/youtube-music/default.nix +++ b/pkgs/applications/audio/youtube-music/default.nix @@ -9,6 +9,7 @@ nodejs, pnpm, makeDesktopItem, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { @@ -100,6 +101,8 @@ stdenv.mkDerivation (finalAttrs: { --inherit-argv0 ''; + passthru.updateScript = nix-update-script { }; + meta = { description = "Electron wrapper around YouTube Music"; homepage = "https://th-ch.github.io/youtube-music/";