all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Raghav Gururajan <raghavgururajan@disroot.org>
To: Pierre Neidhardt <mail@ambrevar.xyz>
Cc: 41025@debbugs.gnu.org
Subject: bug#41025: blueman does not start
Date: Mon, 11 May 2020 06:05:10 -0400	[thread overview]
Message-ID: <1323ea28-3411-419c-1b67-2b73d6444c2c@disroot.org> (raw)
In-Reply-To: <878si0cf6t.fsf@ambrevar.xyz>


[-- Attachment #1.1.1: Type: text/plain, Size: 698 bytes --]

Hi Pierre!

> Sorry to disappoint :p  Sadly this patch does not work yet ;)
> Stay put, almost there! :)

No worries! I have attached updated patch.

No all it needs is "dbus-launch" and "Blueman.Mechanism.service". The
former should be provided by (dbus-service). For the latter, the service
should be run at system-level. So we may need to create a service for
that by extending dbus-root-service. Also, I think it would be good to
add this service as an option to bluetooth-service-type. Like an option
"blueman? #t|#f". When its true, the bluetooth service adds and enables
the blueman-dbus-service. I do not know how to work with services. Help?

Thank you!

Regards,
RG.


[-- Attachment #1.1.2: 0001-gnu-blueman-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 8095 bytes --]

From fd54245dbe1c6d387bd71f53f3cc7b3a853916b7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 11 May 2020 05:54:40 -0400
Subject: [PATCH] gnu: blueman: Update package definition.

* gnu/packages/networking.scm (blueman): Fixes.
[version]: Upgrade to 2.1.3.
[source]<origin>[method]: Change from url-fetch to git-fetch.
[arguments]<#:phases>['setenv]: New phase.
['patch-python-references]: New phase.
['patch-external-programs]: New phase.
['patch-pulseaudio-libraries]: New phase.
['wrap-blueman-progs]: New phase.
[native-inputs]: Add autoconf, autogen, automake and gobject-introspection.
[inputs]: Add iptables and ppp. Remove adwaita-icon-theme.
---
 gnu/packages/networking.scm | 110 +++++++++++++++++++++++++++++++-----
 1 file changed, 95 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 76b0fc1559..5ca1e97ce3 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -72,6 +72,7 @@
   #:use-module (gnu packages adns)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages autogen)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bison)
@@ -113,6 +114,7 @@
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages readline)
+  #:use-module (gnu packages samba)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages ssh)
@@ -127,50 +129,128 @@
 (define-public blueman
   (package
     (name "blueman")
-    (version "2.1.2")
+    (version "2.1.3")
     (source
      (origin
-       (method url-fetch)
+       (method git-fetch)
        (uri
-        (string-append "https://github.com/blueman-project/blueman/releases/"
-                       "download/2.1.2/blueman-2.1.2.tar.gz"))
+        (git-reference
+         (url "https://github.com/blueman-project/blueman.git")
+         (commit version)))
+       (file-name (git-file-name name version))
        (sha256
-        (base32 "0wamxdw36c8i3aqwmja5q70fajqwd7inpkvlpkldd54wdxbcd38d"))))
+        (base32 "1vb0zfns4q5d65hnja4c0k11lr38xxhdnkpkzfs6xca3mm6jyi1d"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      `(#:configure-flags
        (list
         "--enable-polkit"
-        "--disable-appindicator"         ; Deprecated
-        "--with-systemdsystemunitdir=no" ; Not required
-        "--with-systemduserunitdir=no")))  ; Not required
+        "--disable-appindicator"         ; Not available
+        "--without-systemdsystemunitdir" ; Not required
+        "--without-systemduserunitdir")  ; Not required
+       #:phases
+       (modify-phases %standard-phases
+         ;; Prevent the autogen.sh script to carry out the configure
+         ;; script, which has not yet been patched to replace /bin/sh.
+         (add-before 'bootstrap 'setenv
+           (lambda _
+             (setenv "NOCONFIGURE" "TRUE")
+             #t))
+         ;; Python references are not being patched in patch-phase of build,
+         ;; despite using python-wrapper as input. So we patch them manually.
+         (add-after 'unpack 'patch-python-references
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "apps"
+               (substitute*
+                   '("blueman-adapters.in" "blueman-applet.in"
+                     "blueman-assistant.in" "blueman-manager.in"
+                     "blueman-mechanism.in" "blueman-report.in"
+                     "blueman-rfcomm-watcher.in" "blueman-sendto.in"
+                     "blueman-services.in" "blueman-tray.in")
+                 (("@PYTHON@") (string-append (assoc-ref inputs "python")
+                                              "/bin/python"
+                                              ,(version-major+minor
+                                                (package-version python))))))
+             #t))
+         ;; Fix loading of external programs.
+         (add-after 'unpack 'patch-external-programs
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute*
+                 '("apps/blueman-report.in" "blueman/main/NetConf.py"
+                   "blueman/main/PPPConnection.py")
+               (("/usr/sbin/bluetoothd")
+                (string-append (assoc-ref inputs "bluez")
+                               "/libexec/bluetooth/bluetoothd"))
+               (("/sbin/iptables")
+                (string-append (assoc-ref inputs "iptables")
+                               "/sbin/iptables"))
+               (("/usr/sbin/pppd")
+                (string-append (assoc-ref inputs "ppp")
+                               "/sbin/pppd")))
+             #t))
+         ;; Fix loading of pulseaudio libraries.
+         (add-after 'unpack 'patch-pulseaudio-libraries
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let*
+                 ((pulseaudio (assoc-ref inputs "pulseaudio"))
+                  (pulse (string-append pulseaudio "/lib/libpulse.so.0"))
+                  (pulse-glib (string-append pulseaudio
+                                             "/lib/libpulse-mainloop-glib.so.0")))
+               (with-directory-excursion "blueman/main"
+                 (substitute* "PulseAudioUtils.py"
+                   (("libpulse.so.0") pulse)
+                   (("libpulse-mainloop-glib.so.0") pulse-glib)))
+               #t)))
+         ;; Fix running of blueman programs.
+         (add-after 'glib-or-gtk-wrap 'wrap-blueman-progs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let*
+                 ((out (assoc-ref outputs "out"))
+                  (bin (string-append out "/bin/blueman-"))
+                  (lib (string-append out "/lib/python"
+                                      ,(version-major+minor
+                                        (package-version python))
+                                      "/site-packages")))
+               (for-each
+                (lambda (program)
+                  (wrap-program (string-append bin program)
+                    `("PYTHONPATH" = (,(getenv "PYTHONPATH"),lib))
+                    `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
+                '("adapters" "applet" "assistant" "manager" "report"
+                  "sendto" "services" "tray"))
+               #t))))))
     (native-inputs
-     `(("cython" ,python-cython)
+     `(("autoconf" ,autoconf)
+       ("autogen" ,autogen)
+       ("automake" ,automake)
+       ("cython" ,python-cython)
        ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
        ("gtk+:bin" ,gtk+ "bin")
        ("intltool" ,intltool)
        ("libtool" ,libtool)
        ("pkg-config" ,pkg-config)))
     (inputs
-     `(("adwaita-icon-theme" ,adwaita-icon-theme)
-       ("bluez" ,bluez)
+     `(("bluez" ,bluez)
        ("dbus" ,dbus)
-       ("gdkpixbuf" ,gdk-pixbuf)
+       ("gdkpixbuf" ,gdk-pixbuf+svg)
        ("glib" ,glib)
        ("gtk+" ,gtk+)
        ("iproute2" ,iproute)
+       ("iptables" ,iptables)
        ("net-tools" ,net-tools)
        ("pango" ,pango)
        ("polkit" ,polkit)
+       ("ppp" ,ppp)
        ("pulseaudio" ,pulseaudio)
        ("pycairo" ,python-pycairo)
        ("pygobject" ,python-pygobject)
        ("python" ,python-wrapper)
-       ("libnm" ,libnma)))
+       ("libnm" ,network-manager)))
     (synopsis "GTK+ Bluetooth manager")
     (description "Blueman is a Bluetooth management utility using the Bluez
-D-Bus backend.  It is designed to be easy to use for most common Bluetooth
-tasks.")
+    D-Bus backend.  It is designed to be easy to use for most common Bluetooth
+    tasks.")
     (home-page "https://github.com/blueman-project/blueman")
     (license license:gpl3+)))
 
-- 
2.26.2


[-- Attachment #1.1.3: 0xAE6EF3046D6F7B57.asc --]
[-- Type: application/pgp-keys, Size: 2877 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

  reply	other threads:[~2020-05-11 10:07 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-02 13:39 bug#41025: blueman does not start Pierre Neidhardt
2020-05-02 13:56 ` Raghav Gururajan
2020-05-02 18:45   ` Pierre Neidhardt
2020-05-03 15:24     ` Raghav Gururajan
2020-05-03 16:13       ` Pierre Neidhardt
2020-05-04  3:18         ` Raghav Gururajan
2020-05-04  8:47           ` Pierre Neidhardt
2020-05-04  9:11             ` Pierre Neidhardt
2020-05-09  6:29             ` Raghav Gururajan
2020-05-09  9:12               ` Pierre Neidhardt
2020-05-09 21:49                 ` Raghav Gururajan
2020-05-09 22:03                   ` Raghav Gururajan
2020-05-10  9:27                     ` Pierre Neidhardt
2020-05-11 10:05                       ` Raghav Gururajan [this message]
2020-05-14 17:16                         ` Pierre Neidhardt
2020-05-14 23:37                           ` Raghav Gururajan
2020-05-15  0:56                             ` Raghav Gururajan
2020-05-15  9:52                               ` Pierre Neidhardt
2020-05-10 21:29                     ` Marius Bakke
2020-05-11 10:07                       ` Raghav Gururajan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1323ea28-3411-419c-1b67-2b73d6444c2c@disroot.org \
    --to=raghavgururajan@disroot.org \
    --cc=41025@debbugs.gnu.org \
    --cc=mail@ambrevar.xyz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.