[PATCH v0 0/4] Add corectrl and corectrl-helper-service-type

  • Open
  • quality assurance status badge
Details
2 participants
  • Ashvith Shetty
  • Zheng Junjie
Owner
unassigned
Submitted by
Ashvith Shetty
Severity
normal
A
A
Ashvith Shetty wrote on 28 Dec 2024 11:18
(address . guix-patches@gnu.org)(name . Ashvith Shetty)(address . ashvith@noreply.codeberg.org)
20241228102102.922-1-ashvith@noreply.codeberg.org
This patch series adds the package corectrl. It also includes the helper
service and it's documentation.

Ashvith Shetty (3):
gnu: Add trompeloeil.
gnu: Add corectrl.
services: Add corectrl-helper-service-type.

Rutherther (1):
guix: qt: add inputs and outputs build variables in qt-build

doc/guix.texi | 15 ++++
gnu/local.mk | 1 +
gnu/packages/check.scm | 23 +++++
.../patches/corectrl-polkit-install-dir.patch | 21 +++++
gnu/packages/pciutils.scm | 83 ++++++++++++++++++-
gnu/services/pciutils.scm | 43 ++++++++++
guix/build-system/qt.scm | 54 ++++++------
7 files changed, 213 insertions(+), 27 deletions(-)
create mode 100644 gnu/packages/patches/corectrl-polkit-install-dir.patch
create mode 100644 gnu/services/pciutils.scm

--
2.46.0
A
A
Ashvith Shetty wrote on 28 Dec 2024 11:44
[PATCH v0 1/4] guix: qt: add inputs and outputs build variables in qt-build
(address . 75159@debbugs.gnu.org)(name . Rutherther)(address . rutherther@ditigal.xyz)
20241228104424.4001-1-ashvith@noreply.codeberg.org
From: Rutherther <rutherther@ditigal.xyz>

Qt build doesn't provide build-variables of inputs and outputs,
so it's not possible to refer to %outputs in arguments of
a package that uses qt-build-system. This patch unifies
qt-build-system's behavior with other build systems like
cmake-build-system or gnu-build-system.

* guix/build-system/qt.scm (qt-build): Wrap with with-build-variables to
provide variables to arguments

Change-Id: I65853a5831ce7b5dc7ebe10807c6e61bb89cab36
---
guix/build-system/qt.scm | 54 +++++++++++++++++++++-------------------
1 file changed, 28 insertions(+), 26 deletions(-)

