summary refs log tree commit diff
path: root/gnu/packages/engineering.scm
diff options
context:
space:
mode:
authorTheodoros Foradis <theodoros@foradis.org>2017-09-09 20:57:50 +0300
committerLudovic Courtès <ludo@gnu.org>2017-10-11 11:12:33 +0200
commitf26af33aec586bafcf21838d6ed3b7e00e2b5b03 (patch)
tree444269286d4ae59cf9df3e6b4e567b2070d97958 /gnu/packages/engineering.scm
parent91cabd3e58db8ff53f8f566f3c4cd614ea691223 (diff)
downloadguix-f26af33aec586bafcf21838d6ed3b7e00e2b5b03.tar.gz
gnu: Add freehdl.
* gnu/packages/engineering.scm (freehdl): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/engineering.scm')
-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
+