gnu: Add GNOME Plots.
* gnu/packages/gnome-xyz.scm (gnome-plots): New variable.
This commit is contained in:
		
							parent
							
								
									5f1f8a9374
								
							
						
					
					
						commit
						7db8fe3e40
					
				
					 1 changed files with 84 additions and 0 deletions
				
			
		| 
						 | 
					@ -16,6 +16,7 @@
 | 
				
			||||||
;;; Copyright © 2021, 2022 Justin Veilleux <terramorpha@cock.li>
 | 
					;;; Copyright © 2021, 2022 Justin Veilleux <terramorpha@cock.li>
 | 
				
			||||||
;;; Copyright © 2021 Attila Lendvai <attila@lendvai.name>
 | 
					;;; Copyright © 2021 Attila Lendvai <attila@lendvai.name>
 | 
				
			||||||
;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com>
 | 
					;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com>
 | 
				
			||||||
 | 
					;;; Copyright © 2022 Eric Bavier <bavier@posteo.net>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -37,6 +38,7 @@
 | 
				
			||||||
  #:use-module (guix build-system gnu)
 | 
					  #:use-module (guix build-system gnu)
 | 
				
			||||||
  #:use-module (guix build-system copy)
 | 
					  #:use-module (guix build-system copy)
 | 
				
			||||||
  #:use-module (guix build-system meson)
 | 
					  #:use-module (guix build-system meson)
 | 
				
			||||||
 | 
					  #:use-module (guix build-system python)
 | 
				
			||||||
  #:use-module (guix gexp)
 | 
					  #:use-module (guix gexp)
 | 
				
			||||||
  #:use-module (guix git-download)
 | 
					  #:use-module (guix git-download)
 | 
				
			||||||
  #:use-module (guix packages)
 | 
					  #:use-module (guix packages)
 | 
				
			||||||
| 
						 | 
					@ -50,6 +52,7 @@
 | 
				
			||||||
  #:use-module (gnu packages base)
 | 
					  #:use-module (gnu packages base)
 | 
				
			||||||
  #:use-module (gnu packages bash)
 | 
					  #:use-module (gnu packages bash)
 | 
				
			||||||
  #:use-module (gnu packages build-tools)
 | 
					  #:use-module (gnu packages build-tools)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages check)
 | 
				
			||||||
  #:use-module (gnu packages gettext)
 | 
					  #:use-module (gnu packages gettext)
 | 
				
			||||||
  #:use-module (gnu packages glib)
 | 
					  #:use-module (gnu packages glib)
 | 
				
			||||||
  #:use-module (gnu packages gnome)
 | 
					  #:use-module (gnu packages gnome)
 | 
				
			||||||
| 
						 | 
					@ -58,6 +61,7 @@
 | 
				
			||||||
  #:use-module (gnu packages image)
 | 
					  #:use-module (gnu packages image)
 | 
				
			||||||
  #:use-module (gnu packages pkg-config)
 | 
					  #:use-module (gnu packages pkg-config)
 | 
				
			||||||
  #:use-module (gnu packages python)
 | 
					  #:use-module (gnu packages python)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages python-science)
 | 
				
			||||||
  #:use-module (gnu packages python-xyz)
 | 
					  #:use-module (gnu packages python-xyz)
 | 
				
			||||||
  #:use-module (gnu packages ssh)
 | 
					  #:use-module (gnu packages ssh)
 | 
				
			||||||
  #:use-module (gnu packages tls)
 | 
					  #:use-module (gnu packages tls)
 | 
				
			||||||
| 
						 | 
					@ -217,6 +221,86 @@ simple and consistent.")
 | 
				
			||||||
