diff --git a/pkgs/applications/audio/deadbeef/plugins/vgmstream.nix b/pkgs/applications/audio/deadbeef/plugins/vgmstream.nix new file mode 100644 index 000000000000..a1f12f970a93 --- /dev/null +++ b/pkgs/applications/audio/deadbeef/plugins/vgmstream.nix @@ -0,0 +1,53 @@ +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + deadbeef, + vgmstream, + mpg123, + libvorbis, + ffmpeg, + nix-update-script, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "deadbeef-vgmstream-plugin"; + version = "2026-05-09.1"; + + src = fetchFromGitHub { + owner = "jchv"; + repo = "deadbeef-vgmstream"; + rev = finalAttrs.version; + hash = "sha256-dR1TEx61jnprEQokHRX/mi3WvbS+CVp4VIMlutX6uS8="; + }; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ + deadbeef + mpg123 + libvorbis + ffmpeg.dev + ]; + + enableParallelBuilding = true; + + makeFlags = [ "DEADBEEF_ROOT=${deadbeef}" ]; + installFlags = [ "DEADBEEF_ROOT=$(out)" ]; + + postUnpack = '' + rm -rf $sourceRoot/vgmstream + cp --no-preserve=mode,ownership -LR ${vgmstream.src} $sourceRoot/vgmstream + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Streaming video game music decoder plugin for the DeaDBeeF music player"; + homepage = "https://github.com/jchv/deadbeef-vgmstream"; + license = lib.licenses.isc; + maintainers = [ lib.maintainers.jchw ]; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6aebc6eae849..5a12ff91803a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9124,6 +9124,7 @@ with pkgs; musical-spectrum = callPackage ../applications/audio/deadbeef/plugins/musical-spectrum.nix { }; statusnotifier = callPackage ../applications/audio/deadbeef/plugins/statusnotifier.nix { }; playlist-manager = callPackage ../applications/audio/deadbeef/plugins/playlist-manager.nix { }; + vgmstream = callPackage ../applications/audio/deadbeef/plugins/vgmstream.nix { }; waveform-seekbar = callPackage ../applications/audio/deadbeef/plugins/waveform-seekbar.nix { }; };