unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#50229] [PATCH] gnu: Add genie
@ 2021-08-27 17:29 Andy Tai
       [not found] ` <handler.50229.B.163008539825157.ack@debbugs.gnu.org>
  2021-08-31  4:56 ` [bug#50229] [PATCH] gnu: Add genie Sarah Morgensen
  0 siblings, 2 replies; 5+ messages in thread
From: Andy Tai @ 2021-08-27 17:29 UTC (permalink / raw)
  To: 50229

* 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)))
+         (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




^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [bug#50229] Acknowledgement ([PATCH] gnu: Add genie)
       [not found] ` <handler.50229.B.163008539825157.ack@debbugs.gnu.org>
@ 2021-08-29  3:19   ` Andy Tai
  0 siblings, 0 replies; 5+ messages in thread
From: Andy Tai @ 2021-08-29  3:19 UTC (permalink / raw)
  To: 50229

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




^ permalink raw reply	[flat|nested] 5+ messages in thread

* [bug#50229] [PATCH] gnu: Add genie
  2021-08-27 17:29 [bug#50229] [PATCH] gnu: Add genie Andy Tai
       [not found] ` <handler.50229.B.163008539825157.ack@debbugs.gnu.org>
@ 2021-08-31  4:56 ` Sarah Morgensen
  2021-09-02  1:02   ` Andy Tai
  2021-09-05  4:23   ` Andy Tai
  1 sibling, 2 replies; 5+ messages in thread
From: Sarah Morgensen @ 2021-08-31  4:56 UTC (permalink / raw)
  To: Andy Tai; +Cc: 50229

Hi,

Thanks for the patch.  Just a couple quick notes:

Andy Tai <lichengtai@gmail.com> writes:

> * 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?

> +         (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.)

> +          (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? :)

> +      (home-page "https://github.com/bkaradzic/GENie")
> +      (synopsis  "project generator tool")
> +      (description "GENie (pronounced as Jenny) is project generator tool.
                              ^ pronounced "Jenny"

> +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.

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

> +      (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




^ permalink raw reply	[flat|nested] 5+ messages in thread

* [bug#50229] [PATCH] gnu: Add genie
  2021-08-31  4:56 ` [bug#50229] [PATCH] gnu: Add genie Sarah Morgensen
@ 2021-09-02  1:02   ` Andy Tai
  2021-09-05  4:23   ` Andy Tai
  1 sibling, 0 replies; 5+ messages in thread
From: Andy Tai @ 2021-09-02  1:02 UTC (permalink / raw)
  To: Sarah Morgensen; +Cc: 50229

I will take a look of the comments. Thanks




^ permalink raw reply	[flat|nested] 5+ messages in thread

* [bug#50229] [PATCH] gnu: Add genie
  2021-08-31  4:56 ` [bug#50229] [PATCH] gnu: Add genie Sarah Morgensen
  2021-09-02  1:02   ` Andy Tai
@ 2021-09-05  4:23   ` Andy Tai
  1 sibling, 0 replies; 5+ messages in thread
From: Andy Tai @ 2021-09-05  4:23 UTC (permalink / raw)
  To: Sarah Morgensen, 50229

[-- Attachment #1: Type: text/plain, Size: 1126 bytes --]

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

[-- Attachment #2: 0001-gnu-Add-genie.patch --]
[-- Type: text/x-patch, Size: 3124 bytes --]

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


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-09-05  4:25 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-08-27 17:29 [bug#50229] [PATCH] gnu: Add genie Andy Tai
     [not found] ` <handler.50229.B.163008539825157.ack@debbugs.gnu.org>
2021-08-29  3:19   ` [bug#50229] Acknowledgement ([PATCH] gnu: Add genie) Andy Tai
2021-08-31  4:56 ` [bug#50229] [PATCH] gnu: Add genie Sarah Morgensen
2021-09-02  1:02   ` Andy Tai
2021-09-05  4:23   ` Andy Tai

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).