mirror of
https://codeberg.org/guix/guix.git
synced 2026-01-25 12:05:19 -06: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:
parent
72a97edba5
commit
cdfb63f7eb
2 changed files with 154 additions and 152 deletions
|
|
@ -23,6 +23,7 @@
|
|||
;;; Copyright © 2022, 2025 Evgeny Pisemsky <mail@pisemsky.site>
|
||||
;;; Copyright © 2025, Ekaitz Zarraga <ekaitz@elenq.tech>
|
||||
;;; Copyright © 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;; Copyright © 2020, 2023 Marius Bakke <marius@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
|
@ -75,6 +76,7 @@
|
|||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gd)
|
||||
#:use-module (gnu packages gdb)
|
||||
#:use-module (gnu packages gettext)
|
||||
|
|
@ -2459,6 +2461,96 @@ using different abstraction levels.")
|
|||
VPI Interface, Elaborator, Serialization, Visitor and Listener.")
|
||||
(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
|
||||
(package
|
||||
(name "verilator")
|
||||
|
|
@ -2545,6 +2637,68 @@ support for ESD or COMEDI sources.")
|
|||
(home-page "https://xoscope.sourceforge.net/")
|
||||
(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
|
||||
(package
|
||||
(name "yosys")
|
||||
|
|
|
|||
|
|
@ -2286,158 +2286,6 @@ and a fallback for environments without libc for Zydis.")
|
|||
high-performance parallel differential evolution (DE) optimization algorithm.")
|
||||
(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
|
||||
(package
|
||||
(name "librepcb")
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue