Subject: Re: [PATCH v5 3/3] gnu: Add blackbox-terminal.

From: Liliana Marie Prikler <[email-masked]>
Date: Thu, 20 Feb 2025 22:10:57 +0100

Am Sonntag, dem 08.09.2024 um 01:01 +0530 schrieb Ashvith Shetty:
> * gnu/packages/gnome-xyz.scm (blackbox-terminal-0.14.0): New public
> variable.
> 
> Change-Id: I3f95a4d9d2ecc5767e04f675d1fcf83649d684df
> ---
>  gnu/packages/gnome-xyz.scm | 65
> ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 65 insertions(+)
> 
> diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm
> index c5abcbb14d..5a2a5bf629 100644
> --- a/gnu/packages/gnome-xyz.scm
> +++ b/gnu/packages/gnome-xyz.scm
> @@ -65,6 +65,7 @@ (define-module (gnu packages gnome-xyz)
>    #:use-module (gnu packages ibus)
>    #:use-module (gnu packages inkscape)
>    #:use-module (gnu packages image)
> +  #:use-module (gnu packages pcre)
>    #:use-module (gnu packages pkg-config)
>    #:use-module (gnu packages python)
>    #:use-module (gnu packages python-science)
> @@ -1795,3 +1796,67 @@ (define-public libpqmarble
>      (synopsis "Utility library for GNOME apps")
>      (description "Utility library for GNOME apps.")
>      (license license:gpl3)))
> +
> +(define-public blackbox-terminal
> +  (package
> +    (name "blackbox-terminal")
> +    (version "0.14.0")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url "https://gitlab.gnome.org/raggesilver/blackbox")
> +             (commit (string-append "v" version))))
> +       (file-name (git-file-name name version))
> +       (sha256
> +        (base32
> "0g7n2z0m7jjbn93zvx3ix7ph4mpncwq80cjjc2prp878cksj3g3r"))))
> +    (build-system meson-build-system)
> +    (arguments
> +     `(#:glib-or-gtk? #t
> +       #:configure-flags `("-Dblackbox_is_flatpak=false")
> +       #:phases (modify-phases %standard-phases
> +                  (add-after 'unpack 'fix-gtk4-update-icon-cache
> +                    (lambda _
> +                      (substitute* "build-aux/meson/postinstall.py"
> +                        (("gtk-update-icon-cache")
> +                         "gtk4-update-icon-cache")))))))
> +    (native-inputs (list pkg-config
> +                         vala
> +                         python-3.10
> +                         desktop-file-utils ;for update-desktop-
> database
> +                         `(,glib "bin") ;for glib-compile-schemas,
> etc.
> +                         `(,gtk "bin") ;gtk4-update-icon-cache
> +                         gettext-minimal))
> +    (inputs (list gtk
> +                  vte-gtk-4-with-sixel
> +                  json-glib
> +                  libpqmarble
> +                  libadwaita
> +                  pcre2
> +                  ;; libxml2 and libgee are also required to build
> +                  ;; but meson fails to catch it.
> +                  libxml2
> +                  libgee
How does the build succeed then? 🤔
> +                  ;; The build won't fail without librsvg, but
> +                  ;; since it is a dependency, it has been included.
> +                  librsvg))
> +    (home-page "https://gitlab.gnome.org/raggesilver/blackbox/")
> +    (synopsis "Black Box is an elegant and customizable terminal for
> GNOME.")
> +    (description
> +     "An elegant and customizable terminal for GNOME:
Again, this should be a full sentence
> +@itemize
> +@item Color schemes - (Tilix compatible color scheme support)
> +@item Theming - your color scheme can be used to style the whole app
These two can be simplified to just "color schemes" imho
> +@item Background transparency
> +@item Custom fonts, padding, and cell spacing
> +@item Tabs
> +@item Support for drag and dropping files
> +@item Sixel (experimental)
> +@item Customizable keybindings
> +@item Toggle-able header bar
> +@item Search your backlog with text or regex
> +@item Context aware header bar - the header bar changes colors when
> running commands with sudo and in ssh sessions
> +@item Desktop notifications - get notified when a command is
> finished in the background
These two are also supported by the default gnome terminal, so I
wouldn't want to pad vertical space by advertising them
> +@item Customizable UI
> +@end itemize")
IMHO this list looks like a bullet soup that upstream uses for
advertisement purposes.  I think it could be structured much more
nicely into "Blackbox is a terminal for the GNOME desktop supporting
XYZ features.  You can fully customize ABC bla."
> +    (license license:gpl3)))
Should be gpl3+

Cheers