all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "J. Sims via Guix-patches" via <guix-patches@gnu.org>
To: Liliana Marie Prikler <liliana.prikler@ist.tugraz.at>
Cc: 58236@debbugs.gnu.org
Subject: [bug#58236] [PATCH] gnu: genie: Add genie.
Date: Tue, 04 Oct 2022 19:37:05 +0000	[thread overview]
Message-ID: <QiTVHqkwXeIqQexAgHAJPeHICRw1vrR6zWI5cyt0KqPrEP9z5QTjfHFuEawqsBZih5Rvzsxo7sjykYRpLcQwnmnb6xLXkovXkoesxWnEKsg=@protonmail.com> (raw)
In-Reply-To: <3b2b96fccc4cc1df3dc34963f2c7ce8eff04f857.camel@ist.tugraz.at>

[-- 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


  reply	other threads:[~2022-10-04 19:38 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='QiTVHqkwXeIqQexAgHAJPeHICRw1vrR6zWI5cyt0KqPrEP9z5QTjfHFuEawqsBZih5Rvzsxo7sjykYRpLcQwnmnb6xLXkovXkoesxWnEKsg=@protonmail.com' \
    --to=guix-patches@gnu.org \
    --cc=58236@debbugs.gnu.org \
    --cc=jtsims@protonmail.com \
    --cc=liliana.prikler@ist.tugraz.at \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.