diff --git a/config/redbear-full.toml b/config/redbear-full.toml index 7141414ac1..f3148c3d9d 100644 --- a/config/redbear-full.toml +++ b/config/redbear-full.toml @@ -278,6 +278,7 @@ data = """ description = "DRM/KMS display driver (AMD + Intel + VirtIO)" requires_weak = [ "05_boot-essential.target", + "00_driver-manager.service", ] [service] @@ -443,6 +444,7 @@ description = "Red Bear greeter service" requires_weak = [ "00_driver-manager.service", "10_redox-drm.service", + "10_evdevd.service", "12_dbus.service", "13_redbear-sessiond.service", "13_seatd.service", diff --git a/config/wayland.toml b/config/wayland.toml index 917a97e3da..f950d0fbd1 100644 --- a/config/wayland.toml +++ b/config/wayland.toml @@ -239,7 +239,7 @@ fi export XCURSOR_THEME="${XCURSOR_THEME:-Pop}" export XKB_CONFIG_ROOT="${XKB_CONFIG_ROOT:-/usr/share/X11/xkb}" -if [ -z "${KWIN_DRM_DEVICES:-}" ] && [ -e /scheme/drm/card0 ]; then +if [ -z "${KWIN_DRM_DEVICES:-}" ] && ( exec 3<"/scheme/drm/card0" && exec 3>&- ) >/dev/null 2>&1; then export KWIN_DRM_DEVICES=/scheme/drm/card0 fi diff --git a/local/recipes/kde/kf6-attica/source/CMakeLists.txt b/local/recipes/kde/kf6-attica/source/CMakeLists.txt index 69eef94dae..a98751cadf 100644 --- a/local/recipes/kde/kf6-attica/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-attica/source/CMakeLists.txt @@ -57,7 +57,7 @@ add_subdirectory(src) # Enable unit testing if (BUILD_TESTING) -############################################################## add_subdirectory(autotests) +################################################################ add_subdirectory(autotests) add_subdirectory(tests) endif () diff --git a/local/recipes/kde/kf6-kcmutils/source/CMakeLists.txt b/local/recipes/kde/kf6-kcmutils/source/CMakeLists.txt index 1443924927..ec019da3e9 100644 --- a/local/recipes/kde/kf6-kcmutils/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-kcmutils/source/CMakeLists.txt @@ -146,6 +146,8 @@ find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) +find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) +find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) # shall we use DBus? # enabled per default on Linux & BSD systems diff --git a/local/recipes/kde/kf6-kcolorscheme/source/CMakeLists.txt b/local/recipes/kde/kf6-kcolorscheme/source/CMakeLists.txt index 920140d1f5..6b46d8684b 100644 --- a/local/recipes/kde/kf6-kcolorscheme/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-kcolorscheme/source/CMakeLists.txt @@ -124,6 +124,8 @@ find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) +find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) +find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].") diff --git a/local/recipes/kde/kf6-kcompletion/source/CMakeLists.txt b/local/recipes/kde/kf6-kcompletion/source/CMakeLists.txt index 68aa2a046a..79a9ffe2fe 100644 --- a/local/recipes/kde/kf6-kcompletion/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-kcompletion/source/CMakeLists.txt @@ -115,6 +115,8 @@ find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) +find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) +find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(KF6Codecs ${KF_DEP_VERSION} REQUIRED) find_package(KF6Config ${KF_DEP_VERSION} REQUIRED) diff --git a/local/recipes/kde/kf6-kconfigwidgets/source/CMakeLists.txt b/local/recipes/kde/kf6-kconfigwidgets/source/CMakeLists.txt index 1acb4513aa..90c9674618 100644 --- a/local/recipes/kde/kf6-kconfigwidgets/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-kconfigwidgets/source/CMakeLists.txt @@ -118,6 +118,8 @@ find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) +find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) +find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) # shall we use DBus? # enabled per default on Linux & BSD systems diff --git a/local/recipes/kde/kf6-kdeclarative/source/CMakeLists.txt b/local/recipes/kde/kf6-kdeclarative/source/CMakeLists.txt index cd4cf69b2b..384146ab4c 100644 --- a/local/recipes/kde/kf6-kdeclarative/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-kdeclarative/source/CMakeLists.txt @@ -32,7 +32,7 @@ find_package(KF6GuiAddons ${KF_DEP_VERSION} REQUIRED) if(NOT WIN32 AND NOT APPLE AND NOT ANDROID AND NOT REDOX) -##################################################################################### find_package(KF6GlobalAccel ${KF_DEP_VERSION} REQUIRED) +####################################################################################### find_package(KF6GlobalAccel ${KF_DEP_VERSION} REQUIRED) set(HAVE_KGLOBALACCEL TRUE) else() set(HAVE_KGLOBALACCEL FALSE) diff --git a/local/recipes/kde/kf6-kiconthemes/source/CMakeLists.txt b/local/recipes/kde/kf6-kiconthemes/source/CMakeLists.txt index 89ca828a6c..7597f8d11e 100644 --- a/local/recipes/kde/kf6-kiconthemes/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-kiconthemes/source/CMakeLists.txt @@ -138,6 +138,8 @@ find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) +find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) +find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6Svg ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE) # shall we use DBus? diff --git a/local/recipes/kde/kf6-kitemmodels/source/CMakeLists.txt b/local/recipes/kde/kf6-kitemmodels/source/CMakeLists.txt index 835d8a9c2a..23c0253ac2 100644 --- a/local/recipes/kde/kf6-kitemmodels/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-kitemmodels/source/CMakeLists.txt @@ -38,7 +38,7 @@ set_package_properties(Qt6Qml PROPERTIES ) if (TARGET Qt6::Qml) -################################################################ include(ECMQmlModule) +################################################################## include(ECMQmlModule) endif() set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].") diff --git a/local/recipes/kde/kf6-kitemmodels/source/src/CMakeLists.txt b/local/recipes/kde/kf6-kitemmodels/source/src/CMakeLists.txt index bab43e7c00..d7dc2b076d 100644 --- a/local/recipes/kde/kf6-kitemmodels/source/src/CMakeLists.txt +++ b/local/recipes/kde/kf6-kitemmodels/source/src/CMakeLists.txt @@ -1,6 +1,6 @@ add_subdirectory(core) if (TARGET Qt6::Qml) -############################################################### add_subdirectory(qml) +################################################################# add_subdirectory(qml) endif() ecm_qt_install_logging_categories( diff --git a/local/recipes/kde/kf6-kitemviews/source/CMakeLists.txt b/local/recipes/kde/kf6-kitemviews/source/CMakeLists.txt index 4b03c4571e..dcf79e0b12 100644 --- a/local/recipes/kde/kf6-kitemviews/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-kitemviews/source/CMakeLists.txt @@ -104,6 +104,8 @@ find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) +find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) +find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].") diff --git a/local/recipes/kde/kf6-kjobwidgets/source/CMakeLists.txt b/local/recipes/kde/kf6-kjobwidgets/source/CMakeLists.txt index a956be4608..f76453a8e4 100644 --- a/local/recipes/kde/kf6-kjobwidgets/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-kjobwidgets/source/CMakeLists.txt @@ -104,6 +104,8 @@ find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) +find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) +find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) if(NOT WIN32 AND NOT APPLE AND NOT ANDROID AND NOT HAIKU) option(WITH_X11 "Build with support for QX11Info::appUserTime()" ON) diff --git a/local/recipes/kde/kf6-ktextwidgets/source/CMakeLists.txt b/local/recipes/kde/kf6-ktextwidgets/source/CMakeLists.txt index 08a4e3c3c8..3b3390c797 100644 --- a/local/recipes/kde/kf6-ktextwidgets/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-ktextwidgets/source/CMakeLists.txt @@ -119,6 +119,8 @@ find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) +find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) +find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) if (WITH_TEXT_TO_SPEECH) find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED TextToSpeech) diff --git a/local/recipes/kde/kf6-kwayland/source/CMakeLists.txt b/local/recipes/kde/kf6-kwayland/source/CMakeLists.txt index 8be666764b..f76bac6187 100644 --- a/local/recipes/kde/kf6-kwayland/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-kwayland/source/CMakeLists.txt @@ -124,6 +124,8 @@ find_package(Qt6WaylandClientPrivate REQUIRED) find_package(Qt6WaylandClientPrivate REQUIRED) find_package(Qt6WaylandClientPrivate REQUIRED) find_package(Qt6WaylandClientPrivate REQUIRED) +find_package(Qt6WaylandClientPrivate REQUIRED) +find_package(Qt6WaylandClientPrivate REQUIRED) set_package_properties(Wayland PROPERTIES TYPE REQUIRED ) diff --git a/local/recipes/kde/kf6-kxmlgui/source/src/kswitchlanguagedialog_p.cpp b/local/recipes/kde/kf6-kxmlgui/source/src/kswitchlanguagedialog_p.cpp index 116084c3f6..e0c5d55f45 100644 --- a/local/recipes/kde/kf6-kxmlgui/source/src/kswitchlanguagedialog_p.cpp +++ b/local/recipes/kde/kf6-kxmlgui/source/src/kswitchlanguagedialog_p.cpp @@ -74,10 +74,10 @@ void initializeLanguages() // Ideally setting the LANGUAGE would change the default QLocale too // but unfortunately this is too late since the QCoreApplication constructor // already created a QLocale at this stage so we need to set the reset it -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // by triggering the creation and destruction of a QSystemLocale +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // by triggering the creation and destruction of a QSystemLocale // this is highly dependent on Qt internals, so may break, but oh well -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// QSystemLocale *dummy = new QSystemLocale(); -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// delete dummy; +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// QSystemLocale *dummy = new QSystemLocale(); +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// delete dummy; } } diff --git a/local/recipes/kde/kf6-pty/source/CMakeLists.txt b/local/recipes/kde/kf6-pty/source/CMakeLists.txt index 0dd1fe0126..f7e254717c 100644 --- a/local/recipes/kde/kf6-pty/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-pty/source/CMakeLists.txt @@ -65,9 +65,9 @@ ecm_set_disabled_deprecation_versions( ) add_subdirectory( src ) -###################################if (BUILD_TESTING) -################################### add_subdirectory( autotests ) -###################################endif() +#####################################if (BUILD_TESTING) +##################################### add_subdirectory( autotests ) +#####################################endif() if (BUILD_QCH) ecm_install_qch_export( diff --git a/local/recipes/kde/kf6-solid/source/CMakeLists.txt b/local/recipes/kde/kf6-solid/source/CMakeLists.txt index c533a39476..7dd02dbc7b 100644 --- a/local/recipes/kde/kf6-solid/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-solid/source/CMakeLists.txt @@ -78,7 +78,7 @@ set_package_properties(PList PROPERTIES if (CMAKE_SYSTEM_NAME MATCHES Linux) # Used by the UDisks backend on Linux - ######################################################################################################find_package(LibMount) + ########################################################################################################find_package(LibMount) set_package_properties(LibMount PROPERTIES TYPE REQUIRED) endif() diff --git a/local/recipes/kde/kwin/source/src/backends/libinput/device.cpp b/local/recipes/kde/kwin/source/src/backends/libinput/device.cpp index a122fd0620..ff576fe531 100644 --- a/local/recipes/kde/kwin/source/src/backends/libinput/device.cpp +++ b/local/recipes/kde/kwin/source/src/backends/libinput/device.cpp @@ -126,6 +126,8 @@ #include #include #include +#include +#include #include "config-kwin.h" diff --git a/local/recipes/kde/kwin/source/src/core/session_consolekit.cpp b/local/recipes/kde/kwin/source/src/core/session_consolekit.cpp index c8db6ab599..00998fba4f 100644 --- a/local/recipes/kde/kwin/source/src/core/session_consolekit.cpp +++ b/local/recipes/kde/kwin/source/src/core/session_consolekit.cpp @@ -110,34 +110,12 @@ static bool activate(const QString &sessionPath) std::unique_ptr ConsoleKitSession::create() { - if (!QDBusConnection::systemBus().interface()->isServiceRegistered(s_serviceName)) { - return nullptr; - } - - const QString sessionPath = findProcessSessionPath(); - if (sessionPath.isEmpty()) { - qCWarning(KWIN_CORE) << "Could not determine the active graphical session"; - return nullptr; - } - - if (!activate(sessionPath)) { - qCWarning(KWIN_CORE, "Failed to activate %s session. Maybe another compositor is running?", - qPrintable(sessionPath)); - return nullptr; - } - - if (!takeControl(sessionPath)) { - qCWarning(KWIN_CORE, "Failed to take control of %s session. Maybe another compositor is running?", - qPrintable(sessionPath)); - return nullptr; - } - - std::unique_ptr session{new ConsoleKitSession(sessionPath)}; - if (session->initialize()) { - return session; - } else { - return nullptr; - } + // Red Bear OS: No ConsoleKit. Skip ConsoleKitSession entirely so Session::create() + // falls through to NoopSession, which opens DRM devices directly via ::open(). + // Connecting to the system bus to check isServiceRegistered() can block + // indefinitely if the D-Bus daemon accepts the connection but doesn't implement + // the org.freedesktop.DBus interface methods Qt expects. + return nullptr; } bool ConsoleKitSession::isActive() const diff --git a/local/recipes/kde/kwin/source/src/helpers/CMakeLists.txt b/local/recipes/kde/kwin/source/src/helpers/CMakeLists.txt index 00ad8e8f07..d38a188bcb 100644 --- a/local/recipes/kde/kwin/source/src/helpers/CMakeLists.txt +++ b/local/recipes/kde/kwin/source/src/helpers/CMakeLists.txt @@ -1,2 +1,2 @@ -#######################################################################################################################add_subdirectory(killer) # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only +#########################################################################################################################add_subdirectory(killer) # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only add_subdirectory(wayland_wrapper) diff --git a/local/recipes/kde/kwin/source/src/helpers/wayland_wrapper/wl-socket.c b/local/recipes/kde/kwin/source/src/helpers/wayland_wrapper/wl-socket.c index 4ccc127613..dd5a9a570f 100644 --- a/local/recipes/kde/kwin/source/src/helpers/wayland_wrapper/wl-socket.c +++ b/local/recipes/kde/kwin/source/src/helpers/wayland_wrapper/wl-socket.c @@ -355,6 +355,12 @@ #ifndef SUN_LEN #define SUN_LEN(s) (sizeof(*(s)) - sizeof((s)->sun_path) + strnlen((s)->sun_path, sizeof((s)->sun_path))) #endif +#ifndef SUN_LEN +#define SUN_LEN(s) (sizeof(*(s)) - sizeof((s)->sun_path) + strnlen((s)->sun_path, sizeof((s)->sun_path))) +#endif +#ifndef SUN_LEN +#define SUN_LEN(s) (sizeof(*(s)) - sizeof((s)->sun_path) + strnlen((s)->sun_path, sizeof((s)->sun_path))) +#endif /* KWin - the KDE window manager This file is part of the KDE project. diff --git a/local/recipes/kde/kwin/source/src/plugins/systembell/CMakeLists.txt b/local/recipes/kde/kwin/source/src/plugins/systembell/CMakeLists.txt index 3f3b768055..4de86b278e 100644 --- a/local/recipes/kde/kwin/source/src/plugins/systembell/CMakeLists.txt +++ b/local/recipes/kde/kwin/source/src/plugins/systembell/CMakeLists.txt @@ -10,5 +10,5 @@ target_link_libraries(systembell PRIVATE KF6::GlobalAccel KF6::I18n - $,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,Canberra::Canberra,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,> + $,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,Canberra::Canberra,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,> ) diff --git a/local/recipes/kde/kwin/source/src/tabletmodemanager.cpp b/local/recipes/kde/kwin/source/src/tabletmodemanager.cpp index 9ac4bce169..2e48045d36 100644 --- a/local/recipes/kde/kwin/source/src/tabletmodemanager.cpp +++ b/local/recipes/kde/kwin/source/src/tabletmodemanager.cpp @@ -126,6 +126,8 @@ #include #include #include +#include +#include #include "backends/libinput/device.h" #include "core/inputdevice.h" diff --git a/local/recipes/kde/kwin/source/src/utils/ramfile.cpp b/local/recipes/kde/kwin/source/src/utils/ramfile.cpp index 9617c671fb..fb002e40af 100644 --- a/local/recipes/kde/kwin/source/src/utils/ramfile.cpp +++ b/local/recipes/kde/kwin/source/src/utils/ramfile.cpp @@ -712,6 +712,18 @@ #define F_SEAL_SHRINK 0x0002 #define F_SEAL_GROW 0x0004 #define F_SEAL_WRITE 0x0008 +#define F_ADD_SEALS 1033 +#define F_GET_SEALS 1034 +#define F_SEAL_SEAL 0x0001 +#define F_SEAL_SHRINK 0x0002 +#define F_SEAL_GROW 0x0004 +#define F_SEAL_WRITE 0x0008 +#define F_ADD_SEALS 1033 +#define F_GET_SEALS 1034 +#define F_SEAL_SEAL 0x0001 +#define F_SEAL_SHRINK 0x0002 +#define F_SEAL_GROW 0x0004 +#define F_SEAL_WRITE 0x0008 /* KWin - the KDE window manager This file is part of the KDE project. diff --git a/local/recipes/libs/libdrm/source/virtgpu_drm.h b/local/recipes/libs/libdrm/source/virtgpu_drm.h new file mode 100644 index 0000000000..a0aab83b93 --- /dev/null +++ b/local/recipes/libs/libdrm/source/virtgpu_drm.h @@ -0,0 +1,132 @@ +#ifndef _VIRTGPU_DRM_H_ +#define _VIRTGPU_DRM_H_ + +#include + +#define DRM_VIRTGPU_MAP 0x41 +#define DRM_VIRTGPU_EXECBUFFER 0x42 +#define DRM_VIRTGPU_GETPARAM 0x43 +#define DRM_VIRTGPU_RESOURCE_CREATE 0x44 +#define DRM_VIRTGPU_RESOURCE_INFO 0x45 +#define DRM_VIRTGPU_TRANSFER_FROM_HOST 0x46 +#define DRM_VIRTGPU_TRANSFER_TO_HOST 0x47 +#define DRM_VIRTGPU_WAIT 0x48 +#define DRM_VIRTGPU_GET_CAPS 0x49 +#define DRM_VIRTGPU_RESOURCE_CREATE_BLOB 0x4A +#define DRM_VIRTGPU_CONTEXT_INIT 0x4B + +#define drm_virtgpu_resource_create drm_virtgpu_resource_create_3d +#define drm_virtgpu_3d_transfer_to_host drm_virtgpu_transfer_to_host +#define drm_virtgpu_3d_transfer_from_host drm_virtgpu_transfer_from_host +#define drm_virtgpu_3d_wait drm_virtgpu_wait_3d +#define ctx_set_params_ptr ctx_set_params +#define resource_id res_handle + +struct drm_virtgpu_3d_box { + uint32_t x; + uint32_t y; + uint32_t z; + uint32_t w; + uint32_t h; + uint32_t d; +}; + +struct drm_virtgpu_execbuffer { + uint32_t flags; + uint32_t size; + uint64_t command; + uint64_t bo_handles; + uint32_t num_bo_handles; + int32_t fence_fd; + uint32_t ring_idx; + uint32_t syncobj_stride; + uint32_t num_in_syncobjs; + uint32_t num_out_syncobjs; + uint64_t in_syncobjs; + uint64_t out_syncobjs; +}; + +struct drm_virtgpu_getparam { + uint64_t param; + uint64_t value; +}; + +struct drm_virtgpu_resource_create_3d { + uint32_t target; + uint32_t format; + uint32_t bind; + uint32_t width; + uint32_t height; + uint32_t depth; + uint32_t array_size; + uint32_t last_level; + uint32_t nr_samples; + uint32_t flags; + uint32_t bo_handle; + uint32_t res_handle; + uint32_t size; + uint32_t stride; +}; + +struct drm_virtgpu_resource_info { + uint32_t bo_handle; + uint32_t res_handle; + uint32_t size; + uint32_t blob_mem; +}; + +struct drm_virtgpu_transfer_to_host { + uint32_t bo_handle; + struct drm_virtgpu_3d_box box; + uint32_t level; + uint32_t offset; + uint32_t stride; + uint32_t layer_stride; +}; + +struct drm_virtgpu_transfer_from_host { + uint32_t bo_handle; + struct drm_virtgpu_3d_box box; + uint32_t level; + uint32_t offset; + uint32_t stride; + uint32_t layer_stride; +}; + +struct drm_virtgpu_wait_3d { + uint32_t handle; + uint32_t flags; +}; + +struct drm_virtgpu_get_caps { + uint32_t cap_set_id; + uint32_t cap_set_ver; + uint64_t addr; + uint32_t size; + uint32_t pad; +}; + +struct drm_virtgpu_resource_create_blob { + uint32_t blob_mem; + uint32_t blob_flags; + uint32_t bo_handle; + uint32_t res_handle; + uint64_t size; + uint32_t pad; + uint32_t cmd_size; + uint64_t cmd; + uint64_t blob_id; +}; + +struct drm_virtgpu_context_set_param { + uint64_t param; + uint64_t value; +}; + +struct drm_virtgpu_context_init { + uint32_t num_params; + uint32_t pad; + uint64_t ctx_set_params; +}; + +#endif diff --git a/local/recipes/libs/libdrm/source/xf86drm.c b/local/recipes/libs/libdrm/source/xf86drm.c index c3904caa37..306026e8b7 100644 --- a/local/recipes/libs/libdrm/source/xf86drm.c +++ b/local/recipes/libs/libdrm/source/xf86drm.c @@ -4093,7 +4093,7 @@ static int drmParseSubsystemType(int maj, int min) return DRM_BUS_VIRTIO; } return subsystem_type; -#elif defined(__OpenBSD__) || defined(__DragonFly__) || defined(__FreeBSD__) +#elif defined(__OpenBSD__) || defined(__DragonFly__) || defined(__FreeBSD__) || defined(__redox__) return DRM_BUS_PCI; #else #warning "Missing implementation of drmParseSubsystemType" @@ -5120,6 +5120,66 @@ drm_public int drmGetDeviceFromDevId(dev_t find_rdev, uint32_t flags, drmDeviceP *device = d; + return 0; +#elif defined(__redox__) + /* On Redox there is no /dev/dri/ directory to enumerate. + * Instead, open /scheme/drm/card0 and query PCI info to + * construct a single drmDevice that serves as both primary + * and render node. */ + drmDevicePtr devp; + char *pptr; + int max_node_length = 64, i; + size_t extra, psize; + uint8_t pbuf[22]; + size_t prsize = 0; + int pret, fd; + + if (device == NULL) + return -EINVAL; + if (drm_device_validate_flags(flags)) + return -EINVAL; + + fd = open("/scheme/drm/card0", O_RDWR | O_CLOEXEC); + if (fd < 0) + return -errno; + + pret = redox_drm_exchange(fd, REDOX_DRM_IOCTL_GET_PCI_INFO, NULL, 0, + pbuf, sizeof(pbuf), &prsize); + close(fd); + if (pret != 0 || prsize < 17) + return -EIO; + + extra = DRM_NODE_MAX * (sizeof(void *) + max_node_length); + psize = sizeof(drmDevice) + extra + sizeof(drmPciBusInfo) + sizeof(drmPciDeviceInfo); + devp = calloc(1, psize); + if (!devp) + return -ENOMEM; + + devp->bustype = DRM_BUS_PCI; + /* Advertise both PRIMARY and RENDER — same path on Redox */ + devp->available_nodes = (1 << DRM_NODE_PRIMARY) | (1 << DRM_NODE_RENDER); + pptr = (char *)devp + sizeof(drmDevice); + devp->nodes = (char **)pptr; + pptr += DRM_NODE_MAX * sizeof(void *); + for (i = 0; i < DRM_NODE_MAX; i++) { devp->nodes[i] = pptr; pptr += max_node_length; } + snprintf(devp->nodes[DRM_NODE_PRIMARY], max_node_length, "/scheme/drm/card0"); + snprintf(devp->nodes[DRM_NODE_RENDER], max_node_length, "/scheme/drm/card0"); + + devp->businfo.pci = (drmPciBusInfoPtr)pptr; + pptr += sizeof(drmPciBusInfo); + devp->businfo.pci->domain = pbuf[10] | (pbuf[11] << 8) | (pbuf[12] << 16) | (pbuf[13] << 24); + devp->businfo.pci->bus = pbuf[14]; + devp->businfo.pci->dev = pbuf[15]; + devp->businfo.pci->func = pbuf[16]; + + devp->deviceinfo.pci = (drmPciDeviceInfoPtr)pptr; + devp->deviceinfo.pci->vendor_id = pbuf[0] | (pbuf[1] << 8); + devp->deviceinfo.pci->device_id = pbuf[2] | (pbuf[3] << 8); + devp->deviceinfo.pci->subvendor_id = pbuf[4] | (pbuf[5] << 8); + devp->deviceinfo.pci->subdevice_id = pbuf[6] | (pbuf[7] << 8); + devp->deviceinfo.pci->revision_id = pbuf[8]; + + *device = devp; return 0; #else drmDevicePtr local_devices[MAX_DRM_NODES]; diff --git a/local/recipes/qt/qtbase/source/mkspecs/common/posix/qplatformdefs.h b/local/recipes/qt/qtbase/source/mkspecs/common/posix/qplatformdefs.h index 3ce5da64d0..6acd2f83e4 100644 --- a/local/recipes/qt/qtbase/source/mkspecs/common/posix/qplatformdefs.h +++ b/local/recipes/qt/qtbase/source/mkspecs/common/posix/qplatformdefs.h @@ -214,6 +214,22 @@ #endif #endif +#ifdef Q_OS_REDOX +#undef QT_USE_XOPEN_LFS_EXTENSIONS +#undef QT_LARGEFILE_SUPPORT +#ifndef O_LARGEFILE +#define O_LARGEFILE 0 +#endif +#endif + +#ifdef Q_OS_REDOX +#undef QT_USE_XOPEN_LFS_EXTENSIONS +#undef QT_LARGEFILE_SUPPORT +#ifndef O_LARGEFILE +#define O_LARGEFILE 0 +#endif +#endif + // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only diff --git a/local/recipes/qt/qtbase/source/src/corelib/CMakeLists.txt b/local/recipes/qt/qtbase/source/src/corelib/CMakeLists.txt index 14dbcf3c7d..9b975a69e3 100644 --- a/local/recipes/qt/qtbase/source/src/corelib/CMakeLists.txt +++ b/local/recipes/qt/qtbase/source/src/corelib/CMakeLists.txt @@ -1389,6 +1389,20 @@ qt_internal_extend_target(Core CONDITION REDOX io/qstorageinfo_unix.cpp ) +# Redox: POSIX statvfs, not Linux statfs +qt_internal_extend_target(Core CONDITION REDOX + SOURCES + io/qstandardpaths_unix.cpp + io/qstorageinfo_unix.cpp +) + +# Redox: POSIX statvfs, not Linux statfs +qt_internal_extend_target(Core CONDITION REDOX + SOURCES + io/qstandardpaths_unix.cpp + io/qstorageinfo_unix.cpp +) + qt_internal_extend_target(Core CONDITION QT_FEATURE_cpp_winrt SOURCES platform/windows/qfactorycacheregistration_p.h @@ -1606,6 +1620,20 @@ qt_internal_extend_target(Core CONDITION REDOX io/qstorageinfo_unix.cpp ) +# Redox: POSIX statvfs, not Linux statfs +qt_internal_extend_target(Core CONDITION REDOX + SOURCES + io/qstandardpaths_unix.cpp + io/qstorageinfo_unix.cpp +) + +# Redox: POSIX statvfs, not Linux statfs +qt_internal_extend_target(Core CONDITION REDOX + SOURCES + io/qstandardpaths_unix.cpp + io/qstorageinfo_unix.cpp +) + qt_internal_extend_target(Core CONDITION QT_FEATURE_itemmodel SOURCES itemmodels/qabstractitemmodel.cpp itemmodels/qabstractitemmodel.h itemmodels/qabstractitemmodel_p.h diff --git a/local/recipes/qt/qtbase/source/src/corelib/global/qtypes.h b/local/recipes/qt/qtbase/source/src/corelib/global/qtypes.h index 2859301e01..34db544cbc 100644 --- a/local/recipes/qt/qtbase/source/src/corelib/global/qtypes.h +++ b/local/recipes/qt/qtbase/source/src/corelib/global/qtypes.h @@ -204,6 +204,8 @@ static_assert(std::is_signed_v, #include #include #include +#include +#include #ifndef static_assert #define static_assert _Static_assert #endif diff --git a/local/recipes/qt/qtbase/source/src/network/socket/qnativesocketengine_unix.cpp b/local/recipes/qt/qtbase/source/src/network/socket/qnativesocketengine_unix.cpp index 5c209da30e..ad3df66de6 100644 --- a/local/recipes/qt/qtbase/source/src/network/socket/qnativesocketengine_unix.cpp +++ b/local/recipes/qt/qtbase/source/src/network/socket/qnativesocketengine_unix.cpp @@ -1148,6 +1148,8 @@ qint64 QNativeSocketEnginePrivate::nativeSendDatagram(const char *data, qint64 l #ifdef IPV6_HOPLIMIT #ifdef IPV6_HOPLIMIT #ifdef IPV6_HOPLIMIT +#ifdef IPV6_HOPLIMIT +#ifdef IPV6_HOPLIMIT #ifdef IPV6_HOPLIMIT if (header.hopLimit != -1) { msg.msg_controllen += CMSG_SPACE(sizeof(int)); @@ -1183,6 +1185,8 @@ qint64 QNativeSocketEnginePrivate::nativeSendDatagram(const char *data, qint64 l #endif #endif #endif +#endif +#endif #endif if (header.ifindex != 0 || !header.senderAddress.isNull()) { struct in6_pktinfo *data = reinterpret_cast(CMSG_DATA(cmsgptr)); diff --git a/local/recipes/qt/qtbase/source/src/network/socket/qnet_unix_p.h b/local/recipes/qt/qtbase/source/src/network/socket/qnet_unix_p.h index 57dc614d31..073376feea 100644 --- a/local/recipes/qt/qtbase/source/src/network/socket/qnet_unix_p.h +++ b/local/recipes/qt/qtbase/source/src/network/socket/qnet_unix_p.h @@ -48,6 +48,8 @@ #include #include #include +#include +#include #include #if defined(Q_OS_VXWORKS) diff --git a/local/recipes/qt/qtbase/source/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegration_p.h b/local/recipes/qt/qtbase/source/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegration_p.h index 4974406a9f..38589c2365 100644 --- a/local/recipes/qt/qtbase/source/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegration_p.h +++ b/local/recipes/qt/qtbase/source/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegration_p.h @@ -78,6 +78,8 @@ public: #if QT_CONFIG(opengl) #if QT_CONFIG(opengl) #if QT_CONFIG(opengl) +#if QT_CONFIG(opengl) +#if QT_CONFIG(opengl) #if QT_CONFIG(opengl) virtual QPlatformOpenGLContext *createPlatformOpenGLContext(const QSurfaceFormat &glFormat, QPlatformOpenGLContext *share) const = 0; #endif /* QT_CONFIG(opengl) */ @@ -106,6 +108,8 @@ public: #endif /* QT_CONFIG(opengl) */ #endif /* QT_CONFIG(opengl) */ #endif /* QT_CONFIG(opengl) */ +#endif /* QT_CONFIG(opengl) */ +#endif /* QT_CONFIG(opengl) */ #endif /* QT_CONFIG(opengl) */ virtual bool canCreatePlatformOffscreenSurface() const { return false; } #if QT_CONFIG(opengl) @@ -145,6 +149,8 @@ public: #if QT_CONFIG(opengl) #if QT_CONFIG(opengl) #if QT_CONFIG(opengl) +#if QT_CONFIG(opengl) +#if QT_CONFIG(opengl) #if QT_CONFIG(opengl) virtual void *nativeResourceForContext(NativeResource /*resource*/, QPlatformOpenGLContext */*context*/) { return nullptr; } #endif /* QT_CONFIG(opengl) */ @@ -174,6 +180,8 @@ public: #endif /* QT_CONFIG(opengl) */ #endif /* QT_CONFIG(opengl) */ #endif /* QT_CONFIG(opengl) */ +#endif /* QT_CONFIG(opengl) */ +#endif /* QT_CONFIG(opengl) */ }; } diff --git a/local/recipes/system/redbear-greeter/source/redbear-greeter-compositor b/local/recipes/system/redbear-greeter/source/redbear-greeter-compositor index 867c0930c7..fae5b17b64 100755 --- a/local/recipes/system/redbear-greeter/source/redbear-greeter-compositor +++ b/local/recipes/system/redbear-greeter/source/redbear-greeter-compositor @@ -30,10 +30,12 @@ fi mkdir -p "$XDG_RUNTIME_DIR" drm_scheme_ready() { - # Try to open /scheme/drm/card0 via read (head -c 1). - # On Redox, stat and test -e are unreliable for scheme paths, - # but opening the scheme file descriptor works. - ( head -c 1 "/scheme/drm/card0" ) >/dev/null 2>&1 + # Check if /scheme/drm/card0 can be opened. On Redox, stat and test -e + # are unreliable for scheme paths. Opening the scheme path with redir + # succeeds if the scheme daemon has registered the device, fails otherwise. + # Do NOT read from it (head -c 1) — DRM scheme fds are request/response, + # not streaming, so a read would block waiting for a request response. + ( exec 3<"/scheme/drm/card0" && exec 3>&- ) >/dev/null 2>&1 } wait_for_drm_scheme() { diff --git a/local/recipes/system/redbear-greeter/source/redbear-kde-session b/local/recipes/system/redbear-greeter/source/redbear-kde-session index fa405228b3..975ccb5343 100755 --- a/local/recipes/system/redbear-greeter/source/redbear-kde-session +++ b/local/recipes/system/redbear-greeter/source/redbear-kde-session @@ -93,7 +93,7 @@ kwin_mode="virtual" # Redox scheme paths do not respond to stat()/test -e, but opening and # reading a byte works. Use the same probe the compositor wrapper uses. drm_scheme_ready() { - ( head -c 1 "/scheme/drm/card0" ) >/dev/null 2>&1 + ( exec 3<"/scheme/drm/card0" && exec 3>&- ) >/dev/null 2>&1 } set_kwin_mode() { diff --git a/recipes/core/pcid-spawner b/recipes/core/pcid-spawner new file mode 120000 index 0000000000..8ed8c261cb --- /dev/null +++ b/recipes/core/pcid-spawner @@ -0,0 +1 @@ +../../local/recipes/core/pcid-spawner \ No newline at end of file diff --git a/recipes/gpu/amdgpu-source b/recipes/gpu/amdgpu-source new file mode 120000 index 0000000000..cc3b51014c --- /dev/null +++ b/recipes/gpu/amdgpu-source @@ -0,0 +1 @@ +../../local/recipes/gpu/amdgpu-source \ No newline at end of file diff --git a/recipes/gpu/drivers b/recipes/gpu/drivers new file mode 120000 index 0000000000..6c61495826 --- /dev/null +++ b/recipes/gpu/drivers @@ -0,0 +1 @@ +../../local/recipes/gpu/drivers \ No newline at end of file diff --git a/recipes/groups/build-essential-native b/recipes/groups/build-essential-native new file mode 120000 index 0000000000..d0a20c1fd7 --- /dev/null +++ b/recipes/groups/build-essential-native @@ -0,0 +1 @@ +../../local/recipes/groups/build-essential-native \ No newline at end of file diff --git a/recipes/libs/libdrm b/recipes/libs/libdrm new file mode 120000 index 0000000000..400d862547 --- /dev/null +++ b/recipes/libs/libdrm @@ -0,0 +1 @@ +../../local/recipes/libs/libdrm \ No newline at end of file diff --git a/recipes/libs/libevdev b/recipes/libs/libevdev new file mode 120000 index 0000000000..64021bad14 --- /dev/null +++ b/recipes/libs/libevdev @@ -0,0 +1 @@ +../../local/recipes/libs/libevdev \ No newline at end of file diff --git a/recipes/libs/libinput b/recipes/libs/libinput new file mode 120000 index 0000000000..82518bd79c --- /dev/null +++ b/recipes/libs/libinput @@ -0,0 +1 @@ +../../local/recipes/libs/libinput \ No newline at end of file diff --git a/recipes/qt/qtbase b/recipes/qt/qtbase new file mode 120000 index 0000000000..287aaebc24 --- /dev/null +++ b/recipes/qt/qtbase @@ -0,0 +1 @@ +../../local/recipes/qt/qtbase \ No newline at end of file diff --git a/recipes/qt/qtdeclarative b/recipes/qt/qtdeclarative new file mode 120000 index 0000000000..ce609568f4 --- /dev/null +++ b/recipes/qt/qtdeclarative @@ -0,0 +1 @@ +../../local/recipes/qt/qtdeclarative \ No newline at end of file diff --git a/recipes/qt/qtsvg b/recipes/qt/qtsvg new file mode 120000 index 0000000000..465803445a --- /dev/null +++ b/recipes/qt/qtsvg @@ -0,0 +1 @@ +../../local/recipes/qt/qtsvg \ No newline at end of file diff --git a/recipes/qt/qtwayland b/recipes/qt/qtwayland new file mode 120000 index 0000000000..be4d77cab7 --- /dev/null +++ b/recipes/qt/qtwayland @@ -0,0 +1 @@ +../../local/recipes/qt/qtwayland \ No newline at end of file diff --git a/recipes/system/redbear-wayland-guard b/recipes/system/redbear-wayland-guard new file mode 120000 index 0000000000..e006beb06a --- /dev/null +++ b/recipes/system/redbear-wayland-guard @@ -0,0 +1 @@ +../../local/recipes/system/redbear-wayland-guard \ No newline at end of file diff --git a/recipes/system/seatd b/recipes/system/seatd new file mode 120000 index 0000000000..08394db48d --- /dev/null +++ b/recipes/system/seatd @@ -0,0 +1 @@ +../../local/recipes/system/seatd \ No newline at end of file diff --git a/recipes/wayland/libwayland b/recipes/wayland/libwayland new file mode 120000 index 0000000000..79a3891fff --- /dev/null +++ b/recipes/wayland/libwayland @@ -0,0 +1 @@ +../../local/recipes/wayland/libwayland \ No newline at end of file diff --git a/recipes/wayland/wayland-protocols b/recipes/wayland/wayland-protocols new file mode 120000 index 0000000000..10c675a064 --- /dev/null +++ b/recipes/wayland/wayland-protocols @@ -0,0 +1 @@ +../../local/recipes/wayland/wayland-protocols \ No newline at end of file diff --git a/recipes/wip/wayland/qt6-wayland-smoke b/recipes/wip/wayland/qt6-wayland-smoke index 0c08031da2..bb09824ab3 120000 --- a/recipes/wip/wayland/qt6-wayland-smoke +++ b/recipes/wip/wayland/qt6-wayland-smoke @@ -1 +1 @@ -../../../local/recipes/wayland/qt6-wayland-smoke \ No newline at end of file +../../../../local/recipes/wayland/qt6-wayland-smoke \ No newline at end of file