Unverified Commit 4e6d4fd6 authored by Masum Reza's avatar Masum Reza Committed by GitHub
Browse files

openrgb: 0.9 → 1.0rc2 (#477198)

parents 946d14e7 e1eb3592
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -140,6 +140,9 @@

- Added `dell-bios-fan-control` package and service.

- `openrgb` was updated to 1.0rc2, which now uses Plugin API version 4.
  Some existing OpenRGB plugins may be incompatible or require updates.

- We now use the upstream wrapper script for Gradle, supporting both the `JAVA_HOME` and `GRADLE_OPTS` environment variables.

## Nixpkgs Library {#sec-nixpkgs-release-26.05-lib}
+17 −5
Original line number Diff line number Diff line
@@ -59,16 +59,28 @@ in
    ++ lib.optionals (cfg.motherboard == "intel") [ "i2c-i801" ];

    systemd.services.openrgb = {
      description = "OpenRGB server daemon";
      after = [ "network.target" ];
      description = "OpenRGB SDK Server";
      after = [
        "network.target"
        "lm_sensors.service"
      ];
      wants = [ "dev-usb.device" ];
      wantedBy = [ "multi-user.target" ];
      serviceConfig = {
        StateDirectory = "OpenRGB";
        WorkingDirectory = "/var/lib/OpenRGB";
        ExecStart =
          "${cfg.package}/bin/openrgb --server --server-port ${toString cfg.server.port}"
          + lib.optionalString (builtins.isString cfg.startupProfile) " --profile ${lib.escapeShellArg cfg.startupProfile}";
        ExecStart = lib.escapeShellArgs (
          [
            (lib.getExe cfg.package)
            "--server"
            "--server-port"
            cfg.server.port
          ]
          ++ lib.optionals (lib.isString cfg.startupProfile) [
            "--profile"
            cfg.startupProfile
          ]
        );
        Restart = "always";
      };
    };
+16 −23
Original line number Diff line number Diff line
@@ -2,52 +2,45 @@
  lib,
  stdenv,
  fetchFromGitLab,
  openrgb,
  glib,
  openal,
  hidapi,
  pipewire,
  pkg-config,
  kdePackages,
  fetchpatch,
  qt6Packages,
}:

stdenv.mkDerivation (finalAttrs: {
  pname = "openrgb-plugin-effects";
  version = "0.9";
  version = "1.0rc2";

  src = fetchFromGitLab {
    owner = "OpenRGBDevelopers";
    repo = "OpenRGBEffectsPlugin";
    rev = "release_${finalAttrs.version}";
    hash = "sha256-8BnHifcFf7ESJgJi/q3ca38zuIVa++BoGlkWxj7gpog=";
    tag = "release_candidate_${finalAttrs.version}";
    hash = "sha256-0W0hO3PSMpPLc0a7g/Nn7GWMcwBXhOxh1Y2flpdcnfE=";
    fetchSubmodules = true;
  };

  patches = [
    # Fix Qt6 issues in OpenRGBPluginsFont.cpp
    (fetchpatch {
      url = "https://gitlab.com/OpenRGBDevelopers/OpenRGBEffectsPlugin/-/commit/e952b0ed390045d4f4adec8e74b3126c2f8abcab.patch";
      hash = "sha256-xMsnVyrn/Cv2x2xQtAnPb5HJc+WolNx4v7h0TkTj9DU=";
    })
    ./qt5compat.patch
  qmakeFlags = [
    "CONFIG+=link_pkgconfig"
    "PKGCONFIG+=libpipewire-0.3"
    "QT_TOOL.lrelease.binary=${lib.getDev qt6Packages.qttools}/bin/lrelease"
  ];

  postPatch = ''
    # Use the source of openrgb from nixpkgs instead of the submodule
    rm -r OpenRGB
    ln -s ${openrgb.src} OpenRGB
  '';

  nativeBuildInputs = [
    pkg-config
    kdePackages.wrapQtAppsHook
    kdePackages.qmake
    qt6Packages.wrapQtAppsHook
    qt6Packages.qmake
  ];

  buildInputs = [
    kdePackages.qtbase
    kdePackages.qt5compat
    qt6Packages.qtbase
    qt6Packages.qt5compat
    glib
    openal
    hidapi
    pipewire
  ];

  meta = {
+0 −114
Original line number Diff line number Diff line
Commit ID: 20f227f4ef942e2ead5a3a684248c2da48c979bc
Change ID: rwlwzspvylkypuqoornwzvuvpuzorvso
Author   : Alexey Sokolov <alexey+github@asokolov.org> (2025-07-21 22:34:37)
Committer: Marie Ramlow <me@nycode.dev> (2025-10-12 12:05:01)

    Fix build with Qt6 using core5compat

    Updated to add Qt5 backwards compatibility by Adam Honse <calcprogrammer1@gmail.com>

diff --git a/Effects/Ambient/RectangleSelector.cpp b/Effects/Ambient/RectangleSelector.cpp
index 8f28ddcbcc..d8b4f56a1d 100644
--- a/Effects/Ambient/RectangleSelector.cpp
+++ b/Effects/Ambient/RectangleSelector.cpp
@@ -1,6 +1,5 @@
 #include "RectangleSelector.h"
 #include <math.h>
-#include <QDesktopWidget>
 #include <QBrush>
 
 RectangleSelector::RectangleSelector(QWidget* parent)
@@ -57,7 +56,7 @@
 
     QPainter painter(this);
 
-    texture.setDevicePixelRatio(devicePixelRatioF() / qApp->desktop()->devicePixelRatioF());
+    texture.setDevicePixelRatio(devicePixelRatioF() / qApp->primaryScreen()->devicePixelRatio());
 
     painter.setPen(QColor(0, 0, 0, 128));
     painter.setBrush(Qt::NoBrush);
@@ -69,7 +68,7 @@
     for(QScreen *screen :  QApplication::screens())
     {
         QRect geometry = screen->geometry();
-        qreal ratio = screen->devicePixelRatio() / qApp->desktop()->devicePixelRatioF();
+        qreal ratio = screen->devicePixelRatio() / qApp->primaryScreen()->devicePixelRatio();
         QRect physical_geometry(geometry.x(), geometry.y(), std::lrint((qreal) geometry.width() * ratio), lrint((qreal) geometry.height() * ratio));
 
         if(physical_geometry.contains(rect.center()))
@@ -92,7 +91,7 @@
     for(QScreen *screen :  QApplication::screens())
     {
         QRect geometry = screen->geometry();
-        qreal ratio = screen->devicePixelRatio() / qApp->desktop()->devicePixelRatioF();
+        qreal ratio = screen->devicePixelRatio() / qApp->primaryScreen()->devicePixelRatio();
 
         screen_geometries.emplace_back(geometry.x(), geometry.y(),
                                        std::lrint((qreal) geometry.width() * ratio),
diff --git a/Effects/Shaders/GLSLHighlighter.h b/Effects/Shaders/GLSLHighlighter.h
index 7e9f21423b..ca9bf42c3c 100644
--- a/Effects/Shaders/GLSLHighlighter.h
+++ b/Effects/Shaders/GLSLHighlighter.h
@@ -2,6 +2,7 @@
 #define GLSLHIGHLIGHTER_H
 
 #include <QSyntaxHighlighter>
+#include <QRegExp>
 
 class GLSLHighlighter : public QSyntaxHighlighter
 {
diff --git a/OpenRGBEffectPage.cpp b/OpenRGBEffectPage.cpp
index 0d6e4ab0fb..4b756cf63c 100644
--- a/OpenRGBEffectPage.cpp
+++ b/OpenRGBEffectPage.cpp
@@ -38,7 +38,7 @@
     | Extra options and custom widgets                |
     \*-----------------------------------------------*/
     ui->ExtraOptions->addWidget(effect);
-    ui->ExtraOptions->setMargin(0);
+    ui->ExtraOptions->setContentsMargins(0, 0, 0, 0);
     effect->setParent(ui->extra_settings);
 
     InitUi();
diff --git a/OpenRGBEffectsPlugin.pro b/OpenRGBEffectsPlugin.pro
index 3e53316519..fec852f88c 100644
--- a/OpenRGBEffectsPlugin.pro
+++ b/OpenRGBEffectsPlugin.pro
@@ -1,4 +1,10 @@
-QT += gui widgets core
+QT += gui widgets core opengl
+
+if(greaterThan(QT_MAJOR_VERSION, 5)) {
+QT +=                                                                                           \
+    core5compat                                                                                 \
+}
+
 DEFINES += OPEN_RGB_EFFECTS_PLUGIN_LIBRARY
 TEMPLATE = lib
 
diff --git a/SaveProfilePopup.cpp b/SaveProfilePopup.cpp
index 7297dad8b7..4fa837235f 100644
--- a/SaveProfilePopup.cpp
+++ b/SaveProfilePopup.cpp
@@ -2,8 +2,8 @@
 #include "ui_SaveProfilePopup.h"
 #include "OpenRGBEffectSettings.h"
 
-#include <QRegExp>
-#include <QRegExpValidator>
+#include <QRegularExpression>
+#include <QRegularExpressionValidator>
 
 SaveProfilePopup::SaveProfilePopup(QWidget *parent) :
     QWidget(parent),
@@ -12,8 +12,8 @@
     ui->setupUi(this);
 
     // only letters or numbers, - _ and .
-    QRegExp re("^[\\w\\-_.]+$");
-    QRegExpValidator *validator = new QRegExpValidator(re, this);
+    QRegularExpression re("^[\\w\\-_.]+$");
+    QRegularExpressionValidator *validator = new QRegularExpressionValidator(re, this);
     ui->filename->setValidator(validator);
 
     std::vector<std::string> filenames = OpenRGBEffectSettings::ListProfiles();
+8 −20
Original line number Diff line number Diff line
@@ -2,44 +2,32 @@
  lib,
  stdenv,
  fetchFromGitLab,
  openrgb,
  glib,
  libgtop,
  lm_sensors,
  pkg-config,
  kdePackages,
  fetchpatch,
  qt6Packages,
}:

stdenv.mkDerivation (finalAttrs: {
  pname = "openrgb-plugin-hardwaresync";
  version = "0.9";
  version = "1.0rc2";

  src = fetchFromGitLab {
    owner = "OpenRGBDevelopers";
    repo = "OpenRGBHardwareSyncPlugin";
    rev = "release_${finalAttrs.version}";
    hash = "sha256-3sQFiqmXhuavce/6v3XBpp6PAduY7t440nXfbfCX9a0=";
    tag = "release_candidate_${finalAttrs.version}";
    hash = "sha256-t5NPlmCg0btHpD/hpHSwDRl8LjVoOiT89WoOm3PmhXA=";
    fetchSubmodules = true;
  };

  patches = [
    # Fix Qt 6 build
    (fetchpatch {
      url = "https://gitlab.com/OpenRGBDevelopers/OpenRGBHardwareSyncPlugin/-/commit/62707c260953fb5ac2bb782595c18791bf54ff97.patch";
      hash = "sha256-xMsnVyrn/Cv2x2xQtAnPb5HJc+WolNx4v7h0TkTj9DU=";
    })
  ];

  postPatch = ''
    # Use the source of openrgb from nixpkgs instead of the submodule
    rmdir OpenRGB
    ln -s ${openrgb.src} OpenRGB
    # Remove prebuilt stuff
    rm -r dependencies/lhwm-cpp-wrapper
  '';

  buildInputs = [
    kdePackages.qtbase
    qt6Packages.qtbase
    glib
    libgtop
    lm_sensors
@@ -47,8 +35,8 @@ stdenv.mkDerivation (finalAttrs: {

  nativeBuildInputs = [
    pkg-config
    kdePackages.qmake
    kdePackages.wrapQtAppsHook
    qt6Packages.qmake
    qt6Packages.wrapQtAppsHook
  ];

  meta = {
Loading