From: phodina via Guix-patches via <guix-patches@gnu.org>
To: "44400@debbugs.gnu.org" <44400@debbugs.gnu.org>
Subject: [bug#44400] [PATCH v3 1/5] WIP: gnu: Add phosh.
Date: Thu, 24 Mar 2022 13:32:53 +0000 [thread overview]
Message-ID: <IruD3EyXSCGFp-IpoM65x9I9b7XTOyHF8H2-5fqOZgvewo6XjaZ6ezFtZdTjoB3Kcx5BaIn_OltI59Qp8YIm5KQ6csweyRVIfqcLrbibMQY=@protonmail.com> (raw)
In-Reply-To: <ed0f57d0-64a2-43b5-8e79-76162d0657b1@web.de>
[-- Attachment #1: Type: text/plain, Size: 7457 bytes --]
Hi Jonathan,
the current patch set is based on the master branch. Running the Guix command
gives me 26 dependent packages - not a massive number.
```
./pre-inst-env guix refresh --list-dependent libhandy
Building the following 26 packages would ensure 54 dependent packages are rebuilt:
cozy@1.2.0 markets@0.5.3 gtranslator@40.0 apostrophe@2.5 eiciel@0.9.13.1 denemo@2.6.0
gpaste@3.42.2 arc-theme@20210412 gnome-shell-extension-gsconnect@48
numix-gtk-theme@2.6.7 eolie@0.9.101 deja-dup@42.8 lollypop@1.4.24 gnome-tweaks@40.0
passwordsafe@5.1 geary@40.0 komikku@0.37.0 phosh@0.14.0 seahorse@41.0 gnome@41.0
tootle@1.0 chatty@0.4.0 sideload@6.0.2 giara@0.3 gfeeds@0.16.2 blanket@0.5.0
```
I've given up on meson build system and just build it as a regular Rust package
with cargo build system.
Btw squeekboard is a requirement for Phosh to work as stated by Guido [1].
See the patches attached.
The current issue I face is probably due to the fact I fix the requirements
as squeekboard depends on older versions of packages that are no longer in Guix.
Should I bring the packages back or attempt to patch the Phosh upstream to use
newer versions of Rust crates?
> Regarding that schema issue: does it occur as well when you install the
> phosh package?
I'm stuck with squeekboard with these errors:
```
Compiling rs v0.1.0 (/tmp/guix-build-squeekboard-1.17.0.drv-0/source)
error[E0599]: no function or associated item named `from_glib_none` found for struct `gtk::Widget` in the current scope
--> src/drawing.rs:262:40
|
262 | let widget = unsafe { gtk::Widget::from_glib_none(keyboard.0) };
| ^^^^^^^^^^^^^^ function or associated item not found in `gtk::Widget`
|
= help: items from traits can only be used if the trait is in scope
help: the following trait is implemented but not in scope; perhaps add a `use` for it:
|
3 | use glib::translate::FromGlibPtrNone;
|
error[E0599]: no method named `unwrap` found for struct `glib::variant::Variant` in the current scope
--> src/popover.rs:136:52
|
136 | let inputs = settings.get_value("sources").unwrap();
| ^^^^^^ method not found in `glib::variant::Variant`
error[E0308]: mismatched types
--> src/popover.rs:145:13
|
145 | &variants::ArrayPairString(inputs).to_variant(),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `glib::variant::Variant`, found struct `glib::Variant`
|
= note: expected reference `&glib::variant::Variant`
found reference `&glib::Variant`
= note: perhaps two different versions of crate `glib` are being used?
error[E0599]: no function or associated item named `from_glib_none` found for struct `gtk::Widget` in the current scope
--> src/popover.rs:253:40
|
253 | let window = unsafe { gtk::Widget::from_glib_none(window.0) };
| ^^^^^^^^^^^^^^ function or associated item not found in `gtk::Widget`
|
= help: items from traits can only be used if the trait is in scope
help: the following trait is implemented but not in scope; perhaps add a `use` for it:
|
3 | use glib::translate::FromGlibPtrNone;
|
error[E0599]: no method named `unwrap` found for struct `glib::variant::Variant` in the current scope
--> src/popover.rs:264:56
|
264 | let inputs = settings.get_value("sources").unwrap();
| ^^^^^^ method not found in `glib::variant::Variant`
error[E0308]: mismatched types
--> src/popover.rs:340:18
|
340 | Some(current_layout_name.to_variant().type_()),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `glib::variant_type::VariantTy`, found struct `VariantTy`
|
= note: expected reference `&glib::variant_type::VariantTy`
found reference `&VariantTy`
= note: perhaps two different versions of crate `glib` are being used?
error[E0308]: mismatched types
--> src/popover.rs:341:13
|
341 | ¤t_layout_name.to_variant()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `glib::variant::Variant`, found struct `glib::Variant`
|
= note: expected reference `&glib::variant::Variant`
found reference `&glib::Variant`
= note: perhaps two different versions of crate `glib` are being used?
error[E0308]: mismatched types
--> src/popover.rs:387:9
|
387 | Continue(false)
| ^^^^^^^^^^^^^^^ expected struct `glib::Continue`, found struct `gdk::prelude::Continue`
|
= note: perhaps two different versions of crate `glib` are being used?
error[E0599]: no method named `to_glib_full` found for struct `CssProvider` in the current scope
--> src/style.rs:64:18
|
64 | provider.to_glib_full()
| ^^^^^^^^^^^^ method not found in `CssProvider`
|
::: /tmp/guix-build-squeekboard-1.17.0.drv-0/source/guix-vendor/rust-glib-0.9.3.tar.gz/src/translate.rs:279:8
|
279 | fn to_glib_full(&self) -> P {
| ------------ the method is available for `CssProvider` here
|
= help: items from traits can only be used if the trait is in scope
help: the following trait is implemented but not in scope; perhaps add a `use` for it:
|
29 | use glib::translate::ToGlibPtr;
|
error[E0599]: the method `get_property` exists for reference `>k::Settings`, but its trait bounds were not satisfied
--> src/style.rs:104:44
|
104 | let prop = |s: >k::Settings, name| s.get_property(name);
| ^^^^^^^^^^^^ method cannot be called on `>k::Settings` due to unsatisfied trait bounds
|
::: /tmp/guix-build-squeekboard-1.17.0.drv-0/source/guix-vendor/rust-gtk-0.8.1.tar.gz/src/auto/settings.rs:23:1
|
23 | / glib_wrapper! {
24 | | pub struct Settings(Object<gtk_sys::GtkSettings, gtk_sys::GtkSettingsClass, SettingsClass>) @implements StyleProvider;
25 | |
26 | | match fn {
27 | | get_type => || gtk_sys::gtk_settings_get_type(),
28 | | }
29 | | }
| | -
| | |
| |_doesn't satisfy `gtk::Settings: glib::ObjectExt`
| doesn't satisfy `gtk::Settings: glib::ObjectType`
|
= note: the following trait bounds were not satisfied:
`gtk::Settings: glib::ObjectType`
which is required by `gtk::Settings: glib::ObjectExt`
`>k::Settings: glib::ObjectType`
which is required by `>k::Settings: glib::ObjectExt`
= help: items from traits can only be used if the trait is in scope
help: the following trait is implemented but not in scope; perhaps add a `use` for it:
|
21 | use gdk::prelude::ObjectExt;
|
Some errors have detailed explanations: E0308, E0599.
For more information about an error, try `rustc --explain E0308`.
error: could not compile `rs` due to 10 previous errors
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "cargo" arguments: ("build" "--release") exit-status: 101 term-signal: #f stop-signal: #f>
```
[1] https://gitlab.gnome.org/World/Phosh/phosh/-/issues/692
----
Petr
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: v3-0001-gnu-Add-rust-xkbcommon-0.4.patch --]
[-- Type: text/x-patch; name=v3-0001-gnu-Add-rust-xkbcommon-0.4.patch, Size: 2063 bytes --]
From d226b385bda38b1df7d9a0394fae881841371bdd Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Mon, 10 Jan 2022 14:40:17 +0100
Subject: [PATCH v3 1/5] gnu: Add rust-xkbcommon-0.4.
* gnu/packages/crates-io.scm (rust-xkbcommon-0.4): New variable.
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 90c95b6368..21d5eb868b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -85,6 +85,7 @@ (define-module (gnu packages crates-io)
#:use-module (gnu packages version-control)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
+ #:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
#:use-module (gnu packages gtk)
#:use-module (gnu packages webkit)
@@ -71076,6 +71077,36 @@ (define-public rust-xml-rs-0.8
(description "An XML library in pure Rust.")
(license license:expat)))
+(define-public rust-xkbcommon-0.4
+ (package
+ (name "rust-xkbcommon")
+ (version "0.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "xkbcommon" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1kig3drxm3jbjlyxv9vxawpi2x32w2z9jxysxvg53gfsgmgym87x"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-libc" ,rust-libc-0.2)
+ ("rust-memmap" ,rust-memmap-0.7)
+ ("rust-xcb" ,rust-xcb-0.9))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-version-requirements
+ (lambda _
+ (substitute* "Cargo.toml"
+ (("0.8")
+ ,(package-version rust-xcb-0.9))))))))
+ (inputs (list libxkbcommon))
+ (home-page "https://github.com/rust-x-bindings/xkbcommon-rs")
+ (synopsis "Rust bindings and wrappers for libxkbcommon")
+ (description "Rust bindings and wrappers for libxkbcommon")
+ (license license:expat)))
+
(define-public rust-xml-rs-0.7
(package
(name "rust-xml-rs")
--
2.34.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: v3-0004-gnu-Add-squeekboard.patch --]
[-- Type: text/x-patch; name=v3-0004-gnu-Add-squeekboard.patch, Size: 3077 bytes --]
From f03a75ceeda012d486a68b06fd70beab390f3dbc Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Mon, 27 Dec 2021 20:23:25 +0100
Subject: [PATCH v3 4/5] gnu: Add squeekboard.
* gnu/packages/gnome.scm (squeekboard): New variable.
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 0bf5a8ed2f..a481b1db79 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -566,6 +566,70 @@ (define-public seed
(home-page "https://wiki.gnome.org/Projects/Seed")
(license license:lgpl2.0+)))
+(define-public squeekboard
+ (package
+ (name "squeekboard")
+ (version "1.17.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.gnome.org/World/Phosh/squeekboard")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "1612s6cim46a4rqzqpvz46m4l4kgdnf52bxgrpx7p4fp8r1qx3jk"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:modules ((guix build cargo-build-system)
+ (guix build utils)
+ (ice-9 textual-ports))
+ #:cargo-inputs
+ (("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
+ ("rust-cairo-rs" ,rust-cairo-rs-0.7)
+ ("rust-clap" ,rust-clap-2)
+ ("rust-gdk" ,rust-gdk-0.12)
+ ("rust-gio" ,rust-gio-0.7)
+ ("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gtk" ,rust-gtk-0.8)
+ ("rust-gtk-sys" ,rust-gtk-sys-0.9)
+ ("rust-bitflags" ,rust-bitflags-1)
+ ("rust-maplit" ,rust-maplit-1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-yaml" ,rust-serde-yaml-0.8)
+ ("rust-xkbcommon" ,rust-xkbcommon-0.4))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'patch-cargo-checksums 'fix-requirements
+ (lambda* _
+ (substitute* "Cargo.toml.in"
+ (("@path@/") ""))
+ (substitute* "Cargo.deps"
+ (("1.2") ,(version-major+minor (package-version
+ rust-bitflags-1)))
+ (("0.7") ,(version-major+minor (package-version
+ rust-gtk-0.8)))
+ (("0.11") ,(version-major+minor (package-version
+ rust-gdk-0.12)))
+ (("2.33") ,(version-major+minor (package-version
+ rust-clap-2))))))
+ (add-after 'fix-requirements 'prepare-cargo-toml
+ (lambda* (#:key source #:allow-other-keys)
+ (let* ((cargo-toml-in (call-with-input-file "Cargo.toml.in" get-string-all))
+ (cargo-deps (call-with-input-file "Cargo.deps" get-string-all))
+ (cargo-toml (open-file "Cargo.toml" "w")))
+ (display cargo-toml-in cargo-toml)
+ (display cargo-deps cargo-toml)
+ (close-output-port cargo-toml)))))))
+ (native-inputs (list wayland-protocols))
+ (inputs
+ (list gtk dbus))
+ (home-page "https://gitlab.gnome.org/World/Phosh/squeekboard")
+ (synopsis "On-screen-keyboard input method for Wayland")
+ (description "This package provides an on-screen-keyboard input
+ method for Wayland.")
+ (license license:gpl3+)))
+
(define-public libdmapsharing
(package
(name "libdmapsharing")
--
2.34.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: v3-0002-gnu-Add-phoc.patch --]
[-- Type: text/x-patch; name=v3-0002-gnu-Add-phoc.patch, Size: 4044 bytes --]
From 228be2a154607fa97d561366bd6f7e99fbcf61ab Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 17 Nov 2021 10:58:55 +0100
Subject: [PATCH v3 2/5] gnu: Add phoc.
* gnu/packages/gnome.scm (phoc): New variable.
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index bc99454b1b..0bf5a8ed2f 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -69,6 +69,7 @@
;;; Copyright © 2022 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
+;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1168,6 +1169,81 @@ (define-public mm-common
(home-page "https://gitlab.gnome.org/GNOME/mm-common")
(license license:gpl2+)))
+(define-public phoc
+ (package
+ (name "phoc")
+ (version "0.9.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.gnome.org/World/Phosh/phoc")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "18nwjbyjxq11ppfdky3bnfh9pr23fjl2543jwva0iz1n6c8mkpd9"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:tests? #f ; requires server connection
+ #:phases
+ (modify-phases %standard-phases
+ ; source of wlroots required in subprojects/wlroots folder
+ (add-after 'unpack 'get-wlroots
+ (lambda* (#:key inputs #:allow-other-keys)
+ (copy-recursively (assoc-ref inputs "wlroots-librem5-source")
+ "subprojects/wlroots")
+ #t))
+ (add-after 'get-wlroots 'patch-paths
+ (lambda _
+ (substitute* "src/server.c"
+ (("/bin/sh") (which "sh")))
+ (substitute* "tests/test-run.c"
+ (("/bin/true") (which "true"))
+ (("/bin/false") (which "false")))
+ #t))
+ ;; Those check a running phoc server against some screenshots in the repo.
+ ;; They differ only by the mouse cursor (shadow vs. no shadow).
+ (add-before 'patch-paths 'disable-failing-tests
+ (lambda _
+ (substitute* "tests/meson.build"
+ (("'layer-shell',") "")
+ (("'xdg-shell',") "")
+ (("'phosh'") ""))
+ #t))
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Tests require a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ #t)))))
+ (native-inputs
+ `(("gobject-introspection" ,gobject-introspection)
+ ("glib:bin" ,glib "bin")
+ ("gnome-desktop" ,gnome-desktop)
+ ("libinput" ,libinput)
+ ("libxkbcommon" ,libxkbcommon)
+ ("pkg-config" ,pkg-config)
+ ("wayland" ,wayland)
+ ("wayland-protocols" ,wayland-protocols)
+ ("wlroots-librem5-source" ; patched version for Librem 5
+ ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://source.puri.sm/Librem5/wlroots.git")
+ (commit "5413b1ec61c6e3390929db595c0ec92f92ea2594")))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "02q70244sfs2jzl8mxsvd51rrv59jxllyss821xgg0cmq49rgq5w"))))
+ ("xorg-server" ,xorg-server-for-tests)))
+ (propagated-inputs
+ `(("mutter" ,mutter)))
+ (synopsis "Wayland compositor for mobile phones")
+ (description "Phoc is a wayland compositor for mobile phones based on
+ wlroots.")
+ (home-page "https://gitlab.gnome.org/World/Phosh/phoc")
+ (license license:gpl3+)))
+
(define-public phodav
(package
(name "phodav")
--
2.34.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #5: v3-0003-gnu-Add-callaudiod.patch --]
[-- Type: text/x-patch; name=v3-0003-gnu-Add-callaudiod.patch, Size: 2082 bytes --]
From b87ce61b64b067bf60341e476bae37db7880a35a Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 17 Nov 2021 11:10:16 +0100
Subject: [PATCH v3 3/5] gnu: Add callaudiod.
* gnu/packages/audio.scm (callaudiod): New variable.
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 13e0f02837..3b452954d7 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -36,6 +36,7 @@
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2021 jgart <jgart@dismail.de>
;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org>
+;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2022 Arjan Adriaanse <arjan@adriaan.se>
;;;
;;; This file is part of GNU Guix.
@@ -1076,6 +1077,33 @@ (define-public calf
;; The plugins are released under LGPLv2.1+
(license (list license:lgpl2.1+ license:gpl2+))))
+(define-public callaudiod
+ (package
+ (name "callaudiod")
+ (version "0.1.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/mobian1/callaudiod")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "04pn6f9p2n0qsy7cbchmnqlmjfvn908vdryc4y38srnj3xiq212l"))))
+ (build-system meson-build-system)
+ (native-inputs `(("alsa-lib" ,alsa-lib)
+ ("glib" ,glib)
+ ("glib" ,glib "bin")
+ ("pkg-config" ,pkg-config)
+ ("pulseaudio" ,pulseaudio)))
+ (inputs `(("alsa-utils" ,alsa-utils)
+ ("pulseaudio" ,pulseaudio)))
+ (synopsis "Call audio routing daemon")
+ (description "This package provides a daemon for dealing with audio routing
+during phone calls. It provides a D-Bus interface.")
+ (home-page "https://gitlab.com/mobian1/callaudiod")
+ (license license:gpl3+)))
+
(define-public caps-plugins-lv2
(package
(name "caps-plugins-lv2")
--
2.34.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #6: v3-0005-gnu-Add-phosh.patch --]
[-- Type: text/x-patch; name=v3-0005-gnu-Add-phosh.patch, Size: 5812 bytes --]
From 1fc1bca4767f9876dd6d6cb102e76ab8d8bca120 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 17 Nov 2021 11:14:15 +0100
Subject: [PATCH v3 5/5] gnu: Add phosh.
* gnu/packages/gnome.scm (phosh): New variable.
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index a481b1db79..c2e1223725 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -91,6 +91,7 @@ (define-module (gnu packages gnome)
#:use-module (gnu packages admin)
#:use-module (gnu packages aidc)
#:use-module (gnu packages aspell)
+ #:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages avahi)
#:use-module (gnu packages backup)
@@ -1353,6 +1354,112 @@ (define-public phodav
(home-page "https://wiki.gnome.org/phodav")
(license license:lgpl2.1+)))
+(define-public phosh
+ (package
+ (name "phosh")
+ (version "0.14.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.gnome.org/World/Phosh/phosh")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0fhp2jmwjzzxd66b4figc2wdpzdjycpq3cf4lx3z04dzl9vmw65a"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:modules ((guix build meson-build-system)
+ ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
+ (guix build utils)
+ (ice-9 match))
+ #:imported-modules ((guix build glib-or-gtk-build-system)
+ ,@%meson-build-system-modules)
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'get-libgnome-volume-control
+ (lambda* (#:key inputs #:allow-other-keys)
+ (copy-recursively (assoc-ref inputs "libgnome-volume-control-source")
+ "subprojects/gvc")))
+ (add-after 'unpack 'get-libcall-ui
+ (lambda* (#:key inputs #:allow-other-keys)
+ (copy-recursively (assoc-ref inputs "libcall-ui")
+ "subprojects/libcall-ui")))
+ ;; we use elogind instead of systemd
+ (add-after 'unpack 'patch-systemd
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "meson.build"
+ (("libsystemd") "libelogind"))
+ (substitute* "src/meson.build"
+ (("libsystemd_dep") "libelogind_dep"))
+ (substitute* "src/util.c"
+ (("systemd/sd-login.h") "elogind/sd-login.h"))
+ (substitute* "src/main.c"
+ (("systemd/sd-daemon.h") "elogind/sd-daemon.h"))))
+ (add-before 'configure 'fix-phoc-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "data/phosh.in"
+ (("@bindir@") (string-append (assoc-ref inputs "phoc") "/bin")))))
+ (add-after 'install 'glib-or-gtk-compile-schemas
+ (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
+ (add-after 'install 'glib-or-gtk-wrap
+ (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
+ (delete 'check) ; TODO: needs a running wayland compositor
+ )))
+ (native-inputs
+ `(("elogind" ,elogind)
+ ("gcr" ,gcr)
+ ("gettext" ,gettext-minimal)
+ ("git" ,git)
+ ("glib:bin" ,glib "bin")
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("gnome-desktop" ,gnome-desktop)
+ ("gtk+:bin" ,gtk+ "bin")
+ ("pkg-config" ,pkg-config)))
+ (inputs `(
+ ("libgnome-volume-control-source" ; needs to be present in subprojects/gvc folder
+ ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.gnome.org/GNOME/libgnome-volume-control.git")
+ (commit "ae1a34aafce7026b8c0f65a43c9192d756fe1057")))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0a4qh5pgyjki904qf7qmvqz2ksxb0p8xhgl2aixfbhixn0pw6saw"))))
+ ("libcall-ui" ; needs to be present in subprojects/libcall-ui folder
+ ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.gnome.org/World/Phosh/libcall-ui")
+ (commit "465f6add090b623fb80c6c5cbb9ab2880ff531a4")))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1as857npl2yra4zh4bfph9wvhvjck53i2qp3zzbv3mbpi36nscfr"))))
+ ("callaudiod" ,callaudiod)
+ ("libsecret" ,libsecret)
+ ("linux-pam" ,linux-pam)
+ ("network-manager" ,network-manager)
+ ("polkit" ,polkit)
+ ("upower" ,upower)
+ ("feedbackd" ,feedbackd)
+ ("libhandy" ,libhandy)
+ ("libgudev" ,libgudev)
+ ("pulseaudio" ,pulseaudio)))
+ (propagated-inputs
+ ;; "missing" schema files
+ ;; org.gnome.DejaDup.File org.guido-berhoerster.code.package-update-indicator org.blueberry
+ `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ;org.gnome.desktop.wm.keybindings
+ ("gnome-session" ,gnome-session)
+ ("mutter" ,mutter) ;org.gnome.mutter.keybindings
+ ("network-manager-applet" ,network-manager-applet) ;org.gnome.nm-applet
+ ("phoc" ,phoc))) ;sm.puri.phoc
+ (synopsis "Wayland shell for GNOME on mobile devices")
+ (description "Phosh is a pure Wayland prototype intended for mobile devices.")
+ (home-page "https://gitlab.gnome.org/World/Phosh/phosh")
+ (license license:gpl3+)))
+
(define-public gnome-color-manager
(package
(name "gnome-color-manager")
--
2.34.0
next prev parent reply other threads:[~2022-03-24 13:35 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-02 22:13 [bug#44400] [PATCH 0/2] WIP: Add phosh Jonathan Brielmaier
2020-11-02 22:28 ` [bug#44400] [PATCH 1/2] WIP: gnu: Add phoc Jonathan Brielmaier
2020-11-02 22:28 ` [bug#44400] [PATCH 2/2] WIP: gnu: Add phosh Jonathan Brielmaier
2021-02-08 11:02 ` Jonathan Brielmaier
2021-11-17 10:16 ` [bug#44400] [PATCH v2 1/4] gnu: Add phoc phodina via Guix-patches via
2021-11-17 10:17 ` [bug#44400] [PATCH v2 2/4] gnu: libhandy: Update to 1.5.0 phodina via Guix-patches via
2021-11-17 10:18 ` [bug#44400] [PATCH v2 3/4] gnu: Add callaudiod phodina via Guix-patches via
2021-11-17 10:19 ` [bug#44400] [PATCH v2 4/4] WIP: gnu: Add phosh phodina via Guix-patches via
2021-11-17 10:26 ` Jonathan Brielmaier
2021-11-17 10:32 ` phodina via Guix-patches via
2021-11-28 10:46 ` phodina via Guix-patches via
2022-03-24 13:32 ` phodina via Guix-patches via [this message]
2021-11-17 10:26 ` [bug#44400] Phosh v2 patches comments phodina via Guix-patches via
2022-03-04 17:40 ` [bug#44400] [PATCH 0/2] WIP: Add phosh Jonathan Brielmaier
2022-08-14 20:00 ` [bug#44400] [PATCH v4]: gnu: " phodina via Guix-patches via
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
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='IruD3EyXSCGFp-IpoM65x9I9b7XTOyHF8H2-5fqOZgvewo6XjaZ6ezFtZdTjoB3Kcx5BaIn_OltI59Qp8YIm5KQ6csweyRVIfqcLrbibMQY=@protonmail.com' \
--to=guix-patches@gnu.org \
--cc=44400@debbugs.gnu.org \
--cc=phodina@protonmail.com \
/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 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).