On Monday, October 3rd, 2022 at 01:45, Liliana Marie Prikler 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