guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#58236] [PATCH] gnu: genie: Add genie.


From: J. Sims
Subject: [bug#58236] [PATCH] gnu: genie: Add genie.
Date: Tue, 04 Oct 2022 19:37:05 +0000

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

Attachment: 0001-gnu-genie-Add-genie.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]