unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#58236] [PATCH] gnu: genie: Add genie.
@ 2022-10-01 22:15 J. Sims via Guix-patches via
  2022-10-03  6:45 ` Liliana Marie Prikler
  0 siblings, 1 reply; 7+ messages in thread
From: J. Sims via Guix-patches via @ 2022-10-01 22:15 UTC (permalink / raw)
  To: 58236

Hello,

This is a patch to add the GENie project generator to Guix. It's a fork of Premake 4.4 that some other projects, notably the Scopes programming language, use.

I'm submitting it independently instead of as part of a patch series with Scopes because I've already packaged it then accidentally deleted that package twice before. Scopes has some rough edges around packaging in a Guix-friendly way and I don't suspect I will have its package ready very soon. All of this together means I'd like to avoid repeating my previous mistakes and go ahead and get it into Guix.

Thanks,
Juli

--------------------------BEGIN-PATCH------------------------------

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

diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 84a62d0fd6..55bec5f817 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 © 2022 Juliana Sims <jtsims@protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -763,3 +764,46 @@ (define-public build
 @item Extensible language/compiler framework.
 @end itemize")
     (license license:gpl2+)))
+
+(define-public genie
+  (let ((commit "b139103697bbb62db895e4cc7bfe202bcff4ff25")
+        (ver "1167"))
+    (package
+      (name "genie")
+      (version ver)
+      (home-page "https://github.com/bkaradzic/genie")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url home-page)
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "16plshzkyjjzpfcxnwjskrs7i4gg0qn92h2k0rbfl4a79fgmwvwv"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let ((out (assoc-ref outputs "out")))
+                 (install-file "bin/linux/genie"
+                               (string-append out "/bin"))))))
+         #:parallel-build? #t
+         #:tests? #f)) ;; tests have not been updated since Premake fork
+      (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.
+
+Supported project generators:
+@itemize
+@item GNU Makefile
+@item JSON Compilation Database
+@item Ninja (experimental)
+@item Visual Studio 2010, 2012, 2013, 2015, 2017, 2019
+@item XCode
+@end itemize")
+      (license license:bsd-3))))

base-commit: 461b1e490935e720999e78dc29656ae3c9ea2ea3
-- 
2.37.3





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

* [bug#58236] [PATCH] gnu: genie: Add genie.
  2022-10-01 22:15 [bug#58236] [PATCH] gnu: genie: Add genie J. Sims via Guix-patches via
@ 2022-10-03  6:45 ` Liliana Marie Prikler
  2022-10-04 19:37   ` J. Sims via Guix-patches via
  0 siblings, 1 reply; 7+ messages in thread
From: Liliana Marie Prikler @ 2022-10-03  6:45 UTC (permalink / raw)
  To: J. Sims, 58236

Am Samstag, dem 01.10.2022 um 22:15 +0000 schrieb J. Sims:
> Hello,
> 
> This is a patch to add the GENie project generator to Guix. It's a
> fork of Premake 4.4 that some other projects, notably the Scopes
> programming language, use.
> 
> I'm submitting it independently instead of as part of a patch series
> with Scopes because I've already packaged it then accidentally
> deleted that package twice before. Scopes has some rough edges around
> packaging in a Guix-friendly way and I don't suspect I will have its
> package ready very soon. All of this together means I'd like to avoid
> repeating my previous mistakes and go ahead and get it into Guix.
> 
> Thanks,
> Juli
> 
> --------------------------BEGIN-PATCH------------------------------
> 
> * gnu/packages/build-tools.scm (genie): Add genie.
> ---
Usually, adding comments after this line is preferred.

>  gnu/packages/build-tools.scm | 44
> ++++++++++++++++++++++++++++++++++++
>  1 file changed, 44 insertions(+)
> 
> diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-
> tools.scm
> index 84a62d0fd6..55bec5f817 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 © 2022 Juliana Sims <jtsims@protonmail.com>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -763,3 +764,46 @@ (define-public build
>  @item Extensible language/compiler framework.
>  @end itemize")
>      (license license:gpl2+)))
> +
> +(define-public genie
> +  (let ((commit "b139103697bbb62db895e4cc7bfe202bcff4ff25")
> +        (ver "1167"))
> +    (package
> +      (name "genie")
> +      (version ver)
Use git-version.

> +      (home-page "https://github.com/bkaradzic/genie")
> +      (source
> +       (origin
> +         (method git-fetch)
> +         (uri (git-reference
> +               (url home-page)
> +               (commit commit)))
> +         (file-name (git-file-name name version))
> +         (sha256
> +          (base32
> "16plshzkyjjzpfcxnwjskrs7i4gg0qn92h2k0rbfl4a79fgmwvwv"))))
> +      (build-system gnu-build-system)
> +      (arguments
> +       `(#:phases
Prefer lists of G-Expressions.
> +         (modify-phases %standard-phases
> +           (delete 'configure)
> +           (replace 'install
> +             (lambda* (#:key outputs #:allow-other-keys)
> +               (let ((out (assoc-ref outputs "out")))
> +                 (install-file "bin/linux/genie"
> +                               (string-append out "/bin"))))))
> +         #:parallel-build? #t
I don't think this one's needed.  If however it is necessary, look
towards webkit for how to hack in -j2.
> +         #:tests? #f)) ;; tests have not been updated since Premake
> fork
That sounds bad.  Do they all fail or are some of them salvagable?
> +      (synopsis "Project generator tool")
> +      (description "GENie (pronounced as Jenny) is project generator
> tool. It
I think we can do without pronunciation guides.
> +automagically generates project from Lua script, making applying the
> same
> +settings for multiple projects easy.
> +
> +Supported project generators:
> +@itemize
> +@item GNU Makefile
> +@item JSON Compilation Database
> +@item Ninja (experimental)
> +@item Visual Studio 2010, 2012, 2013, 2015, 2017, 2019
> +@item XCode
> +@end itemize")
Make sure your description consists of complete sentences.
> +      (license license:bsd-3))))
> 
> base-commit: 461b1e490935e720999e78dc29656ae3c9ea2ea3

Cheers




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

* [bug#58236] [PATCH] gnu: genie: Add genie.
  2022-10-03  6:45 ` Liliana Marie Prikler
@ 2022-10-04 19:37   ` J. Sims via Guix-patches via
  2022-10-05 10:34     ` Liliana Marie Prikler
  0 siblings, 1 reply; 7+ messages in thread
From: J. Sims via Guix-patches via @ 2022-10-04 19:37 UTC (permalink / raw)
  To: Liliana Marie Prikler; +Cc: 58236

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

On Monday, October 3rd, 2022 at 01:45, Liliana Marie Prikler <liliana.prikler@ist.tugraz.at> wrote:


> Am Samstag, dem 01.10.2022 um 22:15 +0000 schrieb J. Sims:
> 
> > Hello,
> > 
> > This is a patch to add the GENie project generator to Guix. It's a
> > fork of Premake 4.4 that some other projects, notably the Scopes
> > programming language, use.
> > 
> > I'm submitting it independently instead of as part of a patch series
> > with Scopes because I've already packaged it then accidentally
> > deleted that package twice before. Scopes has some rough edges around
> > packaging in a Guix-friendly way and I don't suspect I will have its
> > package ready very soon. All of this together means I'd like to avoid
> > repeating my previous mistakes and go ahead and get it into Guix.
> > 
> > Thanks,
> > Juli
> > 
> > --------------------------BEGIN-PATCH------------------------------
> > 
> > * gnu/packages/build-tools.scm (genie): Add genie.
> > ---
> 
> Usually, adding comments after this line is preferred.
> 
> > gnu/packages/build-tools.scm | 44
> > ++++++++++++++++++++++++++++++++++++
> > 1 file changed, 44 insertions(+)
> > 
> > diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-
> > tools.scm
> > index 84a62d0fd6..55bec5f817 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 © 2022 Juliana Sims jtsims@protonmail.com
> > ;;;
> > ;;; This file is part of GNU Guix.
> > ;;;
> > @@ -763,3 +764,46 @@ (define-public build
> > @item Extensible language/compiler framework.
> > @end itemize")
> > (license license:gpl2+)))
> > +
> > +(define-public genie
> > + (let ((commit "b139103697bbb62db895e4cc7bfe202bcff4ff25")
> > + (ver "1167"))
> > + (package
> > + (name "genie")
> > + (version ver)
> 
> Use git-version.
> 
> > + (home-page "https://github.com/bkaradzic/genie")
> > + (source
> > + (origin
> > + (method git-fetch)
> > + (uri (git-reference
> > + (url home-page)
> > + (commit commit)))
> > + (file-name (git-file-name name version))
> > + (sha256
> > + (base32
> > "16plshzkyjjzpfcxnwjskrs7i4gg0qn92h2k0rbfl4a79fgmwvwv"))))
> > + (build-system gnu-build-system)
> > + (arguments
> > + `(#:phases
> 
> Prefer lists of G-Expressions.
> 
> > + (modify-phases %standard-phases
> > + (delete 'configure)
> > + (replace 'install
> > + (lambda* (#:key outputs #:allow-other-keys)
> > + (let ((out (assoc-ref outputs "out")))
> > + (install-file "bin/linux/genie"
> > + (string-append out "/bin"))))))
> > + #:parallel-build? #t
> 
> I don't think this one's needed. If however it is necessary, look
> towards webkit for how to hack in -j2.
> 
> > + #:tests? #f)) ;; tests have not been updated since Premake
> > fork
> 
> That sounds bad. Do they all fail or are some of them salvagable?
> 
> > + (synopsis "Project generator tool")
> > + (description "GENie (pronounced as Jenny) is project generator
> > tool. It
> 
> I think we can do without pronunciation guides.
> 
> > +automagically generates project from Lua script, making applying the
> > same
> > +settings for multiple projects easy.
> > +
> > +Supported project generators:
> > +@itemize
> > +@item GNU Makefile
> > +@item JSON Compilation Database
> > +@item Ninja (experimental)
> > +@item Visual Studio 2010, 2012, 2013, 2015, 2017, 2019
> > +@item XCode
> > +@end itemize")
> 
> Make sure your description consists of complete sentences.
> 
> > + (license license:bsd-3))))
> > 
> > base-commit: 461b1e490935e720999e78dc29656ae3c9ea2ea3
> 
> 
> Cheers

Thanks for the feedback (and the kick in the pants I needed to finally get my hands dirty with gexps)! I've incorporated all of your comments. I'd like to note, though, that the tests are apparently entirely manual. I asked the developer how tests should be run and the response was essentially, "compile the project and use it." For what it's worth, I have indeed compiled and used this project in the past, so it should work fine.

-Juli

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-genie-Add-genie.patch --]
[-- Type: text/x-patch; name=0001-gnu-genie-Add-genie.patch, Size: 2540 bytes --]

From fffb22d1a7c7551fd3d7d843663bac0e61bf72fa Mon Sep 17 00:00:00 2001
From: jts <jtsims@protonmail.com>
Date: Sat, 1 Oct 2022 16:30:06 -0500
Subject: [PATCH] gnu: genie: Add genie.

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

diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 84a62d0fd6..28418c236a 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 © 2022 Juliana Sims <jtsims@protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -763,3 +764,38 @@ (define-public build
 @item Extensible language/compiler framework.
 @end itemize")
     (license license:gpl2+)))
+
+(define-public genie
+  (let ((commit "b139103697bbb62db895e4cc7bfe202bcff4ff25")
+        (version "1167")
+        (revision "0"))
+    (package
+      (name "genie")
+      (version (git-version version revision commit))
+      (home-page "https://github.com/bkaradzic/genie")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url home-page)
+                      (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)) ;only manual tests
+      (synopsis "Project generator tool")
+      (description
+       "GENie is project generator tool. It generates projects from
+Lua scripts, making applying the same settings for multiple projects easy. It
+supports generating projects using GNU Makefiles; JSON Compilation Database;
+Visual Studio 2010, 2012, 2013, 2015, 2017, and 2019; XCode; and experimentally
+supports Ninja.")
+      (license license:bsd-3))))

