jellyfin-media-player: working qt6 build
haven't checked cross compilation
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index bcebe43..a15b0ef 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -107,8 +107,8 @@ endif()
|
||||
set(RESOURCE_ROOT .)
|
||||
if(APPLE)
|
||||
set(RESOURCE_ROOT Resources)
|
||||
- add_resources(TARGET ${MAIN_TARGET} SOURCES ${CMAKE_CURRENT_BINARY_DIR}/../dist/ DEST ${RESOURCE_ROOT}/web-client/desktop)
|
||||
- add_resources(TARGET ${MAIN_TARGET} SOURCES ${CMAKE_SOURCE_DIR}/native/ DEST ${RESOURCE_ROOT}/web-client/extension)
|
||||
+ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../../jellyfin-web/ DESTINATION ${RESOURCE_ROOT}/web-client/desktop)
|
||||
+ install(DIRECTORY ${CMAKE_SOURCE_DIR}/native/ DESTINATION ${RESOURCE_ROOT}/web-client/extension)
|
||||
endif()
|
||||
|
||||
if(NOT APPLE)
|
||||
@@ -121,7 +121,7 @@ if(NOT APPLE)
|
||||
install(FILES ${loc}/qtwebengine_devtools_resources.pak DESTINATION resources)
|
||||
endif()
|
||||
endforeach()
|
||||
- install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../dist/ DESTINATION ${INSTALL_RESOURCE_DIR}/web-client/desktop)
|
||||
+ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../../jellyfin-web/ DESTINATION ${INSTALL_RESOURCE_DIR}/web-client/desktop)
|
||||
install(DIRECTORY ${CMAKE_SOURCE_DIR}/native/ DESTINATION ${INSTALL_RESOURCE_DIR}/web-client/extension)
|
||||
endif()
|
||||
|
@@ -0,0 +1,13 @@
|
||||
diff --git a/src/input/InputComponent.cpp b/src/input/InputComponent.cpp
|
||||
index 0f5f129..94596b6 100644
|
||||
--- a/src/input/InputComponent.cpp
|
||||
+++ b/src/input/InputComponent.cpp
|
||||
@@ -132,7 +132,7 @@ void InputComponent::handleAction(const QString& action)
|
||||
else
|
||||
{
|
||||
qDebug() << "Invoking slot" << qPrintable(recvSlot->m_slot.data());
|
||||
- QGenericArgument arg0 = QGenericArgument();
|
||||
+ QMetaMethodArgument arg0;
|
||||
|
||||
if (recvSlot->m_hasArguments)
|
||||
arg0 = Q_ARG(const QString&, hostArguments);
|
@@ -1,4 +1,5 @@
|
||||
{ lib
|
||||
, cmake
|
||||
, fetchFromGitHub
|
||||
, jellyfin-media-player
|
||||
, libGL
|
||||
@@ -6,11 +7,14 @@
|
||||
, libXrandr
|
||||
, libvdpau
|
||||
, mpv
|
||||
, ninja
|
||||
, pkg-config
|
||||
, python3
|
||||
, qt6
|
||||
, SDL2
|
||||
, stdenv
|
||||
}:
|
||||
jellyfin-media-player.overrideAttrs (upstream: {
|
||||
(jellyfin-media-player.overrideAttrs (upstream: {
|
||||
src = fetchFromGitHub {
|
||||
owner = "jellyfin";
|
||||
repo = "jellyfin-media-player";
|
||||
@@ -18,9 +22,12 @@ jellyfin-media-player.overrideAttrs (upstream: {
|
||||
hash = "sha256-saR/P2daqjF0G8N7BX6Rtsb1dWGjdf5MPDx1lhoioEw=";
|
||||
};
|
||||
# nixos ships two patches:
|
||||
# - the first fixes "web paths" and has *mostly* been upstreamed (so skip)
|
||||
# - 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;
|
||||
patches = (builtins.tail upstream.patches) ++ [
|
||||
./0001-fix-web-path.patch
|
||||
./0002-qt6-build-fixes.patch
|
||||
];
|
||||
buildInputs = [
|
||||
SDL2
|
||||
libGL
|
||||
@@ -36,7 +43,24 @@ jellyfin-media-player.overrideAttrs (upstream: {
|
||||
qt6.qtwayland
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
pkg-config
|
||||
python3
|
||||
|
||||
# new packages which weren't needed before
|
||||
qt6.wrapQtAppsHook # replaces the implicit qt5 version
|
||||
qt6.qt5compat
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
"-DQTROOT=${qt6.qtbase}"
|
||||
"-GNinja"
|
||||
];
|
||||
|
||||
meta = upstream.meta // {
|
||||
platforms = upstream.meta.platforms ++ [ "aarch64-linux" ];
|
||||
};
|
||||
})
|
||||
}))
|
||||
|
Reference in New Issue
Block a user