splayer: init at 3.0.0-beta.1 (#420058)

authored by Aleksana and committed by GitHub d6da6a3f b9af1c98

+115
+7
maintainers/maintainer-list.nix
··· 4279 4279 githubId = 44584960; 4280 4280 name = "Denis Khalmatov"; 4281 4281 }; 4282 + ccicnce113424 = { 4283 + email = "ccicnce113424@gmail.com"; 4284 + matrix = "@ccicnce113424:matrix.org"; 4285 + github = "ccicnce113424"; 4286 + githubId = 30774232; 4287 + name = "ccicnce113424"; 4288 + }; 4282 4289 cdepillabout = { 4283 4290 email = "cdep.illabout@gmail.com"; 4284 4291 matrix = "@cdepillabout:matrix.org";
+108
pkgs/by-name/sp/splayer/package.nix
··· 1 + { 2 + lib, 3 + stdenv, 4 + fetchFromGitHub, 5 + pnpm_10, 6 + nodejs, 7 + electron, 8 + makeWrapper, 9 + copyDesktopItems, 10 + makeDesktopItem, 11 + nix-update-script, 12 + }: 13 + stdenv.mkDerivation (final: { 14 + pname = "splayer"; 15 + version = "3.0.0-beta.1"; 16 + 17 + src = fetchFromGitHub { 18 + owner = "imsyy"; 19 + repo = "SPlayer"; 20 + tag = "v${final.version}"; 21 + fetchSubmodules = false; 22 + hash = "sha256-Sw5L474gowpOVkIc3CHWVEzknMgJvBmtNXRCxzwY8BA="; 23 + }; 24 + 25 + pnpm = pnpm_10; 26 + 27 + pnpmDeps = final.pnpm.fetchDeps { 28 + inherit (final) pname version src; 29 + hash = "sha256-mC1iJtkZpTd2Vte5DLI3ntZ7vSO5Gka2qOk7ihQd3Gs="; 30 + }; 31 + 32 + nativeBuildInputs = [ 33 + final.pnpm.configHook 34 + nodejs 35 + makeWrapper 36 + copyDesktopItems 37 + ]; 38 + 39 + env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; 40 + 41 + postConfigure = '' 42 + cp .env.example .env 43 + ''; 44 + 45 + buildPhase = '' 46 + runHook preBuild 47 + 48 + pnpm build 49 + 50 + npm exec electron-builder -- \ 51 + --dir \ 52 + --config electron-builder.yml \ 53 + -c.electronDist=${electron.dist} \ 54 + -c.electronVersion=${electron.version} 55 + 56 + runHook postBuild 57 + ''; 58 + 59 + installPhase = '' 60 + runHook preInstall 61 + 62 + mkdir -p "$out/share/splayer" 63 + cp -Pr --no-preserve=ownership dist/*-unpacked/{locales,resources{,.pak}} $out/share/splayer 64 + 65 + _icon_sizes=(16x16 32x32 96x96 192x192 256x256 512x512) 66 + for _icons in "''${_icon_sizes[@]}";do 67 + install -D public/icons/favicon-$_icons.png $out/share/icons/hicolor/$_icons/apps/splayer.png 68 + done 69 + 70 + makeWrapper '${lib.getExe electron}' "$out/bin/splayer" \ 71 + --add-flags $out/share/splayer/resources/app.asar \ 72 + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true --wayland-text-input-version=3}}" \ 73 + --set-default ELECTRON_FORCE_IS_PACKAGED 1 \ 74 + --set-default ELECTRON_IS_DEV 0 \ 75 + --inherit-argv0 76 + 77 + runHook postInstall 78 + ''; 79 + 80 + desktopItems = [ 81 + (makeDesktopItem { 82 + name = "splayer"; 83 + desktopName = "SPlayer"; 84 + exec = "splayer %U"; 85 + terminal = false; 86 + type = "Application"; 87 + icon = "splayer"; 88 + startupWMClass = "SPlayer"; 89 + comment = "A minimalist music player"; 90 + categories = [ 91 + "AudioVideo" 92 + "Audio" 93 + "Music" 94 + ]; 95 + }) 96 + ]; 97 + 98 + passthru.updateScript = nix-update-script { }; 99 + 100 + meta = { 101 + description = "Simple Netease Cloud Music player"; 102 + homepage = "https://github.com/imsyy/SPlayer"; 103 + license = lib.licenses.agpl3Only; 104 + maintainers = with lib.maintainers; [ ccicnce113424 ]; 105 + mainProgram = "splayer"; 106 + platforms = lib.platforms.linux; 107 + }; 108 + })