unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#60294] [PATCH] gnu: Add libxapp.
@ 2022-12-24  7:30 Wamm K. D
  2022-12-24 10:35 ` Liliana Marie Prikler
  0 siblings, 1 reply; 4+ messages in thread
From: Wamm K. D @ 2022-12-24  7:30 UTC (permalink / raw)
  To: 60294; +Cc: Wamm K. D

* gnu/packages/cinnamon.scm (libxapp): New variable.
---
I wasn't sure where to put this as, while definitely used by Cinnamon,
I think this is used by Mate, as well (and possibly XFCE?). I don't
know if a mint.scm file might make any sense as it's quite literally
under the Linux Mint repo. account? If it would be better to place
this elsewhere, just let me know and I'll adjust.

 gnu/packages/cinnamon.scm | 72 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 72 insertions(+)

diff --git a/gnu/packages/cinnamon.scm b/gnu/packages/cinnamon.scm
index fe33e797e4..c1f258c18d 100644
--- a/gnu/packages/cinnamon.scm
+++ b/gnu/packages/cinnamon.scm
@@ -26,6 +26,7 @@ (define-module (gnu packages cinnamon)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
+  #:use-module (gnu packages admin)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
@@ -37,6 +38,77 @@ (define-module (gnu packages cinnamon)
   #:use-module (gnu packages python)
   #:use-module (gnu packages xorg))
 
+(define-public libxapp
+  (package
+    (name "libxapp")
+    (version "2.4.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/linuxmint/xapp/")
+                    (commit version)))
+              (sha256
+               (base32
+                "0cy9g0zqcbx9zscc9qavqmghfyfb8244cg299llv1ha8n6mpxl3s"))))
+    (build-system meson-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'configure 'set-gtk-module-path
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (substitute* "libxapp/meson.build"
+                (("gtk3_dep\\.get_pkgconfig_variable[(]'libdir'[)]")
+                 (string-append "'" (assoc-ref outputs "out") "/lib'")))
+
+              (substitute* "pygobject/meson.build"
+                (("get_option[(]'py-overrides-dir'[)]")
+                 (string-append "'"
+                                (assoc-ref outputs "out")
+                                "/lib/python"
+                                #$(version-major+minor (package-version python))
+                                "/site-packages/gi/overrides'")))
+
+              (substitute* "scripts/pastebin"
+                (("'nc'") (string-append "'"
+                                         (assoc-ref inputs "netcat")
+                                         "/bin/nc'")))
+
+              (substitute* "scripts/upload-system-info"
+                (("'inxi'") (string-append "'"
+                                           (assoc-ref inputs "inxi-minimal")
+                                           "/bin/inxi'"))
+                (("'/usr/bin/pastebin'") (string-append "'"
+                                                        (assoc-ref outputs "out")
+                                                        "/bin/pastebin'"))
+                (("'xdg-open'") (string-append "'"
+                                               (assoc-ref inputs "xdg-utils")
+                                               "/bin/xdg-open'"))))))))
+    (inputs
+     (list dbus
+           glib ; for gio
+           gtk+
+           inxi-minimal ; used by upload-system-info
+           libdbusmenu
+           libgnomekbd
+           netcat ; used by pastebin
+           xdg-utils ; used by upload-system-info
+           ))
+    (native-inputs
+     (list gettext-minimal
+           `(,glib "bin") ; for glib-mkenums
+           gobject-introspection
+           pkg-config
+           python
+           python-pygobject
+           vala))
+    (home-page "https://github.com/linuxmint/xapp")
+    (synopsis "Cross-desktop libraries and common resources for X-apps")
+    (description
+     "The components which are common to multiple GTK desktop environments
+(Cinnamon, MATE and Xfce) and required to implement cross-DE solutions.")
+    (license license:lgpl3)))
+
 (define-public cinnamon-desktop
   (package
     (name "cinnamon-desktop")
-- 
2.38.1





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

* [bug#60294] [PATCH] gnu: Add libxapp.
  2022-12-24  7:30 [bug#60294] [PATCH] gnu: Add libxapp Wamm K. D
@ 2022-12-24 10:35 ` Liliana Marie Prikler
  2022-12-24 11:23   ` Jaft
  0 siblings, 1 reply; 4+ messages in thread
From: Liliana Marie Prikler @ 2022-12-24 10:35 UTC (permalink / raw)
  To: Wamm K. D, 60294

Am Samstag, dem 24.12.2022 um 01:30 -0600 schrieb Wamm K. D:
> * gnu/packages/cinnamon.scm (libxapp): New variable.
> ---
> I wasn't sure where to put this as, while definitely used by
> Cinnamon,
> I think this is used by Mate, as well (and possibly XFCE?). I don't
> know if a mint.scm file might make any sense as it's quite literally
> under the Linux Mint repo. account? If it would be better to place
> this elsewhere, just let me know and I'll adjust.
I think it's in the right location.
> 
>  gnu/packages/cinnamon.scm | 72
> +++++++++++++++++++++++++++++++++++++++
>  1 file changed, 72 insertions(+)
> 
> diff --git a/gnu/packages/cinnamon.scm b/gnu/packages/cinnamon.scm
> index fe33e797e4..c1f258c18d 100644
> --- a/gnu/packages/cinnamon.scm
> +++ b/gnu/packages/cinnamon.scm
> @@ -26,6 +26,7 @@ (define-module (gnu packages cinnamon)
>    #:use-module (guix utils)
>    #:use-module (guix build-system gnu)
>    #:use-module (gnu packages)
> +  #:use-module (gnu packages admin)
>    #:use-module (gnu packages autotools)
>    #:use-module (gnu packages freedesktop)
>    #:use-module (gnu packages gettext)
> @@ -37,6 +38,77 @@ (define-module (gnu packages cinnamon)
>    #:use-module (gnu packages python)
>    #:use-module (gnu packages xorg))
>  
> +(define-public libxapp
> +  (package
> +    (name "libxapp")
> +    (version "2.4.2")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/linuxmint/xapp/")
> +                    (commit version)))
> +              (sha256
> +               (base32
> +               
> "0cy9g0zqcbx9zscc9qavqmghfyfb8244cg299llv1ha8n6mpxl3s"))))
> +    (build-system meson-build-system)
> +    (arguments
> +     (list
> +      #:phases
> +      #~(modify-phases %standard-phases
> +          (add-before 'configure 'set-gtk-module-path
> +            (lambda* (#:key inputs outputs #:allow-other-keys)
> +              (substitute* "libxapp/meson.build"
> +                (("gtk3_dep\\.get_pkgconfig_variable[(]'libdir'[)]")
> +                 (string-append "'" (assoc-ref outputs "out")
> "/lib'")))
> +
> +              (substitute* "pygobject/meson.build"
> +                (("get_option[(]'py-overrides-dir'[)]")
> +                 (string-append "'"
> +                                (assoc-ref outputs "out")
> +                                "/lib/python"
> +                                #$(version-major+minor (package-
> version python))
> +                                "/site-packages/gi/overrides'")))
I think python-build-system has a function to get this version in a
more reliable way.

> +              (substitute* "scripts/pastebin"
> +                (("'nc'") (string-append "'"
> +                                         (assoc-ref inputs "netcat")
> +                                         "/bin/nc'")))
Use search-input-file.
> +              (substitute* "scripts/upload-system-info"
> +                (("'inxi'") (string-append "'"
> +                                           (assoc-ref inputs "inxi-
> minimal")
> +                                           "/bin/inxi'"))
Use search-input-file.
> +                (("'/usr/bin/pastebin'") (string-append "'"
> +                                                        (assoc-ref
> outputs "out")
> +                                                       
> "/bin/pastebin'"))
Oof, fine, but note that you can also write #$output
> +                (("'xdg-open'") (string-append "'"
> +                                               (assoc-ref inputs
> "xdg-utils")
> +                                               "/bin/xdg-
> open'"))))))))
Use search-input-file.
> +    (inputs
> +     (list dbus
> +           glib ; for gio
> +           gtk+
> +           inxi-minimal ; used by upload-system-info
> +           libdbusmenu
> +           libgnomekbd
> +           netcat ; used by pastebin
> +           xdg-utils ; used by upload-system-info
> +           ))
> +    (native-inputs
> +     (list gettext-minimal
> +           `(,glib "bin") ; for glib-mkenums
> +           gobject-introspection
> +           pkg-config
> +           python
> +           python-pygobject
> +           vala))
> +    (home-page "https://github.com/linuxmint/xapp")
> +    (synopsis "Cross-desktop libraries and common resources for X-
> apps")
> +    (description
> +     "The components which are common to multiple GTK desktop
> environments
> +(Cinnamon, MATE and Xfce) and required to implement cross-DE
> solutions.")
The description should consist of full sentences.
Also, since X-Apps are quite specific to Linux Mint, you should
probably not take folks knowing what they are for granted.
> +    (license license:lgpl3)))
No +?

Cheers

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

* [bug#60294] [PATCH] gnu: Add libxapp.
  2022-12-24 10:35 ` Liliana Marie Prikler
@ 2022-12-24 11:23   ` Jaft
  2022-12-24 14:13     ` Liliana Marie Prikler
  0 siblings, 1 reply; 4+ messages in thread
From: Jaft @ 2022-12-24 11:23 UTC (permalink / raw)
  To: 60294@debbugs.gnu.org, Liliana Marie Prikler

 On Saturday, December 24, 2022 at 04:36:02 AM CST, Liliana Marie Prikler <liliana.prikler@gmail.com> wrote: 

Am Samstag, dem 24.12.2022 um 01:30 -0600 schrieb Wamm K. D:
> > +              (substitute* "pygobject/meson.build"
> > +                (("get_option[(]'py-overrides-dir'[)]")
> > +                 (string-append "'"
> > +                                (assoc-ref outputs "out")
> > +                                "/lib/python"
> > +                                #$(version-major+minor (package-
> > version python))
> > +                                "/site-packages/gi/overrides'")))
> I think python-build-system has a function to get this version in a
> more reliable way.

Would you possibly know any more details on it? Just looking through the module, I don't see any functions regarding version number, I'm afraid, and it's not intuitive to me how I might use it in this context if I'm using a different build system for the package.

> > +                (("'/usr/bin/pastebin'") (string-append "'"
> > +                                                        (assoc-ref
> > outputs "out")
> > +                                                       
> > "/bin/pastebin'"))
> Oof, fine, but note that you can also write #$output

Fair; I'd thought about it but the example I was working off of was using G-expressions and did it this way so I just went with it.

Something I've wondered: is there a point to having the lambda arguments be "#:key outputs", if you can just use "#$output"? I've seen a few setup their lambda that way only to use "#$output" and not ever use "outputs".

I may just be missing something regarding G-expressions, though.

> > +    (synopsis "Cross-desktop libraries and common resources for X-
> > apps")
> > +    (description
> > +     "The components which are common to multiple GTK desktop
> > environments
> > +(Cinnamon, MATE and Xfce) and required to implement cross-DE
> > solutions.")
> The description should consist of full sentences.
> Also, since X-Apps are quite specific to Linux Mint, you should
> probably not take folks knowing what they are for granted.

True but is there any easy way to specify what they're related to without making it much longer than just a synopsis?

"Cross-desktop libraries and common resources" can apply to many things and is generic to the point of being unhelpful, I'd think.

I could always do "developed by Linux Mint" instead of "for X-apps" which might be more familiar but, again, it borders to being unhelpfully unspecific, again (even if less so), to me; there are probably a lot of "Cross-desktop libraries and common resources" developed by Linux Mint. This particular library was developed for use with the X-apps they're developing, specifically.

I'm just not sure what other description would work while still being a synopsis.

> > +    (license license:lgpl3)))
> No +?

Mmm; I didn't think so but you raise a good point. Lemme double check myself; I'll adjust it, if otherwise.




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

* [bug#60294] [PATCH] gnu: Add libxapp.
  2022-12-24 11:23   ` Jaft
@ 2022-12-24 14:13     ` Liliana Marie Prikler
  0 siblings, 0 replies; 4+ messages in thread
From: Liliana Marie Prikler @ 2022-12-24 14:13 UTC (permalink / raw)
  To: Jaft, 60294@debbugs.gnu.org

Am Samstag, dem 24.12.2022 um 11:23 +0000 schrieb Jaft:
>  On Saturday, December 24, 2022 at 04:36:02 AM CST, Liliana Marie
> Prikler <liliana.prikler@gmail.com> wrote: 
> 
> Am Samstag, dem 24.12.2022 um 01:30 -0600 schrieb Wamm K. D:
> > > +              (substitute* "pygobject/meson.build"
> > > +                (("get_option[(]'py-overrides-dir'[)]")
> > > +                 (string-append "'"
> > > +                                (assoc-ref outputs "out")
> > > +                                "/lib/python"
> > > +                                #$(version-major+minor (package-
> > > version python))
> > > +                                "/site-
> > > packages/gi/overrides'")))
> > I think python-build-system has a function to get this version in a
> > more reliable way.
> 
> Would you possibly know any more details on it? Just looking through
> the module, I don't see any functions regarding version number, I'm
> afraid, and it's not intuitive to me how I might use it in this
> context if I'm using a different build system for the package.

You're looking for the (site-packages) function.  As for how to use it,
you need to "mix in" the python build system as is done for instance in
python-gst.

> > > +                (("'/usr/bin/pastebin'") (string-append "'"
> > > +                                                        (assoc-
> > > ref
> > > outputs "out")
> > > +                                                       
> > > "/bin/pastebin'"))
> > Oof, fine, but note that you can also write #$output
> 
> Fair; I'd thought about it but the example I was working off of was
> using G-expressions and did it this way so I just went with it.
> 
> Something I've wondered: is there a point to having the lambda
> arguments be "#:key outputs", if you can just use "#$output"? I've
> seen a few setup their lambda that way only to use "#$output" and not
> ever use "outputs".
> 
> I may just be missing something regarding G-expressions, though.
The outputs key comes from a time in which #$output could not yet be
used in phases.  There is currently no definitely preferred flavour.

> > > +    (synopsis "Cross-desktop libraries and common resources for
> > > X-
> > > apps")
> > > +    (description
> > > +     "The components which are common to multiple GTK desktop
> > > environments
> > > +(Cinnamon, MATE and Xfce) and required to implement cross-DE
> > > solutions.")
> > The description should consist of full sentences.
> > Also, since X-Apps are quite specific to Linux Mint, you should
> > probably not take folks knowing what they are for granted.
> 
> True but is there any easy way to specify what they're related to
> without making it much longer than just a synopsis?
> 
> "Cross-desktop libraries and common resources" can apply to many
> things and is generic to the point of being unhelpful, I'd think.
> 
> I could always do "developed by Linux Mint" instead of "for X-apps"
> which might be more familiar but, again, it borders to being
> unhelpfully unspecific, again (even if less so), to me; there are
> probably a lot of "Cross-desktop libraries and common resources"
> developed by Linux Mint. This particular library was developed for
> use with the X-apps they're developing, specifically.
> 
> I'm just not sure what other description would work while still being
> a synopsis.
I think "Library for traditional GTK applications" would work fine,
looking at [1].

> > 
Cheers

[1]
https://linuxmint-developer-guide.readthedocs.io/en/latest/xapps.html




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

end of thread, other threads:[~2022-12-24 14:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-24  7:30 [bug#60294] [PATCH] gnu: Add libxapp Wamm K. D
2022-12-24 10:35 ` Liliana Marie Prikler
2022-12-24 11:23   ` Jaft
2022-12-24 14:13     ` Liliana Marie Prikler

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).