From cbe5c7a354381c665735085a5eb262404e901385 Mon Sep 17 00:00:00 2001 From: Andrew Miloradovsky Date: Fri, 8 Feb 2019 00:03:48 +0000 Subject: [PATCH] gnu: gnome-planner: update 0.14.6 to 2019-02-08 Build all from a modern version, enable Python bindings. * gnu/packages/gnome.scm (gnome-planner): - Fetch the sources from GNOME's own GitLab. - Run `autogen.sh` with the proper shell paths. - Enable Python 2 bindings, because we can now. - Add all the inputs necessary for all of that. --- gnu/packages/gnome.scm | 102 +++++++++++++++++++++++++---------------- 1 file changed, 62 insertions(+), 40 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 5795a8d10..f57a20e11 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -33,6 +33,7 @@ ;;; Copyright © 2018 Vasile Dumitrascu ;;; Copyright © 2018 Björn Höfling ;;; Copyright © 2018 Timothy Sample +;;; Copyright © 2019 Andrew Miloradovsky ;;; ;;; This file is part of GNU Guix. ;;; @@ -7018,45 +7019,66 @@ text views, and buttons to choose the language.") (license license:gpl2+))) (define-public gnome-planner - (package - (name "gnome-planner") - (version "0.14.6") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/planner/" - (version-major+minor version) "/planner-" - version ".tar.xz")) - (sha256 - (base32 - "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k")))) - (build-system glib-or-gtk-build-system) - (arguments - ;; Disable the Python bindings because the Planner program functions - ;; without them, and (as of 2017-06-13) we have not packaged all of - ;; packages that are necessary for building the Python bindings. - `(#:configure-flags - (list "--disable-python" - ,@(if (string=? "aarch64-linux" (%current-system)) - '("--build=aarch64-unknown-linux-gnu") - '())))) - (inputs - `(("libgnomecanvas" ,libgnomecanvas) - ("libgnomeui" ,libgnomeui) - ("libglade" ,libglade) - ("gnome-vfs" ,gnome-vfs) - ("gconf" ,gconf) - ("libxml2" ,libxml2) - ("libxslt" ,libxslt) - ("gtk+" ,gtk+) - ("glib" ,glib))) - (native-inputs - `(("intltool" ,intltool) - ("scrollkeeper" ,scrollkeeper) - ("pkg-config" ,pkg-config))) - (home-page "https://wiki.gnome.org/Apps/Planner") - (synopsis "Project management software for the GNOME desktop") - (description - "GNOME Planner is a project management tool based on the Work Breakdown + ;;; Warning: + ;;; The documentation generation mechanism is long broken. No Yelp yet. + ;;; So the output doesn't contain any docs, unlike the ancient release. + ;;; OTOH, that's probably not a huge concern, given the circumstances. + (let ((commit "fa7cbe309d5a705502ca46f808bcf78840804dbe") + (revision "2019-02-08")) + (package + (name "gnome-planner") + (version revision) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.gnome.org/GNOME/planner.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "06nws675nyxdxjjfxmkhsj6lqwxjj8fhzkg42hw00pfxjvbcr846")))) + (build-system glib-or-gtk-build-system) + (arguments + `(#:configure-flags + (list "--enable-python" + ,@(if (string=? "aarch64-linux" (%current-system)) + '("--build=aarch64-unknown-linux-gnu") + '())) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'autogen + (lambda _ + ;; Don't run configure in this phase. + (setenv "NOCONFIGURE" "1") + (invoke "sh" "autogen.sh" + (string-append "SHELL=" (which "sh")) + (string-append "CONFIG_SHELL=" (which "sh")))))))) + (inputs + `(("libgnomecanvas" ,libgnomecanvas) + ("libgnomeui" ,libgnomeui) + ("libglade" ,libglade) + ("python2" ,python-2) + ("python2-pygtk" ,python2-pygtk) + ("gnome-common" ,gnome-common) + ("gnome-vfs" ,gnome-vfs) + ("gconf" ,gconf) + ("libxml2" ,libxml2) + ("libxslt" ,libxslt) + ("gtk+" ,gtk+) + ("glib" ,glib))) + (native-inputs + `(("intltool" ,intltool) + ("scrollkeeper" ,scrollkeeper) + ("gtk-doc" ,gtk-doc) + ("automake" ,automake) + ("autoconf" ,autoconf-wrapper) + ("libtool" ,libtool) + ("which" ,which) + ("pkg-config" ,pkg-config))) + (home-page "https://wiki.gnome.org/Apps/Planner") + (synopsis "Project management software for the GNOME desktop") + (description + "GNOME Planner is a project management tool based on the Work Breakdown Structure (WBS). Its goal is to enable you to easily plan projects. Based on the resources, tasks, and constraints that you define, Planner generates various views into a project. For example, Planner can show a Gantt chart of @@ -7064,7 +7086,7 @@ the project. It can show a detailed summary of tasks including their duration, cost, and current progress. It can also show a report of resource utilization that highlights under-utilized and over-utilized resources. These views can be printed as PDF or PostScript files, or exported to HTML.") - (license license:gpl2+))) + (license license:gpl2+)))) (define-public lollypop (package -- 2.19.2