Subject: [PATCH 2/2] gnu: Add ruby-taskjuggler.

From: Giovanni Biscuolo <[email-masked]>
Date: Tue, 15 Jun 2021 17:04:33 +0200

>From 49c70f0bc19ca7d8581fa571f5f1ee0a473ef72f Mon Sep 17 00:00:00 2001
From: Giovanni Biscuolo <[email-masked]>
Date: Wed, 9 Jun 2021 11:57:12 +0200
Subject: [PATCH 2/2] gnu: Add ruby-taskjuggler.

* gnu/packages/ruby.scm (ruby-taskjuggler): New variable.
---
 gnu/packages/ruby.scm | 54 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index e2f53bbdca..67b61a6143 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -27,6 +27,7 @@
 ;;; Copyright © 2020 Giacomo Leidi <[email-masked]>
 ;;; Copyright © 2021 EuAndreh <[email-masked]>
 ;;; Copyright © 2020 Tomás Ortín Fernández <[email-masked]>
+;;; Copyright © 2021 Giovanni Biscuolo <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -46,6 +47,7 @@
 (define-module (gnu packages ruby)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (gnu packages)
+  #:use-module (gnu packages base)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages c)
   #:use-module (gnu packages check)
@@ -12433,3 +12435,55 @@ and social networks to better index and display your site's content.")
    (home-page
     "https://github.com/jekyll/jekyll-seo-tag")
    (license license:expat)))
+
+(define-public ruby-taskjuggler
+  (package
+    (name "ruby-taskjuggler")
+    (version "3.7.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "taskjuggler" version))
+       (sha256
+        (base32
+         "1jrsajzhzpnfa8hj6lbf7adn8hls56dz3yw1gvzgz9y4zkka3k9v"))))
+    (build-system ruby-build-system)
+    (inputs `(("tzdata" ,tzdata)))
+    (propagated-inputs
+     `(("ruby-mail" ,ruby-mail)
+       ("ruby-term-ansicolor" ,ruby-term-ansicolor)))
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (replace 'replace-git-ls-files
+                    (lambda _
+                      (substitute* "tasks/rdoc.rake"
+                        (("`git ls-files -- lib`")
+                         "`find lib/ -type f |sort`"))
+                      #t))
+                  (add-before 'check 'tzdir-setup
+                    (lambda* (#:key inputs #:allow-other-keys)
+                      (setenv "TZDIR"
+                              (string-append (assoc-ref inputs "tzdata")
+                                             "/share/zoneinfo"))
+                      #t))
+                  (add-before 'check 'delete-test-BatchProcessor
+                    ;; test_BatchProcessor fails with exeption:
+                    ;; run> terminated with exception (report_on_exception is true)
+                    (lambda _
+                      (delete-file "test/test_BatchProcessor.rb")
+                      #t)))))
+    (synopsis
+     "Project management command line tool with a domain specific language")
+    (description
+     "TaskJuggler (tj3) is a project management tool for project planning and
+tracking using a domain specific language; projects are plain text files
+written using your favourite text editor.  It includes reporting in HTML, CSV
+or iCalendar format and an email based status tracking system to send and
+receive time sheets from collaborators.
+
+It covers the complete spectrum of project management tasks from the first
+idea to the completion of the project.  It assists you during project scoping,
+resource assignment, cost and revenue planning, risk and communication
+management, status tracking and reporting.")
+    (home-page "https://taskjuggler.org")
+    (license license:gpl2)))
-- 
2.31.1