Package: guix-patches;
Reported by: Ashvith Shetty <ashvithshetty10 <at> gmail.com>
Date: Sat, 28 Dec 2024 10:22:02 UTC
Severity: normal
Tags: patch
Done: Ashvith Shetty <ashvithshetty0010 <at> zohomail.in>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 75159 in the body.
You can then email your comments to 75159 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Sat, 28 Dec 2024 10:22:02 GMT) Full text and rfc822 format available.Ashvith Shetty <ashvithshetty10 <at> gmail.com>
:guix-patches <at> gnu.org
.
(Sat, 28 Dec 2024 10:22:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Ashvith Shetty <ashvithshetty10 <at> gmail.com> To: guix-patches <at> gnu.org Cc: Ashvith Shetty <ashvith <at> noreply.codeberg.org> Subject: [PATCH v0 0/4] Add corectrl and corectrl-helper-service-type Date: Sat, 28 Dec 2024 15:48:08 +0530
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
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Sat, 28 Dec 2024 10:46:01 GMT) Full text and rfc822 format available.Message #8 received at 75159 <at> debbugs.gnu.org (full text, mbox):
From: Ashvith Shetty <ashvithshetty10 <at> gmail.com> To: 75159 <at> debbugs.gnu.org Cc: Rutherther <rutherther <at> ditigal.xyz> Subject: [PATCH v0 1/4] guix: qt: add inputs and outputs build variables in qt-build Date: Sat, 28 Dec 2024 16:14:03 +0530
From: Rutherther <rutherther <at> 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(-) 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
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Sat, 28 Dec 2024 10:47:01 GMT) Full text and rfc822 format available.Message #11 received at 75159 <at> debbugs.gnu.org (full text, mbox):
From: Ashvith Shetty <ashvithshetty10 <at> gmail.com> To: 75159 <at> debbugs.gnu.org Cc: Ashvith Shetty <ashvith <at> noreply.codeberg.org> Subject: [PATCH v0 2/4] gnu: Add trompeloeil. Date: Sat, 28 Dec 2024 16:14:04 +0530
* 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)) + (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
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Sat, 28 Dec 2024 10:47:02 GMT) Full text and rfc822 format available.Message #14 received at 75159 <at> debbugs.gnu.org (full text, mbox):
From: Ashvith Shetty <ashvithshetty10 <at> gmail.com> To: 75159 <at> debbugs.gnu.org Cc: Ashvith Shetty <ashvith <at> noreply.codeberg.org> Subject: [PATCH v0 3/4] gnu: Add corectrl. Date: Sat, 28 Dec 2024 16:14:05 +0530
* 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 <at> gnu.org> ;;; Copyright © 2022 Brendan Tildesley <mail <at> brendan.scot> ;;; Copyright © 2022 Marius Bakke <marius <at> gnu.org> +;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10 <at> 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
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Sat, 28 Dec 2024 10:47:02 GMT) Full text and rfc822 format available.Message #17 received at 75159 <at> debbugs.gnu.org (full text, mbox):
From: Ashvith Shetty <ashvithshetty10 <at> gmail.com> To: 75159 <at> debbugs.gnu.org Cc: Ashvith Shetty <ashvith <at> noreply.codeberg.org> Subject: [PATCH v0 4/4] services: Add corectrl-helper-service-type. Date: Sat, 28 Dec 2024 16:14:06 +0530
* 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 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 <at> 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
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Sat, 28 Dec 2024 12:51:02 GMT) Full text and rfc822 format available.Message #20 received at 75159 <at> debbugs.gnu.org (full text, mbox):
From: Zheng Junjie <zhengjunjie <at> iscas.ac.cn> To: Ashvith Shetty <ashvithshetty10 <at> gmail.com> Cc: Rutherther <rutherther <at> ditigal.xyz>, 75159 <at> debbugs.gnu.org Subject: Re: [bug#75159] [PATCH v0 1/4] guix: qt: add inputs and outputs build variables in qt-build Date: Sat, 28 Dec 2024 20:49:40 +0800
[Message part 1 (text/plain, inline)]
Ashvith Shetty <ashvithshetty10 <at> gmail.com> writes: > From: Rutherther <rutherther <at> 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. see https://mail.gnu.org/archive/html/guix-devel/2024-12/msg00124.html Things like %outputs are outdated, please use gexp related > > * 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)))
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Sat, 28 Dec 2024 15:32:01 GMT) Full text and rfc822 format available.Message #23 received at 75159 <at> debbugs.gnu.org (full text, mbox):
From: Ashvith Shetty <ashvithshetty10 <at> gmail.com> To: 75159 <at> debbugs.gnu.org Cc: Ashvith Shetty <ashvith <at> noreply.codeberg.org> Subject: [PATCH v1 0/5] Add corectrl and corectrl-helper-service-type Date: Sat, 28 Dec 2024 21:00:02 +0530
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
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Sat, 28 Dec 2024 15:32:02 GMT) Full text and rfc822 format available.Message #26 received at 75159 <at> debbugs.gnu.org (full text, mbox):
From: Ashvith Shetty <ashvithshetty10 <at> gmail.com> To: 75159 <at> debbugs.gnu.org Cc: Rutherther <rutherther <at> ditigal.xyz> Subject: [PATCH v1 1/5] guix: qt: add inputs and outputs build variables in qt-build Date: Sat, 28 Dec 2024 21:00:03 +0530
From: Rutherther <rutherther <at> 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(-) 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
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Sat, 28 Dec 2024 15:33:01 GMT) Full text and rfc822 format available.Message #29 received at 75159 <at> debbugs.gnu.org (full text, mbox):
From: Ashvith Shetty <ashvithshetty10 <at> gmail.com> To: 75159 <at> debbugs.gnu.org Cc: Ashvith Shetty <ashvith <at> noreply.codeberg.org> Subject: [PATCH v1 2/5] gnu: Add trompeloeil. Date: Sat, 28 Dec 2024 21:00:04 +0530
* 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)) + (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
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Sat, 28 Dec 2024 15:33:02 GMT) Full text and rfc822 format available.Message #32 received at 75159 <at> debbugs.gnu.org (full text, mbox):
From: Ashvith Shetty <ashvithshetty10 <at> gmail.com> To: 75159 <at> debbugs.gnu.org Cc: Ashvith Shetty <ashvith <at> noreply.codeberg.org> Subject: [PATCH v1 3/5] gnu: Add corectrl. Date: Sat, 28 Dec 2024 21:00:05 +0530
* 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 <at> gnu.org> ;;; Copyright © 2022 Brendan Tildesley <mail <at> brendan.scot> ;;; Copyright © 2022 Marius Bakke <marius <at> gnu.org> +;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10 <at> 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
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Sat, 28 Dec 2024 15:33:03 GMT) Full text and rfc822 format available.Message #35 received at 75159 <at> debbugs.gnu.org (full text, mbox):
From: Ashvith Shetty <ashvithshetty10 <at> gmail.com> To: 75159 <at> debbugs.gnu.org Cc: Ashvith Shetty <ashvith <at> noreply.codeberg.org> Subject: [PATCH v1 4/5] services: Add corectrl-helper-service-type. Date: Sat, 28 Dec 2024 21:00:06 +0530
* 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 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 <at> 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
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Sat, 28 Dec 2024 15:34:01 GMT) Full text and rfc822 format available.Message #38 received at 75159 <at> debbugs.gnu.org (full text, mbox):
From: Ashvith Shetty <ashvithshetty10 <at> gmail.com> To: 75159 <at> debbugs.gnu.org Cc: Ashvith Shetty <ashvith <at> noreply.codeberg.org> Subject: [PATCH v1 5/5] guix: qt: Revert to gexp-based inputs and outputs Date: Sat, 28 Dec 2024 21:00:07 +0530
* 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(-) 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
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Mon, 30 Dec 2024 06:39:02 GMT) Full text and rfc822 format available.Message #41 received at 75159 <at> debbugs.gnu.org (full text, mbox):
From: Zheng Junjie <zhengjunjie <at> iscas.ac.cn> To: Ashvith Shetty <ashvithshetty10 <at> gmail.com> Cc: 75159 <at> debbugs.gnu.org Subject: Re: [bug#75159] [PATCH v1 2/5] gnu: Add trompeloeil. Date: Mon, 30 Dec 2024 14:38:13 +0800
[Message part 1 (text/plain, inline)]
Ashvith Shetty <ashvithshetty10 <at> gmail.com> writes: > * 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. > + (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") maybe "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")
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Mon, 30 Dec 2024 06:51:02 GMT) Full text and rfc822 format available.Message #44 received at 75159 <at> debbugs.gnu.org (full text, mbox):
From: Zheng Junjie <zhengjunjie <at> iscas.ac.cn> To: Ashvith Shetty <ashvithshetty10 <at> gmail.com> Cc: 75159 <at> debbugs.gnu.org Subject: Re: [bug#75159] [PATCH v1 3/5] gnu: Add corectrl. Date: Mon, 30 Dec 2024 14:50:00 +0800
[Message part 1 (text/plain, inline)]
Ashvith Shetty <ashvithshetty10 <at> gmail.com> writes: > * 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. > 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 <at> gnu.org> > ;;; Copyright © 2022 Brendan Tildesley <mail <at> brendan.scot> > ;;; Copyright © 2022 Marius Bakke <marius <at> gnu.org> > +;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10 <at> 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". > + (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. > + #: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") > + (native-inputs (list pkg-config gcc-13)) please add comments for why need gcc-13. > + (propagated-inputs (list mesa-utils vulkan-tools util-linux)) why propagated them? It's easy to conflict in profiles, maybe should use wrap-program. > + (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. > + 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))))
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Mon, 30 Dec 2024 07:01:02 GMT) Full text and rfc822 format available.Message #47 received at 75159 <at> debbugs.gnu.org (full text, mbox):
From: Zheng Junjie <zhengjunjie <at> iscas.ac.cn> To: Ashvith Shetty <ashvithshetty10 <at> gmail.com> Cc: 75159 <at> debbugs.gnu.org Subject: Re: [bug#75159] [PATCH v1 4/5] services: Add corectrl-helper-service-type. Date: Mon, 30 Dec 2024 15:00:35 +0800
[Message part 1 (text/plain, inline)]
Ashvith Shetty <ashvithshetty10 <at> gmail.com> writes: > * 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. > (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. > * 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 <at> 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. > + (default-value (corectrl-helper-configuration)) > + ;; TODO: Improve the description. > + (description "Run corectrl-helper, an essential service for the corectrl application.")))
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Mon, 30 Dec 2024 07:05:02 GMT) Full text and rfc822 format available.Message #50 received at 75159 <at> debbugs.gnu.org (full text, mbox):
From: Zheng Junjie <zhengjunjie <at> iscas.ac.cn> To: Ashvith Shetty <ashvithshetty10 <at> gmail.com> Cc: Rutherther <rutherther <at> ditigal.xyz>, 75159 <at> debbugs.gnu.org Subject: Re: [bug#75159] [PATCH v1 1/5] guix: qt: add inputs and outputs build variables in qt-build Date: Mon, 30 Dec 2024 15:03:47 +0800
[Message part 1 (text/plain, inline)]
Ashvith Shetty <ashvithshetty10 <at> gmail.com> writes: > From: Rutherther <rutherther <at> 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. > * 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)))
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Mon, 30 Dec 2024 07:50:01 GMT) Full text and rfc822 format available.Message #53 received at 75159 <at> debbugs.gnu.org (full text, mbox):
From: Zheng Junjie <zhengjunjie <at> iscas.ac.cn> To: Ashvith Shetty <ashvithshetty10 <at> gmail.com> Cc: 75159 <at> debbugs.gnu.org Subject: Re: [bug#75159] [PATCH v1 3/5] gnu: Add corectrl. Date: Mon, 30 Dec 2024 15:48:40 +0800
[Message part 1 (text/plain, inline)]
Ashvith Shetty <ashvithshetty10 <at> gmail.com> writes: > * gnu/packages/pciutils.scm (corectrl): New variable. [...] > +(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))
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Tue, 31 Dec 2024 18:12:02 GMT) Full text and rfc822 format available.Message #56 received at 75159 <at> debbugs.gnu.org (full text, mbox):
From: Ashvith Shetty <ashvithshetty10 <at> gmail.com> To: 75159 <at> debbugs.gnu.org Cc: Ashvith Shetty <ashvithshetty10 <at> gmail.com> Subject: [PATCH v2 0/3] Add corectrl and corectrl-helper-service-type Date: Tue, 31 Dec 2024 23:39:46 +0530
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
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Tue, 31 Dec 2024 18:13:01 GMT) Full text and rfc822 format available.Message #59 received at 75159 <at> debbugs.gnu.org (full text, mbox):
From: Ashvith Shetty <ashvithshetty10 <at> gmail.com> To: 75159 <at> debbugs.gnu.org Cc: Ashvith Shetty <ashvith <at> noreply.codeberg.org> Subject: [PATCH v2 1/3] gnu: Add trompeloeil. Date: Tue, 31 Dec 2024 23:39:47 +0530
From: Ashvith Shetty <ashvith <at> noreply.codeberg.org> * gnu/packages/check.scm (trompeloeil): New variable. Change-Id: I442cd0b5e84e8f9956b16b7d9235f67d9f5f693e --- gnu/packages/check.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) 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 <at> qq.com> ;;; Copyright © 2024 Navid Afkhami <navid.afkhami <at> mdc-berlin.de> ;;; Copyright © 2024 gemmaro <gemmaro.dev <at> gmail.com> +;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10 <at> 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
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Tue, 31 Dec 2024 18:13:02 GMT) Full text and rfc822 format available.Message #62 received at 75159 <at> debbugs.gnu.org (full text, mbox):
From: Ashvith Shetty <ashvithshetty10 <at> gmail.com> To: 75159 <at> debbugs.gnu.org Cc: Ashvith Shetty <ashvith <at> noreply.codeberg.org> Subject: [PATCH v2 2/3] gnu: Add corectrl. Date: Tue, 31 Dec 2024 23:39:48 +0530
From: Ashvith Shetty <ashvith <at> 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 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 <at> fabionatali.com> # Copyright © 2024 Noé Lopez <noelopez <at> free.fr> # Copyright © 2024 Runciter <runciter <at> whispers-vpn.org> +# Copyright © 2024 Ashvith Shetty <ashvithshetty10 <at> 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 <at> posteo.net> ;;; Copyright © 2024 nathan <nathan_mail <at> nborghese.com> ;;; Copyright © 2024 Nikita Domnitskii <nikita <at> domnitskii.me> +;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10 <at> 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
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Tue, 31 Dec 2024 18:13:02 GMT) Full text and rfc822 format available.Message #65 received at 75159 <at> debbugs.gnu.org (full text, mbox):
From: Ashvith Shetty <ashvithshetty10 <at> gmail.com> To: 75159 <at> debbugs.gnu.org Cc: Ashvith Shetty <ashvith <at> noreply.codeberg.org> Subject: [PATCH v2 3/3] services: Add corectrl-helper-service-type. Date: Tue, 31 Dec 2024 23:39:49 +0530
From: Ashvith Shetty <ashvith <at> 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 <at> autistici.org> ;;; Copyright © 2024 Gabriel Wicki <gabriel <at> erlikon.ch> ;;; Copyright © 2024 Richard Sent <richard <at> freakingpenguin.com> +;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10 <at> 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
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Fri, 03 Jan 2025 21:59:02 GMT) Full text and rfc822 format available.Message #68 received at 75159 <at> debbugs.gnu.org (full text, mbox):
From: Ashvith Shetty <ashvithshetty10 <at> gmail.com> To: 75159 <at> debbugs.gnu.org Cc: zhengjunjie <at> iscas.ac.cn Subject: Re: [PATCH v2 0/3] Add corectrl and corectrl-helper-service-type Date: Fri, 3 Jan 2025 21:58:38 +0000
[Message part 1 (text/plain, inline)]
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?
[Message part 2 (text/html, inline)]
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Wed, 15 Jan 2025 16:53:03 GMT) Full text and rfc822 format available.Message #71 received at 75159 <at> debbugs.gnu.org (full text, mbox):
From: Zheng Junjie <zhengjunjie <at> iscas.ac.cn> To: Ashvith Shetty <ashvithshetty10 <at> gmail.com> Cc: 75159 <at> debbugs.gnu.org Subject: Re: [bug#75159] [PATCH v2 3/3] services: Add corectrl-helper-service-type. Date: Thu, 16 Jan 2025 00:52:26 +0800
[Message part 1 (text/plain, inline)]
Ashvith Shetty <ashvithshetty10 <at> gmail.com> writes: > From: Ashvith Shetty <ashvith <at> 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 <at> autistici.org> > ;;; Copyright © 2024 Gabriel Wicki <gabriel <at> erlikon.ch> > ;;; Copyright © 2024 Richard Sent <richard <at> freakingpenguin.com> > +;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10 <at> 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?
[0001-gnu-services-Add-corectrl-service-type.patch (text/x-patch, inline)]
From 7ce5d94bf29d5877449345651ff7fcff921778cd Mon Sep 17 00:00:00 2001 Message-ID: <7ce5d94bf29d5877449345651ff7fcff921778cd.1736958803.git.zhengjunjie <at> iscas.ac.cn> From: Ashvith Shetty <ashvith <at> 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 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 <at> 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
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Fri, 21 Feb 2025 07:07:02 GMT) Full text and rfc822 format available.Message #74 received at 75159 <at> debbugs.gnu.org (full text, mbox):
From: Ashvith Shetty <ashvithshetty0010 <at> zohomail.in> To: "75159" <75159 <at> debbugs.gnu.org> Cc: Zheng Junjie <zhengjunjie <at> iscas.ac.cn> Subject: Re: [PATCH v0 0/4] Add corectrl and corectrl-helper-service-type Date: Fri, 21 Feb 2025 12:36:43 +0530
Hello, Since the patches have been merged, should we close this issue? Regards, Ashvith
Ashvith Shetty <ashvithshetty0010 <at> zohomail.in>
:Ashvith Shetty <ashvithshetty10 <at> gmail.com>
:Message #79 received at 75159-done <at> debbugs.gnu.org (full text, mbox):
From: Ashvith Shetty <ashvithshetty0010 <at> zohomail.in> To: "75159-done" <75159-done <at> debbugs.gnu.org> Subject: Re: [PATCH v0 0/4] Add corectrl and corectrl-helper-service-type Date: Mon, 03 Mar 2025 01:07:44 +0530
Closing this, as this has been merged.
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Sun, 02 Mar 2025 19:49:02 GMT) Full text and rfc822 format available.Message #82 received at 75159-done <at> debbugs.gnu.org (full text, mbox):
From: Ashvith Shetty <ashvithshetty0010 <at> zohomail.in> To: "75159-done" <75159-done <at> debbugs.gnu.org> Subject: Re: [PATCH v0 0/4] Add corectrl and corectrl-helper-service-type Date: Mon, 03 Mar 2025 01:17:58 +0530
For some reason, it still shows as open? Re-trying again.
guix-patches <at> gnu.org
:bug#75159
; Package guix-patches
.
(Tue, 04 Mar 2025 19:50:03 GMT) Full text and rfc822 format available.Message #85 received at 75159-done <at> debbugs.gnu.org (full text, mbox):
From: Ashvith Shetty <ashvithshetty0010 <at> zohomail.in> To: 75159-done <at> debbugs.gnu.org Cc: Ashvith Shetty <ashvithshetty0010 <at> zohomail.in>, Zheng Junjie <zhengjunjie <at> iscas.ac.cn> Subject: Re: [PATCH v0 0/4] Add corectrl and corectrl-helper-service-type Date: Mon, 03 Mar 2025 01:16:44 +0530
For some reason, it appears to be open? Re-trying again.
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Wed, 02 Apr 2025 11:24:27 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.