base-commit: a96ebe47b0686b5dd7ebe5fc133073abce559f4d
-- 
2.37.3


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

* [bug#58236] [PATCH] gnu: genie: Add genie.
  2022-10-04 19:37   ` J. Sims via Guix-patches via
@ 2022-10-05 10:34     ` Liliana Marie Prikler
  2022-10-06  1:06       ` J. Sims via Guix-patches via
  0 siblings, 1 reply; 7+ messages in thread
From: Liliana Marie Prikler @ 2022-10-05 10:34 UTC (permalink / raw)
  To: J. Sims; +Cc: 58236

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




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

* [bug#58236] [PATCH] gnu: genie: Add genie.
  2022-10-05 10:34     ` Liliana Marie Prikler
@ 2022-10-06  1:06       ` J. Sims via Guix-patches via
  2022-10-06  1:12         ` J. Sims via Guix-patches via
  0 siblings, 1 reply; 7+ messages in thread
From: J. Sims via Guix-patches via @ 2022-10-06  1:06 UTC (permalink / raw)
  To: Liliana Marie Prikler, 58236@debbugs.gnu.org

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

On Wednesday, October 5th, 2022 at 05:34, Liliana Marie Prikler <liliana.prikler@ist.tugraz.at> 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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-genie-Add-genie.patch --]
[-- Type: text/x-patch; name=0001-gnu-genie-Add-genie.patch, Size: 2421 bytes --]

