nix-files/pkgs/additional/jellyfin-media-player-qt6/default.nix

69 lines
1.4 KiB
Nix

{ lib
, buildPackages
, cmake
, fetchFromGitHub
, jellyfin-media-player
, libGL
, libX11
, libXrandr
, libvdpau
, mpv
, ninja
, pkg-config
, python3
, qt6
, SDL2
, stdenv
}:
(jellyfin-media-player.overrideAttrs (upstream: {
src = fetchFromGitHub {
owner = "jellyfin";
repo = "jellyfin-media-player";
rev = "qt6";
hash = "sha256-CXuK6PLGOiBDbnLqXcr5sUtQmXksMc6X6GKVMEzmu30=";
};
# nixos ships two patches:
# - the first fixes "web paths" and has *mostly* been upstreamed (so skip and manually tweak a bit)
# - the second disables auto-update notifications (keep)
patches = (builtins.tail upstream.patches) ++ [
./0001-fix-web-path.patch
./0002-qt6-build-fixes.patch
# ./0003-qt6-components-webengine.patch
];
buildInputs = [
SDL2
libGL
libX11
libXrandr
libvdpau
mpv
qt6.qtbase
qt6.qtwebchannel
qt6.qtwebengine
# qtx11extras
qt6.qt5compat #< new
] ++ lib.optionals stdenv.isLinux [
qt6.qtwayland
];
nativeBuildInputs = [
cmake
ninja
pkg-config
python3
qt6.wrapQtAppsHook #< new: libsForQt5.callPackage implicitly adds the qt5 wrapQtAppsHook
];
cmakeFlags = [
"-DCMAKE_BUILD_TYPE=Release"
"-DQTROOT=${qt6.qtbase}"
"-GNinja"
# "-DQT_DEBUG_FIND_PACKAGE=ON"
# "--debug-find-pkg=Qt6WebEngineQuick"
];
meta = upstream.meta // {
platforms = upstream.meta.platforms ++ [ "aarch64-linux" ];
};
}))