[PATCH] gnu: genie: Add genie.

  • Done
  • quality assurance status badge
Details
3 participants
  • J. Sims
  • Liliana Marie Prikler
  • Ludovic Courtès
Owner
unassigned
Submitted by
J. Sims
Severity
normal

Debbugs page

J. Sims wrote 2 years ago
(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)
4U8NHZEnxqwJYZmqbBYDduYPojljirob5Ax9z0XH0A1W-PPzFbyPbLlp1ncKs-H3CsRFZ52plHVTtoqpvrKaciBg1WkYdheAON-fY93Ui8U=@protonmail.com
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(+)

Toggle diff (63 lines)
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
Liliana Marie Prikler wrote 2 years ago
3b2b96fccc4cc1df3dc34963f2c7ce8eff04f857.camel@ist.tugraz.at
Am Samstag, dem 01.10.2022 um 22:15 +0000 schrieb J. Sims:
Toggle quote (20 lines)
> 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.

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

Toggle quote (14 lines)
> +      (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.
Toggle quote (8 lines)
> +         (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.
Toggle quote (2 lines)
> +         #:tests? #f)) ;; tests have not been updated since Premake
> fork
That sounds bad. Do they all fail or are some of them salvagable?
Toggle quote (3 lines)
> +      (synopsis "Project generator tool")
> +      (description "GENie (pronounced as Jenny) is project generator
> tool. It
I think we can do without pronunciation guides.
Toggle quote (12 lines)
> +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.
Toggle quote (4 lines)
> +      (license license:bsd-3))))
>
> base-commit: 461b1e490935e720999e78dc29656ae3c9ea2ea3

Cheers
J. Sims wrote 2 years ago
(name . Liliana Marie Prikler)(address . liliana.prikler@ist.tugraz.at)(address . 58236@debbugs.gnu.org)
QiTVHqkwXeIqQexAgHAJPeHICRw1vrR6zWI5cyt0KqPrEP9z5QTjfHFuEawqsBZih5Rvzsxo7sjykYRpLcQwnmnb6xLXkovXkoesxWnEKsg=@protonmail.com
On Monday, October 3rd, 2022 at 01:45, Liliana Marie Prikler <liliana.prikler@ist.tugraz.at> wrote:


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

Toggle diff (55 lines)
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
Liliana Marie Prikler wrote 2 years ago
(name . J. Sims)(address . jtsims@protonmail.com)(address . 58236@debbugs.gnu.org)
77199596cf765478acdd1f7018107acc5e040d4e.camel@ist.tugraz.at
Am Dienstag, dem 04.10.2022 um 19:37 +0000 schrieb J. Sims:

Toggle quote (4 lines)
> (define-public genie
> + (let ((commit "b139103697bbb62db895e4cc7bfe202bcff4ff25")
> + (version "1167")
> + (revision "0"))
Do not let-bind version.
Toggle quote (4 lines)
> + (package
> + (name "genie")
> + (version (git-version version revision commit))
> + (home-page "https://github.com/bkaradzic/genie")
home-page comes before synopsis and description...
Toggle quote (5 lines)
> + (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.
Toggle quote (14 lines)
> + (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.
Toggle quote (1 lines)
> + #: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.
Toggle quote (1 lines)
> + (synopsis "Project generator tool")
Note that tool is superfluous here.
Toggle quote (4 lines)
> + (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."
Toggle quote (5 lines)
> +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.
Toggle quote (2 lines)
> + (license license:bsd-3))))

Cheers
J. Sims wrote 2 years ago
PkoBajBEZHJz4hsPQbv6X8zshW2v_Y-wV8z5AzHqyvQvAG9PRTrjpY33BpTO48cYKSr5Fxm4OymS5u10MejJtHC0oCyOo3HZ41A_eLP3B1c=@protonmail.com
On Wednesday, October 5th, 2022 at 05:34, Liliana Marie Prikler <liliana.prikler@ist.tugraz.at> wrote:


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


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

Toggle diff (52 lines)
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
J. Sims wrote 2 years ago
O3JnpvoNdsKRbNcEH8eDQFsj1eOPFx05qatEOw1fm3CuheVHd0PD5gDmQLUo7-nI6Ex2_BAlskVdQ2uSDTetPpGSshRfzzVlmV_-bbcb56E=@protonmail.com
On Wednesday, October 5th, 2022 at 20:06, J. Sims <jtsims@protonmail.com> wrote:


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

Toggle diff (52 lines)
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
Ludovic Courtès wrote 2 years ago
Re: bug#58236: [PATCH] gnu: genie: Add genie.
(name . J. Sims)(address . jtsims@protonmail.com)
87h70c4ul7.fsf_-_@gnu.org
Hi,

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

Toggle quote (7 lines)
> 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’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 58236@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 58236
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help