diff mbox series

[bug#50229] gnu: Add genie

Message ID CAJsg1E-kMvyMh+CVhwZ9mu7wgRKPM5ZZfVPgo-AS5VY0y_NUpg@mail.gmail.com
State New
Headers show
Series [bug#50229] gnu: Add genie | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Andy Tai Sept. 5, 2021, 4:23 a.m. UTC
On Mon, Aug 30, 2021 at 9:56 PM Sarah Morgensen <iskarian@mgsn.dev> wrote:
> It looks like genie bundles lua 5.3.0, can this be removed since we have
> a lua 5.3 package?

comments added explaining why Lua is not a native input at this time.

>
> Does CC need to be set to support cross-compilation like in premake4? (I
> haven't tested either way.)

added as in premake4

> There's a 'tests' folder in the source, so is this true? :)
>

The test folder was from premake4 and as is does not work for genie.
Added comment about this.
>
> Looking at the project description, perhaps "project files" or "project
> build scripts" would be more clear?  As well as specifying the different
> systems (Makefile, ...) it supports.
>

description updated per suggestion

> > +making applying the same settings for multiple projects easy..")
>                                                   extra period ^
>

removed
> > +      (license license:bsd-3))))
>
> According to LICENSE, the majority of the project is under BSD-3, but
> inspect.lua and profiler.lua are expat.
>

license list updated and commented as above.

> --
> Sarah
diff mbox series

Patch

From 2a01769e8c2642597599007f0871f29615136b56 Mon Sep 17 00:00:00 2001
From: Andy Tai <atai@atai.org>
Date: Sat, 4 Sep 2021 21:16:21 -0700
Subject: [PATCH] gnu: Add genie
To: guix-patches@gnu.org

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

diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index d2fb9e05df..6b3a5d15bb 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -14,6 +14,7 @@ 
 ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2021 qblade <qblade@protonmail.com>
 ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021 Andy Tai <atai@atai.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -584,3 +585,50 @@  Build has features such as:
 @item Extensible language/compiler framework.
 @end itemize")
     (license license:gpl2+)))
+
+(define-public genie
+  (let ((commit "5fecb127855ee069df345f20d17fea78220fee93")
+        (revision "0"))
+    (package
+      (name "genie")
+      (version
+       (git-version "0" 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
+           "1fl00w4v2wigl2fypvnpzmny2x4f0adb7ncsn4a6w7gwxfxvl51j"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:make-flags (list (string-append "CC=" ,(cc-for-target)))
+                      #:phases
+                      (modify-phases %standard-phases
+                        (delete 'configure)
+                        (replace 'install
+                          (lambda* (#:key outputs #:allow-other-keys)
+                            (let* ((outdir (assoc-ref outputs "out")))
+                              (install-file "bin/linux/genie" (string-append outdir "/bin")))
+                            #t)))
+                      ;; no tests; note included tests directory references premake4
+                      ;; and does not seem to be maintained to work with genie
+                      #:tests? #f))
+      (native-inputs
+       ;; note genie includes in tree a copy of Lua 5.3.0
+       ;; however the build setup does not support using an out of tree,
+       ;; system installed copy of Lua so we do not make lua a native input
+       ;; at this time; in the future would be good to support that
+       `())
+      (home-page "https://github.com/bkaradzic/GENie")
+      (synopsis  "project file generator tool")
+      (description "GENie (pronounced as Jenny) is project file generator tool.
+It automagically generates project files from Lua script,
+making applying the same settings for multiple projects easy.
+Supports cmake, make, ninja, Visual Studio and xcode")
+      ;; most sources are bsd-3; inspect.lua and profiler.lua are expat
+      (license (list license:bsd-3 license:expat)))))
-- 
2.33.0