J. Sims wrote 2 years ago
(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)
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