aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheodoros Foradis <theodoros@foradis.org>2017-09-09 20:57:48 +0300
committerLudovic Courtès <ludo@gnu.org>2017-10-11 11:12:33 +0200
commit1da02b6a49dde86c8a4029a19ab26b8a5a66d743 (patch)
tree7358cd9dfefdeb43e241b86cdbc2a362104e9176
parentb509efb385e25e19bd1a44352c221ce74e961cff (diff)
downloadgnu-guix-1da02b6a49dde86c8a4029a19ab26b8a5a66d743.tar
gnu-guix-1da02b6a49dde86c8a4029a19ab26b8a5a66d743.tar.gz
gnu: Add xyce-serial.
* gnu/packages/engineering.scm (trilinos-serial-xyce) (xyce-serial): New variables. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/packages/engineering.scm98
1 files changed, 98 insertions, 0 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 543a166da4..feff757c61 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -1279,3 +1279,101 @@ an embedded event driven algorithm.")
(inputs
`(("libngspice" ,libngspice)
("readline" ,readline)))))
+
+(define trilinos-serial-xyce
+ ;; Note: This is a Trilinos containing only the packages Xyce needs, so we
+ ;; keep it private. See
+ ;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27344#248>.
+ ;; TODO: Remove when we have modular Trilinos packages?
+ (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-3.5)
+ ("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-3.5)
+ ("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+)))