mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-04-06 21:20:33 +02:00
gnu: xyce-serial/parallel: Move to electronics.
* gnu/packages/engineering.scm (xyce-serial, xyce-parallel, trilinos-parallel-xyce, trilinos-serial-xyce): Move from here ... * gnu/packages/electronics.scm: ... to here. Change-Id: I98d83ec4b1f86c31c355a22aea2f849155272504 Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
This commit is contained in:
committed by
Gabriel Wicki
parent
72a97edba5
commit
cdfb63f7eb
@@ -23,6 +23,7 @@
|
|||||||
;;; Copyright © 2022, 2025 Evgeny Pisemsky <mail@pisemsky.site>
|
;;; Copyright © 2022, 2025 Evgeny Pisemsky <mail@pisemsky.site>
|
||||||
;;; Copyright © 2025, Ekaitz Zarraga <ekaitz@elenq.tech>
|
;;; Copyright © 2025, Ekaitz Zarraga <ekaitz@elenq.tech>
|
||||||
;;; Copyright © 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
|
;;; Copyright © 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
|
||||||
|
;;; Copyright © 2020, 2023 Marius Bakke <marius@gnu.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
@@ -75,6 +76,7 @@
|
|||||||
#:use-module (gnu packages freedesktop)
|
#:use-module (gnu packages freedesktop)
|
||||||
#:use-module (gnu packages fontutils)
|
#:use-module (gnu packages fontutils)
|
||||||
#:use-module (gnu packages gawk)
|
#:use-module (gnu packages gawk)
|
||||||
|
#:use-module (gnu packages gcc)
|
||||||
#:use-module (gnu packages gd)
|
#:use-module (gnu packages gd)
|
||||||
#:use-module (gnu packages gdb)
|
#:use-module (gnu packages gdb)
|
||||||
#:use-module (gnu packages gettext)
|
#:use-module (gnu packages gettext)
|
||||||
@@ -2459,6 +2461,96 @@ using different abstraction levels.")
|
|||||||
VPI Interface, Elaborator, Serialization, Visitor and Listener.")
|
VPI Interface, Elaborator, Serialization, Visitor and Listener.")
|
||||||
(license license:asl2.0)))
|
(license license:asl2.0)))
|
||||||
|
|
||||||
|
(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.12.1")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/trilinos/Trilinos")
|
||||||
|
(commit (string-append "trilinos-release-"
|
||||||
|
(string-map (lambda (chr)
|
||||||
|
(case chr
|
||||||
|
((#\.) #\-)
|
||||||
|
(else chr)))
|
||||||
|
version)))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1smz3wlpfyjn0czmpl8bj4hw33p1zi9nnfygpsx7jl1523nypa1n"))))
|
||||||
|
(build-system cmake-build-system)
|
||||||
|
(arguments
|
||||||
|
(list
|
||||||
|
#:tests? #f ;no tests
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
;; Delete unneeded tribits(build system) directory which makes
|
||||||
|
;; validate-runpath phase to fail.
|
||||||
|
(add-before 'validate-runpath 'delete-tribits
|
||||||
|
(lambda _
|
||||||
|
(delete-file-recursively
|
||||||
|
(string-append #$output "/lib/cmake/tribits")))))
|
||||||
|
#: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 (list gfortran swig))
|
||||||
|
(inputs (list boost lapack 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 trilinos-parallel-xyce
|
||||||
|
(package
|
||||||
|
(inherit trilinos-serial-xyce)
|
||||||
|
(name "trilinos-parallel-xyce")
|
||||||
|
(arguments
|
||||||
|
(substitute-keyword-arguments
|
||||||
|
(package-arguments trilinos-serial-xyce)
|
||||||
|
((#:configure-flags flags)
|
||||||
|
#~(cons* "-DTrilinos_ENABLE_ShyLU=ON"
|
||||||
|
"-DTrilinos_ENABLE_Zoltan=ON"
|
||||||
|
"-DTPL_ENABLE_MPI=ON"
|
||||||
|
#$flags))))
|
||||||
|
(inputs
|
||||||
|
(modify-inputs (package-inputs trilinos-serial-xyce)
|
||||||
|
(prepend openmpi)))))
|
||||||
|
|
||||||
(define-public verilator
|
(define-public verilator
|
||||||
(package
|
(package
|
||||||
(name "verilator")
|
(name "verilator")
|
||||||
@@ -2545,6 +2637,68 @@ support for ESD or COMEDI sources.")
|
|||||||
(home-page "https://xoscope.sourceforge.net/")
|
(home-page "https://xoscope.sourceforge.net/")
|
||||||
(license license:gpl2+))))
|
(license license:gpl2+))))
|
||||||
|
|
||||||
|
(define-public xyce-serial
|
||||||
|
(package
|
||||||
|
(name "xyce-serial")
|
||||||
|
(version "6.8")
|
||||||
|
(source
|
||||||
|
(origin (method url-fetch)
|
||||||
|
(uri (string-append "https://archive.org/download/Xyce-"
|
||||||
|
version "/Xyce-" version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"09flp1xywbb2laayd9rg8vd0fjsh115y6k1p71jacy0nrbdvvlcg"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
(list
|
||||||
|
#:tests? #f
|
||||||
|
#:configure-flags
|
||||||
|
#~(list
|
||||||
|
"CXXFLAGS=-O3"
|
||||||
|
(string-append "CFLAGS="
|
||||||
|
" -Wno-error=builtin-declaration-mismatch"
|
||||||
|
" -Wno-error=implicit-function-declaration"
|
||||||
|
" -Wno-error=implicit-int")
|
||||||
|
(string-append "ARCHDIR=" #$trilinos-serial-xyce))))
|
||||||
|
(native-inputs
|
||||||
|
(list bison-3.0 ;'configure' fails with Bison 3.4
|
||||||
|
flex
|
||||||
|
gfortran))
|
||||||
|
(inputs
|
||||||
|
(list fftw lapack suitesparse 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+)))
|
||||||
|
|
||||||
|
(define-public xyce-parallel
|
||||||
|
(package
|
||||||
|
(inherit xyce-serial)
|
||||||
|
(name "xyce-parallel")
|
||||||
|
(arguments
|
||||||
|
(substitute-keyword-arguments
|
||||||
|
(package-arguments xyce-serial)
|
||||||
|
((#:configure-flags flags)
|
||||||
|
#~(list "CXXFLAGS=-O3"
|
||||||
|
"CXX=mpiCC"
|
||||||
|
"CC=mpicc"
|
||||||
|
"F77=mpif77"
|
||||||
|
"--enable-mpi"
|
||||||
|
(string-append
|
||||||
|
"CFLAGS="
|
||||||
|
" -Wno-error=builtin-declaration-mismatch"
|
||||||
|
" -Wno-error=implicit-function-declaration"
|
||||||
|
" -Wno-error=implicit-int")
|
||||||
|
(string-append "ARCHDIR=" #$trilinos-parallel-xyce)))))
|
||||||
|
(propagated-inputs (list openmpi))
|
||||||
|
(inputs
|
||||||
|
(modify-inputs (package-inputs xyce-serial)
|
||||||
|
(append zlib)
|
||||||
|
(replace "trilinos-serial-xyce" trilinos-parallel-xyce)))))
|
||||||
|
|
||||||
(define-public yosys
|
(define-public yosys
|
||||||
(package
|
(package
|
||||||
(name "yosys")
|
(name "yosys")
|
||||||
|
|||||||
@@ -2286,158 +2286,6 @@ and a fallback for environments without libc for Zydis.")
|
|||||||
high-performance parallel differential evolution (DE) optimization algorithm.")
|
high-performance parallel differential evolution (DE) optimization algorithm.")
|
||||||
(license license:gpl2+)))
|
(license license:gpl2+)))
|
||||||
|
|
||||||
(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.12.1")
|
|
||||||
(source
|
|
||||||
(origin
|
|
||||||
(method git-fetch)
|
|
||||||
(uri (git-reference
|
|
||||||
(url "https://github.com/trilinos/Trilinos")
|
|
||||||
(commit (string-append "trilinos-release-"
|
|
||||||
(string-map (lambda (chr)
|
|
||||||
(case chr
|
|
||||||
((#\.) #\-)
|
|
||||||
(else chr)))
|
|
||||||
version)))))
|
|
||||||
(file-name (git-file-name name version))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"1smz3wlpfyjn0czmpl8bj4hw33p1zi9nnfygpsx7jl1523nypa1n"))))
|
|
||||||
(build-system cmake-build-system)
|
|
||||||
(arguments
|
|
||||||
(list
|
|
||||||
#:tests? #f ;no tests
|
|
||||||
#:phases
|
|
||||||
#~(modify-phases %standard-phases
|
|
||||||
;; Delete unneeded tribits(build system) directory which makes
|
|
||||||
;; validate-runpath phase to fail.
|
|
||||||
(add-before 'validate-runpath 'delete-tribits
|
|
||||||
(lambda _
|
|
||||||
(delete-file-recursively
|
|
||||||
(string-append #$output "/lib/cmake/tribits")))))
|
|
||||||
#: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 (list gfortran swig))
|
|
||||||
(inputs (list boost lapack 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.8")
|
|
||||||
(source
|
|
||||||
(origin (method url-fetch)
|
|
||||||
(uri (string-append "https://archive.org/download/Xyce-"
|
|
||||||
version "/Xyce-" version ".tar.gz"))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"09flp1xywbb2laayd9rg8vd0fjsh115y6k1p71jacy0nrbdvvlcg"))))
|
|
||||||
(build-system gnu-build-system)
|
|
||||||
(arguments
|
|
||||||
(list
|
|
||||||
#:tests? #f
|
|
||||||
#:configure-flags
|
|
||||||
#~(list
|
|
||||||
"CXXFLAGS=-O3"
|
|
||||||
(string-append "CFLAGS="
|
|
||||||
" -Wno-error=builtin-declaration-mismatch"
|
|
||||||
" -Wno-error=implicit-function-declaration"
|
|
||||||
" -Wno-error=implicit-int")
|
|
||||||
(string-append "ARCHDIR=" #$trilinos-serial-xyce))))
|
|
||||||
(native-inputs
|
|
||||||
(list bison-3.0 ;'configure' fails with Bison 3.4
|
|
||||||
flex
|
|
||||||
gfortran))
|
|
||||||
(inputs
|
|
||||||
(list fftw lapack suitesparse 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+)))
|
|
||||||
|
|
||||||
(define trilinos-parallel-xyce
|
|
||||||
(package
|
|
||||||
(inherit trilinos-serial-xyce)
|
|
||||||
(name "trilinos-parallel-xyce")
|
|
||||||
(arguments
|
|
||||||
(substitute-keyword-arguments
|
|
||||||
(package-arguments trilinos-serial-xyce)
|
|
||||||
((#:configure-flags flags)
|
|
||||||
#~(cons* "-DTrilinos_ENABLE_ShyLU=ON"
|
|
||||||
"-DTrilinos_ENABLE_Zoltan=ON"
|
|
||||||
"-DTPL_ENABLE_MPI=ON"
|
|
||||||
#$flags))))
|
|
||||||
(inputs
|
|
||||||
(modify-inputs (package-inputs trilinos-serial-xyce)
|
|
||||||
(prepend openmpi)))))
|
|
||||||
|
|
||||||
(define-public xyce-parallel
|
|
||||||
(package
|
|
||||||
(inherit xyce-serial)
|
|
||||||
(name "xyce-parallel")
|
|
||||||
(arguments
|
|
||||||
(substitute-keyword-arguments
|
|
||||||
(package-arguments xyce-serial)
|
|
||||||
((#:configure-flags flags)
|
|
||||||
#~(list "CXXFLAGS=-O3"
|
|
||||||
"CXX=mpiCC"
|
|
||||||
"CC=mpicc"
|
|
||||||
"F77=mpif77"
|
|
||||||
"--enable-mpi"
|
|
||||||
(string-append
|
|
||||||
"CFLAGS="
|
|
||||||
" -Wno-error=builtin-declaration-mismatch"
|
|
||||||
" -Wno-error=implicit-function-declaration"
|
|
||||||
" -Wno-error=implicit-int")
|
|
||||||
(string-append "ARCHDIR=" #$trilinos-parallel-xyce)))))
|
|
||||||
(propagated-inputs (list openmpi))
|
|
||||||
(inputs
|
|
||||||
(modify-inputs (package-inputs xyce-serial)
|
|
||||||
(append zlib)
|
|
||||||
(replace "trilinos-serial-xyce" trilinos-parallel-xyce)))))
|
|
||||||
|
|
||||||
(define-public librepcb
|
(define-public librepcb
|
||||||
(package
|
(package
|
||||||
(name "librepcb")
|
(name "librepcb")
|
||||||
|
|||||||
Reference in New Issue
Block a user