openrgb: add withPlugins
This commit is contained in:
parent
2e03c5e81d
commit
9aac134336
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, fetchFromGitLab, qmake, wrapQtAppsHook, libusb1, hidapi, pkg-config, coreutils, mbedtls_2, qtbase, qttools }:
|
{ lib, stdenv, fetchFromGitLab, qmake, wrapQtAppsHook, libusb1, hidapi, pkg-config, coreutils, mbedtls_2, qtbase, qttools, symlinkJoin, openrgb }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "openrgb";
|
pname = "openrgb";
|
||||||
|
@ -25,6 +25,29 @@ stdenv.mkDerivation rec {
|
||||||
HOME=$TMPDIR $out/bin/openrgb --help > /dev/null
|
HOME=$TMPDIR $out/bin/openrgb --help > /dev/null
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru.withPlugins = plugins:
|
||||||
|
let pluginsDir = symlinkJoin {
|
||||||
|
name = "openrgb-plugins";
|
||||||
|
paths = plugins;
|
||||||
|
# Remove all library version symlinks except one,
|
||||||
|
# or they will result in duplicates in the UI.
|
||||||
|
# We leave the one pointing to the actual library, usually the most
|
||||||
|
# qualified one (eg. libOpenRGBHardwareSyncPlugin.so.1.0.0).
|
||||||
|
postBuild = ''
|
||||||
|
for f in $out/lib/*; do
|
||||||
|
if [ "$(dirname $(readlink "$f"))" == "." ]; then
|
||||||
|
rm "$f"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in openrgb.overrideAttrs (old: {
|
||||||
|
qmakeFlags = old.qmakeFlags or [] ++ [
|
||||||
|
# Welcome to Escape Hell, we have backslashes
|
||||||
|
''DEFINES+=OPENRGB_EXTRA_PLUGIN_DIRECTORY=\\\""${lib.escape ["\\" "\"" " "] (toString pluginsDir)}/lib\\\""''
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Open source RGB lighting control";
|
description = "Open source RGB lighting control";
|
||||||
homepage = "https://gitlab.com/CalcProgrammer1/OpenRGB";
|
homepage = "https://gitlab.com/CalcProgrammer1/OpenRGB";
|
||||||
|
|
Loading…
Reference in a new issue