Toggle diff (67 lines)
diff --git a/guix/build-system/qt.scm b/guix/build-system/qt.scm
index d1f721c54e..5f9a5019ae 100644
--- a/guix/build-system/qt.scm
+++ b/guix/build-system/qt.scm
@@ -152,32 +152,34 @@ (define builder
(with-imported-modules imported-modules
#~(begin
(use-modules #$@(sexp->gexp modules))
- (qt-build #:source #+source
- #:system #$system
- #:outputs #$(outputs->gexp outputs)
- #:inputs #$(input-tuples->gexp inputs)
- #:search-paths '#$(sexp->gexp
- (map search-path-specification->sexp
- search-paths))
- #:phases #$(if (pair? phases)
- (sexp->gexp phases)
- phases)
- #:qtbase #+qtbase
- #:qt-wrap-excluded-outputs #$qt-wrap-excluded-outputs
- #:qt-wrap-excluded-inputs #$qt-wrap-excluded-inputs
- #:configure-flags #$configure-flags
- #:make-flags #$make-flags
- #:out-of-source? #$out-of-source?
- #:build-type #$build-type
- #:tests? #$tests?
- #:test-target #$test-target
- #:parallel-build? #$parallel-build?
- #:parallel-tests? #$parallel-tests?
- #:validate-runpath? #$validate-runpath?
- #:patch-shebangs? #$patch-shebangs?
- #:strip-binaries? #$strip-binaries?
- #:strip-flags #$strip-flags
- #:strip-directories #$strip-directories))))
+
+ #$(with-build-variables inputs outputs
+ #~(qt-build #:source #+source
+ #:system #$system
+ #:outputs %outputs
+ #:inputs %build-inputs
+ #:search-paths '#$(sexp->gexp
+ (map search-path-specification->sexp
+ search-paths))
+ #:phases #$(if (pair? phases)
+ (sexp->gexp phases)
+ phases)
+ #:qtbase #+qtbase
+ #:qt-wrap-excluded-outputs #$qt-wrap-excluded-outputs
+ #:qt-wrap-excluded-inputs #$qt-wrap-excluded-inputs
+ #:configure-flags #$configure-flags
+ #:make-flags #$make-flags
+ #:out-of-source? #$out-of-source?
+ #:build-type #$build-type
+ #:tests? #$tests?
+ #:test-target #$test-target
+ #:parallel-build? #$parallel-build?
+ #:parallel-tests? #$parallel-tests?
+ #:validate-runpath? #$validate-runpath?
+ #:patch-shebangs? #$patch-shebangs?
+ #:strip-binaries? #$strip-binaries?
+ #:strip-flags #$strip-flags
+ #:strip-directories #$strip-directories)))))
(mlet %store-monad ((guile (package->derivation (or guile (default-guile))
system #:graft? #f)))
--
2.46.0
A
A
Ashvith Shetty wrote on 28 Dec 2024 11:44
[PATCH v0 2/4] gnu: Add trompeloeil.
(address . 75159@debbugs.gnu.org)(name . Ashvith Shetty)(address . ashvith@noreply.codeberg.org)
20241228104424.4001-2-ashvith@noreply.codeberg.org
* gnu/packages/check.scm (trompeloeil): New variable.

Change-Id: I44d83ff4230a1c836bedc124acb1a40742f17021
---
gnu/packages/check.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index dd32800870..6afd7fefb5 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -3805,6 +3805,29 @@ (define-public toml-test
tests. The output format is JSON.")
(license license:expat)))
+(define-public trompeloeil
+ (package
+ (name "trompeloeil")
+ (version "49")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rollbear/trompeloeil")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0m4bfzcj033qfk3sihbikrhk9krsdbsqk79nsambnsnqqcgc2903"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:tests? #f))
+ (home-page "https://github.com/rollbear/trompeloeil")
+ (synopsis "Header only C++14 mocking framework")
+ (description
+ "A thread-safe header-only mocking framework for C++11/14 using the Boost Software License 1.0")
+ (license license:boost1.0)))
+
(define-public unittest-cpp
(package
(name "unittest-cpp")
--
2.46.0
A
A
Ashvith Shetty wrote on 28 Dec 2024 11:44
[PATCH v0 3/4] gnu: Add corectrl.
(address . 75159@debbugs.gnu.org)(name . Ashvith Shetty)(address . ashvith@noreply.codeberg.org)
20241228104424.4001-3-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

Toggle diff (138 lines)
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
A
A
Ashvith Shetty wrote on 28 Dec 2024 11:44
[PATCH v0 4/4] services: Add corectrl-helper-service-type.
(address . 75159@debbugs.gnu.org)(name . Ashvith Shetty)(address . ashvith@noreply.codeberg.org)
20241228104424.4001-4-ashvith@noreply.codeberg.org
* gnu/services/pciutils.scm: New file.
(corectrl-helper-service-type): new variable.
* gnu/local.mk: Add them.
* doc/guix.texi (Miscellaneous Services): Document it.

Change-Id: I1dbeb927100a9a488909ff1950ec7e50d3797c29
---
doc/guix.texi | 15 ++++++++++++++
gnu/local.mk | 1 +
gnu/services/pciutils.scm | 43 +++++++++++++++++++++++++++++++++++++++
3 files changed, 59 insertions(+)
create mode 100644 gnu/services/pciutils.scm

Toggle diff (89 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index da4d2f5ebc..a36d3cc0f1 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -42550,6 +42550,21 @@ empty list means that no type is specified.
@end deftp
+@cindex corectrl-helper
+@subsubheading CoreCtrl Helper Service
+
+The @code{(gnu services pciutils)} module provides a DBus service for
+interacting with system hardware resources, such as CPU and GPU,
+enabling advanced control and management through the CoreCtrl application.
+
+@defvar corectrl-helper-service-type
+The service type for @command{corectrl}, which provides a helper service.
+
+@lisp
+(service corectrl-helper-service-type)
+@end lisp
+@end defvar
+
@c %end of fragment
@node Privileged Programs
diff --git a/gnu/local.mk b/gnu/local.mk
index 84160f407a..5ebdb72624 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -751,6 +751,7 @@ GNU_SYSTEM_MODULES = \
%D%/services/nix.scm \
%D%/services/nfs.scm \
%D%/services/pam-mount.scm \
+ %D%/services/pciutils.scm \
%D%/services/science.scm \
%D%/services/security.scm \
%D%/services/security-token.scm \
diff --git a/gnu/services/pciutils.scm b/gnu/services/pciutils.scm
new file mode 100644
index 0000000000..cfd310b584
--- /dev/null
+++ b/gnu/services/pciutils.scm
@@ -0,0 +1,43 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu services pciutils)
+ #:use-module (gnu packages pciutils)
+ #:use-module (gnu services)
+ #:use-module (gnu services configuration)
+ #:use-module (gnu services dbus)
+ #:use-module (guix gexp)
+ #:export (corectrl-helper-configuration
+ corectrl-helper-configuration?
+ corectrl-helper-service-type))
+
+(define-configuration corectrl-helper-configuration
+ (corectrl (file-like corectrl) "The corectrl package"))
+
+(define (corectrl-helper-dbus-service config)
+ (list (corectrl-helper-configuration-corectrl config)))
+
+(define corectrl-helper-service-type
+ (service-type (name 'corectrl-helper)
+ (extensions (list (service-extension dbus-root-service-type
+ corectrl-helper-dbus-service)
+ (service-extension polkit-service-type
+ corectrl-helper-dbus-service)))
+ (default-value (corectrl-helper-configuration))
+ ;; TODO: Improve the description.
+ (description "Run corectrl-helper, an essential service for the corectrl application.")))
--
2.46.0
Z
Z
Zheng Junjie wrote on 28 Dec 2024 13:49
Re: [bug#75159] [PATCH v0 1/4] guix: qt: add inputs and outputs build variables in qt-build
(name . Ashvith Shetty)(address . ashvithshetty10@gmail.com)
87r05st1jv.fsf@iscas.ac.cn
Ashvith Shetty <ashvithshetty10@gmail.com> writes:

Toggle quote (8 lines)
> From: Rutherther <rutherther@ditigal.xyz>
>
> Qt build doesn't provide build-variables of inputs and outputs,
> so it's not possible to refer to %outputs in arguments of
> a package that uses qt-build-system. This patch unifies
> qt-build-system's behavior with other build systems like
> cmake-build-system or gnu-build-system.


Things like %outputs are outdated, please use gexp related

Toggle quote (74 lines)
>
> * guix/build-system/qt.scm (qt-build): Wrap with with-build-variables to
> provide variables to arguments
>
> Change-Id: I65853a5831ce7b5dc7ebe10807c6e61bb89cab36
> ---
> guix/build-system/qt.scm | 54 +++++++++++++++++++++-------------------
> 1 file changed, 28 insertions(+), 26 deletions(-)
>
> diff --git a/guix/build-system/qt.scm b/guix/build-system/qt.scm
> index d1f721c54e..5f9a5019ae 100644
> --- a/guix/build-system/qt.scm
> +++ b/guix/build-system/qt.scm
> @@ -152,32 +152,34 @@ (define builder
> (with-imported-modules imported-modules
> #~(begin
> (use-modules #$@(sexp->gexp modules))
> - (qt-build #:source #+source
> - #:system #$system
> - #:outputs #$(outputs->gexp outputs)
> - #:inputs #$(input-tuples->gexp inputs)
> - #:search-paths '#$(sexp->gexp
> - (map search-path-specification->sexp
> - search-paths))
> - #:phases #$(if (pair? phases)
> - (sexp->gexp phases)
> - phases)
> - #:qtbase #+qtbase
> - #:qt-wrap-excluded-outputs #$qt-wrap-excluded-outputs
> - #:qt-wrap-excluded-inputs #$qt-wrap-excluded-inputs
> - #:configure-flags #$configure-flags
> - #:make-flags #$make-flags
> - #:out-of-source? #$out-of-source?
> - #:build-type #$build-type
> - #:tests? #$tests?
> - #:test-target #$test-target
> - #:parallel-build? #$parallel-build?
> - #:parallel-tests? #$parallel-tests?
> - #:validate-runpath? #$validate-runpath?
> - #:patch-shebangs? #$patch-shebangs?
> - #:strip-binaries? #$strip-binaries?
> - #:strip-flags #$strip-flags
> - #:strip-directories #$strip-directories))))
> +
> + #$(with-build-variables inputs outputs
> + #~(qt-build #:source #+source
> + #:system #$system
> + #:outputs %outputs
> + #:inputs %build-inputs
> + #:search-paths '#$(sexp->gexp
> + (map search-path-specification->sexp
> + search-paths))
> + #:phases #$(if (pair? phases)
> + (sexp->gexp phases)
> + phases)
> + #:qtbase #+qtbase
> + #:qt-wrap-excluded-outputs #$qt-wrap-excluded-outputs
> + #:qt-wrap-excluded-inputs #$qt-wrap-excluded-inputs
> + #:configure-flags #$configure-flags
> + #:make-flags #$make-flags
> + #:out-of-source? #$out-of-source?
> + #:build-type #$build-type
> + #:tests? #$tests?
> + #:test-target #$test-target
> + #:parallel-build? #$parallel-build?
> + #:parallel-tests? #$parallel-tests?
> + #:validate-runpath? #$validate-runpath?
> + #:patch-shebangs? #$patch-shebangs?
> + #:strip-binaries? #$strip-binaries?
> + #:strip-flags #$strip-flags
> + #:strip-directories #$strip-directories)))))
>
> (mlet %store-monad ((guile (package->derivation (or guile (default-guile))
> system #:graft? #f)))
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEfr6klGDOXiwIdX/bO1qpk+Gi3/AFAmdv8+QACgkQO1qpk+Gi
3/A4AhAAjzlIVPDP4irSgyKR343ZravChXy5mBx6GkiM39DEsH48dzXs0Aztjevl
JMbmvFDUxa0STuT2eLDsjVuoAYiQrANOuxENUmWVLYxyp6rx070451b3sCM44rGG
fUkzYbzV/Tpo17aMnC/iX6I37+oKspTqTfoDsHnU9cGVTpfxfAL3+6OElwR5cY7H
EDn1pki56DuSJc/GSw1d+bOjUi9WxjW1l3mP5bXavlQP/P9ksJK7LHWIHjHkPydo
3Y7A3aJYQ4hfKjvXkDYhkCEIQNLbs1H6cCWZ946M5/24IPOM+k8VQ7OOqlxy/SbW
FAEjgL3+/grhTR6MdDxeBmF3NUhJPx3jwoQp6iWJdAm/EEEg92BLsudvx+dlRIAn
2p1iQaA0rRwyWxt4WaBiQpsh3/G/Ps16+YvrX85FHuhFrGLc6inRvc/O6YLhi6kD
7Gd0Yfhx3xcNcn3x8KvqZF8BVyeOLu72qqpvJk4OPx2S+WZ1ZG3bG1gd8ykqRyzs
/WkDKcmF57cdUKmw6Cucd3lkbyNERvcIOBfbStMw9qAb0kROLtluXNsc6ue8E+Jl
2FNVN0xCJtCQBELNnSoLUWNoPF7sQCCXYV8567NWtf9nlYZ0j6PHtocwLuBRTf0y
frCK+8C5AmFH8C5loudU4ljejfZaZK0oW8WzI8zIzX+Wcs2G4cE=
=JR51
-----END PGP SIGNATURE-----

A
A
Ashvith Shetty wrote on 28 Dec 2024 16:30
[PATCH v1 0/5] Add corectrl and corectrl-helper-service-type
(address . 75159@debbugs.gnu.org)(name . Ashvith Shetty)(address . ashvith@noreply.codeberg.org)
20241228153020.20233-1-ashvith@noreply.codeberg.org
Updated patch series replaces %outputs with #$(outputs->gexp outputs)
and %build-inputs with #$(input-tuples->gexp inputs).

Ashvith Shetty (4):
gnu: Add trompeloeil.
gnu: Add corectrl.
services: Add corectrl-helper-service-type.
guix: qt: Revert to gexp-based inputs and outputs

Rutherther (1):
guix: qt: add inputs and outputs build variables in qt-build

doc/guix.texi | 15 ++++
gnu/local.mk | 1 +
gnu/packages/check.scm | 23 +++++
.../patches/corectrl-polkit-install-dir.patch | 21 +++++
gnu/packages/pciutils.scm | 83 ++++++++++++++++++-
gnu/services/pciutils.scm | 43 ++++++++++
guix/build-system/qt.scm | 54 ++++++------
7 files changed, 213 insertions(+), 27 deletions(-)
create mode 100644 gnu/packages/patches/corectrl-polkit-install-dir.patch
create mode 100644 gnu/services/pciutils.scm

--
2.46.0
A
A
Ashvith Shetty wrote on 28 Dec 2024 16:30
[PATCH v1 1/5] guix: qt: add inputs and outputs build variables in qt-build
(address . 75159@debbugs.gnu.org)(name . Rutherther)(address . rutherther@ditigal.xyz)
20241228153020.20233-2-ashvith@noreply.codeberg.org
From: Rutherther <rutherther@ditigal.xyz>

Qt build doesn't provide build-variables of inputs and outputs,
so it's not possible to refer to %outputs in arguments of
a package that uses qt-build-system. This patch unifies
qt-build-system's behavior with other build systems like
cmake-build-system or gnu-build-system.

* guix/build-system/qt.scm (qt-build): Wrap with with-build-variables to
provide variables to arguments

Change-Id: I65853a5831ce7b5dc7ebe10807c6e61bb89cab36
---
guix/build-system/qt.scm | 54 +++++++++++++++++++++-------------------
1 file changed, 28 insertions(+), 26 deletions(-)

Toggle diff (67 lines)
diff --git a/guix/build-system/qt.scm b/guix/build-system/qt.scm
index d1f721c54e..5f9a5019ae 100644
--- a/guix/build-system/qt.scm
+++ b/guix/build-system/qt.scm
@@ -152,32 +152,34 @@ (define builder
(with-imported-modules imported-modules
#~(begin
(use-modules #$@(sexp->gexp modules))
- (qt-build #:source #+source
- #:system #$system
- #:outputs #$(outputs->gexp outputs)
- #:inputs #$(input-tuples->gexp inputs)
- #:search-paths '#$(sexp->gexp
- (map search-path-specification->sexp
- search-paths))
- #:phases #$(if (pair? phases)
- (sexp->gexp phases)
- phases)
- #:qtbase #+qtbase
- #:qt-wrap-excluded-outputs #$qt-wrap-excluded-outputs
- #:qt-wrap-excluded-inputs #$qt-wrap-excluded-inputs
- #:configure-flags #$configure-flags
- #:make-flags #$make-flags
- #:out-of-source? #$out-of-source?
- #:build-type #$build-type
- #:tests? #$tests?
- #:test-target #$test-target
- #:parallel-build? #$parallel-build?
- #:parallel-tests? #$parallel-tests?
- #:validate-runpath? #$validate-runpath?
- #:patch-shebangs? #$patch-shebangs?
- #:strip-binaries? #$strip-binaries?
- #:strip-flags #$strip-flags
- #:strip-directories #$strip-directories))))
+
+ #$(with-build-variables inputs outputs
+ #~(qt-build #:source #+source
+ #:system #$system
+ #:outputs %outputs
+ #:inputs %build-inputs
+ #:search-paths '#$(sexp->gexp
+ (map search-path-specification->sexp
+ search-paths))
+ #:phases #$(if (pair? phases)
+ (sexp->gexp phases)
+ phases)
+ #:qtbase #+qtbase
+ #:qt-wrap-excluded-outputs #$qt-wrap-excluded-outputs
+ #:qt-wrap-excluded-inputs #$qt-wrap-excluded-inputs
+ #:configure-flags #$configure-flags
+ #:make-flags #$make-flags
+ #:out-of-source? #$out-of-source?
+ #:build-type #$build-type
+ #:tests? #$tests?
+ #:test-target #$test-target
+ #:parallel-build? #$parallel-build?
+ #:parallel-tests? #$parallel-tests?
+ #:validate-runpath? #$validate-runpath?
+ #:patch-shebangs? #$patch-shebangs?
+ #:strip-binaries? #$strip-binaries?
+ #:strip-flags #$strip-flags
+ #:strip-directories #$strip-directories)))))
(mlet %store-monad ((guile (package->derivation (or guile (default-guile))
system #:graft? #f)))
--
2.46.0
A
A
Ashvith Shetty wrote on 28 Dec 2024 16:30
[PATCH v1 2/5] gnu: Add trompeloeil.
(address . 75159@debbugs.gnu.org)(name . Ashvith Shetty)(address . ashvith@noreply.codeberg.org)
20241228153020.20233-3-ashvith@noreply.codeberg.org
* gnu/packages/check.scm (trompeloeil): New variable.

Change-Id: I44d83ff4230a1c836bedc124acb1a40742f17021
---
gnu/packages/check.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index dd32800870..6afd7fefb5 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -3805,6 +3805,29 @@ (define-public toml-test
tests. The output format is JSON.")
(license license:expat)))
+(define-public trompeloeil
+ (package
+ (name "trompeloeil")
+ (version "49")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rollbear/trompeloeil")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0m4bfzcj033qfk3sihbikrhk9krsdbsqk79nsambnsnqqcgc2903"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:tests? #f))
+ (home-page "https://github.com/rollbear/trompeloeil")
+ (synopsis "Header only C++14 mocking framework")
+ (description
+ "A thread-safe header-only mocking framework for C++11/14 using the Boost Software License 1.0")
+ (license license:boost1.0)))
+
(define-public unittest-cpp
(package
(name "unittest-cpp")
--
2.46.0
A
A
Ashvith Shetty wrote on 28 Dec 2024 16:30
[PATCH v1 3/5] gnu: Add corectrl.
(address . 75159@debbugs.gnu.org)(name . Ashvith Shetty)(address . ashvith@noreply.codeberg.org)
20241228153020.20233-4-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

Toggle diff (138 lines)
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
A
A
Ashvith Shetty wrote on 28 Dec 2024 16:30
[PATCH v1 4/5] services: Add corectrl-helper-service-type.
(address . 75159@debbugs.gnu.org)(name . Ashvith Shetty)(address . ashvith@noreply.codeberg.org)
20241228153020.20233-5-ashvith@noreply.codeberg.org
* gnu/services/pciutils.scm: New file.
(corectrl-helper-service-type): new variable.
* gnu/local.mk: Add them.
* doc/guix.texi (Miscellaneous Services): Document it.

Change-Id: I1dbeb927100a9a488909ff1950ec7e50d3797c29
---
doc/guix.texi | 15 ++++++++++++++
gnu/local.mk | 1 +
gnu/services/pciutils.scm | 43 +++++++++++++++++++++++++++++++++++++++
3 files changed, 59 insertions(+)
create mode 100644 gnu/services/pciutils.scm

Toggle diff (89 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index da4d2f5ebc..a36d3cc0f1 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -42550,6 +42550,21 @@ empty list means that no type is specified.
@end deftp
+@cindex corectrl-helper
+@subsubheading CoreCtrl Helper Service
+
+The @code{(gnu services pciutils)} module provides a DBus service for
+interacting with system hardware resources, such as CPU and GPU,
+enabling advanced control and management through the CoreCtrl application.
+
+@defvar corectrl-helper-service-type
+The service type for @command{corectrl}, which provides a helper service.
+
+@lisp
+(service corectrl-helper-service-type)
+@end lisp
+@end defvar
+
@c %end of fragment
@node Privileged Programs
diff --git a/gnu/local.mk b/gnu/local.mk
index 84160f407a..5ebdb72624 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -751,6 +751,7 @@ GNU_SYSTEM_MODULES = \
%D%/services/nix.scm \
%D%/services/nfs.scm \
%D%/services/pam-mount.scm \
+ %D%/services/pciutils.scm \
%D%/services/science.scm \
%D%/services/security.scm \
%D%/services/security-token.scm \
diff --git a/gnu/services/pciutils.scm b/gnu/services/pciutils.scm
new file mode 100644
index 0000000000..cfd310b584
--- /dev/null
+++ b/gnu/services/pciutils.scm
@@ -0,0 +1,43 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu services pciutils)
+ #:use-module (gnu packages pciutils)
+ #:use-module (gnu services)
+ #:use-module (gnu services configuration)
+ #:use-module (gnu services dbus)
+ #:use-module (guix gexp)
+ #:export (corectrl-helper-configuration
+ corectrl-helper-configuration?
+ corectrl-helper-service-type))
+
+(define-configuration corectrl-helper-configuration
+ (corectrl (file-like corectrl) "The corectrl package"))
+
+(define (corectrl-helper-dbus-service config)
+ (list (corectrl-helper-configuration-corectrl config)))
+
+(define corectrl-helper-service-type
+ (service-type (name 'corectrl-helper)
+ (extensions (list (service-extension dbus-root-service-type
+ corectrl-helper-dbus-service)
+ (service-extension polkit-service-type
+ corectrl-helper-dbus-service)))
+ (default-value (corectrl-helper-configuration))
+ ;; TODO: Improve the description.
+ (description "Run corectrl-helper, an essential service for the corectrl application.")))
--
2.46.0
A
A
Ashvith Shetty wrote on 28 Dec 2024 16:30
[PATCH v1 5/5] guix: qt: Revert to gexp-based inputs and outputs
(address . 75159@debbugs.gnu.org)(name . Ashvith Shetty)(address . ashvith@noreply.codeberg.org)
20241228153020.20233-6-ashvith@noreply.codeberg.org
* guix/build-system/qt.scm (qt-build):
Replace %outputs with #$(outputs->gexp outputs)
Replace %build-inputs #$(input-tuples->gexp inputs)

Change-Id: I272f117cb9d1679869c15ade0f7da06abc9badc9
---
guix/build-system/qt.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (17 lines)
diff --git a/guix/build-system/qt.scm b/guix/build-system/qt.scm
index 5f9a5019ae..b3c1c2c6e9 100644
--- a/guix/build-system/qt.scm
+++ b/guix/build-system/qt.scm
@@ -156,8 +156,8 @@ (define builder
#$(with-build-variables inputs outputs
#~(qt-build #:source #+source
#:system #$system
- #:outputs %outputs
- #:inputs %build-inputs
+ #:outputs #$(outputs->gexp outputs)
+ #:inputs #$(input-tuples->gexp inputs)
#:search-paths '#$(sexp->gexp
(map search-path-specification->sexp
search-paths))
--
2.46.0
Z
Z
Zheng Junjie wrote on 30 Dec 2024 07:38
Re: [bug#75159] [PATCH v1 2/5] gnu: Add trompeloeil.
(name . Ashvith Shetty)(address . ashvithshetty10@gmail.com)(address . 75159@debbugs.gnu.org)
87ikr1u14a.fsf@iscas.ac.cn
Ashvith Shetty <ashvithshetty10@gmail.com> writes:

Toggle quote (33 lines)
> * gnu/packages/check.scm (trompeloeil): New variable.
>
> Change-Id: I44d83ff4230a1c836bedc124acb1a40742f17021
> ---
> gnu/packages/check.scm | 23 +++++++++++++++++++++++
> 1 file changed, 23 insertions(+)
>
> diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
> index dd32800870..6afd7fefb5 100644
> --- a/gnu/packages/check.scm
> +++ b/gnu/packages/check.scm
> @@ -3805,6 +3805,29 @@ (define-public toml-test
> tests. The output format is JSON.")
> (license license:expat)))
>
> +(define-public trompeloeil
> + (package
> + (name "trompeloeil")
> + (version "49")
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/rollbear/trompeloeil")
> + (commit (string-append "v" version))))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32 "0m4bfzcj033qfk3sihbikrhk9krsdbsqk79nsambnsnqqcgc2903"))))
> + (build-system cmake-build-system)
> + (arguments
> + (list
> + #:tests? #f))

why disable test? Please fix it or add a comment to explain this.

Toggle quote (5 lines)
> + (synopsis "Header only C++14 mocking framework")
> + (description
> + "A thread-safe header-only mocking framework for C++11/14 using the Boost Software License 1.0")

maybe "Trompeloeil is a thread-safe header-only mocking framework for C++11/14."

Toggle quote (5 lines)
> + (license license:boost1.0)))
> +
> (define-public unittest-cpp
> (package
> (name "unittest-cpp")
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEfr6klGDOXiwIdX/bO1qpk+Gi3/AFAmdyP9UACgkQO1qpk+Gi
3/AO4w/6AvUWtmntiWwBbdBfO/1GiEFFlLpBN/MCSU3jB0PfUXzkmLMxdfyle8cG
fD8mHP6JmL6FK3SceAhGR9zEk740OxAMGeHO+grMrlPdb7Me1mV+u/XGUuSe4Bi0
a6shovRHi1qBO6byWunHKOzOWhiZKwJrtzOgC2GUZAhcodWg3HTlSuVFtTSzn9g6
jITF4FTU7Q7IQR+Y0wsx5t8W5iJJ8kD3JziunwnC3n7g+xXP28RCPJhgrtEdXlgd
/HbSqrtB7Vl1Zo0oyDDo4R0pbwcXLcXaVNciB+dvjK64VxEsErBTGuhRjb3enJcm
yzuoOXhqxsAbsM6Qe8ubhatbCn5RhQv4h9EIjJkDIxiutf3Enx92akGyVE4hX1C3
nYM5DoTDX/HWGN+HWZVzc0UrtAktbLn1xdpGw2C6wyg5PK1stmsniRGW1BOQMwoz
2HdpJ0FV81qSP8rEijBNy2XbJJWMXYK9FyZjMNOISlp0Ze0xsST4o4CZ8iP/2nKa
qRcH7BsSghl3E7fSSFXS6oHb3Y5/mDB42JC7kAzFsw79sfYazZuoZxCC+Pz2IDMA
AsBRxh19RgaqOJ6aZCV+zQbwVx2H+eXk7cBaOKf7rrm4h1ymsr9gp3dYb2fqiNjG
zeclBK086R3snOaM7ULl7DSU+R4L+KU1oKw1NZyFdp7CrXZqxG0=
=hQUO
-----END PGP SIGNATURE-----

Z
Z
Zheng Junjie wrote on 30 Dec 2024 07:50
Re: [bug#75159] [PATCH v1 3/5] gnu: Add corectrl.
(name . Ashvith Shetty)(address . ashvithshetty10@gmail.com)(address . 75159@debbugs.gnu.org)
87cyh9u0kn.fsf@iscas.ac.cn
Ashvith Shetty <ashvithshetty10@gmail.com> writes:

Toggle quote (13 lines)
> * 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

you forget add this patch to gnu/local.mk(dist_patch_DATA).

You can also mention a pr upstream that allows custom
POLKIT_POLICY_INSTALL_DIR.

Toggle quote (84 lines)
> 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

i think this package should go to gnu/packages/admin.scm, because this
package is "control with ease your computer hardware using application
profiles".

Toggle quote (19 lines)
> + (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

please remove it, tests should not be forced.

Toggle quote (9 lines)
> + #: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")))))

please not use %build-inputs. It's an outdated thing.

use
(string-append "-DWITH_PCI_IDS_PATH=" #$(this-package-input "hwdata")
"/share/hwdata/pci.ids")


Toggle quote (2 lines)
> + (native-inputs (list pkg-config gcc-13))

please add comments for why need gcc-13.

Toggle quote (2 lines)
> + (propagated-inputs (list mesa-utils vulkan-tools util-linux))

why propagated them? It's easy to conflict in profiles, maybe should use wrap-program.

Toggle quote (13 lines)
> + (inputs (list dbus
> + botan
> + catch2-3
> + hwdata
> + polkit
> + procps
> + pugixml
> + qtcharts-5
> + qtdeclarative-5
> + qtquickcontrols2-5
> + qtsvg-5
> + qttools-5

qttools-5 should go to native-inputs.

Toggle quote (12 lines)
> + 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))))
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEfr6klGDOXiwIdX/bO1qpk+Gi3/AFAmdyQpgACgkQO1qpk+Gi
3/BHZQ//S6Y4vP2HRYezzMaG7Yx8SOq5v4Q1dYsx4zimYweHUNDFdNTSVF3bkpV2
qGvHYsHhxOdE7kM/gg4FD8aQblBp8jruItk2QK2b56ixcS8Da3GQGuy5Rk5y4rBQ
/3Ymrb8Rl4i0anqyDhv2TmIkNwUcIzMyySyu6SG0kQXdW5XNXexxzEHlr59DHGdS
3OFCt7luMQjwiQWNUCnlTtk9GKwWM5FEen2t2w0TgrMTAAfxN59oDsozQzIm4hLa
F5AOLdxnvPbdPeMhUvQ1gOng/0eEtHBTK3OIugBiX/z7wwrCJ1fqjFLxxvuGt96s
jVz0u8kHkaqGetWuJ7skLgJhpp14CWAHeAAIxeG1mCfQKuW1rgfkETzI2TSqBmBc
toLNc03XEKV1FwHEuMbPLnlMdFHvdsl3ZzzriArQl9KHYvYXQsyqRZL97N0AkePW
Hzwzeo2ExTV4Yvn9/t7r/rHQgl7Q24AH+QJJ7K1wlxg/+0Ufqu03UJ9iPlbOU/ih
zafr/w1+GW+HGASnXY/g70KkDoCUXRQlPOg4XcGyJRyfcJ4BVCIyjp/ZJ1xJjmGF
UsFz5hMSVCDQylQQuzdMY829iFdbiYleoDLg6KoYy/S2UccEDeVA74voqZN8ftP+
deXrtnRLwqLZzIw/5bNX0tcB5CVZCMfALCisHOiWxE9QWslwsE0=
=23Pw
-----END PGP SIGNATURE-----

Z
Z
Zheng Junjie wrote on 30 Dec 2024 08:00
Re: [bug#75159] [PATCH v1 4/5] services: Add corectrl-helper-service-type.
(name . Ashvith Shetty)(address . ashvithshetty10@gmail.com)(address . 75159@debbugs.gnu.org)
877c7hu030.fsf@iscas.ac.cn
Ashvith Shetty <ashvithshetty10@gmail.com> writes:

Toggle quote (2 lines)
> * gnu/services/pciutils.scm: New file.

This service doesn't seem to have anything to do with pciutils. Put it
in another module or a separate corectrl module.

Toggle quote (2 lines)
> (corectrl-helper-service-type): new variable.

i think should corectrl-service-type. corectr-helper doesn't mean
anything. And use profile-service-type to add corectrl to profile. This
allows only one service to use corectrl, rather than requiring the user
to add the package.

Toggle quote (96 lines)
> * gnu/local.mk: Add them.
> * doc/guix.texi (Miscellaneous Services): Document it.
>
> Change-Id: I1dbeb927100a9a488909ff1950ec7e50d3797c29
> ---
> doc/guix.texi | 15 ++++++++++++++
> gnu/local.mk | 1 +
> gnu/services/pciutils.scm | 43 +++++++++++++++++++++++++++++++++++++++
> 3 files changed, 59 insertions(+)
> create mode 100644 gnu/services/pciutils.scm
>
> diff --git a/doc/guix.texi b/doc/guix.texi
> index da4d2f5ebc..a36d3cc0f1 100644
> --- a/doc/guix.texi
> +++ b/doc/guix.texi
> @@ -42550,6 +42550,21 @@ empty list means that no type is specified.
>
> @end deftp
>
> +@cindex corectrl-helper
> +@subsubheading CoreCtrl Helper Service
> +
> +The @code{(gnu services pciutils)} module provides a DBus service for
> +interacting with system hardware resources, such as CPU and GPU,
> +enabling advanced control and management through the CoreCtrl application.
> +
> +@defvar corectrl-helper-service-type
> +The service type for @command{corectrl}, which provides a helper service.
> +
> +@lisp
> +(service corectrl-helper-service-type)
> +@end lisp
> +@end defvar
> +
> @c %end of fragment
>
> @node Privileged Programs
> diff --git a/gnu/local.mk b/gnu/local.mk
> index 84160f407a..5ebdb72624 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -751,6 +751,7 @@ GNU_SYSTEM_MODULES = \
> %D%/services/nix.scm \
> %D%/services/nfs.scm \
> %D%/services/pam-mount.scm \
> + %D%/services/pciutils.scm \
> %D%/services/science.scm \
> %D%/services/security.scm \
> %D%/services/security-token.scm \
> diff --git a/gnu/services/pciutils.scm b/gnu/services/pciutils.scm
> new file mode 100644
> index 0000000000..cfd310b584
> --- /dev/null
> +++ b/gnu/services/pciutils.scm
> @@ -0,0 +1,43 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10@gmail.com>
> +;;;
> +;;; This file is part of GNU Guix.
> +;;;
> +;;; GNU Guix is free software; you can redistribute it and/or modify it
> +;;; under the terms of the GNU General Public License as published by
> +;;; the Free Software Foundation; either version 3 of the License, or (at
> +;;; your option) any later version.
> +;;;
> +;;; GNU Guix is distributed in the hope that it will be useful, but
> +;;; WITHOUT ANY WARRANTY; without even the implied warranty of
> +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> +;;; GNU General Public License for more details.
> +;;;
> +;;; You should have received a copy of the GNU General Public License
> +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
> +
> +(define-module (gnu services pciutils)
> + #:use-module (gnu packages pciutils)
> + #:use-module (gnu services)
> + #:use-module (gnu services configuration)
> + #:use-module (gnu services dbus)
> + #:use-module (guix gexp)
> + #:export (corectrl-helper-configuration
> + corectrl-helper-configuration?
> + corectrl-helper-service-type))
> +
> +(define-configuration corectrl-helper-configuration
> + (corectrl (file-like corectrl) "The corectrl package"))
> +
> +(define (corectrl-helper-dbus-service config)
> + (list (corectrl-helper-configuration-corectrl config)))
> +
> +(define corectrl-helper-service-type
> + (service-type (name 'corectrl-helper)
> + (extensions (list (service-extension dbus-root-service-type
> + corectrl-helper-dbus-service)
> + (service-extension polkit-service-type
> + corectrl-helper-dbus-service)))

also add profile-service-type.

Toggle quote (3 lines)
> + (default-value (corectrl-helper-configuration))
> + ;; TODO: Improve the description.
> + (description "Run corectrl-helper, an essential service for the corectrl application.")))
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEfr6klGDOXiwIdX/bO1qpk+Gi3/AFAmdyRRMACgkQO1qpk+Gi
3/CeNQ//QWGMsUDidrFAF1dtLAJCkerg6UqFUindi+9qKxqZIQ/Wjj0Z/i13m8L6
u3OlYQx/cwo0M+qEq6lu45PoeJuDLShvxUj0PKyQkMpzcx4UpBgIlVt0hb88Kz+F
rB8/YXjf+//S9i6I7wRG6+GFyMjJ5FGsbx2n6/ldEfN5Ks7uhV8tcc21IBJWKWCU
5VVRsN3un/Fk90iqnzAgEfBlbVptuh2u9KkqxlumEOcOKCXfjrIGEcVdgEm5Ez/7
RcKo9mLnWw2Wx6Iwl8M0JsgiQNk5DMoIqRSKPnK+YOMKcE79eL91RQKQqwwOcok1
ptkra3l7XD3xfn30Jl9mVTH4WmB2Ry4asudwjCPO1q4ks3b+rgiyKqlQM98/PPxg
OtyOocFnV2q0qqbtUVX/gkuiCvbnHt2nGSHfkiBy2Hai1t6s48Pai3z85yRci8kY
N40BMk4z3iFxPZ6vfsvUC8WEV9M63AJJk63USpOD+rSk4kZSASnCrYdK9i3DGixi
3XNCQ4Lq5dlUo/2+9aIp/csMxKTGIRmyobmxyshFHm88T3SfPy0baPic4Zv+dhf5
JjSZs99JpnyJhlPZ8vsCMm/Xzc+ItnpOJjY3EAHOe40DXnQS0TU9GEnvWUUaVq2K
D7dUm6Hwkbl5Yo/y673mmi+RtwUb5nV0901GDDbK5hdfxlEeW5o=
=MQ65
-----END PGP SIGNATURE-----

Z
Z
Zheng Junjie wrote on 30 Dec 2024 08:03
Re: [bug#75159] [PATCH v1 1/5] guix: qt: add inputs and outputs build variables in qt-build
(name . Ashvith Shetty)(address . ashvithshetty10@gmail.com)
871pxptzxo.fsf@iscas.ac.cn
Ashvith Shetty <ashvithshetty10@gmail.com> writes:

Toggle quote (9 lines)
> From: Rutherther <rutherther@ditigal.xyz>
>
> Qt build doesn't provide build-variables of inputs and outputs,
> so it's not possible to refer to %outputs in arguments of
> a package that uses qt-build-system. This patch unifies
> qt-build-system's behavior with other build systems like
> cmake-build-system or gnu-build-system.
>

This patch will cause all qt packages to be rebuilt, and the future
should be to remove cmake-build-system, gnu-build-system's %outputs, use
gexp. so this patch will not be merged.


Toggle quote (73 lines)
> * guix/build-system/qt.scm (qt-build): Wrap with with-build-variables to
> provide variables to arguments
>
> Change-Id: I65853a5831ce7b5dc7ebe10807c6e61bb89cab36
> ---
> guix/build-system/qt.scm | 54 +++++++++++++++++++++-------------------
> 1 file changed, 28 insertions(+), 26 deletions(-)
>
> diff --git a/guix/build-system/qt.scm b/guix/build-system/qt.scm
> index d1f721c54e..5f9a5019ae 100644
> --- a/guix/build-system/qt.scm
> +++ b/guix/build-system/qt.scm
> @@ -152,32 +152,34 @@ (define builder
> (with-imported-modules imported-modules
> #~(begin
> (use-modules #$@(sexp->gexp modules))
> - (qt-build #:source #+source
> - #:system #$system
> - #:outputs #$(outputs->gexp outputs)
> - #:inputs #$(input-tuples->gexp inputs)
> - #:search-paths '#$(sexp->gexp
> - (map search-path-specification->sexp
> - search-paths))
> - #:phases #$(if (pair? phases)
> - (sexp->gexp phases)
> - phases)
> - #:qtbase #+qtbase
> - #:qt-wrap-excluded-outputs #$qt-wrap-excluded-outputs
> - #:qt-wrap-excluded-inputs #$qt-wrap-excluded-inputs
> - #:configure-flags #$configure-flags
> - #:make-flags #$make-flags
> - #:out-of-source? #$out-of-source?
> - #:build-type #$build-type
> - #:tests? #$tests?
> - #:test-target #$test-target
> - #:parallel-build? #$parallel-build?
> - #:parallel-tests? #$parallel-tests?
> - #:validate-runpath? #$validate-runpath?
> - #:patch-shebangs? #$patch-shebangs?
> - #:strip-binaries? #$strip-binaries?
> - #:strip-flags #$strip-flags
> - #:strip-directories #$strip-directories))))
> +
> + #$(with-build-variables inputs outputs
> + #~(qt-build #:source #+source
> + #:system #$system
> + #:outputs %outputs
> + #:inputs %build-inputs
> + #:search-paths '#$(sexp->gexp
> + (map search-path-specification->sexp
> + search-paths))
> + #:phases #$(if (pair? phases)
> + (sexp->gexp phases)
> + phases)
> + #:qtbase #+qtbase
> + #:qt-wrap-excluded-outputs #$qt-wrap-excluded-outputs
> + #:qt-wrap-excluded-inputs #$qt-wrap-excluded-inputs
> + #:configure-flags #$configure-flags
> + #:make-flags #$make-flags
> + #:out-of-source? #$out-of-source?
> + #:build-type #$build-type
> + #:tests? #$tests?
> + #:test-target #$test-target
> + #:parallel-build? #$parallel-build?
> + #:parallel-tests? #$parallel-tests?
> + #:validate-runpath? #$validate-runpath?
> + #:patch-shebangs? #$patch-shebangs?
> + #:strip-binaries? #$strip-binaries?
> + #:strip-flags #$strip-flags
> + #:strip-directories #$strip-directories)))))
>
> (mlet %store-monad ((guile (package->derivation (or guile (default-guile))
> system #:graft? #f)))
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEfr6klGDOXiwIdX/bO1qpk+Gi3/AFAmdyRdMACgkQO1qpk+Gi
3/Ac6Q/8DeSYat64oTF7NnhWJOxkpAm7a6I4buJrpitTRM6onl70gDOoNLMQnYYV
TXA9xuUh/CNJH2B4/ISXg5WPiph/XF3bhr8dZlkt51R7DIdw/A+PWbcbFXkPppPD
+o7WePM6LPwOkC8oPeR2Tarxn61ChQ+IC6ZvbZeoYZGXOpqOq4foBKqUQReq/gPq
XvDgZfR6ZJAtATHmcc3wWzM4IRIOdXxiCLRjWeAZZZaBsDoKgSv2S4nGSmLh5qVO
eKmTvuemXvPeUtQOvIHHYkYSWC1RCYq3Iis99fjObhkxzpucv62bSxGUmmrmPv+z
snaNcShlqSwfXeWHrblYC5sbEVAnq2Xb2lB07X+ISI37qA6XZHOkRKysZFHEFZnG
l+j8YaR0BbA1fQQbkGIfS+j9NzJWAAWLjf6poWJ6xRFglNh/wSQ391kEIji8yRWf
IqG9PryNDTWaTg0u1SivuKqDN7OGke7qWOv5QBl7KXIxlD2Irn3vNh9xbdJXJzeK
OMfYUkuNwsWW7YrJnHbtmLCOv3yB4uQPd6JfTg1peJS32KVwK3OT2zIVQOBua4ge
8NckcmA4+CfKVOhc1i6F30uM/LLKRA0z20DerXMPll/Ugp/9ANV3KGm1HsCebO2I
z8EuCfO32jOG/1bY358/q554B8QuSIMpnpoRLbm6ZB4K0QpM8DM=
=Zo5y
-----END PGP SIGNATURE-----

Z
Z
Zheng Junjie wrote on 30 Dec 2024 08:48
Re: [bug#75159] [PATCH v1 3/5] gnu: Add corectrl.
(name . Ashvith Shetty)(address . ashvithshetty10@gmail.com)(address . 75159@debbugs.gnu.org)
87seq5sjaf.fsf@iscas.ac.cn
Ashvith Shetty <ashvithshetty10@gmail.com> writes:

Toggle quote (1 lines)
> * gnu/packages/pciutils.scm (corectrl): New variable.
[...]
Toggle quote (11 lines)
> +(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))))

and you forget Add (file-name (git-file-name name version))
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEfr6klGDOXiwIdX/bO1qpk+Gi3/AFAmdyUFgACgkQO1qpk+Gi
3/CNahAAovpsBhH3AzhDPy3JT7ceO2391gvOnwKgPmNHPY0HS9AR0tMlDlXGC3UE
x2ibn9yFiGJowtxDiAmnCVQL8dDOHf+ESrjwIIEcsgsCfQxS2auplTw6eoMLQ5ZL
9qyvMJ5cQSco4cNOC8C0IorVw3niXjBW96g+sBQBOCVyjd6gIYiomhrOgk0fWFgp
w8aplhSpcR3kCI1hlkvkOWf5Xj46PggIITYk+TkMZeKGGbgaWIR/8OtgF5mnWLWD
LQWQKgsb5p9z/2P37KqpGj8MB++rcmNKraXqE6d/NBlBh/hdJunfFid0hnCuAHNb
Wrltv7YAaA5xWZuj+L1pPPoagpUKpu7g0BZ6rzmkVLsNYq5OgBUtoPZhNatApYH4
BOX/HMySEDfRkKs1hNnFF17NTphZPhTJemxl8TDw7XiNG/+5f8GreD0tCk04b0Y4
SuY3QdFbzdfFIINkAEIsrSR+wiMJ9gx1R1XPc6gUIL1kmG77GXJC9/5ROThZAkqz
SM9EXRSC5eenQMm8J7i8H1ZnHPkPtAobwCP5G2qUH1caX6ppukfp/0s8ehgRYgaU
mL80bo4Uftbe8120pRfNkyL0QgqaDhr/l2du/zYs0vDGUN9DORvoax9D20di3hRX
csLGINbkefx7PbR5X9jhT/Z/kag6/8J3nl2/Tf/AVKwf8hAbTXE=
=bbu5
-----END PGP SIGNATURE-----

A
A
Ashvith Shetty wrote on 31 Dec 2024 19:09
[PATCH v2 0/3] Add corectrl and corectrl-helper-service-type
(address . 75159@debbugs.gnu.org)(name . Ashvith Shetty)(address . ashvithshetty10@gmail.com)
20241231181027.28121-2-ashvithshetty10@gmail.com
Made improvements on the previous commits as per the review.

Ashvith Shetty (3):
gnu: Add trompeloeil.
gnu: Add corectrl.
services: Add corectrl-helper-service-type.

doc/guix.texi | 32 ++++++++
gnu/local.mk | 2 +
gnu/packages/admin.scm | 73 +++++++++++++++++++
gnu/packages/check.scm | 31 ++++++++
.../patches/corectrl-polkit-install-dir.patch | 21 ++++++
gnu/services/admin.scm | 27 ++++++-
6 files changed, 185 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/corectrl-polkit-install-dir.patch

--
2.46.0
A
A
Ashvith Shetty wrote on 31 Dec 2024 19:09
[PATCH v2 1/3] gnu: Add trompeloeil.
(address . 75159@debbugs.gnu.org)(name . Ashvith Shetty)(address . ashvith@noreply.codeberg.org)
20241231181027.28121-3-ashvithshetty10@gmail.com
From: Ashvith Shetty <ashvith@noreply.codeberg.org>

* gnu/packages/check.scm (trompeloeil): New variable.

Change-Id: I442cd0b5e84e8f9956b16b7d9235f67d9f5f693e
---
gnu/packages/check.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)

Toggle diff (51 lines)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 5fef10485b..151c6fb5c4 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -52,6 +52,7 @@
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2024 Navid Afkhami <navid.afkhami@mdc-berlin.de>
;;; Copyright © 2024 gemmaro <gemmaro.dev@gmail.com>
+;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3806,6 +3807,36 @@ (define-public toml-test
tests. The output format is JSON.")
(license license:expat)))
+(define-public trompeloeil
+ (package
+ (name "trompeloeil")
+ (version "49")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rollbear/trompeloeil")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0m4bfzcj033qfk3sihbikrhk9krsdbsqk79nsambnsnqqcgc2903"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:configure-flags #~(list "-D TROMPELOEIL_BUILD_TESTS=yes")
+ #:test-target "test/self_test"
+ #:phases #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? test-target #:allow-other-keys)
+ (when tests?
+ (invoke test-target)))))))
+ (native-inputs (list catch2-3))
+ (home-page "https://github.com/rollbear/trompeloeil")
+ (synopsis "Header only C++14 mocking framework")
+ (description
+ "Trompeloeil is a thread-safe header-only mocking framework for C++11/14.")
+ (license license:boost1.0)))
+
(define-public unittest-cpp
(package
(name "unittest-cpp")
--
2.46.0
A
A
Ashvith Shetty wrote on 31 Dec 2024 19:09
[PATCH v2 2/3] gnu: Add corectrl.
(address . 75159@debbugs.gnu.org)(name . Ashvith Shetty)(address . ashvith@noreply.codeberg.org)
20241231181027.28121-4-ashvithshetty10@gmail.com
From: Ashvith Shetty <ashvith@noreply.codeberg.org>

* gnu/packages/admin.scm (corectrl): New variable.
* gnu/packages/patches/corectrl-polkit-install-dir.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Add reference to it.

Change-Id: I7b0f85c917eb58d7518d7ee7c5b22ef2debde7d9
---
gnu/local.mk | 2 +
gnu/packages/admin.scm | 73 +++++++++++++++++++
.../patches/corectrl-polkit-install-dir.patch | 21 ++++++
3 files changed, 96 insertions(+)
create mode 100644 gnu/packages/patches/corectrl-polkit-install-dir.patch

Toggle diff (162 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 02a6fa616e..799a1ce591 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -69,6 +69,7 @@
# Copyright © 2024 Fabio Natali <me@fabionatali.com>
# Copyright © 2024 Noé Lopez <noelopez@free.fr>
# Copyright © 2024 Runciter <runciter@whispers-vpn.org>
+# Copyright © 2024 Ashvith Shetty <ashvithshetty10@gmail.com>
#
# This file is part of GNU Guix.
#
@@ -1121,6 +1122,7 @@ dist_patch_DATA = \
%D%/packages/patches/converseen-hide-non-free-pointers.patch \
%D%/packages/patches/cool-retro-term-wctype.patch \
%D%/packages/patches/coq-autosubst-1.8-remove-deprecated-files.patch \
+ %D%/packages/patches/corectrl-polkit-install-dir.patch \
%D%/packages/patches/corefx-mono-5.4.0-patches.patch \
%D%/packages/patches/corefx-mono-pre-5.8.0-patches.patch \
%D%/packages/patches/coreutils-gnulib-tests.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index dce93e4f3a..3759b53d52 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -70,6 +70,7 @@
;;; Copyright © 2024 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2024 nathan <nathan_mail@nborghese.com>
;;; Copyright © 2024 Nikita Domnitskii <nikita@domnitskii.me>
+;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -137,6 +138,7 @@ (define-module (gnu packages admin)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gettext)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
@@ -157,10 +159,12 @@ (define-module (gnu packages admin)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages logging)
#:use-module (gnu packages lua)
#:use-module (gnu packages m4)
#:use-module (gnu packages mail)
#:use-module (gnu packages man)
+ #:use-module (gnu packages maths)
#:use-module (gnu packages markup)
#:use-module (gnu packages mcrypt)
#:use-module (gnu packages mpi)
@@ -195,6 +199,7 @@ (define-module (gnu packages admin)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
+ #:use-module (gnu packages vulkan)
#:use-module (gnu packages web)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
@@ -6484,3 +6489,71 @@ (define-public sshguard
services. It aggregates system logs and blocks repeat offenders using one of
several firewall backends.")
(license license:isc)))
+
+(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
+ #: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="
+ #$(this-package-input "hwdata")
+ "/share/hwdata/pci.ids"))
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'install 'wrap-program
+ (lambda* (#:key inputs #:allow-other-keys)
+ (wrap-program (string-append #$output "/bin/corectrl")
+ (list "PATH"
+ 'prefix
+ (map (lambda (binary)
+ (dirname (search-input-file inputs
+ (string-append
+ "bin/"
+ binary))))
+ '("glxinfo" "lscpu" "vulkaninfo")))))))))
+ ;; Text formatting only supported since C++20, which is available in gcc-13.
+ ;; https://en.cppreference.com/w/cpp/compiler_support#cpp_lib_format_201907L
+ (native-inputs (list pkg-config gcc-13))
+ (inputs (list dbus
+ botan
+ catch2-3
+ hwdata
+ mesa-utils
+ polkit
+ procps
+ pugixml
+ qtcharts-5
+ qtdeclarative-5
+ qtquickcontrols2-5
+ qtsvg-5
+ qttools-5
+ quazip
+ spdlog
+ trompeloeil
+ units
+ util-linux
+ vulkan-tools
+ 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))))
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
--
2.46.0
A
A
Ashvith Shetty wrote on 31 Dec 2024 19:09
[PATCH v2 3/3] services: Add corectrl-helper-service-type.
(address . 75159@debbugs.gnu.org)(name . Ashvith Shetty)(address . ashvith@noreply.codeberg.org)
20241231181027.28121-5-ashvithshetty10@gmail.com
From: Ashvith Shetty <ashvith@noreply.codeberg.org>

* gnu/services/admin.scm: New file.
(corectrl-helper-service-type): new variable.
* gnu/local.mk: Add them.
* doc/guix.texi (Miscellaneous Services): Document it.
---
doc/guix.texi | 32 ++++++++++++++++++++++++++++++++
gnu/services/admin.scm | 27 ++++++++++++++++++++++++++-
2 files changed, 58 insertions(+), 1 deletion(-)

Toggle diff (109 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index 924f13f0f6..9330525c61 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -135,6 +135,7 @@ Copyright @copyright{} 2024 Nigko Yerden@*
Copyright @copyright{} 2024 Troy Figiel@*
Copyright @copyright{} 2024 Sharlatan Hellseher@*
Copyright @copyright{} 2024 45mg@*
+Copyright @copyright{} 2024 Ashvith Shetty@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -42590,6 +42591,37 @@ empty list means that no type is specified.
@end deftp
+@cindex corectrl-helper
+@subsubheading CoreCtrl Helper Service
+
+The @code{(gnu services admin)} module provides a DBus service for
+interacting with system hardware resources, such as CPU and GPU,
+enabling advanced control and management through the CoreCtrl application.
+
+@defvar corectrl-helper-service-type
+The service type for @command{corectrl}, which provides a helper service.
+
+@lisp
+(service corectrl-helper-service-type)
+@end lisp
+@end defvar
+
+
+@deftp {Data Type} corectrl-helper-configuration
+This is the data type representing the configuration of corectrl-helper.
+
+@table @asis
+@item @code{corectrl} (default: @code{corectrl}) (type: package)
+
+The @command{corectrl} executable to use.
+@end table
+@end deftp
+
+For more details, please read the
+@uref{https://gitlab.com/corectrl/corectrl/-/wikis/Installation, Installation}
+and
+@uref{https://gitlab.com/corectrl/corectrl/-/wikis/Setup, Setup} wiki pages.
+
@c %end of fragment
@node Privileged Programs
diff --git a/gnu/services/admin.scm b/gnu/services/admin.scm
index 571af6a04e..42cefdf256 100644
--- a/gnu/services/admin.scm
+++ b/gnu/services/admin.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2024 Gabriel Wicki <gabriel@erlikon.ch>
;;; Copyright © 2024 Richard Sent <richard@freakingpenguin.com>
+;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -33,6 +34,7 @@ (define-module (gnu services admin)
#:use-module (gnu packages linux)
#:use-module (gnu services)
#:use-module (gnu services configuration)
+ #:use-module (gnu services dbus)
#:use-module (gnu services mcron)
#:use-module (gnu services shepherd)
#:use-module (gnu system accounts)
@@ -108,7 +110,11 @@ (define-module (gnu services admin)
resize-file-system-configuration-cloud-utils
resize-file-system-configuration-e2fsprogs
resize-file-system-configuration-btrfs-progs
- resize-file-system-configuration-bcachefs-tools))
+ resize-file-system-configuration-bcachefs-tools
+
+ corectrl-helper-service-type
+ corectrl-helper-configuration
+ corectrl-helper-configuration?))
;;; Commentary:
;;;
@@ -679,4 +685,23 @@ (define resize-file-system-service-type
(service-extension shepherd-root-service-type
(compose list resize-file-system-shepherd-service))))))
+;;;
+;;; CoreCtrl helper service.
+;;;
+
+(define-configuration corectrl-helper-configuration
+ (corectrl (file-like corectrl) "The corectrl package"))
+
+(define (corectrl-helper-dbus-service config)
+ (list (corectrl-helper-configuration-corectrl config)))
+
+(define corectrl-helper-service-type
+ (service-type (name 'corectrl-helper)
+ (extensions (list (service-extension dbus-root-service-type
+ corectrl-helper-dbus-service)
+ (service-extension polkit-service-type
+ corectrl-helper-dbus-service)))
+ (default-value (corectrl-helper-configuration))
+ (description "Run corectrl-helper, an essential service for the corectrl application.")))
+
;;; admin.scm ends here
--
2.46.0
A
A
Ashvith Shetty wrote on 3 Jan 22:58 +0100
Re: [PATCH v2 0/3] Add corectrl and corectrl-helper-service-type
(address . 75159@debbugs.gnu.org)(address . zhengjunjie@iscas.ac.cn)
CA+n6Bx9mFZyzB+-mfQE5vKB-vPyVSDh9wiMgH15M3VUgNzzxYw@mail.gmail.com
With respect to the earlier patches, I also feel the need to mention that
the test makes use of a randomly generated seed. Would that be an issue?
Attachment: file
Z
Z
Zheng Junjie wrote on 15 Jan 17:52 +0100
Re: [bug#75159] [PATCH v2 3/3] services: Add corectrl-helper-service-type.
(name . Ashvith Shetty)(address . ashvithshetty10@gmail.com)(address . 75159@debbugs.gnu.org)
87ikqg2f5h.fsf@iscas.ac.cn
Ashvith Shetty <ashvithshetty10@gmail.com> writes:

Toggle quote (119 lines)
> From: Ashvith Shetty <ashvith@noreply.codeberg.org>
>
> * gnu/services/admin.scm: New file.
> (corectrl-helper-service-type): new variable.
> * gnu/local.mk: Add them.
> * doc/guix.texi (Miscellaneous Services): Document it.
> ---
> doc/guix.texi | 32 ++++++++++++++++++++++++++++++++
> gnu/services/admin.scm | 27 ++++++++++++++++++++++++++-
> 2 files changed, 58 insertions(+), 1 deletion(-)
>
> diff --git a/doc/guix.texi b/doc/guix.texi
> index 924f13f0f6..9330525c61 100644
> --- a/doc/guix.texi
> +++ b/doc/guix.texi
> @@ -135,6 +135,7 @@ Copyright @copyright{} 2024 Nigko Yerden@*
> Copyright @copyright{} 2024 Troy Figiel@*
> Copyright @copyright{} 2024 Sharlatan Hellseher@*
> Copyright @copyright{} 2024 45mg@*
> +Copyright @copyright{} 2024 Ashvith Shetty@*
>
> Permission is granted to copy, distribute and/or modify this document
> under the terms of the GNU Free Documentation License, Version 1.3 or
> @@ -42590,6 +42591,37 @@ empty list means that no type is specified.
>
> @end deftp
>
> +@cindex corectrl-helper
> +@subsubheading CoreCtrl Helper Service
> +
> +The @code{(gnu services admin)} module provides a DBus service for
> +interacting with system hardware resources, such as CPU and GPU,
> +enabling advanced control and management through the CoreCtrl application.
> +
> +@defvar corectrl-helper-service-type
> +The service type for @command{corectrl}, which provides a helper service.
> +
> +@lisp
> +(service corectrl-helper-service-type)
> +@end lisp
> +@end defvar
> +
> +
> +@deftp {Data Type} corectrl-helper-configuration
> +This is the data type representing the configuration of corectrl-helper.
> +
> +@table @asis
> +@item @code{corectrl} (default: @code{corectrl}) (type: package)
> +
> +The @command{corectrl} executable to use.
> +@end table
> +@end deftp
> +
> +For more details, please read the
> +@uref{https://gitlab.com/corectrl/corectrl/-/wikis/Installation, Installation}
> +and
> +@uref{https://gitlab.com/corectrl/corectrl/-/wikis/Setup, Setup} wiki pages.
> +
> @c %end of fragment
>
> @node Privileged Programs
> diff --git a/gnu/services/admin.scm b/gnu/services/admin.scm
> index 571af6a04e..42cefdf256 100644
> --- a/gnu/services/admin.scm
> +++ b/gnu/services/admin.scm
> @@ -5,6 +5,7 @@
> ;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
> ;;; Copyright © 2024 Gabriel Wicki <gabriel@erlikon.ch>
> ;;; Copyright © 2024 Richard Sent <richard@freakingpenguin.com>
> +;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10@gmail.com>
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> @@ -33,6 +34,7 @@ (define-module (gnu services admin)
> #:use-module (gnu packages linux)
> #:use-module (gnu services)
> #:use-module (gnu services configuration)
> + #:use-module (gnu services dbus)
> #:use-module (gnu services mcron)
> #:use-module (gnu services shepherd)
> #:use-module (gnu system accounts)
> @@ -108,7 +110,11 @@ (define-module (gnu services admin)
> resize-file-system-configuration-cloud-utils
> resize-file-system-configuration-e2fsprogs
> resize-file-system-configuration-btrfs-progs
> - resize-file-system-configuration-bcachefs-tools))
> + resize-file-system-configuration-bcachefs-tools
> +
> + corectrl-helper-service-type
> + corectrl-helper-configuration
> + corectrl-helper-configuration?))
>
> ;;; Commentary:
> ;;;
> @@ -679,4 +685,23 @@ (define resize-file-system-service-type
> (service-extension shepherd-root-service-type
> (compose list resize-file-system-shepherd-service))))))
>
> +;;;
> +;;; CoreCtrl helper service.
> +;;;
> +
> +(define-configuration corectrl-helper-configuration
> + (corectrl (file-like corectrl) "The corectrl package"))
> +
> +(define (corectrl-helper-dbus-service config)
> + (list (corectrl-helper-configuration-corectrl config)))
> +
> +(define corectrl-helper-service-type
> + (service-type (name 'corectrl-helper)
> + (extensions (list (service-extension dbus-root-service-type
> + corectrl-helper-dbus-service)
> + (service-extension polkit-service-type
> + corectrl-helper-dbus-service)))
> + (default-value (corectrl-helper-configuration))
> + (description "Run corectrl-helper, an essential service for the corectrl application.")))
> +
> ;;; admin.scm ends here

I think it's better this way, I am not good at how to write the document
and description, may you modify it?
From 7ce5d94bf29d5877449345651ff7fcff921778cd Mon Sep 17 00:00:00 2001
Message-ID: <7ce5d94bf29d5877449345651ff7fcff921778cd.1736958803.git.zhengjunjie@iscas.ac.cn>
From: Ashvith Shetty <ashvith@noreply.codeberg.org>
Date: Wed, 15 Jan 2025 23:08:48 +0800
Subject: [PATCH] gnu: services: Add corectrl-service-type.

* gnu/services/admin.scm: (corectrl-service-type): new variable.
* doc/guix.texi (Miscellaneous Services): Document it.

Change-Id: If7df1e67b227b86bcf827be28c35181128579589
---
doc/guix.texi | 27 +++++++++++++++++++++
gnu/local.mk | 1 +
gnu/services/corectrl.scm | 51 +++++++++++++++++++++++++++++++++++++++
3 files changed, 79 insertions(+)
create mode 100644 gnu/services/corectrl.scm

Toggle diff (120 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index 3cf1fedc301..a6d1256361f 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -136,6 +136,7 @@
Copyright @copyright{} 2024 Sharlatan Hellseher@*
Copyright @copyright{} 2024 45mg@*
Copyright @copyright{} 2025 Sören Tempel@*
+Copyright @copyright{} 2024 Ashvith Shetty@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -42730,6 +42731,32 @@ Miscellaneous Services
@end deftp
+@cindex corectrl
+@subsubheading CoreCtrl Service
+
+The @code{(gnu services corectrl)} module provides a DBus service for
+interacting with system hardware resources, such as CPU and GPU,
+enabling advanced control and management through the CoreCtrl application.
+
+@defvar corectrl-service-type
+The service type for @command{corectrl}, which provides a service.
+
+@lisp
+(service corectrl-service-type)
+@end lisp
+@end defvar
+
+
+@deftp {Data Type} corectrl-configuration
+This is the data type representing the configuration of corectrl.
+
+@table @asis
+@item @code{package} (default: @code{corectrl}) (type: file-like)
+
+The @command{corectrl} executable to use.
+@end table
+@end deftp
+
@c %end of fragment
@node Privileged Programs
diff --git a/gnu/local.mk b/gnu/local.mk
index e0faa1f9fc2..9c41d90ec0e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -726,6 +726,7 @@ GNU_SYSTEM_MODULES = \
%D%/services/backup.scm \
%D%/services/certbot.scm \
%D%/services/cgit.scm \
+ %D%/services/corectrl.scm \
%D%/services/ci.scm \
%D%/services/configuration.scm \
%D%/services/containers.scm \
diff --git a/gnu/services/corectrl.scm b/gnu/services/corectrl.scm
new file mode 100644
index 00000000000..14d42cd7206
--- /dev/null
+++ b/gnu/services/corectrl.scm
@@ -0,0 +1,51 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu services corectrl)
+ #:use-module (gnu packages admin)
+ #:use-module (gnu services)
+ #:use-module (gnu services configuration)
+ #:use-module (gnu services dbus)
+ #:use-module (guix gexp)
+ #:export (corectrl-service-type
+ corectrl-configuration
+ corectrl-configuration?
+ corectrl-configuration-package))
+
+;;;
+;;; CoreCtrl service.
+;;;
+
+(define-configuration/no-serialization corectrl-configuration
+ (package (file-like corectrl) "The corectrl package"))
+
+(define corectrl-service-type
+ (service-type
+ (name 'corectrl)
+ (extensions
+ (list (service-extension profile-service-type
+ (compose list corectrl-configuration-package))
+ (service-extension dbus-root-service-type
+ (compose list corectrl-configuration-package))
+ (service-extension polkit-service-type
+ (compose list corectrl-configuration-package))))
+ (default-value (corectrl-configuration))
+ (description "Run corectrl-helper, an essential service for the corectrl
+application.")))
+
+;;; corectrl.scm ends here

base-commit: b696658ee8e0655b17f5d26e024956b5148e36d6
prerequisite-patch-id: 09f39e5f8e208bc1f1f09dfb62f0bdf99415e0da
prerequisite-patch-id: 6ca76593d42480b0b7166923064adc0dd15ba822
--
2.47.1
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEfr6klGDOXiwIdX/bO1qpk+Gi3/AFAmeH58oACgkQO1qpk+Gi
3/Doag/+JL+B836pbmFfXUYHrOiPDc2H4T1yaXEyEnZK/KCRPNkdXgPEJYMQSoYK
6JpgA+CDLrSkt/Ur6Fan300AfN0F6ZR4FDjeSiQgBLI+QYmA0vZ0LBTZCAVl2ypd
03KzYeRBGKzgVlNvwoL3lU7MmpHeTRkHusOVoUJ21VFI8p+DSAoolt1XKWcYiJ0j
TSQ5gSlAu2rpvi1k4P/olbkVyeHKkKmnQvLyTfQPkI+oFZgK1oe6GU89e6XIxIhZ
8K4btT6YayUmLHguNsU+f6aKgjSKTMTJzTZMYcM79HK+/PWSfOukVY6CG21HkiwG
+f5N5J0aOnO5bSEYjnkOEhiN9Q9EX6sd7cihx0739nyBC27YvGnrOXKhetI1dFSo
vG5WijGj+Y3Nc+MTjoEWLvYOXkqkUTjCwDnz3KU2iVxKla/UHhHjGv/R85XEAzVu
fRPyymYAGwRm3nmJpbqjwtlb/8f3DPJYv4lbrhfeJMp6xi9SuF68XphV9qxzZmUX
SmGjsHGVw7xcnsqVPcZgJZiW3J8x6yN751ONG9+73qCk2H2s4KwS/c/6kjAw/No6
2WuM8/6WmYe9/eCyuN58MeuonPG5MAKmB5qoQGP2vvKngg4IrFBNfxo39xxPDzb+
XM9NSOhZfseIhUGQ+RraIHaTxeZC10iz7eICja6eBuceCeAsOgU=
=g6Jd
-----END PGP SIGNATURE-----

?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 75159@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 75159
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch