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")

Reply via email to