From 7a1d86dbe8b07964661160d5b86e9cd92790cf1e Mon Sep 17 00:00:00 2001
From: "J. Sims" <jts@heidi.lan>
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 <efraim@flashner.co.il>
 ;;; Copyright © 2021 qblade <qblade@protonmail.com>
 ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2022 Juliana Sims <jtsims@protonmail.com>
 ;;;
 ;;; 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


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

* [bug#58236] [PATCH] gnu: genie: Add genie.
  2022-10-06  1:06       ` J. Sims via Guix-patches via
@ 2022-10-06  1:12         ` J. Sims via Guix-patches via
  2022-10-09 20:20           ` bug#58236: " Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: J. Sims via Guix-patches via @ 2022-10-06  1:12 UTC (permalink / raw)
  To: Liliana Marie Prikler, 58236@debbugs.gnu.org

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

On Wednesday, October 5th, 2022 at 20:06, J. Sims <jtsims@protonmail.com> wrote:


> On Wednesday, October 5th, 2022 at 05:34, Liliana Marie Prikler liliana.prikler@ist.tugraz.at 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.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-genie-Add-genie.patch --]
[-- Type: text/x-patch; name=0001-gnu-genie-Add-genie.patch, Size: 2429 bytes --]

From 7a1d86dbe8b07964661160d5b86e9cd92790cf1e Mon Sep 17 00:00:00 2001
From: "J. Sims" <jtsims@protonmail.com>
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 <efraim@flashner.co.il>
 ;;; Copyright © 2021 qblade <qblade@protonmail.com>
 ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2022 Juliana Sims <jtsims@protonmail.com>
 ;;;
 ;;; 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


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

* bug#58236: [PATCH] gnu: genie: Add genie.
  2022-10-06  1:12         ` J. Sims via Guix-patches via
@ 2022-10-09 20:20           ` Ludovic Courtès
  0 siblings, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2022-10-09 20:20 UTC (permalink / raw)
  To: J. Sims; +Cc: Liliana Marie Prikler, 58236@debbugs.gnu.org

Hi,

"J. Sims" <jtsims@protonmail.com> skribis:

> From 7a1d86dbe8b07964661160d5b86e9cd92790cf1e Mon Sep 17 00:00:00 2001
> From: "J. Sims" <jtsims@protonmail.com>
> Date: Wed, 5 Oct 2022 19:37:11 -0500
> Subject: [PATCH] gnu: genie: Add genie.
>
> * gnu/packages/build-tools.scm (genie): Add genie.

Applied, thanks!

Ludo’.




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

end of thread, other threads:[~2022-10-09 20:22 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-01 22:15 [bug#58236] [PATCH] gnu: genie: Add genie J. Sims via Guix-patches via
2022-10-03  6:45 ` Liliana Marie Prikler
2022-10-04 19:37   ` J. Sims via Guix-patches via
2022-10-05 10:34     ` Liliana Marie Prikler
2022-10-06  1:06       ` J. Sims via Guix-patches via
2022-10-06  1:12         ` J. Sims via Guix-patches via
2022-10-09 20:20           ` bug#58236: " Ludovic Courtès

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