Subject: bug#34378: closed (Re: bug#34378: update GNOME Planner to current)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 23 Aug 2022 18:56:02 +0000

Your bug report

#34378: update GNOME Planner to current

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
34378: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=34378
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#34378: update GNOME Planner to current
From: Maxim Cournoyer <[email-masked]>
To: Ludovic Courtès <[email-masked]>
Cc: Andrew Miloradovsky <[email-masked]>, [email-masked]
Date: Tue, 23 Aug 2022 14:55:14 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

Ludovic Courtès <[email-masked]> writes:

[...]

>>>> +  ;;; 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"))
>>> How did you pick this particular commit?  In general we only package
>>> releases, unless there’s a compelling reason to build straight from the
>>> VCS.  Do you think that’s the case here?
>>
>> I picked that commit just because it was the most recent: the release is
>> expected to be very difficult to make, a lot of things need to be
>> fixed/modernized first, and there are not many people to review the
>> patches (one to be exact, AFAICT).
>>
>> I'm not sure there are really compelling reasons: most/all of the
>> changes made since the release are either about translations
>> (documentation generation is broken anyways), or fixes of deprecation
>> warnings (which otherwise would prevent it from building in Nixpkgs with
>> the default -Werror).
>
> OK.  I think it’s a case where we’d wait for upstream to push a new
> release, rather than guess which commit is appropriate to distribute.
>
> Thoughts?

Agreed.  Closing.

Maxim

Subject: update GNOME Planner to current
From: Andrew Miloradovsky <[email-masked]>
To: [email-masked]
Date: Fri, 8 Feb 2019 01:54:08 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

The release is fairly old and contains prebuilt scripts.

From cbe5c7a354381c665735085a5eb262404e901385 Mon Sep 17 00:00:00 2001
From: Andrew Miloradovsky <[email-masked]>
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 <[email-masked]>
 ;;; Copyright © 2018 Björn Höfling <[email-masked]>
 ;;; Copyright © 2018 Timothy Sample <[email-masked]>
+;;; Copyright © 2019 Andrew Miloradovsky <[email-masked]>
 ;;;
 ;;; 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