* gnu/packages/education.scm: New file. * gnu/packages/fpga.scm (abc): New variable. --- gnu/local.mk | 1 + gnu/packages/fpga.scm | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 gnu/packages/fpga.scm
diff --git a/gnu/local.mk b/gnu/local.mk index 08770ff..38e5313 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -123,6 +123,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/fltk.scm \ %D%/packages/fonts.scm \ %D%/packages/fontutils.scm \ + %D%/packages/fpga.scm \ %D%/packages/freedesktop.scm \ %D%/packages/freeipmi.scm \ %D%/packages/ftp.scm \ diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm new file mode 100644 index 0000000..40ea709 --- /dev/null +++ b/gnu/packages/fpga.scm @@ -0,0 +1,72 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Danny Milosavljevic <dan...@scratchpost.org> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages fpga) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (guix build-system cmake) + #:use-module (gnu packages) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages tcl) + #:use-module (gnu packages readline) + #:use-module (gnu packages python) + #:use-module (gnu packages bison) + #:use-module (gnu packages flex) + #:use-module (gnu packages libffi) + #:use-module (gnu packages zip) + #:use-module (gnu packages perl) + #:use-module (gnu packages gawk)) + +;; To compile as C code (default): make sure that CC=gcc and ABC_NAMESPACE is not defined. +;; To compile as C++ code with namespaces: make sure that CC=g++ and ABC_NAMESPACE is set to the name of the requested namespace. For example, add -DABC_NAMESPACE=xxx to OPTFLAGS. +(define-public abc + (package + (name "abc") + (version "0.0-5ae4b975c49c") + (source (origin + (method url-fetch) + (uri + (string-append "https://bitbucket.org/alanmi/abc/get/5ae4b975c49c.zip")) + (sha256 + (base32 + "1syygi1x40rdryih3galr4q8yg1w5bvdzl75hd27v1xq0l5bz3d0")))) + (build-system gnu-build-system) + (native-inputs + `(("unzip" ,unzip))) + (inputs + `(("readline" ,readline))) + (arguments + `(#:tests? #f ; 'check target does not exist. + ; #:make-flags '("PROG=abc") + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (outbin (string-append out "/bin")) + (target (string-append outbin "/abc"))) + (mkdir-p outbin) + (copy-file "abc" target))))))) + (home-page "http://people.eecs.berkeley.edu/~alanmi/abc/") + (synopsis "Sequential Logic Synthesis and Formal Verification") + (description "ABC is a program for sequential logic synthesis and formal verification.") + (license license:expat) #| FIXME license: MIT Modern variant as described +in <https://fedoraproject.org/wiki/Licensing:MIT> |#))