From 2a01769e8c2642597599007f0871f29615136b56 Mon Sep 17 00:00:00 2001
From: Andy Tai <atai@atai.org>
Date: Sat, 4 Sep 2021 21:16:21 -0700
Subject: [PATCH] gnu: Add genie
To: guix-patches@gnu.org
* gnu/packages/build-tools.scm (genie): New variable
---
gnu/packages/build-tools.scm | 48 ++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
@@ -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 © 2021 Andy Tai <atai@atai.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -584,3 +585,50 @@ Build has features such as:
@item Extensible language/compiler framework.
@end itemize")
(license license:gpl2+)))
+
+(define-public genie
+ (let ((commit "5fecb127855ee069df345f20d17fea78220fee93")
+ (revision "0"))
+ (package
+ (name "genie")
+ (version
+ (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/bkaradzic/genie")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1fl00w4v2wigl2fypvnpzmny2x4f0adb7ncsn4a6w7gwxfxvl51j"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags (list (string-append "CC=" ,(cc-for-target)))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((outdir (assoc-ref outputs "out")))
+ (install-file "bin/linux/genie" (string-append outdir "/bin")))
+ #t)))
+ ;; no tests; note included tests directory references premake4
+ ;; and does not seem to be maintained to work with genie
+ #:tests? #f))
+ (native-inputs
+ ;; note genie includes in tree a copy of Lua 5.3.0
+ ;; however the build setup does not support using an out of tree,
+ ;; system installed copy of Lua so we do not make lua a native input
+ ;; at this time; in the future would be good to support that
+ `())
+ (home-page "https://github.com/bkaradzic/GENie")
+ (synopsis "project file generator tool")
+ (description "GENie (pronounced as Jenny) is project file generator tool.
+It automagically generates project files from Lua script,
+making applying the same settings for multiple projects easy.
+Supports cmake, make, ninja, Visual Studio and xcode")
+ ;; most sources are bsd-3; inspect.lua and profiler.lua are expat
+ (license (list license:bsd-3 license:expat)))))
--
2.33.0