Message ID | 4U8NHZEnxqwJYZmqbBYDduYPojljirob5Ax9z0XH0A1W-PPzFbyPbLlp1ncKs-H3CsRFZ52plHVTtoqpvrKaciBg1WkYdheAON-fY93Ui8U=@protonmail.com |
---|---|
State | Accepted |
Headers | show |
Series | [bug#58236] gnu: genie: Add genie. | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git-branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
cbaines/issue | success | View issue |
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
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))))