diff mbox series

[bug#41293,2/2] gnu: Add pantheon-terminal.

Message ID 794c15ca71e26a14cb3eb9e054af9efdc68e30c8.1694433831.git.altadil@protonmail.com
State New
Headers show
Series [bug#41293] Add Pantheon desktop environment | expand

Commit Message

altadil Sept. 11, 2023, 12:07 p.m. UTC
* gnu/packages/pantheon.scm (pantheon-terminal): New variable.
This is an update of the package initially sent by rprior.
guix build --rounds=2 was successfully run on a Zen4 CPU,
for the following --system= options:
- x86_64-linux
- i686-linux
- aarch64-linux.
I’ve been using the app for a couple of days.
I’ve detected one bug: right-clicking a tab (in GNOME) segfaults.
But I think debugging this would be way above my level. :(
Apart from this one, everything seems fine.
 gnu/packages/pantheon.scm | 53 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)


Efraim Flashner Sept. 28, 2023, 4:36 p.m. UTC | #1
I've added a copyright line for you at the top of the file. I also moved
xvfb-run to native-inputs since the package doesn't retain a reference
to it. I also added a note by the tests.

Thanks! Patches pushed.
diff mbox series


diff --git a/gnu/packages/pantheon.scm b/gnu/packages/pantheon.scm
index f5b19eb452..f01c9778ee 100644
--- a/gnu/packages/pantheon.scm
+++ b/gnu/packages/pantheon.scm
@@ -26,11 +26,13 @@  (define-module (gnu packages pantheon)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages package-management)
+  #:use-module (gnu packages pcre)
   #:use-module (gnu packages photo)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages web)
+  #:use-module (gnu packages xorg)
   #:use-module (gnu packages)
   #:use-module (guix build-system meson)
   #:use-module (guix git-download)
@@ -129,6 +131,57 @@  (define-public pantheon-calculator
     (license license:gpl3)))
+(define-public pantheon-terminal
+  (package
+    (name "pantheon-terminal")
+    (version "6.1.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/elementary/terminal")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0x3gzghnfx4a1q2zhra4dysc0pm1zvlfdxj96qhfb627pz16iv4k"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:tests? #f
+       #:glib-or-gtk? #t
+       #:phases (modify-phases %standard-phases
+                  (add-before 'install 'set-environment-variables
+                    (lambda _
+                      ;; Disable compiling schemas and updating desktop databases
+                      (setenv "DESTDIR" "/") #t))
+                  (add-after 'install 'install-symlinks
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let* ((out (assoc-ref outputs "out"))
+                             (bin (string-append out
+                                   "/bin/io.elementary.terminal"))
+                             (link (string-append out "/bin/pantheon-terminal")))
+                        (symlink bin link)))))))
+    (native-inputs (list appstream
+                         desktop-file-utils ;required for tests
+                         gettext-minimal ;for msgfmt
+                         `(,glib "bin") ;for glib-compile-resources
+                         gobject-introspection
+                         pkg-config
+                         vala))
+    (inputs (list granite-6
+                  gtk+
+                  libgee
+                  libhandy
+                  pcre2
+                  vte
+                  xvfb-run))
+    (synopsis "Terminal emulator from elementaryOS")
+    (description "pantheon-terminal is a lightweight, beautiful and simple
+terminal.  It comes with sane defaults, browser-class tabs, sudo paste
+protection, smart copy/paste, and little to no configuration.  It is the default
+terminal in the Pantheon desktop.")
+    (home-page "https://elementary.io/open-source")
+    (license license:lgpl3)))
 (define-public sideload
     (name "sideload")