feat: Compile Plasma Bigscreen against the development repo as of February 13, 2026

This commit is contained in:
UGA Innovation Factory
2026-02-13 11:35:24 -05:00
parent 950be4b8ce
commit eb791734ba
7 changed files with 306 additions and 1 deletions

112
pkgs/plasma-bigscreen.nix Normal file
View File

@@ -0,0 +1,112 @@
# NOTE: from https://github.com/NixOS/nixpkgs/pull/428353#issuecomment-3498917203
# more info in tv.nix nixos config
{
mkKdeDerivation,
lib,
fetchFromGitLab,
pkg-config,
ki18n,
kdeclarative,
kcmutils,
knotifications,
kio,
kwayland,
kwindowsystem,
plasma-workspace,
qtmultimedia,
bluez-qt,
qtwebengine,
plasma-nano,
plasma-nm,
milou,
kscreen,
kdeconnect-kde,
sdl3,
libcec ? null
}:
mkKdeDerivation {
pname = "plasma-bigscreen";
version = "unstable-2026-02-13";
src = fetchFromGitLab {
domain = "invent.kde.org";
owner = "plasma";
repo = "plasma-bigscreen";
rev = "1db19cdfc2ac1653cb129f403702addec2caf4c7";
hash = "sha256-dfsR20dY1jtLmEpGRxvp9xwOHJFn3mVw+1RUGBJRLpQ=";
};
extraNativeBuildInputs = [
pkg-config
];
buildInputs = [
ki18n
kdeclarative
kcmutils
knotifications
kio
kwayland
kwindowsystem
plasma-workspace
qtmultimedia
bluez-qt
qtwebengine
plasma-nano
plasma-nm
milou
kscreen
kdeconnect-kde
sdl3
] ++ lib.optionals (libcec != null) [ libcec ];
postPatch = ''
substituteInPlace bin/plasma-bigscreen-wayland.in \
--replace-fail @KDE_INSTALL_FULL_LIBEXECDIR@ "${plasma-workspace}/libexec"
# Plasma version numbers are required to match, but we are building an
# unreleased package against a stable Plasma release.
substituteInPlace CMakeLists.txt \
--replace-fail 'set(PROJECT_VERSION "6.5.80")' 'set(PROJECT_VERSION "${plasma-workspace.version}")'
# Fix for Qt 6.10+ which requires explicit find_package of private targets
# Reference: https://github.com/NixOS/nixpkgs/pull/461599/changes
substituteInPlace CMakeLists.txt \
--replace-fail \
'find_package(Qt6 ''${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
Quick
Core
Qml
DBus
Network
Multimedia
WebEngineCore
WebEngineQuick
WaylandClient
)' \
'find_package(Qt6 ''${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
Quick
Core
Qml
QmlPrivate
DBus
Network
Multimedia
WebEngineCore
WebEngineQuick
WaylandClient
)'
'';
preFixup = ''
wrapQtApp $out/bin/plasma-bigscreen-wayland
'';
passthru.providedSessions = [
"plasma-bigscreen-wayland"
];
meta = {
license = lib.licenses.gpl2Plus;
};
}