Subject: [bug#58236] [PATCH] gnu: genie: Add genie.

From: "J. Sims" <[email-masked]>
Date: Thu, 06 Oct 2022 01:12:55 +0000

On Wednesday, October 5th, 2022 at 20:06, J. Sims <[email-masked]> wrote:

> On Wednesday, October 5th, 2022 at 05:34, Liliana Marie Prikler [email-masked] wrote:
> 
> 
> 
> > Am Dienstag, dem 04.10.2022 um 19:37 +0000 schrieb J. Sims:
> > 
> > > (define-public genie
> > > + (let ((commit "b139103697bbb62db895e4cc7bfe202bcff4ff25")
> > > + (version "1167")
> > > + (revision "0"))
> > 
> > Do not let-bind version.
> > 
> > > + (package
> > > + (name "genie")
> > > + (version (git-version version revision commit))
> > > + (home-page "https://github.com/bkaradzic/genie")
> > 
> > home-page comes before synopsis and description...
> > 
> > > + (source (origin
> > > + (method git-fetch)
> > > + (uri (git-reference
> > > + (url home-page)
> > > + (commit commit)))
> > 
> > Don't pull it up so that you can "save" the url argument. Type url out
> > explicitly.
> > 
> > > + (file-name (git-file-name name version))
> > > + (sha256
> > > + (base32
> > > +
> > > "16plshzkyjjzpfcxnwjskrs7i4gg0qn92h2k0rbfl4a79fgmwvwv"))))
> > > + (build-system gnu-build-system)
> > > + (arguments
> > > + (list #:phases #~(modify-phases %standard-phases
> > > + (delete 'configure)
> > > + (replace 'install
> > > + (lambda _
> > > + (install-file "bin/linux/genie"
> > > + (string-append #$output
> > > "/bin")))))
> > 
> > Prefer saving horizontal space over vertical space.
> > 
> > > + #:tests? #f)) ;only manual tests
> > 
> > When it comes to software testing, there is no sequence of instructions
> > that only a human can carry out. Tests either exist or they don't and
> > in the case of GENie there at least formally exists a directory for
> > them.
> > 
> > > + (synopsis "Project generator tool")
> > 
> > Note that tool is superfluous here.
> > 
> > > + (description
> > > + "GENie is project generator tool. It generates projects from
> > > +Lua scripts, making applying the same settings for multiple projects
> > > easy. It
> > 
> > I'd simply write "GENie generates projects from Lua scripts, making it
> > easy to apply the same settings to multiple projects."
> > 
> > > +supports generating projects using GNU Makefiles; JSON Compilation
> > > Database;
> > > +Visual Studio 2010, 2012, 2013, 2015, 2017, and 2019; XCode; and
> > > experimentally
> > > +supports Ninja.")
> > 
> > We're not going to use proprietary software on our FSDG-compliant
> > system, so it's only Makefiles, JSON compilation databases and
> > experimental Ninja.
> > 
> > > + (license license:bsd-3))))
> > 
> > Cheers
> 
> 
> This patch should incorporate all above comments.
> 
> If there are further questions about tests: https://github.com/bkaradzic/GENie/issues/545#issuecomment-1267152313
> 
> -Juli

Apologies, I forgot to configure my git settings on a new computer; please use this version of the patch instead, which has a correct email.

From 7a1d86dbe8b07964661160d5b86e9cd92790cf1e Mon Sep 17 00:00:00 2001
From: "J. Sims" <[email-masked]>
Date: Wed, 5 Oct 2022 19:37:11 -0500
Subject: [PATCH] gnu: genie: Add genie.

* gnu/packages/build-tools.scm (genie): Add genie.
---
 gnu/packages/build-tools.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 84a62d0fd6..3c8b1dd9ee 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -14,6 +14,7 @@
 ;;; Copyright © 2020 Efraim Flashner <[email-masked]>
 ;;; Copyright © 2021 qblade <[email-masked]>
 ;;; Copyright © 2021 Maxim Cournoyer <[email-masked]>
+;;; Copyright © 2022 Juliana Sims <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -763,3 +764,35 @@ (define-public build
 @item Extensible language/compiler framework.
 @end itemize")
     (license license:gpl2+)))
+
+(define-public genie
+  (let ((commit "b139103697bbb62db895e4cc7bfe202bcff4ff25")
+        (revision "0"))
+    (package
+      (name "genie")
+      (version (git-version "1167" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/bkaradzic/genie")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "16plshzkyjjzpfcxnwjskrs7i4gg0qn92h2k0rbfl4a79fgmwvwv"))))
+      (build-system gnu-build-system)
+      (arguments
+       (list #:phases #~(modify-phases %standard-phases
+                          (delete 'configure)
+                          (replace 'install
+                            (lambda _
+                              (install-file "bin/linux/genie"
+                                            (string-append #$output "/bin")))))
+             #:tests? #f)) ;no tests
+      (home-page "https://github.com/bkaradzic/genie")
+      (synopsis "Project generator")
+      (description
+       "GENie generates projects from Lua scripts, making it easy to apply the
+same settings to multiple projects. It supports generating projects using GNU
+Makefiles, JSON Compilation Database, and experimentally Ninja.")
+      (license license:bsd-3))))

base-commit: 43b8df4bece2a207018dc0fedc44d3d188d2d0f0
-- 
2.34.1