Merge pull request #321056 from atorres1985-contrib/qmplay2

qmplay2: 24.04.07 -> 24.06.16

authored by

Thiago Kenji Okada and committed by
GitHub
ee3b6d42 bb2d05ba

+149 -86
-85
pkgs/applications/video/qmplay2/default.nix
··· 1 - { lib 2 - , stdenv 3 - , fetchFromGitHub 4 - , alsa-lib 5 - , cmake 6 - , ffmpeg 7 - , fribidi 8 - , game-music-emu 9 - , libXdmcp 10 - , libXv 11 - , libass 12 - , libcddb 13 - , libcdio 14 - , libpulseaudio 15 - , libsidplayfp 16 - , libva 17 - , libxcb 18 - , pkg-config 19 - , qtbase 20 - , qttools 21 - , taglib 22 - , vulkan-headers 23 - , vulkan-tools 24 - , wrapQtAppsHook 25 - }: 26 - 27 - stdenv.mkDerivation (finalAttrs: { 28 - pname = "qmplay2"; 29 - version = "24.04.07"; 30 - 31 - src = fetchFromGitHub { 32 - owner = "zaps166"; 33 - repo = "QMPlay2"; 34 - rev = finalAttrs.version; 35 - fetchSubmodules = true; 36 - hash = "sha256-WIDGApvl+aaB3Vdv0sHY+FHWqzreWWd3/xOLV11YfxM="; 37 - }; 38 - 39 - nativeBuildInputs = [ 40 - cmake 41 - pkg-config 42 - wrapQtAppsHook 43 - ]; 44 - 45 - buildInputs = [ 46 - alsa-lib 47 - ffmpeg 48 - fribidi 49 - game-music-emu 50 - libXdmcp 51 - libXv 52 - libass 53 - libcddb 54 - libcdio 55 - libpulseaudio 56 - libsidplayfp 57 - libva 58 - libxcb 59 - qtbase 60 - qttools 61 - taglib 62 - vulkan-headers 63 - vulkan-tools 64 - ]; 65 - 66 - postInstall = '' 67 - # Because we think it is better to use only lowercase letters! 68 - ln -s $out/bin/QMPlay2 $out/bin/qmplay2 69 - ''; 70 - 71 - meta = { 72 - homepage = "https://github.com/zaps166/QMPlay2/"; 73 - description = "Qt-based Multimedia player"; 74 - longDescription = '' 75 - QMPlay2 is a video and audio player. It can play all formats supported by 76 - FFmpeg, libmodplug (including J2B and SFX). It also supports Audio CD, raw 77 - files, Rayman 2 music and chiptunes. It contains YouTube and MyFreeMP3 78 - browser. 79 - ''; 80 - changelog = "https://github.com/zaps166/QMPlay2/releases/tag/${finalAttrs.version}"; 81 - license = lib.licenses.lgpl3Plus; 82 - maintainers = with lib.maintainers; [ AndersonTorres kashw2 ]; 83 - platforms = lib.platforms.linux; 84 - }; 85 - })
+116
pkgs/by-name/qm/qmplay2/package.nix
··· 1 + { 2 + lib, 3 + alsa-lib, 4 + callPackage, 5 + cmake, 6 + ffmpeg, 7 + fribidi, 8 + game-music-emu, 9 + libXdmcp, 10 + libXv, 11 + libass, 12 + libcddb, 13 + libcdio, 14 + libpulseaudio, 15 + libsidplayfp, 16 + libva, 17 + libxcb, 18 + ninja, 19 + pkg-config, 20 + qt5, 21 + qt6, 22 + stdenv, 23 + taglib, 24 + vulkan-headers, 25 + vulkan-tools, 26 + # Configurable options 27 + qtVersion ? "6", # Can be 5 or 6 28 + }: 29 + 30 + let 31 + sources = callPackage ./sources.nix { }; 32 + in 33 + assert lib.elem qtVersion [ 34 + "5" 35 + "6" 36 + ]; 37 + stdenv.mkDerivation (finalAttrs: { 38 + pname = sources.qmplay2.pname + "-qt" + qtVersion; 39 + inherit (sources.qmplay2) version src; 40 + 41 + postPatch = '' 42 + pushd src 43 + cp -va ${sources.qmvk.src}/* qmvk/ 44 + chmod --recursive 744 qmvk 45 + popd 46 + ''; 47 + 48 + nativeBuildInputs = 49 + [ 50 + cmake 51 + ninja 52 + pkg-config 53 + ] 54 + ++ lib.optionals (qtVersion == "6") [ qt6.wrapQtAppsHook ] 55 + ++ lib.optionals (qtVersion == "5") [ qt5.wrapQtAppsHook ]; 56 + 57 + buildInputs = 58 + [ 59 + alsa-lib 60 + ffmpeg 61 + fribidi 62 + game-music-emu 63 + libXdmcp 64 + libXv 65 + libass 66 + libcddb 67 + libcdio 68 + libpulseaudio 69 + libsidplayfp 70 + libva 71 + libxcb 72 + taglib 73 + vulkan-headers 74 + vulkan-tools 75 + ] 76 + ++ lib.optionals (qtVersion == "6") [ 77 + qt6.qt5compat 78 + qt6.qtbase 79 + qt6.qtsvg 80 + qt6.qttools 81 + ] 82 + ++ lib.optionals (qtVersion == "5") [ 83 + qt5.qtbase 84 + qt5.qttools 85 + ]; 86 + 87 + strictDeps = true; 88 + 89 + # Because we think it is better to use only lowercase letters! 90 + # But sometimes we come across case-insensitive filesystems... 91 + postInstall = '' 92 + [ -e $out/bin/qmplay2 ] || ln -s $out/bin/QMPlay2 $out/bin/qmplay2 93 + ''; 94 + 95 + passthru = { 96 + inherit sources; 97 + }; 98 + 99 + meta = { 100 + homepage = "https://github.com/zaps166/QMPlay2/"; 101 + description = "Qt-based Multimedia player"; 102 + longDescription = '' 103 + QMPlay2 is a video and audio player. It can play all formats supported by 104 + FFmpeg and libmodplug (including J2B and SFX). It also supports Audio CD, 105 + raw files, Rayman 2 music, and chiptunes. It also contains YouTube and 106 + MyFreeMP3 browser. 107 + ''; 108 + license = lib.licenses.lgpl3Plus; 109 + mainProgram = "qmplay2"; 110 + maintainers = with lib.maintainers; [ 111 + AndersonTorres 112 + kashw2 113 + ]; 114 + platforms = lib.platforms.linux; 115 + }; 116 + })
+31
pkgs/by-name/qm/qmplay2/sources.nix
··· 1 + { fetchFromGitHub }: 2 + 3 + { 4 + qmplay2 = 5 + let 6 + self = { 7 + pname = "qmplay2"; 8 + version = "24.06.16"; 9 + 10 + src = fetchFromGitHub { 11 + owner = "zaps166"; 12 + repo = "QMPlay2"; 13 + rev = self.version; 14 + hash = "sha256-HoFyC/OFmthUYfyo6//+KmBIq06MPb5GmDekJbnsz5o="; 15 + }; 16 + }; 17 + in 18 + self; 19 + 20 + qmvk = { 21 + pname = "qmvk"; 22 + version = "0-unstable-2024-04-19"; 23 + 24 + src = fetchFromGitHub { 25 + owner = "zaps166"; 26 + repo = "QmVk"; 27 + rev = "5c5c2942255820b6343afdfeea0405cd3b36870e"; 28 + hash = "sha256-viFM9N5PiSCgkGlxtrLFCVDIML/QyPiaPRX77RW2NNw="; 29 + }; 30 + }; 31 + }
+2 -1
pkgs/top-level/all-packages.nix
··· 33298 33298 33299 33299 qmediathekview = libsForQt5.callPackage ../applications/video/qmediathekview { }; 33300 33300 33301 - qmplay2 = libsForQt5.callPackage ../applications/video/qmplay2 { }; 33301 + qmplay2-qt5 = qmplay2.override { qtVersion = "5"; }; 33302 + qmplay2-qt6 = qmplay2.override { qtVersion = "6"; }; 33302 33303 33303 33304 qmidiarp = callPackage ../applications/audio/qmidiarp { }; 33304 33305