From 029a2581b340bb6825a5cb0894dcdb17fcdd2852 Mon Sep 17 00:00:00 2001 From: Tommimon <37435103+Tommimon@users.noreply.github.com> Date: Mon, 3 Jun 2024 16:06:19 +0200 Subject: [PATCH] mcontrolcenter: init at 0.4.1 Co-authored-by: Nadim Kobeissi --- pkgs/by-name/mc/mcontrolcenter/package.nix | 62 ++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 pkgs/by-name/mc/mcontrolcenter/package.nix diff --git a/pkgs/by-name/mc/mcontrolcenter/package.nix b/pkgs/by-name/mc/mcontrolcenter/package.nix new file mode 100644 index 000000000000000..aba82efe66a0bef --- /dev/null +++ b/pkgs/by-name/mc/mcontrolcenter/package.nix @@ -0,0 +1,62 @@ +{ lib, stdenv, libsForQt5, makeDesktopItem, copyDesktopItems, fetchFromGitHub, cmake, kmod }: + +stdenv.mkDerivation (finalAttrs: { + pname = "mcontrolcenter"; + version = "0.4.1"; + + src = fetchFromGitHub { + owner = "dmitry-s93"; + repo = "MControlCenter"; + rev = finalAttrs.version; + hash = "sha256-SV78OVRGzy2zFLT3xqeUtbjlh81Z97PVao18P3h/8dI="; + }; + + postPatch = '' + substituteInPlace src/helper/helper.cpp \ + --replace-fail "/usr/sbin/modprobe" "${kmod}/bin/modprobe" + substituteInPlace src/helper/mcontrolcenter.helper.service \ + --replace-fail "/usr" "$out" + ''; + + desktopItems = [ + (makeDesktopItem { + name = "MControlCenter"; + exec = "mcontrolcenter"; + icon = "mcontrolcenter"; + comment = finalAttrs.meta.description; + desktopName = "MControlCenter"; + categories = [ "System" ]; + }) + ]; + + nativeBuildInputs = [ + libsForQt5.wrapQtAppsHook + libsForQt5.qttools + copyDesktopItems + cmake + ]; + + buildInputs = [ + libsForQt5.qtbase + kmod + ]; + + installPhase = '' + runHook preInstall + install -Dm755 mcontrolcenter $out/bin/mcontrolcenter + install -Dm755 helper/mcontrolcenter-helper $out/libexec/mcontrolcenter-helper + install -Dm644 $src/resources/mcontrolcenter.svg $out/share/icons/hicolor/32x32/apps/mcontrolcenter.svg + install -Dm644 $src/src/helper/mcontrolcenter-helper.conf $out/share/dbus-1/system.d/mcontrolcenter-helper.conf + install -Dm644 ../src/helper/mcontrolcenter.helper.service $out/share/dbus-1/system-services/mcontrolcenter.helper.service + runHook postInstall + ''; + + meta = { + homepage = "https://github.com/dmitry-s93/MControlCenter"; + description = "Tool to change the settings of MSI laptops running Linux"; + license = lib.licenses.gpl3Plus; + platforms = lib.platforms.linux; + maintainers = [ lib.maintainers.Tommimon ]; + mainProgram = "mcontrolcenter"; + }; +})