unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#41025: blueman does not start
@ 2020-05-02 13:39 Pierre Neidhardt
  2020-05-02 13:56 ` Raghav Gururajan
  0 siblings, 1 reply; 20+ messages in thread
From: Pierre Neidhardt @ 2020-05-02 13:39 UTC (permalink / raw)
  To: 41025; +Cc: Raghav Gururajan

[-- Attachment #1: Type: text/plain, Size: 1340 bytes --]

Hi!

It seems that the blueman package is missing a wrapper unless I'm
missing something:

--8<---------------cut here---------------start------------->8---
> blueman-tray 
Traceback (most recent call last):
  File "/gnu/store/yhbnsjay66w7kky1i7ldki2ljcc1ws9i-blueman-2.1.2/bin/.blueman-tray-real", line 13, in <module>
    from blueman.Functions import set_proc_title, create_parser, create_logger
ModuleNotFoundError: No module named 'blueman'

> blueman-applet 
Traceback (most recent call last):
  File "/gnu/store/yhbnsjay66w7kky1i7ldki2ljcc1ws9i-blueman-2.1.2/bin/.blueman-applet-real", line 15, in <module>
    from blueman.Functions import create_logger, create_parser, set_proc_title
ModuleNotFoundError: No module named 'blueman'

> blueman-assistant 
Traceback (most recent call last):
  File "/gnu/store/yhbnsjay66w7kky1i7ldki2ljcc1ws9i-blueman-2.1.2/bin/.blueman-assistant-real", line 9, in <module>
    import gi
ModuleNotFoundError: No module named 'gi'

> blueman-services 
Traceback (most recent call last):
  File "/gnu/store/yhbnsjay66w7kky1i7ldki2ljcc1ws9i-blueman-2.1.2/bin/.blueman-services-real", line 8, in <module>
    import gi
ModuleNotFoundError: No module named 'gi'
--8<---------------cut here---------------end--------------->8---

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#41025: blueman does not start
  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
  0 siblings, 1 reply; 20+ messages in thread
From: Raghav Gururajan @ 2020-05-02 13:56 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: 41025

[-- Attachment #1: Type: text/plain, Size: 454 bytes --]

Hi Pierre!

> It seems that the blueman package is missing a wrapper unless I'm
> missing something:

When I packaged it, all I got was error regarding dbus. But now it seems there
are more errors. I am wondering if it has to do with updates in gtk and/or glib
and/or gobject-introspection.

Also, I found out that python references are not getting patched during
the build. I have made a patch to fix it, which I attached with this email.

Regards,
RG.

[-- Attachment #2: 0001-gnu-blueman-Fix-python-references.patch --]
[-- Type: text/x-patch, Size: 3280 bytes --]

From 4a2739cfa69d3537dcd3d4cee85d33bd790d0980 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 2 May 2020 09:51:09 -0400
Subject: [PATCH] gnu: blueman: Fix python references.

* gnu/packages/networking.scm (blueman): Fix python references.
[arguments]:<#:phases>:['patch-python-references]: New phase.
---
 gnu/packages/networking.scm | 39 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 38 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 94b521584f..b775a9e689 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -143,7 +143,44 @@
         "--enable-polkit"
         "--disable-appindicator"         ; Deprecated
         "--with-systemdsystemunitdir=no" ; Not required
-        "--with-systemduserunitdir=no")))  ; Not required
+        "--with-systemduserunitdir=no")  ; Not required
+       #:phases
+       (modify-phases %standard-phases
+         ;; Python references are not being patched in patch-phase of build;
+         ;; despite using python-wrapper as input. So patching them manually.
+         (add-after 'unpack 'patch-python-references
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "apps/blueman-adapters.in"
+               (("@PYTHON@") (string-append (assoc-ref inputs "python")
+                                            "/bin/python3.7")))
+             (substitute* "apps/blueman-applet.in"
+               (("@PYTHON@") (string-append (assoc-ref inputs "python")
+                                            "/bin/python3.7")))
+             (substitute* "apps/blueman-assistant.in"
+               (("@PYTHON@") (string-append (assoc-ref inputs "python")
+                                            "/bin/python3.7")))
+             (substitute* "apps/blueman-manager.in"
+               (("@PYTHON@") (string-append (assoc-ref inputs "python")
+                                            "/bin/python3.7")))
+             (substitute* "apps/blueman-mechanism.in"
+               (("@PYTHON@") (string-append (assoc-ref inputs "python")
+                                            "/bin/python3.7")))
+             (substitute* "apps/blueman-report.in"
+               (("@PYTHON@") (string-append (assoc-ref inputs "python")
+                                            "/bin/python3.7")))
+             (substitute* "apps/blueman-rfcomm-watcher.in"
+               (("@PYTHON@") (string-append (assoc-ref inputs "python")
+                                            "/bin/python3.7")))
+             (substitute* "apps/blueman-sendto.in"
+               (("@PYTHON@") (string-append (assoc-ref inputs "python")
+                                            "/bin/python3.7")))
+             (substitute* "apps/blueman-services.in"
+               (("@PYTHON@") (string-append (assoc-ref inputs "python")
+                                            "/bin/python3.7")))
+             (substitute* "apps/blueman-tray.in"
+               (("@PYTHON@") (string-append (assoc-ref inputs "python")
+                                            "/bin/python3.7")))
+             #t)))))
     (native-inputs
      `(("cython" ,python-cython)
        ("glib:bin" ,glib "bin")
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* bug#41025: blueman does not start
  2020-05-02 13:56 ` Raghav Gururajan
@ 2020-05-02 18:45   ` Pierre Neidhardt
  2020-05-03 15:24     ` Raghav Gururajan
  0 siblings, 1 reply; 20+ messages in thread
From: Pierre Neidhardt @ 2020-05-02 18:45 UTC (permalink / raw)
  To: Raghav Gururajan; +Cc: 41025

[-- Attachment #1: Type: text/plain, Size: 597 bytes --]

Thanks!  Sadly your patch does not fix the issue for me.

You can reproduce with

--8<---------------cut here---------------start------------->8---
./pre-inst-env guix environment --pure --ad-hoc blueman -- blueman-tray
--8<---------------cut here---------------end--------------->8---

I had a quick look at the package definition: it's a
glib-or-gtk-build-system but the package is in python, so you need to
set the PYTHONPATH manually I think.  Look at the other GNOME package
written in Python, my guess is that it's the same thing.

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#41025: blueman does not start
  2020-05-02 18:45   ` Pierre Neidhardt
@ 2020-05-03 15:24     ` Raghav Gururajan
  2020-05-03 16:13       ` Pierre Neidhardt
  0 siblings, 1 reply; 20+ messages in thread
From: Raghav Gururajan @ 2020-05-03 15:24 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: 41025

[-- Attachment #1: Type: text/plain, Size: 710 bytes --]

Hi Pierre!

> Thanks!  Sadly your patch does not fix the issue for me.
> 
> You can reproduce with
> 
> --8<---------------cut here---------------start------------->8---
> ./pre-inst-env guix environment --pure --ad-hoc blueman -- blueman-tray
> --8<---------------cut here---------------end--------------->8---
> 
> I had a quick look at the package definition: it's a
> glib-or-gtk-build-system but the package is in python, so you need to
> set the PYTHONPATH manually I think.  Look at the other GNOME package
> written in Python, my guess is that it's the same thing.

Thanks! I was able to fix "gi" error. But "No module 'blueman', I could not
fix. Any ideas?

I have attached a new patch.

Regards,
RG.

[-- Attachment #2: 0004-gnu-blueman-Test-patch.patch --]
[-- Type: text/x-patch, Size: 6906 bytes --]

From 19cdddadcff5fa940c8e7e6ef1a31040a4412db5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 3 May 2020 11:21:48 -0400
Subject: [PATCH 4/4] gnu: blueman: Test patch.

* gnu/packages/networking.scm (blueman): Test patch.
---
 gnu/packages/networking.scm | 119 +++++++++++++++++++++++++++++++++++-
 1 file changed, 118 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 94b521584f..b624149b23 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -143,7 +143,124 @@
         "--enable-polkit"
         "--disable-appindicator"         ; Deprecated
         "--with-systemdsystemunitdir=no" ; Not required
-        "--with-systemduserunitdir=no")))  ; Not required
+        "--with-systemduserunitdir=no")  ; Not required
+       #:phases
+       (modify-phases %standard-phases
+         ;; Python references are not being patched in patch-phase of build;
+         ;; despite using python-wrapper as input. So patching them manually.
+         (add-after 'unpack 'patch-python-references
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "apps/blueman-adapters.in"
+               (("@PYTHON@") (string-append (assoc-ref inputs "python")
+                                            "/bin/python3.7")))
+             (substitute* "apps/blueman-applet.in"
+               (("@PYTHON@") (string-append (assoc-ref inputs "python")
+                                            "/bin/python3.7")))
+             (substitute* "apps/blueman-assistant.in"
+               (("@PYTHON@") (string-append (assoc-ref inputs "python")
+                                            "/bin/python3.7")))
+             (substitute* "apps/blueman-manager.in"
+               (("@PYTHON@") (string-append (assoc-ref inputs "python")
+                                            "/bin/python3.7")))
+             (substitute* "apps/blueman-mechanism.in"
+               (("@PYTHON@") (string-append (assoc-ref inputs "python")
+                                            "/bin/python3.7")))
+             (substitute* "apps/blueman-report.in"
+               (("@PYTHON@") (string-append (assoc-ref inputs "python")
+                                            "/bin/python3.7")))
+             (substitute* "apps/blueman-rfcomm-watcher.in"
+               (("@PYTHON@") (string-append (assoc-ref inputs "python")
+                                            "/bin/python3.7")))
+             (substitute* "apps/blueman-sendto.in"
+               (("@PYTHON@") (string-append (assoc-ref inputs "python")
+                                            "/bin/python3.7")))
+             (substitute* "apps/blueman-services.in"
+               (("@PYTHON@") (string-append (assoc-ref inputs "python")
+                                            "/bin/python3.7")))
+             (substitute* "apps/blueman-tray.in"
+               (("@PYTHON@") (string-append (assoc-ref inputs "python")
+                                            "/bin/python3.7")))
+             #t))
+         (add-after 'glib-or-gtk-wrap 'wrap-blueman-adapters
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let
+                 ((bm-adap
+                   (string-append
+                    (assoc-ref outputs "out") "/bin/blueman-adapters")))
+               (wrap-program bm-adap
+                 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
+                 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
+               #t)))
+         (add-after 'glib-or-gtk-wrap 'wrap-blueman-applet
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let
+                 ((bm-app
+                   (string-append
+                    (assoc-ref outputs "out") "/bin/blueman-applet")))
+               (wrap-program bm-app
+                 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
+                 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
+               #t)))
+         (add-after 'glib-or-gtk-wrap 'wrap-blueman-assistant
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let
+                 ((bm-ass
+                   (string-append
+                    (assoc-ref outputs "out") "/bin/blueman-assistant")))
+               (wrap-program bm-ass
+                 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
+                 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
+               #t)))
+         (add-after 'glib-or-gtk-wrap 'wrap-blueman-manager
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let
+                 ((bm-man
+                   (string-append
+                    (assoc-ref outputs "out") "/bin/blueman-manager")))
+               (wrap-program bm-man
+                 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
+                 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
+               #t)))
+         (add-after 'glib-or-gtk-wrap 'wrap-blueman-report
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let
+                 ((bm-rep
+                   (string-append
+                    (assoc-ref outputs "out") "/bin/blueman-report")))
+               (wrap-program bm-rep
+                 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
+                 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
+               #t)))
+         (add-after 'glib-or-gtk-wrap 'wrap-blueman-sendto
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let
+                 ((bm-st
+                   (string-append
+                    (assoc-ref outputs "out") "/bin/blueman-sendto")))
+               (wrap-program bm-st
+                 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
+                 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
+               #t)))
+         (add-after 'glib-or-gtk-wrap 'wrap-blueman-services
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let
+                 ((bm-serv
+                   (string-append
+                    (assoc-ref outputs "out") "/bin/blueman-services")))
+               (wrap-program bm-serv
+                 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
+                 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
+               #t)))
+         (add-after 'glib-or-gtk-wrap 'wrap-blueman-tray
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let
+                 ((bm-tray
+                   (string-append
+                    (assoc-ref outputs "out") "/bin/blueman-tray")))
+               (wrap-program bm-tray
+                 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
+                 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
+               #t))))))
     (native-inputs
      `(("cython" ,python-cython)
        ("glib:bin" ,glib "bin")
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* bug#41025: blueman does not start
  2020-05-03 15:24     ` Raghav Gururajan
@ 2020-05-03 16:13       ` Pierre Neidhardt
  2020-05-04  3:18         ` Raghav Gururajan
  0 siblings, 1 reply; 20+ messages in thread
From: Pierre Neidhardt @ 2020-05-03 16:13 UTC (permalink / raw)
  To: Raghav Gururajan; +Cc: 41025

[-- Attachment #1: Type: text/plain, Size: 403 bytes --]

Suggestion: instead of adding one phase per wrapper, use a single phase,
loop over the executables to generate the wrapper.  This should shorten
your code.

I think the "gi" issue is because "(getenv ...)" does not include the
output "out".  I'm guessing you need to add (string-append out
"/lib/python...blueman...") to the PYTHONPATH.

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#41025: blueman does not start
  2020-05-03 16:13       ` Pierre Neidhardt
@ 2020-05-04  3:18         ` Raghav Gururajan
  2020-05-04  8:47           ` Pierre Neidhardt
  0 siblings, 1 reply; 20+ messages in thread
From: Raghav Gururajan @ 2020-05-04  3:18 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: 41025

Hi Pierre!

> Suggestion: instead of adding one phase per wrapper, use a single phase,
> loop over the executables to generate the wrapper.  This should shorten
> your code.
> 
> I think the "gi" issue is because "(getenv ...)" does not include the
> output "out".  I'm guessing you need to add (string-append out
> "/lib/python...blueman...") to the PYTHONPATH.

I tried using (string-append (assoc-ref outputs "out")
"/lib/python3.7/site-packages/blueman"); instead of (getenv PYTHONPATH). I got
the same error.

Regards,
RG.




^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#41025: blueman does not start
  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
  0 siblings, 2 replies; 20+ messages in thread
From: Pierre Neidhardt @ 2020-05-04  8:47 UTC (permalink / raw)
  To: Raghav Gururajan; +Cc: 41025

[-- Attachment #1: Type: text/plain, Size: 8889 bytes --]

Sorry if I misled you with the ellipsis.  You need to add
/lib/python3.7/site-packages without the "blueman" part.

With the definition below I can start blueman-services.  But all
programs report that blueman-applet fails.
Indeed, blueman-applet fails with


--8<---------------cut here---------------start------------->8---
blueman-applet version 2.1.2 starting
blueman-applet 10.41.17 ERROR    PluginManager:90 load_plugin: Unable to load plugin module NMPANSupport
Traceback (most recent call last):
  File "/gnu/store/1f9x9hwfjpkq4h79dwsi06m3zrzdm8fp-blueman-2.1.2/lib/python3.7/site-packages/blueman/main/NetworkManager.py", line 6, in <module>
    gi.require_version('NM', '1.0')
  File "/gnu/store/y4qwsw06ynvw3fjk2lrspp89mfmjzj5i-python-pygobject-3.28.3/lib/python3.7/site-packages/gi/__init__.py", line 130, in require_version
    raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace NM not available

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/gnu/store/1f9x9hwfjpkq4h79dwsi06m3zrzdm8fp-blueman-2.1.2/lib/python3.7/site-packages/blueman/main/PluginManager.py", line 88, in load_plugin
    importlib.import_module(self.module_path.__name__ + ".%s" % plugin)
  File "/gnu/store/c0ysvb6s92kwwnmkgdhnspllxvd3f231-python-3.7.4/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/gnu/store/1f9x9hwfjpkq4h79dwsi06m3zrzdm8fp-blueman-2.1.2/lib/python3.7/site-packages/blueman/plugins/applet/NMPANSupport.py", line 3, in <module>
    from blueman.main.NetworkManager import NMPANConnection
  File "/gnu/store/1f9x9hwfjpkq4h79dwsi06m3zrzdm8fp-blueman-2.1.2/lib/python3.7/site-packages/blueman/main/NetworkManager.py", line 8, in <module>
    raise ImportError('NM python bindings not found.')
ImportError: NM python bindings not found.
blueman-applet 10.41.17 ERROR    PluginManager:90 load_plugin: Unable to load plugin module NMDUNSupport
Traceback (most recent call last):
  File "/gnu/store/1f9x9hwfjpkq4h79dwsi06m3zrzdm8fp-blueman-2.1.2/lib/python3.7/site-packages/blueman/main/NetworkManager.py", line 6, in <module>
    gi.require_version('NM', '1.0')
  File "/gnu/store/y4qwsw06ynvw3fjk2lrspp89mfmjzj5i-python-pygobject-3.28.3/lib/python3.7/site-packages/gi/__init__.py", line 130, in require_version
    raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace NM not available

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/gnu/store/1f9x9hwfjpkq4h79dwsi06m3zrzdm8fp-blueman-2.1.2/lib/python3.7/site-packages/blueman/main/PluginManager.py", line 88, in load_plugin
    importlib.import_module(self.module_path.__name__ + ".%s" % plugin)
  File "/gnu/store/c0ysvb6s92kwwnmkgdhnspllxvd3f231-python-3.7.4/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/gnu/store/1f9x9hwfjpkq4h79dwsi06m3zrzdm8fp-blueman-2.1.2/lib/python3.7/site-packages/blueman/plugins/applet/NMDUNSupport.py", line 3, in <module>
    from blueman.main.NetworkManager import NMDUNConnection
  File "/gnu/store/1f9x9hwfjpkq4h79dwsi06m3zrzdm8fp-blueman-2.1.2/lib/python3.7/site-packages/blueman/main/NetworkManager.py", line 8, in <module>
    raise ImportError('NM python bindings not found.')
ImportError: NM python bindings not found.
Traceback (most recent call last):
  File "/gnu/store/1f9x9hwfjpkq4h79dwsi06m3zrzdm8fp-blueman-2.1.2/lib/python3.7/site-packages/blueman/plugins/applet/StatusIcon.py", line 116, in _on_plugins_changed
    launch('blueman-tray', icon_name='blueman', sn=False)
  File "/gnu/store/1f9x9hwfjpkq4h79dwsi06m3zrzdm8fp-blueman-2.1.2/lib/python3.7/site-packages/blueman/Functions.py", line 137, in launch
    launched = appinfo.launch(files, context)
GLib.Error: g-exec-error-quark: Failed to execute child process “gio-launch-desktop” (No such file or directory) (8)
blueman-applet 10.41.17 WARNING  DiscvManager:109 update_menuitems: warning: Adapter is None
killed
--8<---------------cut here---------------end--------------->8---

It seems that network-manager bindings for python are missing.
We may need to package this: https://github.com/seveas/python-networkmanager

Maybe I'm not starting it the right way.
Have you got blueman to work on your system?  Are you using a foreign
distribution?

New package definition:

--8<---------------cut here---------------start------------->8---
(define-public blueman
  (package
    (name "blueman")
    (version "2.1.2")
    (source
     (origin
       (method url-fetch)
       (uri
        (string-append "https://github.com/blueman-project/blueman/releases/"
                       "download/2.1.2/blueman-2.1.2.tar.gz"))
       (sha256
        (base32 "0wamxdw36c8i3aqwmja5q70fajqwd7inpkvlpkldd54wdxbcd38d"))))
    (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
       #:phases
       (modify-phases %standard-phases
         ;; Python references are not being patched in patch-phase of build;
         ;; despite using python-wrapper as input. So patching them manually.
         (add-after 'unpack 'patch-python-references
           (lambda* (#:key inputs #:allow-other-keys)
             (for-each
              (lambda (name)
                (substitute* (format #f "apps/blueman-~a.in" name)
                  (("@PYTHON@") (string-append (assoc-ref inputs "python")
                                               "/bin/python3.7"))))
              '("adapters" "applet" "assistant" "manager" "mechanism" "report"
                "rfcomm-watcher" "sendto" "services" "tray"))
             #t))
         (add-after 'glib-or-gtk-wrap 'wrap-blueman
           (lambda* (#:key outputs #:allow-other-keys)
             (let* ((out (assoc-ref outputs "out"))
                    (bin (string-append out "/bin/blueman-"))
                    (lib (string-append out "/lib/python3.7/site-packages/")))
               (for-each
                (lambda (program)
                  (pk program)
                  (pk (string-append bin 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)
       ("glib:bin" ,glib "bin")
       ("gtk+:bin" ,gtk+ "bin")
       ("intltool" ,intltool)
       ("libtool" ,libtool)
       ("pkg-config" ,pkg-config)))
    (inputs
     `(("adwaita-icon-theme" ,adwaita-icon-theme)
       ("bluez" ,bluez)
       ("dbus" ,dbus)
       ("gdkpixbuf" ,gdk-pixbuf)
       ("glib" ,glib)
       ("gtk+" ,gtk+)
       ("iproute2" ,iproute)
       ("net-tools" ,net-tools)
       ("pango" ,pango)
       ("polkit" ,polkit)
       ("pulseaudio" ,pulseaudio)
       ("pycairo" ,python-pycairo)
       ("pygobject" ,python-pygobject)
       ("python" ,python-wrapper)
       ("libnm" ,libnma)))
    (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.")
    (home-page "https://github.com/blueman-project/blueman")
    (license license:gpl3+)))
--8<---------------cut here---------------end--------------->8---

--
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#41025: blueman does not start
  2020-05-04  8:47           ` Pierre Neidhardt
@ 2020-05-04  9:11             ` Pierre Neidhardt
  2020-05-09  6:29             ` Raghav Gururajan
  1 sibling, 0 replies; 20+ messages in thread
From: Pierre Neidhardt @ 2020-05-04  9:11 UTC (permalink / raw)
  To: Raghav Gururajan; +Cc: 41025

[-- Attachment #1: Type: text/plain, Size: 454 bytes --]

We should not hardcode the python version but instead use something like

--8<---------------cut here---------------start------------->8---
(string-append dir "/lib/python"
                              ,(version-major+minor
                                 (package-version python))
                              "/site-packages")
--8<---------------cut here---------------end--------------->8---

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#41025: blueman does not start
  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
  1 sibling, 1 reply; 20+ messages in thread
From: Raghav Gururajan @ 2020-05-09  6:29 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: 41025


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

Hi Pierre!

Please find the new patch attached with this email. It fixes the
discussed issues. Now, blueman just needs "dbus-launch", which I think
provided by %desktop-services.

If you could push this patch, that would be great.

Thank you!

Regards,
RG.

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

From be674bd528cbcb16e04368e1f01beaffac912a61 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 9 May 2020 02:17:21 -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.
['wrap-blueman-progs]: New phase.
[native-inputs]: Add autoconf, autogen and automake.
[inputs]: Add gobject-introspection. Replace libnma with network-manager.
---
 gnu/packages/networking.scm | 65 ++++++++++++++++++++++++++++++-------
 1 file changed, 54 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index d7720724cc..bbdf42c1f7 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)
@@ -127,36 +128,78 @@
 (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
+        "--without-systemdsystemunitdir" ; Not required
+        "--without-systemduserunitdir")  ; Not required
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'bootstrap 'setenv
+           ;; Prevent the autogen.sh script to carry out the configure
+           ;; script, which has not yet been patched to replace /bin/sh.
+           (lambda _
+             (setenv "NOCONFIGURE" "TRUE")
+             #t))
+         ;; Python references are not being patched in patch-phase of build;
+         ;; despite using python-wrapper as input. So patching 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/python3.7"))))
+             #t))
+         (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/python3.7/site-packages/")))
+               (for-each
+                (lambda (program)
+                  (pk program)
+                  (pk (string-append bin 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")
        ("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)
        ("glib" ,glib)
+       ("gobject-introspection" ,gobject-introspection)
        ("gtk+" ,gtk+)
        ("iproute2" ,iproute)
        ("net-tools" ,net-tools)
@@ -166,7 +209,7 @@
        ("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
-- 
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 --]

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* bug#41025: blueman does not start
  2020-05-09  6:29             ` Raghav Gururajan
@ 2020-05-09  9:12               ` Pierre Neidhardt
  2020-05-09 21:49                 ` Raghav Gururajan
  0 siblings, 1 reply; 20+ messages in thread
From: Pierre Neidhardt @ 2020-05-09  9:12 UTC (permalink / raw)
  To: Raghav Gururajan; +Cc: 41025

[-- Attachment #1: Type: text/plain, Size: 2486 bytes --]

Thanks, looking good!

- Could you remove the `pk' lines?
- Looks like pulseaudio is missing for blueman-manager:

--8<---------------cut here---------------start------------->8---
> /gnu/store/6s8d3di9k4vwxwjvv45rznam6a0l3vfn-blueman-2.1.3/bin/blueman-manager 
blueman-manager 11.06.01 ERROR    PluginManager:90 load_plugin: Unable to load plugin module PulseAudioProfile
Traceback (most recent call last):
  File "/gnu/store/6s8d3di9k4vwxwjvv45rznam6a0l3vfn-blueman-2.1.3/lib/python3.7/site-packages/blueman/main/PulseAudioUtils.py", line 10, in <module>
    libpulse = CDLL("libpulse.so.0")
  File "/gnu/store/c0ysvb6s92kwwnmkgdhnspllxvd3f231-python-3.7.4/lib/python3.7/ctypes/__init__.py", line 364, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: libpulse.so.0: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/gnu/store/6s8d3di9k4vwxwjvv45rznam6a0l3vfn-blueman-2.1.3/lib/python3.7/site-packages/blueman/main/PluginManager.py", line 88, in load_plugin
    importlib.import_module(self.module_path.__name__ + ".%s" % plugin)
  File "/gnu/store/c0ysvb6s92kwwnmkgdhnspllxvd3f231-python-3.7.4/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/gnu/store/6s8d3di9k4vwxwjvv45rznam6a0l3vfn-blueman-2.1.3/lib/python3.7/site-packages/blueman/plugins/manager/PulseAudioProfile.py", line 5, in <module>
    from blueman.main.PulseAudioUtils import PulseAudioUtils, EventType
  File "/gnu/store/6s8d3di9k4vwxwjvv45rznam6a0l3vfn-blueman-2.1.3/lib/python3.7/site-packages/blueman/main/PulseAudioUtils.py", line 13, in <module>
    raise ImportError("Could not load pulseaudio shared library")
ImportError: Could not load pulseaudio shared library
blueman-manager version 2.1.3 starting
--8<---------------cut here---------------end--------------->8---

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#41025: blueman does not start
  2020-05-09  9:12               ` Pierre Neidhardt
@ 2020-05-09 21:49                 ` Raghav Gururajan
  2020-05-09 22:03                   ` Raghav Gururajan
  0 siblings, 1 reply; 20+ messages in thread
From: Raghav Gururajan @ 2020-05-09 21:49 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: 41025


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

Hi Pierre!

> Thanks, looking good!
> 
> - Could you remove the `pk' lines?
> - Looks like pulseaudio is missing for blueman-manager:

Please find the revised patch attached with this email.

Regards,
RG.

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

From 52dc6e2dd01cbbf280e7e17af6274d2b1aa2bde1 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 9 May 2020 17:38:43 -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]<#:configure-flags>[--disable-appindicator]: Remove flag.
[--disable-schemas-compile]: New flag.
[arguments]<#:phases>['setenv]: New phase.
['patch-python-references]: New phase.
['patch-os-path]: New phase.
['patch-progs-path]: New phase.
['wrap-blueman-progs]: New phase.
[native-inputs]: Add autoconf, autogen, automake and gobject-introspection.
[inputs]: Add iptables and ppp. Replace libnma with network-manager.
Remove adwaita-icon-theme.
---
 gnu/packages/networking.scm | 101 +++++++++++++++++++++++++++++++-----
 1 file changed, 89 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index d7720724cc..ddf1d95df4 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,46 +129,121 @@
 (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-schemas-compile" ; Compiled at 'glib-or-gtk-compile-schemas
+        "--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 patching 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/python3.7"))))
+             #t))
+         ;; PATH is hard-coded for FHS directories.
+         ;; Patch it to PATH used by Guix.
+         (add-after 'patch-python-references 'patch-os-path
+           (lambda _
+             (substitute*
+                 '("apps/blueman-mechanism.in" "blueman/Functions.py")
+               (("/usr/bin:/bin:/usr/sbin:/sbin")
+                (string-append
+                 "~/.guix-profile/bin:"
+                 "/run/current-system/profile/bin:"
+                 "~/.guix-profile/sbin:"
+                 "/run/current-system/profile/sbin"))
+               ((":/sbin:/usr/sbin")
+                (string-append
+                 ":/run/current-system/profile/sbin:"
+                 "~/.guix-profile/sbin")))
+             #t))
+         (add-after 'patch-os-path 'patch-progs-path
+           (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))
+         (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/python3.7/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)
        ("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
-- 
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 --]

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* bug#41025: blueman does not start
  2020-05-09 21:49                 ` Raghav Gururajan
@ 2020-05-09 22:03                   ` Raghav Gururajan
  2020-05-10  9:27                     ` Pierre Neidhardt
  2020-05-10 21:29                     ` Marius Bakke
  0 siblings, 2 replies; 20+ messages in thread
From: Raghav Gururajan @ 2020-05-09 22:03 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: 41025


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

Hi Pierre!

>> Thanks, looking good!
>>
>> - Could you remove the `pk' lines?
>> - Looks like pulseaudio is missing for blueman-manager:
> 
> Please find the revised patch attached with this email.

Sorry, I sent the wrong patch. I have attached the correct one with this
email. I hope this patch does not have any blocker for merging. :-)

Regards,
RG.

[-- Attachment #1.1.2: blueman-revised.patch --]
[-- Type: text/x-patch, Size: 7294 bytes --]

From 509774cf1efe19a1b5cc2760d52874067579deb4 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 9 May 2020 17:59:45 -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]<#:configure-flags>[--disable-appindicator]: Remove flag.
[--disable-schemas-compile]: New flag.
[arguments]<#:phases>['setenv]: New phase.
['patch-python-references]: New phase.
['patch-os-path]: New phase.
['patch-progs-path]: 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 | 99 ++++++++++++++++++++++++++++++++-----
 1 file changed, 88 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index d7720724cc..ebd26501cd 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,41 +129,116 @@
 (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-schemas-compile" ; Compiled at 'glib-or-gtk-compile-schemas
+        "--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 patching 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/python3.7"))))
+             #t))
+         ;; PATH is hard-coded for FHS directories.
+         ;; Patch it to PATH used by Guix.
+         (add-after 'patch-python-references 'patch-os-path
+           (lambda _
+             (substitute*
+                 '("apps/blueman-mechanism.in" "blueman/Functions.py")
+               (("/usr/bin:/bin:/usr/sbin:/sbin")
+                (string-append
+                 "~/.guix-profile/bin:"
+                 "/run/current-system/profile/bin:"
+                 "~/.guix-profile/sbin:"
+                 "/run/current-system/profile/sbin"))
+               ((":/sbin:/usr/sbin")
+                (string-append
+                 ":/run/current-system/profile/sbin:"
+                 "~/.guix-profile/sbin")))
+             #t))
+         (add-after 'patch-os-path 'patch-progs-path
+           (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))
+         (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/python3.7/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)
        ("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)
-- 
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 --]

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* bug#41025: blueman does not start
  2020-05-09 22:03                   ` Raghav Gururajan
@ 2020-05-10  9:27                     ` Pierre Neidhardt
  2020-05-11 10:05                       ` Raghav Gururajan
  2020-05-10 21:29                     ` Marius Bakke
  1 sibling, 1 reply; 20+ messages in thread
From: Pierre Neidhardt @ 2020-05-10  9:27 UTC (permalink / raw)
  To: Raghav Gururajan; +Cc: 41025

[-- Attachment #1: Type: text/plain, Size: 1767 bytes --]

Sorry to disappoint :p  Sadly this patch does not work yet ;)

- You've hardcoded the python version (3.7) while you should get it
dynamically from the one you are using.

You can try using something like

--8<---------------cut here---------------start------------->8---
,(version-major+minor (package-version python))
--8<---------------cut here---------------end--------------->8---

- You've hardcoded paths to ~/.guix-profile which should be avoided
  because profiles can be anywhere.

--8<---------------cut here---------------start------------->8---
+             (substitute*
+                 '("apps/blueman-mechanism.in" "blueman/Functions.py")
+               (("/usr/bin:/bin:/usr/sbin:/sbin")
+                (string-append
+                 "~/.guix-profile/bin:"
+                 "/run/current-system/profile/bin:"
+                 "~/.guix-profile/sbin:"
+                 "/run/current-system/profile/sbin"))
+               ((":/sbin:/usr/sbin")
+                (string-append
+                 ":/run/current-system/profile/sbin:"
+                 "~/.guix-profile/sbin")))
--8<---------------cut here---------------end--------------->8---

I think this should be replace by the Python equivalent of `(getenv "PATH")`.

- In the following comment, the ';' should be a colon.  "patching"
  should probably be something like "we patch".

--8<---------------cut here---------------start------------->8---
+         ;; Python references are not being patched in patch-phase of build;
+         ;; despite using python-wrapper as input. So patching them manually.
--8<---------------cut here---------------end--------------->8---

Stay put, almost there! :)

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#41025: blueman does not start
  2020-05-09 22:03                   ` Raghav Gururajan
  2020-05-10  9:27                     ` Pierre Neidhardt
@ 2020-05-10 21:29                     ` Marius Bakke
  2020-05-11 10:07                       ` Raghav Gururajan
  1 sibling, 1 reply; 20+ messages in thread
From: Marius Bakke @ 2020-05-10 21:29 UTC (permalink / raw)
  To: Raghav Gururajan, Pierre Neidhardt; +Cc: 41025

[-- Attachment #1: Type: text/plain, Size: 1538 bytes --]

Raghav Gururajan <raghavgururajan@disroot.org> writes:

> +         ;; 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))

This phase is no longer necessary after the recent 'core-updates' merge.

> +         ;; PATH is hard-coded for FHS directories.
> +         ;; Patch it to PATH used by Guix.
> +         (add-after 'patch-python-references 'patch-os-path
> +           (lambda _
> +             (substitute*
> +                 '("apps/blueman-mechanism.in" "blueman/Functions.py")
> +               (("/usr/bin:/bin:/usr/sbin:/sbin")
> +                (string-append
> +                 "~/.guix-profile/bin:"
> +                 "/run/current-system/profile/bin:"
> +                 "~/.guix-profile/sbin:"
> +                 "/run/current-system/profile/sbin"))
> +               ((":/sbin:/usr/sbin")
> +                (string-append
> +                 ":/run/current-system/profile/sbin:"
> +                 "~/.guix-profile/sbin")))
> +             #t))

These paths are "impure": the contents will differ from system to
system, and are also unavailable in e.g. 'guix environment -container'.
It might be better to patch these directories to something nonsensical
like "/no-such-path": that ensures we catch any missing references.

That's not always feasible though, but hopefully works for this
package.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#41025: blueman does not start
  2020-05-10  9:27                     ` Pierre Neidhardt
@ 2020-05-11 10:05                       ` Raghav Gururajan
  2020-05-14 17:16                         ` Pierre Neidhardt
  0 siblings, 1 reply; 20+ messages in thread
From: Raghav Gururajan @ 2020-05-11 10:05 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: 41025


[-- 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 --]

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* bug#41025: blueman does not start
  2020-05-10 21:29                     ` Marius Bakke
@ 2020-05-11 10:07                       ` Raghav Gururajan
  0 siblings, 0 replies; 20+ messages in thread
From: Raghav Gururajan @ 2020-05-11 10:07 UTC (permalink / raw)
  To: Marius Bakke, Pierre Neidhardt; +Cc: 41025


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

Hi Marius!

> This phase is no longer necessary after the recent 'core-updates' merge.

I don't know, when I tried it did not work.

> These paths are "impure": the contents will differ from system to
> system, and are also unavailable in e.g. 'guix environment -container'.
> It might be better to patch these directories to something nonsensical
> like "/no-such-path": that ensures we catch any missing references.
> 
> That's not always feasible though, but hopefully works for this
> package.

I see. Thanks :-)

Regards,
RG.




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

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

^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#41025: blueman does not start
  2020-05-11 10:05                       ` Raghav Gururajan
@ 2020-05-14 17:16                         ` Pierre Neidhardt
  2020-05-14 23:37                           ` Raghav Gururajan
  0 siblings, 1 reply; 20+ messages in thread
From: Pierre Neidhardt @ 2020-05-14 17:16 UTC (permalink / raw)
  To: Raghav Gururajan; +Cc: 41025

[-- Attachment #1: Type: text/plain, Size: 242 bytes --]

I've pushed your latest patch here:
c5a9b16dbdc8849560fb43095e090ba0952277b6.

The only change I've done beside indentation is patching the scripts in libexec/.

Thanks for your patience!

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#41025: blueman does not start
  2020-05-14 17:16                         ` Pierre Neidhardt
@ 2020-05-14 23:37                           ` Raghav Gururajan
  2020-05-15  0:56                             ` Raghav Gururajan
  0 siblings, 1 reply; 20+ messages in thread
From: Raghav Gururajan @ 2020-05-14 23:37 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: 41025


[-- Attachment #1.1: Type: text/plain, Size: 616 bytes --]

Hi Pierre!

> I've pushed your latest patch here:
> c5a9b16dbdc8849560fb43095e090ba0952277b6.
> 
> The only change I've done beside indentation is patching the scripts in libexec/.
> 
> Thanks for your patience!

Thank you!

Do you still get the following error, while starting blueman-manager or
blueman-applet?

Failed to apply network settings
You might not be able to connect to the Bluetooth network via this machine
Exception
g-dbus-error-quark:
GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name
org.blueman.Mechanism was not provided by any .service files

Regards,
RG.


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

^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#41025: blueman does not start
  2020-05-14 23:37                           ` Raghav Gururajan
@ 2020-05-15  0:56                             ` Raghav Gururajan
  2020-05-15  9:52                               ` Pierre Neidhardt
  0 siblings, 1 reply; 20+ messages in thread
From: Raghav Gururajan @ 2020-05-15  0:56 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: 41025


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

Hi Pierre!

>> I've pushed your latest patch here:
>> c5a9b16dbdc8849560fb43095e090ba0952277b6.
>>
>> The only change I've done beside indentation is patching the scripts in libexec/.
>>
>> Thanks for your patience!
> 
> Thank you!
> 
> Do you still get the following error, while starting blueman-manager or
> blueman-applet?
> 
> Failed to apply network settings
> You might not be able to connect to the Bluetooth network via this machine
> Exception
> g-dbus-error-quark:
> GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name
> org.blueman.Mechanism was not provided by any .service files

Also, please find the attached patch to enable appindicator in blueman.

Regards,
RG.

[-- Attachment #1.1.2: 0001-gnu-blueman-Enable-AppIndicator.patch --]
[-- Type: text/x-patch, Size: 1671 bytes --]

From bb7ddb8471d7473fdac3d8e545f0141036d6edb7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 14 May 2020 20:50:42 -0400
Subject: [PATCH] gnu: blueman: Enable AppIndicator.

* gnu/packages/networking.scm (blueman) [arguments]: Remove --disable
-appindicator configure-flag.
[inputs]: Add libappindicator.
---
 gnu/packages/networking.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 7ae1240e15..42a3609ac2 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -87,6 +87,7 @@
   #:use-module (gnu packages dejagnu)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages flex)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
@@ -140,7 +141,6 @@
     (build-system glib-or-gtk-build-system)
     (arguments
      `(#:configure-flags (list "--enable-polkit"
-                               "--disable-appindicator" ; Not available
                                "--without-systemdsystemunitdir" ; Not required
                                "--without-systemduserunitdir")  ; Not required
        #:phases
@@ -232,6 +232,7 @@
        ("pycairo" ,python-pycairo)
        ("pygobject" ,python-pygobject)
        ("python" ,python-wrapper)
+       ("libappindicator" ,libappindicator)
        ("libnm" ,network-manager)))
     (synopsis "GTK+ Bluetooth manager")
     (description "Blueman is a Bluetooth management utility using the Bluez
-- 
2.26.2


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

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* bug#41025: blueman does not start
  2020-05-15  0:56                             ` Raghav Gururajan
@ 2020-05-15  9:52                               ` Pierre Neidhardt
  0 siblings, 0 replies; 20+ messages in thread
From: Pierre Neidhardt @ 2020-05-15  9:52 UTC (permalink / raw)
  To: Raghav Gururajan; +Cc: 41025

[-- Attachment #1: Type: text/plain, Size: 101 bytes --]

Pushed as 729cfbdd07f95e60a44dfcdccdbda6696b265b5d.

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2020-05-15  9:53 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
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

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).