Subject: bug#59683: closed (Re: bug#59683: [PATCH] gnu: Add bolt)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 16 Jan 2023 13:38:02 +0000

Your bug report

#59683: [PATCH] gnu: Add bolt

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
59683: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=59683
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#59683: [PATCH] gnu: Add bolt
From: Maxim Cournoyer <[email-masked]>
To: Ludovic Courtès <[email-masked]>
Cc: [email-masked], florhizome <[email-masked]>, phodina <[email-masked]>
Date: Mon, 16 Jan 2023 08:36:51 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

Ludovic Courtès <[email-masked]> writes:

> Hi,
>
> phodina <[email-masked]> skribis:
>
>> I've already attempted to get bolt merged some time ago.
>>
>> See [https://issues.guix.gnu.org/49578](https://issues.guix.gnu.org/49578#11)----
>
> Oops, thanks for the heads-up!  I’ve now appplied it.
>
> florhizome, please let us know if you can think of changes to make?

Seems the remaining discussion is about a bolt service rather than
adding a bolt package, hence I'm closing this.

-- 
Thanks,
Maxim

Subject: [PATCH] gnu: Add bolt
From: [email-masked]
To: [email-masked]
Cc: florhizome <[email-masked]>
Date: Tue, 29 Nov 2022 15:32:00 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

From: florhizome <[email-masked]>

Adds the bolt package with a system daemon (boltd) working over dbus and a cli tool (boltctl) to enable controlling the permissions on thunderbolt ports.
the patch is from the nix package.

* gnu/packages/patches/bolt-skip-mkdir.patch: new file
* gnu/packages/local.mk: Add patch for bolt
* gnu/packages/freedesktop.scm (bolt): new variable 
---
 gnu/local.mk                               |  1 +
 gnu/packages/freedesktop.scm               | 45 ++++++++++++++++++++++
 gnu/packages/patches/bolt-skip-mkdir.patch | 12 ++++++
 3 files changed, 58 insertions(+)
 create mode 100644 gnu/packages/patches/bolt-skip-mkdir.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 7278c50e4f..937c2f0c28 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -942,6 +942,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/binutils-CVE-2021-45078.patch		\
   %D%/packages/patches/bloomberg-bde-cmake-module-path.patch	\
   %D%/packages/patches/bloomberg-bde-tools-fix-install-path.patch	\
+  %D%/packages/patches/bolt-skip-mkdir.patch			\
   %D%/packages/patches/bpftrace-disable-bfd-disasm.patch	\
   %D%/packages/patches/breezy-fix-gio.patch			\
   %D%/packages/patches/byobu-writable-status.patch		\
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index bd47dfc45b..57f7c4b60f 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -123,6 +123,7 @@ (define-module (gnu packages freedesktop)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages valgrind)
+  #:use-module (gnu packages version-control)
   #:use-module (gnu packages video)
   #:use-module (gnu packages w3m)
   #:use-module (gnu packages web)
@@ -886,6 +887,50 @@ (define-public basu
 This library provides just sd-bus (and the busctl utility).")
     (license license:lgpl2.1+)))
 
+
+(define-public bolt
+  (package
+    (name "bolt")
+    (version "0.9.4")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://gitlab.freedesktop.org/bolt/bolt")
+         (commit version)))
+       (sha256
+        (base32 "0w66shv7ra8yrhr0byifahbq25wi8qfsm3rifz0j31l7cmnys3js"))
+       (patches
+        (search-patches "bolt-skip-mkdir.patch"))))
+    (build-system meson-build-system)
+    (arguments
+     (list #:configure-flags #~(list "-Dsystemd=false")
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-before 'configure 'set-useful-envvars
+                 (lambda _
+                   (setenv "PKEXEC_UID" "-1")
+                   (setenv "PKG_CONFIG_UDEV_UDEVDIR"
+                           (string-append #$output "/lib/udev")))))))
+    (native-inputs
+     (list asciidoc
+           dbus                         ;for tests
+           git-minimal
+           (list glib "bin")
+           gobject-introspection
+           pkg-config
+           python
+           umockdev))
+    (inputs
+     (list eudev glib polkit))
+    (home-page "https://gitlab.freedesktop.org/bolt/bolt")
+    (synopsis "Manage security levels for Thunderbolt™ on GNU/Linux®")
+    (description "This package includes the boltd daemon and the boltctl
+ commandline interface to manage security levels of thunderbolt and usb4
+ devices.")
+    (license license:expat)))
+
 (define-public localed
   ;; XXX: This package is extracted from systemd but we retain so little of it
   ;; that it would make more sense to maintain a fork of the bits we need.
diff --git a/gnu/packages/patches/bolt-skip-mkdir.patch b/gnu/packages/patches/bolt-skip-mkdir.patch
new file mode 100644
index 0000000000..0853bcea91
--- /dev/null
+++ b/gnu/packages/patches/bolt-skip-mkdir.patch
@@ -0,0 +1,12 @@
+diff --git a/scripts/meson-install.sh b/scripts/meson-install.sh
+index 859ae81..05a1c58 100644
+--- a/scripts/meson-install.sh
++++ b/scripts/meson-install.sh
+@@ -7,5 +7,5 @@ fi
+ 
+ BOLT_DBDIR=$1
+ 
+-echo "Creating database dir: ${BOLT_DBDIR}"
+-mkdir -p "${DESTDIR}/${BOLT_DBDIR}"
++# echo "Creating database dir: ${BOLT_DBDIR}"
++# mkdir -p "${DESTDIR}/${BOLT_DBDIR}"
-- 
2.38.1