guix_mirror_bot pushed a commit to branch master
in repository guix.
commit c3813ce9c8112ec29394fb03e4cfed667437c2e8
Author: Lars Bilke <[email protected]>
AuthorDate: Thu Aug 14 12:36:11 2025 +0200
gnu: Add ogs-serial
* gnu/packages/geo.scm (ogs-serial): New variable.
Change-Id: I1bfc22af9220f7900ba40515ee9d7552442ddcf5
Modified-by: Sharlatan Hellseher <[email protected]>
Signed-off-by: Sharlatan Hellseher <[email protected]>
---
gnu/packages/geo.scm | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 86 insertions(+)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index f4e21d898c..0d939e2d02 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -122,11 +122,13 @@
#:use-module (gnu packages libunwind)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages logging)
#:use-module (gnu packages lua)
#:use-module (gnu packages machine-learning)
#:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages ninja)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
@@ -884,6 +886,90 @@ ion-association aqueous models. This package contains
modifications for
OpenGeoSys")
(license license:public-domain)))
+(define-public ogs-serial
+ (package
+ (name "ogs-serial")
+ (version "6.5.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.opengeosys.org/ogs/ogs.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1zph6vlkcq6ph23hlwk4gx3xpdf98a2iz25viah429hm1agziqi4"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:build-type "Release"
+ #:configure-flags
+ #~(list "-GNinja" "-DOGS_USE_MFRONT=ON"
+ "-DOGS_USE_NETCDF=ON"
+ (string-append "-DMFrontGenericInterface_DIR="
+ #$(this-package-input "mgis")
+ "/share/mgis/cmake"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'set-env
+ (lambda _
+ (setenv "NINJAFLAGS"
+ (string-append "-k1" " -j"
+ (number->string (parallel-job-count))))))
+ (replace 'build
+ (lambda* (#:key parallel-build? #:allow-other-keys)
+ (apply invoke "cmake" "--build" "."
+ (if parallel-build?
+ `("--parallel" ,(number->string (parallel-job-count)))
+ '()))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "cmake" "--build" "." "-t" "test"))))
+ (replace 'install
+ (lambda _
+ (invoke "cmake" "--install" ".")
+ ;; Fix missing executable permissions
+ (chmod (string-append #$output "/lib/libOgsMFrontBehaviour.so")
+ #o755))))))
+ (native-inputs
+ (list git
+ ninja
+ pybind11))
+ (inputs
+ (list boost
+ eigen
+ exprtk
+ hdf5
+ iphreeqc
+ json-modern-cxx
+ libxml2
+ mgis
+ netcdf
+ netcdf-cxx4
+ python
+ range-v3
+ spdlog
+ tclap
+ tfel
+ vtk
+ xmlpatch
+ zlib))
+ (propagated-inputs
+ (list metis)) ;to get mpmetis into PATH
+ (home-page "https://www.opengeosys.org")
+ (synopsis "Simulation of coupled processes in porous and fractured media")
+ (description
+ "OpenGeoSys (OGS) is a scientific open source project for the development
+of numerical methods for the simulation of thermo-hydro-mechanical-chemical
+(THMC) processes in porous and fractured media. OGS is implemented in C++, it
+is object-oriented with an focus on the numerical solution of coupled
+multi-field problems (multi-physics). Parallel versions of OGS are available
+relying on both MPI and OpenMP concepts. Application areas of OGS are
+currently CO2 sequestration, geothermal energy, water resources management,
+hydrology and waste deposition.")
+ (properties '((tunable? . #t)))
+ (license license:bsd-3)))
(define-public proj
(package
(name "proj")