[PATCH] gnu: Add genie

  • Done
  • quality assurance status badge
Details
4 participants
  • Andy Tai
  • Sarah Morgensen
  • Andy Tai
  • Tobias Geerinckx-Rice
Owner
unassigned
Submitted by
Andy Tai
Severity
normal
A
A
Andy Tai wrote on 27 Aug 2021 19:29
(address . guix-patches@gnu.org)
CAJsg1E92mDu_Se05Obse+QL5aTuSXKJ6-ZWirrsTBCCuLAuKwQ@mail.gmail.com
* gnu/packages/build-tools.scm (genie): New variable
---
gnu/packages/build-tools.scm | 37 ++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)

Toggle diff (54 lines)
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index d2fb9e05df..456d9583bc 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,39 @@ 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
+ `(#: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)))
+ #:tests? #f)) ;; no tests
+ (home-page "https://github.com/bkaradzic/GENie")
+ (synopsis "project generator tool")
+ (description "GENie (pronounced as Jenny) is project generator tool.
+It automagically generates project from Lua script,
+making applying the same settings for multiple projects easy..")
+ (license license:bsd-3))))
--
2.33.0
T
T
Tobias Geerinckx-Rice wrote on 27 Aug 2021 20:27
(no subject)
(name . Control)(address . control@debbugs.gnu.org)
c33db2de2e21fa7c634788cda2841980@tobias.gr
block 50054 by 50229
A
A
Andy Tai wrote on 29 Aug 2021 05:19
Re: bug#50229: Acknowledgement ([PATCH] gnu: Add genie)
(address . 50229@debbugs.gnu.org)
CAJsg1E9mVFuzfyFaab1Rs3hC1bmZ-revJ=3Z-SXAX98hbWoZWw@mail.gmail.com
regarding genie: it is a build system used by bgfx and some other
projects in game and related area, so needs to make it in guix first
for these packages to use when included in guix
S
S
Sarah Morgensen wrote on 31 Aug 2021 06:56
Re: [bug#50229] [PATCH] gnu: Add genie
(name . Andy Tai)(address . lichengtai@gmail.com)(address . 50229@debbugs.gnu.org)
86k0k21aax.fsf@mgsn.dev
Hi,

Thanks for the patch. Just a couple quick notes:

Andy Tai <lichengtai@gmail.com> writes:

Toggle quote (37 lines)
> * gnu/packages/build-tools.scm (genie): New variable
> ---
> gnu/packages/build-tools.scm | 37 ++++++++++++++++++++++++++++++++++++
> 1 file changed, 37 insertions(+)
>
> diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
> index d2fb9e05df..456d9583bc 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,39 @@ 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)))

It looks like genie bundles lua 5.3.0, can this be removed since we have
a lua 5.3 package?

Toggle quote (10 lines)
> + (file-name (git-file-name name version))
> + (sha256
> + (base32
> + "1fl00w4v2wigl2fypvnpzmny2x4f0adb7ncsn4a6w7gwxfxvl51j"))))
> + (build-system gnu-build-system)
> + (arguments
> + `(#:phases
> + (modify-phases %standard-phases
> + (delete 'configure)

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

Toggle quote (7 lines)
> + (replace 'install
> + (lambda* (#:key outputs #:allow-other-keys)
> + (let* ((outdir (assoc-ref outputs "out")))
> + (install-file "bin/linux/genie" (string-append outdir "/bin")))
> + #t)))
> + #:tests? #f)) ;; no tests

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

Toggle quote (3 lines)
> + (synopsis "project generator tool")
> + (description "GENie (pronounced as Jenny) is project generator tool.
^ pronounced "Jenny"

Toggle quote (2 lines)
> +It automagically generates project from Lua script,

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.

Toggle quote (1 lines)
> +making applying the same settings for multiple projects easy..")
extra period ^

Toggle quote (2 lines)
> + (license license:bsd-3))))

According to LICENSE, the majority of the project is under BSD-3, but
inspect.lua and profiler.lua are expat.

--
Sarah
A
A
Andy Tai wrote on 2 Sep 2021 03:02
(name . Sarah Morgensen)(address . iskarian@mgsn.dev)(address . 50229@debbugs.gnu.org)
CAJsg1E-QwOQn3L8oFP_i+Y_FckUQSgktd6bgdE8GcX1B115WRQ@mail.gmail.com
I will take a look of the comments. Thanks
A
A
Andy Tai wrote on 5 Sep 2021 06:23
CAJsg1E-kMvyMh+CVhwZ9mu7wgRKPM5ZZfVPgo-AS5VY0y_NUpg@mail.gmail.com
On Mon, Aug 30, 2021 at 9:56 PM Sarah Morgensen <iskarian@mgsn.dev> wrote:
Toggle quote (3 lines)
> 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.

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

added as in premake4

Toggle quote (3 lines)
> 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.
Toggle quote (6 lines)
>
> 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

Toggle quote (4 lines)
> > +making applying the same settings for multiple projects easy..")
> extra period ^
>

removed
Toggle quote (6 lines)
> > + (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.

Toggle quote (2 lines)
> --
> Sarah
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(+)

Toggle diff (65 lines)
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
A
A
Andy Tai wrote 6 days ago
(name . GNU bug tracker automated control server)(address . control@debbugs.gnu.org)
CAJsg1E9qkSEbpAzw2pNPUrhdDSYKKW40UPUYiiYdexzaKvZmqw@mail.gmail.com
close 50229
thanks
patch out of date
A
A
Andy Tai wrote 34 hours ago
(name . GNU bug tracker automated control server)(address . control@debbugs.gnu.org)
CAJsg1E8n3Zh01igAiuZKin7+-Q4W5pK+2FnZ6sGhJDmC9Z3-=w@mail.gmail.com
unblock 50054 by 50229
thanks
?