From: Ashvith Shetty <ashvithshetty10@gmail.com>
To: 75159@debbugs.gnu.org
Cc: Ashvith Shetty <ashvith@noreply.codeberg.org>
Subject: [bug#75159] [PATCH v0 3/4] gnu: Add corectrl.
Date: Sat, 28 Dec 2024 16:14:05 +0530 [thread overview]
Message-ID: <20241228104424.4001-3-ashvith@noreply.codeberg.org> (raw)
In-Reply-To: <20241228104424.4001-1-ashvith@noreply.codeberg.org>
* gnu/packages/pciutils.scm (corectrl): New variable.
* gnu/packages/patches/corectrl-polkit-install-dir.patch:
New file.
Change-Id: I726c6cbfb6530abd8284f36e10a1e1f7a0fc4661
---
.../patches/corectrl-polkit-install-dir.patch | 21 +++++
gnu/packages/pciutils.scm | 83 ++++++++++++++++++-
2 files changed, 103 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/corectrl-polkit-install-dir.patch
diff --git a/gnu/packages/patches/corectrl-polkit-install-dir.patch b/gnu/packages/patches/corectrl-polkit-install-dir.patch
new file mode 100644
index 0000000000..586e096cf4
--- /dev/null
+++ b/gnu/packages/patches/corectrl-polkit-install-dir.patch
@@ -0,0 +1,21 @@
+diff --git a/src/helper/CMakeLists.txt b/src/helper/CMakeLists.txt
+index c262086..523ea97 100644
+--- a/src/helper/CMakeLists.txt
++++ b/src/helper/CMakeLists.txt
+@@ -26,15 +26,7 @@ message("D-Bus files will be installed into ${DBUS_DATADIR_PREFIX_DIR}/dbus-1")
+
+ # Find polkit
+ pkg_check_modules(POLKIT REQUIRED polkit-gobject-1)
+-execute_process(
+- COMMAND pkg-config --variable=policydir polkit-gobject-1
+- RESULT_VARIABLE POLKIT_POLICY_INSTALL_DIR_RESULT
+- OUTPUT_VARIABLE POLKIT_POLICY_INSTALL_DIR
+- OUTPUT_STRIP_TRAILING_WHITESPACE
+-)
+-if(NOT POLKIT_POLICY_INSTALL_DIR_RESULT EQUAL "0")
+- message(FATAL_ERROR "Failed to retrieve Polkit `policydir` variable using pkg-config")
+-endif()
++option(POLKIT_POLICY_INSTALL_DIR "Polkit policy directory")
+
+ list(APPEND HELPER_COMPILE_DEFINITIONS
+ SPDLOG_ACTIVE_LEVEL=SPDLOG_LEVEL_TRACE
diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm
index 08f1634113..1ae568a8eb 100644
--- a/gnu/packages/pciutils.scm
+++ b/gnu/packages/pciutils.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2020, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2022 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,11 +31,23 @@ (define-module (gnu packages pciutils)
#:use-module (guix utils)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system qt)
#:use-module (gnu packages)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages check)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages crypto)
+ #:use-module (gnu packages gcc)
+ #:use-module (gnu packages gl)
+ #:use-module (gnu packages logging)
+ #:use-module (gnu packages maths)
+ #:use-module (gnu packages polkit)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages glib)
#:use-module (gnu packages linux)
- #:use-module (gnu packages base))
+ #:use-module (gnu packages qt)
+ #:use-module (gnu packages vulkan)
+ #:use-module (gnu packages xml))
(define-public hwdata
(package
@@ -173,3 +186,71 @@ (define-public pciutils
of operating systems. This includes the @command{lspci} and @command{setpci}
commands.")
(license license:gpl2+)))
+
+;; corectrl also requires the helper service.
+;; See corectrl-helper-service-type.
+;;
+;; Please read the setup instructions from:
+;; https://gitlab.com/corectrl/corectrl/-/wikis/Installation
+;; and
+;; https://gitlab.com/corectrl/corectrl/-/wikis/Setup
+;;
+;; corectrl also requires CONFIG_NETLINK_DIAG to be set to
+;; either 'y' or 'm' - 'm' is the default in Guix. In that case,
+;; the kernel module has to be loaded.
+;;
+;; To allow rootless corectrl, add user to the "corectrl" group.
+
+(define-public corectrl
+ (package
+ (name "corectrl")
+ (version "1.4.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/corectrl/corectrl")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "0qpc04xxzv4jbqqlraqriipix4ph7bm1hfiry807jjp668i9n25d"))
+ (file-name (git-file-name name version))
+ (patches (search-patches "corectrl-polkit-install-dir.patch"))))
+ (build-system qt-build-system)
+ (arguments
+ (list
+ #:qtbase qtbase-5
+ #:tests? #t
+ #:configure-flags #~(list "-DINSTALL_DBUS_FILES_IN_PREFIX=true"
+ (string-append "-DPOLKIT_POLICY_INSTALL_DIR="
+ #$output
+ "/share/polkit-1/actions")
+ (string-append "-DWITH_PCI_IDS_PATH="
+ (search-input-file
+ %build-inputs
+ "/share/hwdata/pci.ids")))))
+ (native-inputs (list pkg-config gcc-13))
+ (propagated-inputs (list mesa-utils vulkan-tools util-linux))
+ (inputs (list dbus
+ botan
+ catch2-3
+ hwdata
+ polkit
+ procps
+ pugixml
+ qtcharts-5
+ qtdeclarative-5
+ qtquickcontrols2-5
+ qtsvg-5
+ qttools-5
+ quazip
+ spdlog
+ trompeloeil
+ units
+ zlib))
+ (home-page "https://gitlab.com/corectrl/corectrl")
+ (synopsis "Profile based system control utility")
+ (description
+ "CoreCtrl is a Free and Open Source GNU/Linux application that allows
+you to control with ease your computer hardware using application profiles.
+It aims to be flexible, comfortable and accessible to regular users.")
+ (license (list license:gpl3))))
--
2.46.0
next prev parent reply other threads:[~2024-12-28 10:47 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-28 10:18 [bug#75159] [PATCH v0 0/4] Add corectrl and corectrl-helper-service-type Ashvith Shetty
2024-12-28 10:44 ` [bug#75159] [PATCH v0 1/4] guix: qt: add inputs and outputs build variables in qt-build Ashvith Shetty
2024-12-28 10:44 ` [bug#75159] [PATCH v0 2/4] gnu: Add trompeloeil Ashvith Shetty
2024-12-28 10:44 ` Ashvith Shetty [this message]
2024-12-28 10:44 ` [bug#75159] [PATCH v0 4/4] services: Add corectrl-helper-service-type Ashvith Shetty
2024-12-28 12:49 ` [bug#75159] [PATCH v0 1/4] guix: qt: add inputs and outputs build variables in qt-build Zheng Junjie
2024-12-28 15:30 ` [bug#75159] [PATCH v1 0/5] Add corectrl and corectrl-helper-service-type Ashvith Shetty
2024-12-28 15:30 ` [bug#75159] [PATCH v1 1/5] guix: qt: add inputs and outputs build variables in qt-build Ashvith Shetty
2024-12-30 7:03 ` Zheng Junjie
2024-12-28 15:30 ` [bug#75159] [PATCH v1 2/5] gnu: Add trompeloeil Ashvith Shetty
2024-12-30 6:38 ` Zheng Junjie
2024-12-28 15:30 ` [bug#75159] [PATCH v1 3/5] gnu: Add corectrl Ashvith Shetty
2024-12-30 6:50 ` Zheng Junjie
2024-12-30 7:48 ` Zheng Junjie
2024-12-28 15:30 ` [bug#75159] [PATCH v1 4/5] services: Add corectrl-helper-service-type Ashvith Shetty
2024-12-30 7:00 ` Zheng Junjie
2024-12-28 15:30 ` [bug#75159] [PATCH v1 5/5] guix: qt: Revert to gexp-based inputs and outputs Ashvith Shetty
2024-12-31 18:09 ` [bug#75159] [PATCH v2 0/3] Add corectrl and corectrl-helper-service-type Ashvith Shetty
2024-12-31 18:09 ` [bug#75159] [PATCH v2 1/3] gnu: Add trompeloeil Ashvith Shetty
2024-12-31 18:09 ` [bug#75159] [PATCH v2 2/3] gnu: Add corectrl Ashvith Shetty
2024-12-31 18:09 ` [bug#75159] [PATCH v2 3/3] services: Add corectrl-helper-service-type Ashvith Shetty
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241228104424.4001-3-ashvith@noreply.codeberg.org \
--to=ashvithshetty10@gmail.com \
--cc=75159@debbugs.gnu.org \
--cc=ashvith@noreply.codeberg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).