diff --git a/pkgs/applications/misc/openrgb-plugins/effects/default.nix b/pkgs/applications/misc/openrgb-plugins/effects/default.nix new file mode 100644 index 00000000000..05cdd0ce5cc --- /dev/null +++ b/pkgs/applications/misc/openrgb-plugins/effects/default.nix @@ -0,0 +1,59 @@ +{ lib +, stdenv +, fetchFromGitLab +, fetchpatch +, qtbase +, openrgb +, glib +, openal +, qmake +, pkg-config +, wrapQtAppsHook +}: + +stdenv.mkDerivation rec { + pname = "openrgb-plugin-effects"; + version = "0.8"; + + src = fetchFromGitLab { + owner = "OpenRGBDevelopers"; + repo = "OpenRGBEffectsPlugin"; + rev = "release_${version}"; + hash = "sha256-2F6yeLWgR0wCwIj75+d1Vdk45osqYwRdenK21lcRoOg="; + fetchSubmodules = true; + }; + + patches = [ + # Add install rule + (fetchpatch { + url = "https://gitlab.com/OpenRGBDevelopers/OpenRGBEffectsPlugin/-/commit/75f1b3617d9cabfb3b04a7afc75ce0c1b8514bc0.patch"; + hash = "sha256-X+zMNE3OCZNmUb68S4683r/RbE+CDrI/Jv4BMWPI47E="; + }) + ]; + + postPatch = '' + # Use the source of openrgb from nixpkgs instead of the submodule + rm -r OpenRGB + ln -s ${openrgb.src} OpenRGB + ''; + + nativeBuildInputs = [ + qmake + pkg-config + wrapQtAppsHook + ]; + + buildInputs = [ + qtbase + glib + openal + ]; + + meta = with lib; { + homepage = "https://gitlab.com/OpenRGBDevelopers/OpenRGBEffectsPlugin"; + description = "An effects plugin for OpenRGB"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ fgaz ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 57aedd789b3..006b2c454eb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10333,7 +10333,12 @@ with pkgs; openrgb = libsForQt5.callPackage ../applications/misc/openrgb { }; - openrgb-with-all-plugins = openrgb.withPlugins [ openrgb-plugin-hardwaresync ]; + openrgb-with-all-plugins = openrgb.withPlugins [ + openrgb-plugin-effects + openrgb-plugin-hardwaresync + ]; + + openrgb-plugin-effects = libsForQt5.callPackage ../applications/misc/openrgb-plugins/effects { }; openrgb-plugin-hardwaresync = libsForQt5.callPackage ../applications/misc/openrgb-plugins/hardwaresync { };