and a few extra features.")
 | 
					and a few extra features.")
 | 
				
			||||||
    (license license:gpl3)))
 | 
					    (license license:gpl3)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public gnome-plots
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "gnome-plots")
 | 
				
			||||||
 | 
					    (version "0.6.2")
 | 
				
			||||||
 | 
					    (source (origin
 | 
				
			||||||
 | 
					              (method git-fetch)
 | 
				
			||||||
 | 
					              (uri (git-reference
 | 
				
			||||||
 | 
					                    (url "https://github.com/alexhuntley/Plots")
 | 
				
			||||||
 | 
					                    (commit (string-append "v" version))))
 | 
				
			||||||
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
 | 
					              (sha256
 | 
				
			||||||
 | 
					               (base32
 | 
				
			||||||
 | 
					                "168wcsrkmvq79xmwvbq615msd4q0rg7f57xqicidnr78jx4x37rd"))))
 | 
				
			||||||
 | 
					    (build-system python-build-system)
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     (list bash-minimal                 ; for wrap-program
 | 
				
			||||||
 | 
					           gtk+
 | 
				
			||||||
 | 
					           pango
 | 
				
			||||||
 | 
					           python-freetype-py
 | 
				
			||||||
 | 
					           python-jinja2
 | 
				
			||||||
 | 
					           python-lark-parser
 | 
				
			||||||
 | 
					           python-numpy
 | 
				
			||||||
 | 
					           python-pycairo
 | 
				
			||||||
 | 
					           python-pyglm
 | 
				
			||||||
 | 
					           python-pygobject
 | 
				
			||||||
 | 
					           python-pyopengl))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     (list python-pytest))
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     (list
 | 
				
			||||||
 | 
					      #:imported-modules `((guix build glib-or-gtk-build-system)
 | 
				
			||||||
 | 
					                           ,@%python-build-system-modules)
 | 
				
			||||||
 | 
					      #:modules '((guix build python-build-system)
 | 
				
			||||||
 | 
					                  ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
 | 
				
			||||||
 | 
					                  (guix build utils)
 | 
				
			||||||
 | 
					                  (ice-9 match))
 | 
				
			||||||
 | 
					      #:phases
 | 
				
			||||||
 | 
					      #~(modify-phases %standard-phases
 | 
				
			||||||
 | 
					          (add-before 'build 'adjust-lark-requirement
 | 
				
			||||||
 | 
					            (lambda _
 | 
				
			||||||
 | 
					              (substitute* "setup.py"
 | 
				
			||||||
 | 
					                (("lark") "lark-parser"))))
 | 
				
			||||||
 | 
					          (add-after 'install 'install-more
 | 
				
			||||||
 | 
					            (lambda _
 | 
				
			||||||
 | 
					              (let* ((datadir (string-append #$output "/share"))
 | 
				
			||||||
 | 
					                     (help (string-append datadir "/help"))
 | 
				
			||||||
 | 
					                     (icons (string-append datadir "/icons/hicolor")))
 | 
				
			||||||
 | 
					                (map (lambda (filename)
 | 
				
			||||||
 | 
					                       (match (string-split filename #\/)
 | 
				
			||||||
 | 
					                         ((_ lang dir ... name)
 | 
				
			||||||
 | 
					                          (install-file filename
 | 
				
			||||||
 | 
					                                        (string-join (cons* help lang "plots" dir)
 | 
				
			||||||
 | 
					                                                     "/")))))
 | 
				
			||||||
 | 
					                     (find-files "help"))
 | 
				
			||||||
 | 
					                (install-file "res/com.github.alexhuntley.Plots.desktop"
 | 
				
			||||||
 | 
					                              (string-append datadir "/applications/"))
 | 
				
			||||||
 | 
					                (install-file "res/com.github.alexhuntley.Plots.svg"
 | 
				
			||||||
 | 
					                              (string-append icons "/scalable/apps/"))
 | 
				
			||||||
 | 
					                (install-file "res/com.github.alexhuntley.Plots-symbolic.svg"
 | 
				
			||||||
 | 
					                              (string-append icons "/symbolic/apps/")))))
 | 
				
			||||||
 | 
					          (replace 'check
 | 
				
			||||||
 | 
					            (lambda* (#:key tests? #:allow-other-keys)
 | 
				
			||||||
 | 
					              (when tests?
 | 
				
			||||||
 | 
					                (invoke "pytest" "-vv"))))
 | 
				
			||||||
 | 
					          (add-after 'wrap 'gi-wrap
 | 
				
			||||||
 | 
					            (lambda _
 | 
				
			||||||
 | 
					              (let ((prog (string-append #$output "/bin/plots")))
 | 
				
			||||||
 | 
					                (wrap-program prog
 | 
				
			||||||
 | 
					                  `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))))
 | 
				
			||||||
 | 
					          (add-after 'wrap 'glib-or-gtk-wrap
 | 
				
			||||||
 | 
					            (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
 | 
				
			||||||
 | 
					    (home-page "https://apps.gnome.org/app/com.github.alexhuntley.Plots/")
 | 
				
			||||||
 | 
					    (synopsis "Simple graph plotting")
 | 
				
			||||||
 | 
					    (description "Plots makes it easy to visualise mathematical formulae.  In
 | 
				
			||||||
 | 
					addition to basic arithmetic operations, it supports trigonometric,
 | 
				
			||||||
 | 
					hyperbolic, exponential, and logarithmic functions, as well as arbitrary sums
 | 
				
			||||||
 | 
					and products.  Plots is designed to integrate well with the GNOME desktop and
 | 
				
			||||||
 | 
					takes advantage of modern hardware using OpenGL.")
 | 
				
			||||||
 | 
					    (license license:gpl3+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public gnome-shell-extension-appindicator
 | 
					(define-public gnome-shell-extension-appindicator
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "gnome-shell-extension-appindicator")
 | 
					    (name "gnome-shell-extension-appindicator")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue