summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Prior via Guix-patches via <guix-patches@gnu.org>2020-05-21 00:57:20 +0000
committerGuix Patches Tester <>2020-05-24 21:34:50 +0100
commit6649935ec46543688859f4d85599b17959485a9c (patch)
tree1f72b49eb91e3cdf65d463d4d2cedaab611556b8
parent2ae11cd0a43bfd8c0106afc620c2e5be1cecef78 (diff)
downloadpatches-6649935ec46543688859f4d85599b17959485a9c.tar
patches-6649935ec46543688859f4d85599b17959485a9c.tar.gz
gnu: Add tcc-wrapper.
* gnu/packages/c.scm (tcc-wrapper): New variable. * gnu/packages/c.scm (wrap-cc): New variable.
-rw-r--r--gnu/packages/c.scm31
1 files changed, 31 insertions, 0 deletions
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 5718ec66ac..757cfa7fba 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -288,3 +289,33 @@ address space pointers point to, or what locks a function acquires or
releases.")
(home-page "https://sparse.wiki.kernel.org/index.php/Main_Page")
(license license:expat)))
+
+(define-public wrap-cc
+ (lambda* (cc #:optional
+ (bin (package-name cc))
+ (name (string-append (package-name cc) "-wrapper")))
+ (package/inherit cc
+ (name name)
+ (source #f)
+ (build-system trivial-build-system)
+ (outputs '("out"))
+ (native-inputs '())
+ (inputs '())
+ (propagated-inputs `(("cc" ,cc)))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let ((bin-dir (string-append (assoc-ref %build-inputs "cc") "/bin/"))
+ (wrapper-dir (string-append (assoc-ref %outputs "out") "/bin/")))
+ (mkdir-p wrapper-dir)
+ (symlink (string-append bin-dir ,bin)
+ (string-append wrapper-dir "cc"))))))
+ (synopsis (string-append "Wrapper for " bin))
+ (description
+ (string-append
+ "Wraps " (package-name cc) " such that @command{" bin "} can be invoked
+under the name @command{cc}.")))))
+
+(define-public tcc-wrapper (wrap-cc tcc))