Name: konsole Version: 26.08.0 Release: 3%{?dist} Summary: Terminal emulator License: GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND MIT URL: https://konsole.kde.org Source0: https://download.kde.org/stable/release-service/%{version}/src/%{name}-%{version}.tar.xz BuildRequires: desktop-file-utils BuildRequires: gettext BuildRequires: pkgconfig(zlib) BuildRequires: extra-cmake-modules BuildRequires: kf6-rpm-macros BuildRequires: gcc-c++ BuildRequires: cmake BuildRequires: cmake(KF6Bookmarks) BuildRequires: cmake(KF6Config) BuildRequires: cmake(KF6ConfigWidgets) BuildRequires: cmake(KF6CoreAddons) BuildRequires: cmake(KF6Crash) BuildRequires: cmake(KF6DBusAddons) BuildRequires: cmake(KF6GlobalAccel) BuildRequires: cmake(KF6GuiAddons) BuildRequires: cmake(KF6I18n) BuildRequires: cmake(KF6IconThemes) BuildRequires: cmake(KF6KIO) BuildRequires: cmake(KF6NewStuff) BuildRequires: cmake(KF6Notifications) BuildRequires: cmake(KF6NotifyConfig) BuildRequires: cmake(KF6Parts) BuildRequires: cmake(KF6Pty) BuildRequires: cmake(KF6Service) BuildRequires: cmake(KF6TextWidgets) BuildRequires: cmake(KF6WidgetsAddons) BuildRequires: cmake(KF6WindowSystem) BuildRequires: cmake(KF6XmlGui) BuildRequires: cmake(Qt6Core) BuildRequires: cmake(Qt6DBus) BuildRequires: cmake(Qt6PrintSupport) BuildRequires: cmake(Qt6Widgets) BuildRequires: cmake(Qt6Qml) BuildRequires: libicu-devel BuildRequires: libssh-devel BuildRequires: libX11-devel BuildRequires: pkgconfig(xkbcommon) Requires: %{name}-part%{?_isa} = %{version}-%{release} %description Konsole is KDE's terminal emulator. Full CMakeLists.txt read (top-level + src/), confirmed the only genuinely unavailable hard dependency was Qt6::Multimedia (used for one narrow feature: playing inline audio embedded via an iTerm2-style OSC "inline media" terminal escape sequence, an obscure feature few users invoke). Rather than package the whole Qt Multimedia stack for that alone, removed it via a tested source patch (verified zero remaining references, and that control flow correctly falls through to the adjacent inline-image handling code afterward, unaffected). libssh and ICU are both real, available dependencies and kept (SSH-config-aware profile creation, terminal Unicode handling). %package part Summary: Konsole kpart plugin %description part %{summary}. %prep %autosetup -p1 # Qt6::Multimedia is absent on this distro. It's used for exactly one # narrow feature (playing inline audio via an OSC "inline media" # terminal escape sequence). Verified locally against this exact # tarball that removing it leaves clean control flow (falls through to # the adjacent inline-image handling unaffected) and zero remaining # references anywhere. python3 - <<'PYEOF' import re def sub_file(path, pattern, repl, count=1, flags=0): with open(path, encoding="utf-8") as f: content = f.read() new_content, n = re.subn(pattern, repl, content, count=count, flags=flags) assert n == count, f"{path}: expected {count} replacement(s) for pattern {pattern!r}, got {n}" with open(path, "w", encoding="utf-8") as f: f.write(new_content) sub_file( "CMakeLists.txt", r"find_package\(Qt6 \$\{QT_MIN_VERSION\} CONFIG REQUIRED\n Core\n Multimedia\n PrintSupport\n Widgets\n\)", "find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED\n Core\n PrintSupport\n Widgets\n)", ) sub_file( "src/CMakeLists.txt", r" Qt::Multimedia\n", "", ) sub_file( "src/Vt102Emulation.h", r"#include \n", "", ) sub_file( "src/Vt102Emulation.cpp", r"#include \n", "", ) sub_file( "src/Vt102Emulation.h", r" void deletePlayer\(QMediaPlayer::MediaStatus\);\n", "", ) sub_file( "src/Vt102Emulation.h", r" QMediaPlayer \*player;\n", "", ) sub_file( "src/Vt102Emulation.cpp", r" , _reportFocusEvents\(false\)\n , player\(nullptr\)\n", " , _reportFocusEvents(false)\n", ) sub_file( "src/Vt102Emulation.cpp", r" if \(inlineMedia\) \{\n" r" if \(player == nullptr\) \{\n" r" player = new QMediaPlayer\(this\);\n" r" player->setAudioOutput\(new QAudioOutput\(player\)\);\n" r" connect\(player, &QMediaPlayer::mediaStatusChanged, this, &Vt102Emulation::deletePlayer\);\n" r" \}\n" r" QBuffer \*buffer = new QBuffer\(player\);\n" r" buffer->setData\(tokenData\);\n" r" buffer->open\(QIODevice::ReadOnly\);\n" r" delete \(QIODevice \*\)\(player->sourceDevice\(\)\);\n" r" player->setSourceDevice\(buffer\);\n" r" player->play\(\);\n" r" return;\n" r" \}\n", "", ) sub_file( "src/Vt102Emulation.cpp", r"\nvoid Vt102Emulation::deletePlayer\(QMediaPlayer::MediaStatus mediaStatus\)\n" r"\{\n" r" if \(mediaStatus == QMediaPlayer::EndOfMedia \|\| mediaStatus == QMediaPlayer::InvalidMedia\) \{\n" r" QIODevice \*buffer = \(QIODevice \*\)\(player->sourceDevice\(\)\);\n" r" buffer->deleteLater\(\);\n" r" player->deleteLater\(\);\n" r" player = nullptr;\n" r" \}\n" r"\}\n", "\n", ) print("OK: Qt6Multimedia inline-media playback removed cleanly") PYEOF %build %cmake_kf6 %cmake_build_kf6 %install %cmake_install_kf6 %find_lang %{name} --with-html %files -f %{name}.lang %license LICENSES/* %doc README* %{_kf6_bindir}/konsole %{_kf6_bindir}/konsoleprofile %{_kf6_datadir}/applications/org.kde.konsole.desktop %{_kf6_datadir}/kglobalaccel/org.kde.konsole.desktop %{_kf6_datadir}/kio/servicemenus/konsolerun.desktop %{_kf6_datadir}/knotifications6/konsole.notifyrc %{_kf6_datadir}/qlogging-categories6/konsole.* %{_kf6_datadir}/zsh/site-functions/_konsole %{_kf6_metainfodir}/org.kde.konsole.appdata.xml %files part %{_kf6_libdir}/libkonsoleapp.so.* %{_kf6_libdir}/libkonsoleprivate.so.* %{_kf6_qtplugindir}/konsoleplugins/ %{_kf6_qtplugindir}/kf6/parts/konsolepart.so %changelog * Sun Aug 30 2026 Smech - 26.08.0-3 - R2 got past cmake configure into real compilation, then failed: "class 'Konsole::Vt102Emulation' does not have any field named 'player'" -- the patch removed the player member declaration but missed its constructor initializer-list entry (", player(nullptr)"). Added that removal too. Re-tested the complete patch locally against a fresh extraction of this exact tarball before resubmitting -- confirmed zero remaining player/Multimedia/QMediaPlayer/QAudioOutput references anywhere. * Sun Aug 30 2026 Smech - 26.08.0-2 - R1 failed: "Could NOT find KF6 (missing: Config ConfigWidgets KIO Parts Service XmlGui)", each one's own config-file search failing on a missing Qt6Qml. This is the recurring cmake(Qt6Qml) transitive requirement pattern established earlier this session (any package pulling in KF6Config needs its own explicit Qt6Qml BuildRequires) -- should have been added proactively, missed it while focused on the Multimedia patch. Added. * Sun Aug 30 2026 Smech - 26.08.0-1 - Real upstream source (KDE Gear/Applications 26.08.0, first non-Plasma KDE Applications-suite package built in this repo -- start of the full KDE Applications suite phase requested by the user). Dropped Qt6Multimedia via a tested source patch (see %%description). Dropped the Fedora-authored konsolerc config override (verified zero references anywhere in real CMakeLists.txt, entirely Fedora-specific -- MenuBar=Disabled and scrollback cache location tweaks, upstream's own defaults are used instead).