diff options
author | Theodoros Foradis <theodoros@foradis.org> | 2017-09-09 20:57:48 +0300 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2017-10-11 11:12:33 +0200 |
commit | 1da02b6a49dde86c8a4029a19ab26b8a5a66d743 (patch) | |
tree | 7358cd9dfefdeb43e241b86cdbc2a362104e9176 /gnu/packages/engineering.scm | |
parent | b509efb385e25e19bd1a44352c221ce74e961cff (diff) | |
download | guix-1da02b6a49dde86c8a4029a19ab26b8a5a66d743.tar 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>
Diffstat (limited to 'gnu/packages/engineering.scm')
-rw-r--r-- | gnu/packages/engineering.scm | 98 |
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+))) |