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