[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/02: gnu: freehdl: Fix gvhdl and freehdl-gennodes scripts.
From: |
Ludovic Courtès |
Subject: |
01/02: gnu: freehdl: Fix gvhdl and freehdl-gennodes scripts. |
Date: |
Fri, 27 Oct 2017 12:33:24 -0400 (EDT) |
civodul pushed a commit to branch master
in repository guix.
commit d3f9589842df47ecdaf558bc675d3de327ef16fa
Author: Theodoros Foradis <address@hidden>
Date: Fri Oct 27 17:18:17 2017 +0300
gnu: freehdl: Fix gvhdl and freehdl-gennodes scripts.
* gnu/packages/engineering.scm (freehdl):
[arguments] <phases>: Add patch-gvhdl and patch-freehdl-gennodes phases.
Wrap-program "/bin/gvhdl" in make-wrapper phase.
[inputs]: Add guile-2.2.
Signed-off-by: Ludovic Courtès <address@hidden>
---
gnu/packages/engineering.scm | 44 +++++++++++++++++++++++++++++++++++++++++---
1 file changed, 41 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index c9e184d..1d68627 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -42,6 +42,7 @@
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
+ #:use-module (gnu packages commencement)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages flex)
@@ -1441,25 +1442,62 @@ parallel computing platforms. It also supports serial
execution.")
(string-append (assoc-ref inputs "coreutils")
"/bin/cat")))
#t))
+ (add-after 'patch-pkg-config 'setenv
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "CXX" (string-append (assoc-ref inputs "gcc")
+ "/bin/g++"))
+ (setenv "SYSTEM_LIBTOOL" (string-append (assoc-ref inputs
"libtool")
+ "/bin/libtool"))
+ #t))
+ (add-after 'setenv 'patch-gvhdl
+ (lambda _
+ (substitute* "v2cc/gvhdl.in"
+ (("--mode=link") "--mode=link --tag=CXX")
+ (("-lm") "-lm FREEHDL/lib/freehdl/libieee.la"))
+ #t))
+ (add-after 'patch-gvhdl 'patch-freehdl-gennodes
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "freehdl/freehdl-gennodes.in"
+ (("guile")
+ (string-append (assoc-ref inputs "guile") "/bin/guile"))
+ (("\\(debug") ";(debug")
+ (("\\(@ ") "(apply-emit")
+ (("\\(@@ ") "(apply-mini-format"))
+ #t))
(add-after 'configure 'patch-freehdl-pc
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "freehdl.pc"
(("=g\\+\\+")
- (string-append "=" (assoc-ref inputs "gcc")
+ (string-append "=" (assoc-ref inputs "gcc-toolchain")
"/bin/g++"))
(("=libtool")
(string-append "=" (assoc-ref inputs "libtool")
"/bin/libtool")))
#t))
(add-after 'install-scripts 'make-wrapper
- (lambda* (#:key outputs #:allow-other-keys)
+ (lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
+ ;; 'gvhdl' invokes the C compiler directly, so hard-code its
+ ;; file name.
+ (wrap-program (string-append out "/bin/gvhdl")
+ `("CPLUS_INCLUDE_PATH" ":" prefix
+ (,(string-append (assoc-ref inputs "gcc-toolchain")
+ "/include")))
+ `("LIBRARY_PATH" ":" prefix
+ (,(string-append (assoc-ref inputs "gcc-toolchain")
+ "/lib")))
+ `("PATH" ":" prefix
+ (,(string-append (assoc-ref inputs "gcc-toolchain")
+ "/bin")
+ ,(string-append (assoc-ref inputs "coreutils")
+ "/bin"))))
(wrap-program (string-append out "/bin/freehdl-config")
`("PKG_CONFIG_PATH" ":" prefix (,(string-append out
"/lib/pkgconfig")))))
#t)))))
(inputs
`(("coreutils" ,coreutils)
- ("gcc" ,gcc)
+ ("gcc-toolchain" ,gcc-toolchain-5)
+ ("guile" ,guile-2.2)
("perl" ,perl)
("pkg-config" ,pkg-config)
("libtool" ,libtool)))