docs: add upstream tracking comments to plasma-bigscreen files
All checks were successful
CI / check (pull_request) Successful in 2m28s
CI / build-and-cache (pull_request) Has been skipped

Flag the custom derivation and workarounds as temporary with TODO
markers and links to the relevant nixpkgs issue/PR. Makes it clear
what to remove once plasma-bigscreen lands in nixpkgs.
This commit is contained in:
2026-03-07 10:45:33 -08:00
parent bf63c8dff3
commit 91cc6cbed8
2 changed files with 17 additions and 10 deletions

View File

@@ -5,7 +5,8 @@ with lib;
let
cfg = config.roles.plasma-bigscreen;
# Plasma Bigscreen package — not yet in nixpkgs, built from upstream master
# Plasma Bigscreen package — not yet in nixpkgs, built from upstream master.
# TODO: Replace with pkgs.kdePackages.plasma-bigscreen once available.
plasma-bigscreen = pkgs.kdePackages.callPackage ./package.nix {};
jellyfinMediaPlayerPkg =

View File

@@ -1,8 +1,12 @@
# Plasma Bigscreen — TV interface for Plasma 6
# Not yet released or packaged in nixpkgs; built from upstream master.
#
# TODO: Remove this file once plasma-bigscreen lands in nixpkgs.
# Tracking issue: https://github.com/NixOS/nixpkgs/issues/428077
# Draft nixpkgs PR: https://github.com/NixOS/nixpkgs/pull/428353
# When available, switch to pkgs.kdePackages.plasma-bigscreen.
#
# Upstream: https://invent.kde.org/plasma/plasma-bigscreen
# Tracking: https://github.com/NixOS/nixpkgs/issues/428077
# Based on: https://github.com/NixOS/nixpkgs/pull/428353
{
mkKdeDerivation,
lib,
@@ -30,7 +34,7 @@
libkscreen,
kdeconnect-kde,
# Qt 6
qtdeclarative,
qtdeclarative, # needed for Qt6::QmlPrivate — see QCoro workaround in postPatch
qtmultimedia,
qtwebengine,
# Other
@@ -50,7 +54,6 @@ mkKdeDerivation {
owner = "plasma";
repo = "plasma-bigscreen";
rev = "bd143fea7e386bac1652b8150a3ed3d5ef7cf93c";
# Build will fail with hash mismatch — copy the correct hash from the error
hash = "sha256-y439IX7e0+XqxqFj/4+P5le0hA7DiwA+smDsD0UH/fI=";
};
@@ -80,7 +83,7 @@ mkKdeDerivation {
milou
libkscreen
kdeconnect-kde
# Qt
# Qt — qtdeclarative is needed for Qt6::QmlPrivate (see postPatch)
qtdeclarative
qtmultimedia
qtwebengine
@@ -96,13 +99,16 @@ mkKdeDerivation {
substituteInPlace bin/plasma-bigscreen-wayland.in \
--replace @KDE_INSTALL_FULL_LIBEXECDIR@ "${plasma-workspace}/libexec"
# Plasma version numbers must match; we're building an unreleased package
# against a stable Plasma release.
# WORKAROUND: Plasma version numbers must match; we're building an
# unreleased package against a stable Plasma release. Remove once
# bigscreen is part of the Plasma release cycle.
substituteInPlace CMakeLists.txt \
--replace-fail 'set(PROJECT_VERSION "6.5.80")' 'set(PROJECT_VERSION "${plasma-workspace.version}")'
# QCoro6Qml links against Qt6::QmlPrivate but doesn't import it.
# Add find_package for Qt6QmlPrivate before QCoro is loaded.
# WORKAROUND: QCoro6Qml's cmake config links against Qt6::QmlPrivate but
# doesn't call find_package to import the target. This is arguably a QCoro
# packaging bug in nixpkgs (it should propagate qtdeclarative). Remove
# once QCoro or the nixpkgs plasma-bigscreen package is fixed upstream.
substituteInPlace CMakeLists.txt \
--replace-fail 'find_package(QCoro6' 'find_package(Qt6 ''${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS QmlPrivate)
find_package(QCoro6'