From 2a01769e8c2642597599007f0871f29615136b56 Mon Sep 17 00:00:00 2001 From: Andy Tai 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(+) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index d2fb9e05df..6b3a5d15bb 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2020 Efraim Flashner ;;; Copyright © 2021 qblade ;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021 Andy Tai ;;; ;;; 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