diff mbox series

[bug#41293] Add Pantheon desktop environment (cont.)

Message ID 87r1vl0wk3.fsf@protonmail.com
State New
Headers show
Series [bug#41293] Add Pantheon desktop environment (cont.) | expand

Checks

Context Check Description
cbaines/applying patch fail View Laminar job

Commit Message

ashish.is--- via Guix-patches" via May 15, 2020, 8:31 p.m. UTC
This patch adds the Sideload application, a graphical handler for
flatpakrefs.

Comments

Danny Milosavljevic May 19, 2020, 10:15 a.m. UTC | #1
Hi,

please do not invoke programs like 

  glib-compile-schemas
  update-desktop-database
  update-icon-cache

in individual packages.

The reason is that we are trying to keep packages modular.

If you add an icon cache with some fixed name that will cache just the icons
of that package in two packages, installing those into the same profile will
create a profile merge conflict.

We have profile hooks that will do glib-compile-schemas,
update-desktop-database and update-icon-cache anyway (in guix/profiles.scm),
so all that is required to do is to disable the invocation of these
programs in your package.
Danny Milosavljevic May 19, 2020, 11 a.m. UTC | #2
>   glib-compile-schemas

Ok, maybe that one isn't so bad.  Ok for that one.
diff mbox series

Patch

From 855797d1a637f342c43ac663e07c8bdcd642607b Mon Sep 17 00:00:00 2001
From: Ryan Prior <rprior@protonmail.com>
Date: Fri, 15 May 2020 14:56:34 -0500
Subject: [PATCH 2/6] gnu: Add sideload.

* gnu/packages/pantheon.scm (sideload): New variable.
---
 gnu/packages/pantheon.scm | 57 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

diff --git a/gnu/packages/pantheon.scm b/gnu/packages/pantheon.scm
index 834ea74f37..a5ee6fafce 100644
--- a/gnu/packages/pantheon.scm
+++ b/gnu/packages/pantheon.scm
@@ -17,11 +17,15 @@ 
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages pantheon)
+  #:use-module (gnu packages cmake)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages package-management)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages xml)
   #:use-module (gnu packages)
   #:use-module (guix build-system meson)
   #:use-module (guix git-download)
@@ -59,3 +63,56 @@ 
 things, it provides complex widgets and convenience functions designed for use
 in apps built for the Pantheon desktop.")
     (license license:lgpl3+)))
+
+(define-public sideload
+  (package
+    (name "sideload")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/elementary/sideload.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1nnaq4vc0aag6pckxhrma5qv8al7i00rrlg95ac4iqqmivja7i92"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:glib-or-gtk? #t
+       #:configure-flags (list (string-append "-Dflatpak="
+                                              (assoc-ref %build-inputs "flatpak")
+                                              "/include"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'install-symlinks
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin/io.elementary.sideload"))
+                    (link (string-append out "/bin/sideload")))
+               (symlink bin link)))))))
+    (inputs
+     `(("flatpak" ,flatpak)
+       ("granite" ,granite)
+       ("gtk" ,gtk+)
+       ("libostree" ,libostree)))
+    (propagated-inputs
+     `(("glib-networking" ,glib-networking)))
+    (native-inputs
+     `(("cmake" ,cmake)
+       ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
+       ("gettext" ,gettext-minimal)
+       ("glib" ,glib)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("libgee" ,libgee)
+       ("libxml2" ,libxml2)
+       ("pkg-config" ,pkg-config)
+       ("vala" ,vala)))
+    (home-page "https://github.com/elementary/sideload")
+    (synopsis "Graphical application to side-load Flatpaks")
+    (description "Sideload handles flatpakref files, like those you might find
+on Flathub or another third-party website providing a Flatpak app for
+download.")
+    (license license:gpl3)))
-- 
2.17.1