Subject: [PATCH v2 09/12] gnu: Add xyce-serial.

From: Theodoros Foradis <[email-masked]>
Date: Thu, 22 Jun 2017 22:10:02 +0300

* gnu/packages/engineering.scm (xyce-serial): New variable.
---
 gnu/packages/engineering.scm | 94 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 94 insertions(+)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 63e938371..e4dff216b 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -1168,3 +1168,97 @@ an embedded event driven algorithm.")
             `(delete "--with-ngshared" ,flags)))))
     (propagated-inputs
      `(("libngspice" ,libngspice)))))
+
+(define trilinos-serial-xyce
+  (package
+    (name "trilinos-serial-xyce")
+    (version "12.6.3")
+    (source
+     (origin (method url-fetch)
+             (uri (string-append "https://trilinos.org/oldsite/download/files/trilinos-"
+                                 version "-Source.tar.gz"))
+             (sha256
+              (base32
+               "07jd1qpsbf31cmbyyngr4l67xzwyan24dyx5wlcahgbw7x6my3wn"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:out-of-source? #t
+       #:configure-flags
+       (list "-DCMAKE_CXX_FLAGS=-O3 -fPIC"
+             "-DCMAKE_C_FLAGS=-O3 -fPIC"
+             "-DCMAKE_Fortran_FLAGS=-O3 -fPIC"
+             "-DTrilinos_ENABLE_NOX=ON"
+             "-DNOX_ENABLE_LOCA=ON"
+             "-DTrilinos_ENABLE_EpetraExt=ON"
+             "-DEpetraExt_BUILD_BTF=ON"
+             "-DEpetraExt_BUILD_EXPERIMENTAL=ON"
+             "-DEpetraExt_BUILD_GRAPH_REORDERINGS=ON"
+             "-DTrilinos_ENABLE_TrilinosCouplings=ON"
+             "-DTrilinos_ENABLE_Ifpack=ON"
+             "-DTrilinos_ENABLE_Isorropia=ON"
+             "-DTrilinos_ENABLE_AztecOO=ON"
+             "-DTrilinos_ENABLE_Belos=ON"
+             "-DTrilinos_ENABLE_Teuchos=ON"
+             "-DTeuchos_ENABLE_COMPLEX=ON"
+             "-DTrilinos_ENABLE_Amesos=ON"
+             "-DAmesos_ENABLE_KLU=ON"
+             "-DAmesos_ENABLE_UMFPACK=ON"
+             "-DTrilinos_ENABLE_Sacado=ON"
+             "-DTrilinos_ENABLE_Kokkos=OFF"
+             "-DTrilinos_ENABLE_ALL_OPTIONAL_PACKAGES=OFF"
+             "-DTPL_ENABLE_AMD=ON"
+             "-DTPL_ENABLE_UMFPACK=ON"
+             "-DTPL_ENABLE_BLAS=ON"
+             "-DTPL_ENABLE_LAPACK=ON")))
+    (native-inputs
+     `(("fortran" ,gfortran)
+       ("swig" ,swig)))
+    (inputs
+     `(("boost" ,boost)
+       ("lapack" ,lapack)
+       ("suitesparse" ,suitesparse)))
+    (home-page "https://trilinos.org")
+    (synopsis "Engineering and scientific problems algorithms")
+    (description
+     "The Trilinos Project is an effort to develop algorithms and enabling
+technologies within an object-oriented software framework for the solution
+of large-scale, complex multi-physics engineering and scientific problems.
+  A unique design feature of Trilinos is its focus on packages.")
+    (license (list license:lgpl2.1+
+                   license:bsd-3))))
+
+(define-public xyce-serial
+  (package
+    (name "xyce-serial")
+    (version "6.7")
+    (source
+     (origin (method url-fetch)
+             (uri (string-append "https://archive.org/download/Xyce-"
+                                 version "/Xyce-" version ".tar.gz"))
+             (sha256
+              (base32
+               "02k952mnvrnc5kv7r65fdrn7khwq1lbyhwyvd7jznafzdpsvgm4x"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f
+       #:configure-flags
+       (list
+        "CXXFLAGS=-O3 -std=c++11"
+        (string-append "ARCHDIR="
+                       (assoc-ref %build-inputs "trilinos")))))
+    (native-inputs
+     `(("bison" ,bison)
+       ("flex" ,flex)
+       ("fortran" ,gfortran)))
+    (inputs
+     `(("fftw" ,fftw)
+       ("suitesparse" ,suitesparse)
+       ("lapack" ,lapack)
+       ("trilinos" ,trilinos-serial-xyce)))
+    (home-page "https://xyce.sandia.gov/")
+    (synopsis "High-performance analog circuit simulator")
+    (description
+     "Xyce is a SPICE-compatible, high-performance analog circuit simulator,
+capable of solving extremely large circuit problems by supporting large-scale
+parallel computing platforms.  It also supports serial execution.")
+    (license license:gpl3+)))
-- 
2.13.1