aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/engineering.scm59
1 files changed, 59 insertions, 0 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 110c63f052..9f9949ef84 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -1415,3 +1415,62 @@ parallel computing platforms. It also supports serial execution.")
`(("trilinos" ,trilinos-parallel-xyce)
,@(alist-delete "trilinos"
(package-inputs xyce-serial))))))
+
+(define-public freehdl
+ (package
+ (name "freehdl")
+ (version "0.0.8")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://downloads.sourceforge.net/qucs/freehdl-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "117dqs0d4pcgbzvr3jn5ppra7n7x2m6c161ywh6laa934pw7h2bz"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'patch-pkg-config
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "freehdl/freehdl-config"
+ (("pkg-config")
+ (string-append (assoc-ref inputs "pkg-config")
+ "/bin/pkg-config"))
+ (("cat")
+ (string-append (assoc-ref inputs "coreutils")
+ "/bin/cat")))
+ #t))
+ (add-after 'configure 'patch-freehdl-pc
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "freehdl.pc"
+ (("=g\\+\\+")
+ (string-append "=" (assoc-ref inputs "gcc")
+ "/bin/g++"))
+ (("=libtool")
+ (string-append "=" (assoc-ref inputs "libtool")
+ "/bin/libtool")))
+ #t))
+ (add-after 'install-scripts 'make-wrapper
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (wrap-program (string-append out "/bin/freehdl-config")
+ `("PKG_CONFIG_PATH" ":" prefix (,(string-append out "/lib/pkgconfig")))))
+ #t)))))
+ (inputs
+ `(("coreutils" ,coreutils)
+ ("gcc" ,gcc)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("libtool" ,libtool)))
+ (native-inputs
+ `(("pkg-config-native" ,pkg-config)
+ ("libtool-native" ,libtool)))
+ (home-page "http://www.freehdl.seul.org/")
+ (synopsis "VHDL simulator")
+ (description
+ "FreeHDL is a compiler/simulator suite for the hardware description language VHDL.
+ VHDL'93 as well as VHDL'87 standards are supported.")
+ (license (list license:gpl2+
+ license:lgpl2.0+)))) ; freehdl's libraries
+