[PATCH 0/4] OpenFoam update to version 10

  • Open
  • quality assurance status badge
Details
4 participants
  • Hartmut Goebel
  • Hilton Chain
  • Ludovic Courtès
  • reza
Owner
unassigned
Submitted by
reza
Severity
normal
R
(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)(name . reza)(address . reza@housseini.me)
010201871fb2f5ee-836441b8-36b9-47f9-b8de-3bd1eddf2d6e-000000@eu-west-1.amazonses.com
This is a patch series updating OpenFoam to version 10. This series gets rid
of the OpenFoam patch file and also adds the OpenFoam build from openfoam.com
(therefore the distinction with openfoam-org and openfoam-com). Some effort
was put forward to build the two packages with the same instructions as the
sources are still very similar. There is a strange issue that inside the
build of openfoam-com which inherits from openfoam-org, the version of
openfoam-org is used. Maybe this is a bug? Furthermore the dependencies and
build instructions have been updated to build the paraview plugin for OpenFoam
and the OpenFoam tests (only available for openfoam-org).
Reza Housseini (4):
gnu: Add ftest.
gnu: utfcpp: Update to 3.2.3.
gnu: Add openfoam-org.
gnu: Add openfoam-com.
gnu/local.mk | 2 +-
gnu/packages/check.scm | 34 ++
.../patches/openfoam-4.1-cleanup.patch | 243 ----------
gnu/packages/simulation.scm | 432 ++++++++++++------
gnu/packages/textutils.scm | 35 +-
5 files changed, 346 insertions(+), 400 deletions(-)
delete mode 100644 gnu/packages/patches/openfoam-4.1-cleanup.patch
base-commit: de84b24613afa4020f3f0553dad8e39a78d1f92c
--
2.39.2
R
[PATCH 1/4] gnu: Add ftest.
(name . 62473@debbugs.gnu.org)(address . 62473@debbugs.gnu.org)(name . Reza Housseini)(address . reza.housseini@gmail.com)
0102018722050cc0-117d37b0-6764-48a9-816d-c4b5bf1152c6-000000@eu-west-1.amazonses.com
From: Reza Housseini <reza.housseini@gmail.com>
---
gnu/packages/check.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
Toggle diff (72 lines)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 0c8777a074..9b58b2c09d 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -43,6 +43,7 @@
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2023 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com>
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
+;;; Copyright © 2023 Reza Housseini <reza@housseini.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -65,6 +66,7 @@ (define-module (gnu packages check)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
@@ -92,6 +94,7 @@ (define-module (gnu packages check)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
@@ -3531,6 +3534,7 @@ (define-public python-pytest-regressions
that can be used to verify that future runs produce the same data.")
(license license:expat)))
+
(define-public guile-proba
(package
(name "guile-proba")
@@ -3606,3 +3610,33 @@ (define-public guile-proba
to run test collections, and a library that includes a test runner and
helpers for writing tests.")
(license license:public-domain)))
+
+
+(define-public ftest
+ (package
+ (name "ftest")
+ (version "bf75576064fce2e07f52cd63a3e410f12358728b")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nemtrif/ftest")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "01yjhjnlq2gci8hkc6favwj0axq7y1vvnradsgcffby6h09x00b4"))))
+ (build-system copy-build-system)
+ (native-inputs (list cmake-minimal))
+ (arguments
+ `(#:install-plan '(("ftest.h" "include/ftest/"))
+ #:phases (modify-phases %standard-phases
+ (add-before 'install 'check
+ (lambda _
+ (with-directory-excursion "tests"
+ (invoke "cmake" ".")
+ (invoke "make")
+ (invoke "ctest")))))))
+ (home-page "https://github.com/nemtrif/ftest")
+ (synopsis "Simple and limited unit-test framework for C++")
+ (description "A simple and limited unit-test framework for C++")
+ (license license:asl2.0)))
--
2.39.2
R
[PATCH 2/4] gnu: utfcpp: Update to 3.2.3.
(name . 62473@debbugs.gnu.org)(address . 62473@debbugs.gnu.org)(name . Reza Housseini)(address . reza.housseini@gmail.com)
0102018722082852-75d7c18a-edf1-44ff-a588-50604407dd45-000000@eu-west-1.amazonses.com
From: Reza Housseini <reza.housseini@gmail.com>
---
gnu/packages/textutils.scm | 35 +++++++++++++++++++----------------
1 file changed, 19 insertions(+), 16 deletions(-)
Toggle diff (70 lines)
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index fb8bc7e868..a08fb76543 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -25,6 +25,7 @@
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
;;; Copyright © 2022 Gabriel Wicki <gabriel@erlikon.ch>
+;;; Copyright © 2023 Reza Housseini <reza@housseini.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -57,6 +58,7 @@ (define-module (gnu packages textutils)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
+ #:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages gcc)
#:use-module (gnu packages golang)
@@ -671,30 +673,31 @@ (define-public catdoc
(define-public utfcpp
(package
(name "utfcpp")
- (version "2.3.5")
+ (version "3.2.3")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/nemtrif/utfcpp")
- (commit (string-append "v" version))))
+ (url "https://github.com/nemtrif/utfcpp")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "1gr98d826z6wa58r1s5i7rz7q2x3r31v7zj0pjjlrc7gfxwklr4s"))))
+ "00hzh39iddbc6nxg13813qd6d55g2kccwjf5dr96wykfhway9wbr"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; delete bundled dependencies
+ (delete-file-recursively "extern")
+ (substitute* (list "tests/apitests.cpp"
+ "tests/noexceptionstests.cpp"
+ "tests/test_cpp11.cpp"
+ "tests/test_cpp17.cpp")
+ (("\"\\.\\./extern/ftest/ftest.h\"")
+ "<ftest/ftest.h>"))))))
(build-system cmake-build-system)
+ (native-inputs (list ftest))
(arguments
- `(#:out-of-source? #f
- #:phases
- (modify-phases %standard-phases
- (replace 'install ; no install target
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (include (string-append out "/include"))
- (doc (string-append out "/share/doc/" ,name)))
- (copy-recursively "source" include)
- (install-file "README.md" doc)
- #t))))))
- (home-page "https://github.com/nemtrif/utfcpp")
+ `(#:build-type "Release"))
+ (home-page "https://utfcpp.sourceforge.net")
(synopsis "Portable C++ library for handling UTF-8")
(description "UTF8-CPP is a C++ library for handling UTF-8 encoded text
in a portable way.")
--
2.39.2
R
[PATCH 4/4] gnu: Add openfoam-com.
(name . 62473@debbugs.gnu.org)(address . 62473@debbugs.gnu.org)(name . reza)(address . reza@housseini.me)
0102018722083b4f-30bfa143-ae1d-4328-98c1-4cfd34eede77-000000@eu-west-1.amazonses.com
---
gnu/packages/simulation.scm | 39 +++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
Toggle diff (52 lines)
diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index 685b123903..282cf6e10c 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -367,6 +367,45 @@ (define-public openfoam-org
(license license:gpl3+)
(home-page "https://openfoam.org")))
+(define-public openfoam-com
+ (package
+ (inherit openfoam-org)
+ (name "openfoam-com")
+ (version "2212")
+ (source (origin
+ (method url-fetch)
+
+ (uri (string-append "https://develop.openfoam.com"
+ "/Development/openfoam/-/archive/OpenFOAM-v"
+ version
+ "/openfoam-OpenFOAM-v"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0i9039hfz9gvgymkdjhjvvn5500zha3cpdbpqrzfrfi8lbz10is2"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; patch shell paths
+ (substitute* (list "src/OSspecific/POSIX/POSIX.C"
+ "wmake/src/Makefile"
+ "wmake/makefiles/general"
+ "wmake/makefiles/info")
+ (("/bin/sh")
+ which "sh"))))))
+ (description
+ "OpenFOAM is a free, open source CFD software released and developed by
+OpenCFD Ltd since 2004. It has a large user base across most areas of
+engineering and science, from both commercial and academic organizations.
+OpenFOAM has an extensive range of features to solve anything from complex
+fluid flows involving chemical reactions, turbulence and heat transfer, to
+acoustics, solid mechanics and electromagnetics. See documentation OpenFOAM
+is professionally released every six months to include customer sponsored
+developments and contributions from the community - individual and group
+contributors, integrations (eg, from FOAM-extend and OpenFOAM Foundation Ltd)
+as well as governance guided activities.")
+ (home-page "https://www.openfoam.com")))
+
(define-public open-simulation-interface
(package
(name "open-simulation-interface")
--
2.39.2
R
[PATCH 3/4] gnu: Add openfoam-org.
(name . 62473@debbugs.gnu.org)(address . 62473@debbugs.gnu.org)(name . reza)(address . reza@housseini.me)
01020187220832b3-9fd896e2-efe1-44ae-91f7-d7aea9963989-000000@eu-west-1.amazonses.com
---
gnu/local.mk | 2 +-
.../patches/openfoam-4.1-cleanup.patch | 243 -----------
gnu/packages/simulation.scm | 393 +++++++++++-------
3 files changed, 254 insertions(+), 384 deletions(-)
delete mode 100644 gnu/packages/patches/openfoam-4.1-cleanup.patch
Toggle diff (458 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 64a1268fbe..287c9d52f7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1617,7 +1617,7 @@ dist_patch_DATA = \
%D%/packages/patches/openboardview-use-system-imgui.patch \
%D%/packages/patches/openboardview-use-system-utf8.patch \
%D%/packages/patches/openbox-python3.patch \
- %D%/packages/patches/openfoam-4.1-cleanup.patch \
+ %D%/packages/patches/openfoam-org-10-cleanup.patch \
%D%/packages/patches/openjdk-10-idlj-reproducibility.patch \
%D%/packages/patches/openjdk-15-xcursor-no-dynamic.patch \
%D%/packages/patches/openmpi-mtl-priorities.patch \
diff --git a/gnu/packages/patches/openfoam-4.1-cleanup.patch b/gnu/packages/patches/openfoam-4.1-cleanup.patch
deleted file mode 100644
index 37effa5c9c..0000000000
--- a/gnu/packages/patches/openfoam-4.1-cleanup.patch
+++ /dev/null
@@ -1,243 +0,0 @@
-# This patch removes all need for the ThirdParty files of OpenFOAM.
-
-# Derived from EasyBuild patch by Ward Poelmans <wpoely86@gmail.com>.
-# Modified for GNU Guix by Paul Garlick <pgarlick@tourbillion-technology.com>.
-
-diff -ur OpenFOAM-4.x-version-4.1.org/applications/utilities/mesh/manipulation/setSet/Allwmake OpenFOAM-4.x-version-4.1/applications/utilities/mesh/manipulation/setSet/Allwmake
---- OpenFOAM-4.x-version-4.1.org/applications/utilities/mesh/manipulation/setSet/Allwmake
-+++ OpenFOAM-4.x-version-4.1/applications/utilities/mesh/manipulation/setSet/Allwmake
-@@ -9,7 +9,7 @@
- #
- # use readline if available
- #
--if [ -f /usr/include/readline/readline.h ]
-+if true
- then
- echo "Found <readline/readline.h> -- enabling readline support."
- export COMP_FLAGS="-DHAS_READLINE"
-diff -ur OpenFOAM-4.x-version-4.1.org/etc/bashrc OpenFOAM-4.x-version-4.1/etc/bashrc
---- OpenFOAM-4.x-version-4.1.org/etc/bashrc
-+++ OpenFOAM-4.x-version-4.1/etc/bashrc
-@@ -43,8 +43,10 @@
- # Please set to the appropriate path if the default is not correct.
- #
- [ $BASH_SOURCE ] && \
--export FOAM_INST_DIR=$(cd ${BASH_SOURCE%/*/*/*} && pwd -P) || \
-+export FOAM_INST_DIR=$(cd $(dirname $BASH_SOURCE)/../.. && pwd -P) || \
- export FOAM_INST_DIR=$HOME/$WM_PROJECT
-+# For GNU Guix: set initially for build then re-set at runtime
-+#
- # export FOAM_INST_DIR=~$WM_PROJECT
- # export FOAM_INST_DIR=/opt/$WM_PROJECT
- # export FOAM_INST_DIR=/usr/local/$WM_PROJECT
-diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/CGAL OpenFOAM-4.x-version-4.1/etc/config.sh/CGAL
---- OpenFOAM-4.x-version-4.1.org/etc/config.sh/CGAL
-+++ OpenFOAM-4.x-version-4.1/etc/config.sh/CGAL
-@@ -36,37 +36,7 @@
- #
- #------------------------------------------------------------------------------
-
--boost_version=boost-system
--cgal_version=cgal-system
--#cgal_version=CGAL-4.8
--
--if [ -z "$SOURCE_CGAL_VERSIONS_ONLY" ]
--then
--
-- common_path=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER
--
-- export BOOST_ARCH_PATH=$common_path/$boost_version
-- export CGAL_ARCH_PATH=$common_path/$cgal_version
--
-- if [ "$FOAM_VERBOSE" -a "$PS1" ]
-- then
-- echo "Using CGAL and boost" 1>&2
-- echo " $cgal_version at $CGAL_ARCH_PATH" 1>&2
-- echo " $boost_version at $BOOST_ARCH_PATH" 1>&2
-- fi
--
-- if [ -d "$CGAL_ARCH_PATH" -a "$cgal_version" != "cgal-system" ]
-- then
-- _foamAddLib $CGAL_ARCH_PATH/lib
-- fi
--
-- if [ -d "$BOOST_ARCH_PATH" -a "$boost_version" != "boost-system" ]
-- then
-- _foamAddLib $BOOST_ARCH_PATH/lib
-- fi
--
-- unset boost_version cgal_version common_path
--
--fi
-+export CGAL_ARCH_PATH=$CGAL_ROOT
-+export BOOST_ARCH_PATH=$BOOST_ROOT
-
- #------------------------------------------------------------------------------
-diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/gperftools OpenFOAM-4.x-version-4.1/etc/config.sh/gperftools
---- OpenFOAM-4.x-version-4.1.org/etc/config.sh/gperftools
-+++ OpenFOAM-4.x-version-4.1/etc/config.sh/gperftools
-@@ -29,13 +29,5 @@
- #
- #------------------------------------------------------------------------------
-
--version=svn
--gperftools_install=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER
--
--GPERFTOOLS_VERSION=gperftools-$version
--GPERFTOOLS_ARCH_PATH=$gperftools_install/$GPERFTOOLS_VERSION
--
--export PATH=$GPERFTOOLS_ARCH_PATH/bin:$PATH
--export LD_LIBRARY_PATH=$GPERFTOOLS_ARCH_PATH/lib:$LD_LIBRARY_PATH
-
- #------------------------------------------------------------------------------
-diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/metis OpenFOAM-4.x-version-4.1/etc/config.sh/metis
---- OpenFOAM-4.x-version-4.1.org/etc/config.sh/metis
-+++ OpenFOAM-4.x-version-4.1/etc/config.sh/metis
-@@ -34,7 +34,7 @@
- #
- #------------------------------------------------------------------------------
-
--export METIS_VERSION=metis-5.1.0
--export METIS_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$METIS_VERSION
-+export METIS_VERSION=metis-$METISVERSION
-+export METIS_ARCH_PATH=$METIS_ROOT
-
- #------------------------------------------------------------------------------
-diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/scotch OpenFOAM-4.x-version-4.1/etc/config.sh/scotch
---- OpenFOAM-4.x-version-4.1.org/etc/config.sh/scotch
-+++ OpenFOAM-4.x-version-4.1/etc/config.sh/scotch
-@@ -37,7 +37,7 @@
- #
- #------------------------------------------------------------------------------
-
--export SCOTCH_VERSION=scotch_6.0.3
--export SCOTCH_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$SCOTCH_VERSION
-+export SCOTCH_VERSION=scotch_$SCOTCHVERSION
-+export SCOTCH_ARCH_PATH=$SCOTCH_ROOT
-
- #------------------------------------------------------------------------------
-diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/settings OpenFOAM-4.x-version-4.1/etc/config.sh/settings
---- OpenFOAM-4.x-version-4.1.org/etc/config.sh/settings
-+++ OpenFOAM-4.x-version-4.1/etc/config.sh/settings
-@@ -279,6 +279,9 @@
- ;;
- system)
- # Use system compiler
-+ # Use system GMP and MPFR packages
-+ export GMP_ARCH_PATH=$GMP_ROOT
-+ export MPFR_ARCH_PATH=$MPFR_ROOT
- ;;
- *)
- echo "Warn: WM_COMPILER_TYPE='$WM_COMPILER_TYPE' is unsupported" 1>&2
-diff -ur OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/ptscotchDecomp/Make/options OpenFOAM-4.x-version-4.1/src/parallel/decompose/ptscotchDecomp/Make/options
---- OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/ptscotchDecomp/Make/options
-+++ OpenFOAM-4.x-version-4.1/src/parallel/decompose/ptscotchDecomp/Make/options
-@@ -5,8 +5,7 @@
- $(PFLAGS) $(PINC) \
- -I$(SCOTCH_ROOT)/include \
- -I$(SCOTCH_ARCH_PATH)/include/$(FOAM_MPI) \
-- -I/usr/include/scotch \
- -I../decompositionMethods/lnInclude
-
- LIB_LIBS = \
-- -L$(SCOTCH_ROOT)/lib -L$(FOAM_EXT_LIBBIN)/$(FOAM_MPI) -lptscotch -lptscotcherrexit -lscotch ${LINK_FLAGS} -lrt
-+ -L$(SCOTCH_ROOT)/lib -L$(MPI_ARCH_PATH)/lib -lptscotch -lptscotcherrexit -lscotch ${LINK_FLAGS} -lrt
-diff -ur OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/scotchDecomp/Make/options OpenFOAM-4.x-version-4.1/src/parallel/decompose/scotchDecomp/Make/options
---- OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/scotchDecomp/Make/options
-+++ OpenFOAM-4.x-version-4.1/src/parallel/decompose/scotchDecomp/Make/options
-@@ -9,8 +9,7 @@
- $(PFLAGS) $(PINC) \
- -I$(SCOTCH_ROOT)/include \
- -I$(SCOTCH_ARCH_PATH)/include \
-- -I/usr/include/scotch \
- -I../decompositionMethods/lnInclude
-
- LIB_LIBS = \
-- -L$(SCOTCH_ROOT)/lib -L$(FOAM_EXT_LIBBIN) -lscotch -lscotcherrexit -lrt
-+ -L$(SCOTCH_ROOT)/lib -lscotch -lscotcherrexit -lrt
-diff -ur OpenFOAM-4.x-version-4.1.org/wmake/makefiles/general OpenFOAM-4.x-version-4.1/wmake/makefiles/general
---- OpenFOAM-4.x-version-4.1.org/wmake/makefiles/general
-+++ OpenFOAM-4.x-version-4.1/wmake/makefiles/general
-@@ -33,7 +33,6 @@
- # The Makefile uses a POSIX shell
- #------------------------------------------------------------------------------
-
--SHELL = /bin/sh
-
-
- #------------------------------------------------------------------------------
-diff -ur OpenFOAM-4.x-version-4.1.org/wmake/wmake OpenFOAM-4.x-version-4.1/wmake/wmake
---- OpenFOAM-4.x-version-4.1.org/wmake/wmake
-+++ OpenFOAM-4.x-version-4.1/wmake/wmake
-@@ -163,7 +163,7 @@
- then
- if [ "$WM_NCOMPPROCS" -gt 1 -a ! "$MAKEFLAGS" ]
- then
-- lockDir=$HOME/.$WM_PROJECT/.wmake
-+ lockDir=$(cd $(dirname $BASH_SOURCE)/../.. && pwd -P)/.$WM_PROJECT/.wmake
-
- if [ -d $lockDir ]
- then
-diff -ur OpenFOAM-4.x-version-4.1.org/wmake/wmakeScheduler OpenFOAM-4.x-version-4.1/wmake/wmakeScheduler
---- OpenFOAM-4.x-version-4.1.org/wmake/wmakeScheduler
-+++ OpenFOAM-4.x-version-4.1/wmake/wmakeScheduler
-@@ -53,7 +53,7 @@
- # csh sets HOST, bash sets HOSTNAME
- : ${HOST:=$HOSTNAME}
-
--lockDir=$HOME/.$WM_PROJECT/.wmake
-+lockDir=$(cd $(dirname $BASH_SOURCE)/../.. && pwd -P)/.$WM_PROJECT/.wmake
-
- # Fallback - 1 core on current host
- : ${WM_HOSTS:=$HOST:1}
-diff -ur OpenFOAM-4.x-version-4.1.org/wmake/wmakeSchedulerUptime OpenFOAM-4.x-version-4.1/wmake/wmakeSchedulerUptime
---- OpenFOAM-4.x-version-4.1.org/wmake/wmakeSchedulerUptime
-+++ OpenFOAM-4.x-version-4.1/wmake/wmakeSchedulerUptime
-@@ -53,7 +53,7 @@
- # csh sets HOST, bash sets HOSTNAME
- : ${HOST:=$HOSTNAME}
-
--lockDir=$HOME/.$WM_PROJECT/.wmake
-+lockDir=$(cd $(dirname $BASH_SOURCE)/../.. && pwd -P)/.$WM_PROJECT/.wmake
- # Fallback - 1 core on current host
- : ${WM_HOSTS:=$HOST:1}
-
-diff -ur OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/metisDecomp/metisDecomp.C OpenFOAM-4.x-version-4.1/src/parallel/decompose/metisDecomp/metisDecomp.C
---- OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/metisDecomp/metisDecomp.C
-+++ OpenFOAM-4.x-version-4.1/src/parallel/decompose/metisDecomp/metisDecomp.C
-@@ -67,7 +67,7 @@
-
- // Processor weights initialised with no size, only used if specified in
- // a file
-- Field<scalar> processorWeights;
-+ Field<floatScalar> processorWeights;
-
- // Cell weights (so on the vertices of the dual)
- List<label> cellWeights;
-diff -ur OpenFOAM-4.x-version-4.1.org/wmake/rules/General/CGAL OpenFOAM-4.x-version-4.1/wmake/rules/General/CGAL
---- OpenFOAM-4.x-version-4.1.org/wmake/rules/General/CGAL
-+++ OpenFOAM-4.x-version-4.1/wmake/rules/General/CGAL
-@@ -6,9 +6,10 @@
- -I/usr/include
-
- CGAL_LIBS = \
-- -L$(MPFR_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \
-- -L$(GMP_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \
-+ -L$(MPFR_ARCH_PATH)/lib \
-+ -L$(GMP_ARCH_PATH)/lib \
- -L$(BOOST_ARCH_PATH)/lib \
- -L$(CGAL_ARCH_PATH)/lib \
- -lCGAL \
-+ -lgmp \
- -lmpfr
-diff -ur OpenFOAM-4.x-version-4.1.org/wmake/rules/linux64Gcc/c++ OpenFOAM-4.x-version-4.1/wmake/rules/linux64Gcc/c++
---- OpenFOAM-4.x-version-4.1.org/wmake/rules/linux64Gcc/c++
-+++ OpenFOAM-4.x-version-4.1/wmake/rules/linux64Gcc/c++
-@@ -20,5 +20,5 @@
-
- LINK_LIBS = $(c++DBUG)
-
--LINKLIBSO = $(CC) $(c++FLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
--LINKEXE = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed
-+LINKLIBSO = $(CC) $(c++FLAGS) $(LDFLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
-+LINKEXE = $(CC) $(c++FLAGS) $(LDFLAGS) -Xlinker --add-needed -Xlinker --no-as-needed
diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index 059be5a2be..685b123903 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2022 Liliana Marie Prikler <liliana.prikler@gmail.com>
+;;; Copyright © 2023 Reza Housseini <reza@housseini.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -31,6 +32,7 @@ (define-module (gnu packages simulation)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
+ #:use-module (gnu packages engineering)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext)
@@ -41,22 +43,29 @@ (define-module (gnu packages simulation)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages iso-codes)
+ #:use-module (gnu packages image-processing)
#:use-module (gnu packages linux)
#:use-module (gnu packages m4)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages pdf)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages qt)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages serialization)
+ #:use-module (gnu packages ssh)
+ #:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages video)
+ #:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix download)
@@ -75,175 +84,279 @@ (define-module (gnu packages simulation)
#:use-module (ice-9 regex)
#:use-module (srfi srfi-1))
-(define-public openfoam
+(define-public openfoam-org
(package
- (name "openfoam")
- (version "4.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "http://dl.openfoam.org/source/"
- (string-map (lambda (x) (if (eq? x #\.) #\- x)) version)))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "0cgxh4h2hf50qbvvdg5miwc2nympb0nrv3md96vb3gbs9vk8vq9d"))
- (patches (search-patches "openfoam-4.1-cleanup.patch"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Include <sys/sysmacros.h>, which is where glibc >= 2.28 provides
- ;; 'major' and 'minor'.
- (substitute* "src/OSspecific/POSIX/fileStat.C"
- (("#include <unistd\\.h>")
- "#include <unistd.h>\n#include <sys/sysmacros.h>\n"))
- #t))))
+ (name "openfoam-org")
+ (version "10.20221128")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/OpenFOAM/OpenFOAM-"
+ (version-major version) "/archive/"
+ (second (string-split version #\.))
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0yd924nhck4jh9gf1wrdnk8svj38yicg4803q79nnjqhn6lcq8c5"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; patch shell paths
+ (substitute* (list "wmake/src/Makefile"
+ "wmake/makefiles/general")
+ (("/bin/sh")
+ which "sh"))
+ (substitute* "etc/bashrc"
+ ;; only go back one folder level
+ (("\\$\\(dirname \\$\\{BASH_SOURCE:-\\$0\\}\\)/../..")
+ "$(dirname ${BASH_SOURCE:-$0})/..")
+ ;; do not use openfoam folder convention
+ (("^export WM_PROJECT_DIR=.*$")
+ (string-append
+ "export WM_PROJECT_DIR=$WM_PROJECT_INST_DIR\n"))
+ ;; do not source bash_completion (gives error)
+ (("^.*bash_completion.*$" all)
+ (string-append "#" all)))
+ ;; add expand flag to RunFunctions
+ (substitute* "bin/tools/RunFunctions"
+ (("foamDictionary (.*)" all args)
+ (string-append "foamDictionary -expand " args)))))))
(build-system gnu-build-system)
- (inputs
- `(("boost" ,boost)
- ("cgal" ,cgal)
- ("flex" ,flex)
- ("git" ,git)
- ("gmp" ,gmp)
- ("libxt" ,libxt)
- ("metis" ,metis)
- ("mpfr" ,mpfr)
- ("ncurses" ,ncurses)
- ("readline" ,readline)
- ("scotch" ,pt-scotch32)
- ("zlib" ,zlib)))
- (native-inputs
- (list bison))
- (propagated-inputs
- (list gzip gnuplot openmpi))
- (outputs '("debug" ;~60MB
+ (inputs (list boost
+ cgal
+ git
+ gmp
+ libxt
+ metis
+ mpfr
+ ncurses
+ readline
+ pt-scotch32
+ zlib
+ openmpi
+ paraview-5.9
+ openssh))
+ (native-inputs (list bison
+ flex
+ ;; paraview plugin dependencies
+ cmake-minimal
+ vtk
+ libxml2
+ libogg
+ libtheora
+ ffmpeg
+ gl2ps
+ libpng
+ libharu
+ jsoncpp
+ netcdf
+ hdf5
+ gdal
+ libx11
+ qtbase-5
+ eigen
+ glew
+ python
+ expat
+ xz
+ utfcpp
+ lz4
+ double-conversion
+ libjpeg-turbo
+ libtiff
+ freetype
+ pugixml
+ cgns
+ qtsvg-5
+ qttools-5
+ protobuf
+ qtxmlpatterns))
+ (propagated-inputs (list gnuplot))
+ (outputs '("debug" ;~60MB
"out"))
(arguments
- `( ;; Executable files and shared libraries are located in the 'platforms'
+ `( ;Executable files and shared libraries are located in the 'platforms'
;; subdirectory.
- #:strip-directories (list (string-append
- "lib/OpenFOAM-" ,version
+ #:strip-directories (list (string-append "share/OpenFOAM-"
+ ,version
"/platforms/linux64GccDPInt32Opt/bin")
- (string-append
- "lib/OpenFOAM-" ,version
+ (string-append "share/OpenFOAM-"
+ ,version
"/platforms/linux64GccDPInt32Opt/lib"
This message was truncated. Download the full message here.
R
R
[PATCH v2 0/4] Remove spurious file, add env var
(name . 62473@debbugs.gnu.org)(address . 62473@debbugs.gnu.org)(name . reza)(address . reza@housseini.me)
0102018752a6a2cd-b15fb9ec-2c59-425d-8688-850c91d9497d-000000@eu-west-1.amazonses.com
Remove spurious patch file in gnu/local.mk and add WM_PROJECT_DIR
environment variable.

Reza Housseini (4):
gnu: Add ftest.
gnu: utfcpp: Update to 3.2.3.
gnu: Add openfoam-org.
gnu: Add openfoam-com.

gnu/local.mk | 1 -
gnu/packages/check.scm | 34 ++
.../patches/openfoam-4.1-cleanup.patch | 243 ----------
gnu/packages/simulation.scm | 444 ++++++++++++------
gnu/packages/textutils.scm | 35 +-
5 files changed, 355 insertions(+), 402 deletions(-)
delete mode 100644 gnu/packages/patches/openfoam-4.1-cleanup.patch


base-commit: de84b24613afa4020f3f0553dad8e39a78d1f92c
--
2.39.2
R
[PATCH v2 1/4] gnu: Add ftest.
(name . 62473@debbugs.gnu.org)(address . 62473@debbugs.gnu.org)(name . Reza Housseini)(address . reza.housseini@gmail.com)
0102018752a6c638-f104e797-04c3-4e5e-914e-5997a66b2c46-000000@eu-west-1.amazonses.com
From: Reza Housseini <reza.housseini@gmail.com>
---
gnu/packages/check.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
Toggle diff (72 lines)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 0c8777a074..9b58b2c09d 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -43,6 +43,7 @@
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2023 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com>
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
+;;; Copyright © 2023 Reza Housseini <reza@housseini.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -65,6 +66,7 @@ (define-module (gnu packages check)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
@@ -92,6 +94,7 @@ (define-module (gnu packages check)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
@@ -3531,6 +3534,7 @@ (define-public python-pytest-regressions
that can be used to verify that future runs produce the same data.")
(license license:expat)))
+
(define-public guile-proba
(package
(name "guile-proba")
@@ -3606,3 +3610,33 @@ (define-public guile-proba
to run test collections, and a library that includes a test runner and
helpers for writing tests.")
(license license:public-domain)))
+
+
+(define-public ftest
+ (package
+ (name "ftest")
+ (version "bf75576064fce2e07f52cd63a3e410f12358728b")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nemtrif/ftest")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "01yjhjnlq2gci8hkc6favwj0axq7y1vvnradsgcffby6h09x00b4"))))
+ (build-system copy-build-system)
+ (native-inputs (list cmake-minimal))
+ (arguments
+ `(#:install-plan '(("ftest.h" "include/ftest/"))
+ #:phases (modify-phases %standard-phases
+ (add-before 'install 'check
+ (lambda _
+ (with-directory-excursion "tests"
+ (invoke "cmake" ".")
+ (invoke "make")
+ (invoke "ctest")))))))
+ (home-page "https://github.com/nemtrif/ftest")
+ (synopsis "Simple and limited unit-test framework for C++")
+ (description "A simple and limited unit-test framework for C++")
+ (license license:asl2.0)))
--
2.39.2
R
[PATCH v2 2/4] gnu: utfcpp: Update to 3.2.3.
(name . 62473@debbugs.gnu.org)(address . 62473@debbugs.gnu.org)(name . Reza Housseini)(address . reza.housseini@gmail.com)
0102018752a6cfe6-9de1f43d-dfed-43d7-a530-541bd22b2848-000000@eu-west-1.amazonses.com
From: Reza Housseini <reza.housseini@gmail.com>
---
gnu/packages/textutils.scm | 35 +++++++++++++++++++----------------
1 file changed, 19 insertions(+), 16 deletions(-)
Toggle diff (70 lines)
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index fb8bc7e868..a08fb76543 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -25,6 +25,7 @@
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
;;; Copyright © 2022 Gabriel Wicki <gabriel@erlikon.ch>
+;;; Copyright © 2023 Reza Housseini <reza@housseini.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -57,6 +58,7 @@ (define-module (gnu packages textutils)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
+ #:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages gcc)
#:use-module (gnu packages golang)
@@ -671,30 +673,31 @@ (define-public catdoc
(define-public utfcpp
(package
(name "utfcpp")
- (version "2.3.5")
+ (version "3.2.3")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/nemtrif/utfcpp")
- (commit (string-append "v" version))))
+ (url "https://github.com/nemtrif/utfcpp")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "1gr98d826z6wa58r1s5i7rz7q2x3r31v7zj0pjjlrc7gfxwklr4s"))))
+ "00hzh39iddbc6nxg13813qd6d55g2kccwjf5dr96wykfhway9wbr"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; delete bundled dependencies
+ (delete-file-recursively "extern")
+ (substitute* (list "tests/apitests.cpp"
+ "tests/noexceptionstests.cpp"
+ "tests/test_cpp11.cpp"
+ "tests/test_cpp17.cpp")
+ (("\"\\.\\./extern/ftest/ftest.h\"")
+ "<ftest/ftest.h>"))))))
(build-system cmake-build-system)
+ (native-inputs (list ftest))
(arguments
- `(#:out-of-source? #f
- #:phases
- (modify-phases %standard-phases
- (replace 'install ; no install target
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (include (string-append out "/include"))
- (doc (string-append out "/share/doc/" ,name)))
- (copy-recursively "source" include)
- (install-file "README.md" doc)
- #t))))))
- (home-page "https://github.com/nemtrif/utfcpp")
+ `(#:build-type "Release"))
+ (home-page "https://utfcpp.sourceforge.net")
(synopsis "Portable C++ library for handling UTF-8")
(description "UTF8-CPP is a C++ library for handling UTF-8 encoded text
in a portable way.")
--
2.39.2
R
[PATCH v2 3/4] gnu: Add openfoam-org.
(name . 62473@debbugs.gnu.org)(address . 62473@debbugs.gnu.org)(name . reza)(address . reza@housseini.me)
0102018752a6ef56-33d70f34-9044-4a18-83de-3248bb3b25cd-000000@eu-west-1.amazonses.com
---
gnu/local.mk | 1 -
.../patches/openfoam-4.1-cleanup.patch | 243 -----------
gnu/packages/simulation.scm | 405 ++++++++++++------
3 files changed, 263 insertions(+), 386 deletions(-)
delete mode 100644 gnu/packages/patches/openfoam-4.1-cleanup.patch
Toggle diff (457 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 64a1268fbe..14a7fe4025 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1617,7 +1617,6 @@ dist_patch_DATA = \
%D%/packages/patches/openboardview-use-system-imgui.patch \
%D%/packages/patches/openboardview-use-system-utf8.patch \
%D%/packages/patches/openbox-python3.patch \
- %D%/packages/patches/openfoam-4.1-cleanup.patch \
%D%/packages/patches/openjdk-10-idlj-reproducibility.patch \
%D%/packages/patches/openjdk-15-xcursor-no-dynamic.patch \
%D%/packages/patches/openmpi-mtl-priorities.patch \
diff --git a/gnu/packages/patches/openfoam-4.1-cleanup.patch b/gnu/packages/patches/openfoam-4.1-cleanup.patch
deleted file mode 100644
index 37effa5c9c..0000000000
--- a/gnu/packages/patches/openfoam-4.1-cleanup.patch
+++ /dev/null
@@ -1,243 +0,0 @@
-# This patch removes all need for the ThirdParty files of OpenFOAM.
-
-# Derived from EasyBuild patch by Ward Poelmans <wpoely86@gmail.com>.
-# Modified for GNU Guix by Paul Garlick <pgarlick@tourbillion-technology.com>.
-
-diff -ur OpenFOAM-4.x-version-4.1.org/applications/utilities/mesh/manipulation/setSet/Allwmake OpenFOAM-4.x-version-4.1/applications/utilities/mesh/manipulation/setSet/Allwmake
---- OpenFOAM-4.x-version-4.1.org/applications/utilities/mesh/manipulation/setSet/Allwmake
-+++ OpenFOAM-4.x-version-4.1/applications/utilities/mesh/manipulation/setSet/Allwmake
-@@ -9,7 +9,7 @@
- #
- # use readline if available
- #
--if [ -f /usr/include/readline/readline.h ]
-+if true
- then
- echo "Found <readline/readline.h> -- enabling readline support."
- export COMP_FLAGS="-DHAS_READLINE"
-diff -ur OpenFOAM-4.x-version-4.1.org/etc/bashrc OpenFOAM-4.x-version-4.1/etc/bashrc
---- OpenFOAM-4.x-version-4.1.org/etc/bashrc
-+++ OpenFOAM-4.x-version-4.1/etc/bashrc
-@@ -43,8 +43,10 @@
- # Please set to the appropriate path if the default is not correct.
- #
- [ $BASH_SOURCE ] && \
--export FOAM_INST_DIR=$(cd ${BASH_SOURCE%/*/*/*} && pwd -P) || \
-+export FOAM_INST_DIR=$(cd $(dirname $BASH_SOURCE)/../.. && pwd -P) || \
- export FOAM_INST_DIR=$HOME/$WM_PROJECT
-+# For GNU Guix: set initially for build then re-set at runtime
-+#
- # export FOAM_INST_DIR=~$WM_PROJECT
- # export FOAM_INST_DIR=/opt/$WM_PROJECT
- # export FOAM_INST_DIR=/usr/local/$WM_PROJECT
-diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/CGAL OpenFOAM-4.x-version-4.1/etc/config.sh/CGAL
---- OpenFOAM-4.x-version-4.1.org/etc/config.sh/CGAL
-+++ OpenFOAM-4.x-version-4.1/etc/config.sh/CGAL
-@@ -36,37 +36,7 @@
- #
- #------------------------------------------------------------------------------
-
--boost_version=boost-system
--cgal_version=cgal-system
--#cgal_version=CGAL-4.8
--
--if [ -z "$SOURCE_CGAL_VERSIONS_ONLY" ]
--then
--
-- common_path=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER
--
-- export BOOST_ARCH_PATH=$common_path/$boost_version
-- export CGAL_ARCH_PATH=$common_path/$cgal_version
--
-- if [ "$FOAM_VERBOSE" -a "$PS1" ]
-- then
-- echo "Using CGAL and boost" 1>&2
-- echo " $cgal_version at $CGAL_ARCH_PATH" 1>&2
-- echo " $boost_version at $BOOST_ARCH_PATH" 1>&2
-- fi
--
-- if [ -d "$CGAL_ARCH_PATH" -a "$cgal_version" != "cgal-system" ]
-- then
-- _foamAddLib $CGAL_ARCH_PATH/lib
-- fi
--
-- if [ -d "$BOOST_ARCH_PATH" -a "$boost_version" != "boost-system" ]
-- then
-- _foamAddLib $BOOST_ARCH_PATH/lib
-- fi
--
-- unset boost_version cgal_version common_path
--
--fi
-+export CGAL_ARCH_PATH=$CGAL_ROOT
-+export BOOST_ARCH_PATH=$BOOST_ROOT
-
- #------------------------------------------------------------------------------
-diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/gperftools OpenFOAM-4.x-version-4.1/etc/config.sh/gperftools
---- OpenFOAM-4.x-version-4.1.org/etc/config.sh/gperftools
-+++ OpenFOAM-4.x-version-4.1/etc/config.sh/gperftools
-@@ -29,13 +29,5 @@
- #
- #------------------------------------------------------------------------------
-
--version=svn
--gperftools_install=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER
--
--GPERFTOOLS_VERSION=gperftools-$version
--GPERFTOOLS_ARCH_PATH=$gperftools_install/$GPERFTOOLS_VERSION
--
--export PATH=$GPERFTOOLS_ARCH_PATH/bin:$PATH
--export LD_LIBRARY_PATH=$GPERFTOOLS_ARCH_PATH/lib:$LD_LIBRARY_PATH
-
- #------------------------------------------------------------------------------
-diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/metis OpenFOAM-4.x-version-4.1/etc/config.sh/metis
---- OpenFOAM-4.x-version-4.1.org/etc/config.sh/metis
-+++ OpenFOAM-4.x-version-4.1/etc/config.sh/metis
-@@ -34,7 +34,7 @@
- #
- #------------------------------------------------------------------------------
-
--export METIS_VERSION=metis-5.1.0
--export METIS_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$METIS_VERSION
-+export METIS_VERSION=metis-$METISVERSION
-+export METIS_ARCH_PATH=$METIS_ROOT
-
- #------------------------------------------------------------------------------
-diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/scotch OpenFOAM-4.x-version-4.1/etc/config.sh/scotch
---- OpenFOAM-4.x-version-4.1.org/etc/config.sh/scotch
-+++ OpenFOAM-4.x-version-4.1/etc/config.sh/scotch
-@@ -37,7 +37,7 @@
- #
- #------------------------------------------------------------------------------
-
--export SCOTCH_VERSION=scotch_6.0.3
--export SCOTCH_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$SCOTCH_VERSION
-+export SCOTCH_VERSION=scotch_$SCOTCHVERSION
-+export SCOTCH_ARCH_PATH=$SCOTCH_ROOT
-
- #------------------------------------------------------------------------------
-diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/settings OpenFOAM-4.x-version-4.1/etc/config.sh/settings
---- OpenFOAM-4.x-version-4.1.org/etc/config.sh/settings
-+++ OpenFOAM-4.x-version-4.1/etc/config.sh/settings
-@@ -279,6 +279,9 @@
- ;;
- system)
- # Use system compiler
-+ # Use system GMP and MPFR packages
-+ export GMP_ARCH_PATH=$GMP_ROOT
-+ export MPFR_ARCH_PATH=$MPFR_ROOT
- ;;
- *)
- echo "Warn: WM_COMPILER_TYPE='$WM_COMPILER_TYPE' is unsupported" 1>&2
-diff -ur OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/ptscotchDecomp/Make/options OpenFOAM-4.x-version-4.1/src/parallel/decompose/ptscotchDecomp/Make/options
---- OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/ptscotchDecomp/Make/options
-+++ OpenFOAM-4.x-version-4.1/src/parallel/decompose/ptscotchDecomp/Make/options
-@@ -5,8 +5,7 @@
- $(PFLAGS) $(PINC) \
- -I$(SCOTCH_ROOT)/include \
- -I$(SCOTCH_ARCH_PATH)/include/$(FOAM_MPI) \
-- -I/usr/include/scotch \
- -I../decompositionMethods/lnInclude
-
- LIB_LIBS = \
-- -L$(SCOTCH_ROOT)/lib -L$(FOAM_EXT_LIBBIN)/$(FOAM_MPI) -lptscotch -lptscotcherrexit -lscotch ${LINK_FLAGS} -lrt
-+ -L$(SCOTCH_ROOT)/lib -L$(MPI_ARCH_PATH)/lib -lptscotch -lptscotcherrexit -lscotch ${LINK_FLAGS} -lrt
-diff -ur OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/scotchDecomp/Make/options OpenFOAM-4.x-version-4.1/src/parallel/decompose/scotchDecomp/Make/options
---- OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/scotchDecomp/Make/options
-+++ OpenFOAM-4.x-version-4.1/src/parallel/decompose/scotchDecomp/Make/options
-@@ -9,8 +9,7 @@
- $(PFLAGS) $(PINC) \
- -I$(SCOTCH_ROOT)/include \
- -I$(SCOTCH_ARCH_PATH)/include \
-- -I/usr/include/scotch \
- -I../decompositionMethods/lnInclude
-
- LIB_LIBS = \
-- -L$(SCOTCH_ROOT)/lib -L$(FOAM_EXT_LIBBIN) -lscotch -lscotcherrexit -lrt
-+ -L$(SCOTCH_ROOT)/lib -lscotch -lscotcherrexit -lrt
-diff -ur OpenFOAM-4.x-version-4.1.org/wmake/makefiles/general OpenFOAM-4.x-version-4.1/wmake/makefiles/general
---- OpenFOAM-4.x-version-4.1.org/wmake/makefiles/general
-+++ OpenFOAM-4.x-version-4.1/wmake/makefiles/general
-@@ -33,7 +33,6 @@
- # The Makefile uses a POSIX shell
- #------------------------------------------------------------------------------
-
--SHELL = /bin/sh
-
-
- #------------------------------------------------------------------------------
-diff -ur OpenFOAM-4.x-version-4.1.org/wmake/wmake OpenFOAM-4.x-version-4.1/wmake/wmake
---- OpenFOAM-4.x-version-4.1.org/wmake/wmake
-+++ OpenFOAM-4.x-version-4.1/wmake/wmake
-@@ -163,7 +163,7 @@
- then
- if [ "$WM_NCOMPPROCS" -gt 1 -a ! "$MAKEFLAGS" ]
- then
-- lockDir=$HOME/.$WM_PROJECT/.wmake
-+ lockDir=$(cd $(dirname $BASH_SOURCE)/../.. && pwd -P)/.$WM_PROJECT/.wmake
-
- if [ -d $lockDir ]
- then
-diff -ur OpenFOAM-4.x-version-4.1.org/wmake/wmakeScheduler OpenFOAM-4.x-version-4.1/wmake/wmakeScheduler
---- OpenFOAM-4.x-version-4.1.org/wmake/wmakeScheduler
-+++ OpenFOAM-4.x-version-4.1/wmake/wmakeScheduler
-@@ -53,7 +53,7 @@
- # csh sets HOST, bash sets HOSTNAME
- : ${HOST:=$HOSTNAME}
-
--lockDir=$HOME/.$WM_PROJECT/.wmake
-+lockDir=$(cd $(dirname $BASH_SOURCE)/../.. && pwd -P)/.$WM_PROJECT/.wmake
-
- # Fallback - 1 core on current host
- : ${WM_HOSTS:=$HOST:1}
-diff -ur OpenFOAM-4.x-version-4.1.org/wmake/wmakeSchedulerUptime OpenFOAM-4.x-version-4.1/wmake/wmakeSchedulerUptime
---- OpenFOAM-4.x-version-4.1.org/wmake/wmakeSchedulerUptime
-+++ OpenFOAM-4.x-version-4.1/wmake/wmakeSchedulerUptime
-@@ -53,7 +53,7 @@
- # csh sets HOST, bash sets HOSTNAME
- : ${HOST:=$HOSTNAME}
-
--lockDir=$HOME/.$WM_PROJECT/.wmake
-+lockDir=$(cd $(dirname $BASH_SOURCE)/../.. && pwd -P)/.$WM_PROJECT/.wmake
- # Fallback - 1 core on current host
- : ${WM_HOSTS:=$HOST:1}
-
-diff -ur OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/metisDecomp/metisDecomp.C OpenFOAM-4.x-version-4.1/src/parallel/decompose/metisDecomp/metisDecomp.C
---- OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/metisDecomp/metisDecomp.C
-+++ OpenFOAM-4.x-version-4.1/src/parallel/decompose/metisDecomp/metisDecomp.C
-@@ -67,7 +67,7 @@
-
- // Processor weights initialised with no size, only used if specified in
- // a file
-- Field<scalar> processorWeights;
-+ Field<floatScalar> processorWeights;
-
- // Cell weights (so on the vertices of the dual)
- List<label> cellWeights;
-diff -ur OpenFOAM-4.x-version-4.1.org/wmake/rules/General/CGAL OpenFOAM-4.x-version-4.1/wmake/rules/General/CGAL
---- OpenFOAM-4.x-version-4.1.org/wmake/rules/General/CGAL
-+++ OpenFOAM-4.x-version-4.1/wmake/rules/General/CGAL
-@@ -6,9 +6,10 @@
- -I/usr/include
-
- CGAL_LIBS = \
-- -L$(MPFR_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \
-- -L$(GMP_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \
-+ -L$(MPFR_ARCH_PATH)/lib \
-+ -L$(GMP_ARCH_PATH)/lib \
- -L$(BOOST_ARCH_PATH)/lib \
- -L$(CGAL_ARCH_PATH)/lib \
- -lCGAL \
-+ -lgmp \
- -lmpfr
-diff -ur OpenFOAM-4.x-version-4.1.org/wmake/rules/linux64Gcc/c++ OpenFOAM-4.x-version-4.1/wmake/rules/linux64Gcc/c++
---- OpenFOAM-4.x-version-4.1.org/wmake/rules/linux64Gcc/c++
-+++ OpenFOAM-4.x-version-4.1/wmake/rules/linux64Gcc/c++
-@@ -20,5 +20,5 @@
-
- LINK_LIBS = $(c++DBUG)
-
--LINKLIBSO = $(CC) $(c++FLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
--LINKEXE = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed
-+LINKLIBSO = $(CC) $(c++FLAGS) $(LDFLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
-+LINKEXE = $(CC) $(c++FLAGS) $(LDFLAGS) -Xlinker --add-needed -Xlinker --no-as-needed
diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index 059be5a2be..a4df23785a 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2022 Liliana Marie Prikler <liliana.prikler@gmail.com>
+;;; Copyright © 2023 Reza Housseini <reza@housseini.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -31,6 +32,7 @@ (define-module (gnu packages simulation)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
+ #:use-module (gnu packages engineering)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext)
@@ -41,22 +43,29 @@ (define-module (gnu packages simulation)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages iso-codes)
+ #:use-module (gnu packages image-processing)
#:use-module (gnu packages linux)
#:use-module (gnu packages m4)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages pdf)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages qt)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages serialization)
+ #:use-module (gnu packages ssh)
+ #:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages video)
+ #:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix download)
@@ -75,175 +84,287 @@ (define-module (gnu packages simulation)
#:use-module (ice-9 regex)
#:use-module (srfi srfi-1))
-(define-public openfoam
+(define-public openfoam-org
(package
- (name "openfoam")
- (version "4.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "http://dl.openfoam.org/source/"
- (string-map (lambda (x) (if (eq? x #\.) #\- x)) version)))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "0cgxh4h2hf50qbvvdg5miwc2nympb0nrv3md96vb3gbs9vk8vq9d"))
- (patches (search-patches "openfoam-4.1-cleanup.patch"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Include <sys/sysmacros.h>, which is where glibc >= 2.28 provides
- ;; 'major' and 'minor'.
- (substitute* "src/OSspecific/POSIX/fileStat.C"
- (("#include <unistd\\.h>")
- "#include <unistd.h>\n#include <sys/sysmacros.h>\n"))
- #t))))
+ (name "openfoam-org")
+ (version "10.20221128")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/OpenFOAM/OpenFOAM-"
+ (version-major version) "/archive/"
+ (second (string-split version #\.))
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0yd924nhck4jh9gf1wrdnk8svj38yicg4803q79nnjqhn6lcq8c5"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; patch shell paths
+ (substitute* (list "wmake/src/Makefile"
+ "wmake/makefiles/general")
+ (("/bin/sh")
+ which "sh"))
+ (substitute* "etc/bashrc"
+ ;; only go back one folder level
+ (("\\$\\(dirname \\$\\{BASH_SOURCE:-\\$0\\}\\)/../..")
+ "$(dirname ${BASH_SOURCE:-$0})/..")
+ ;; do not use openfoam folder convention
+ (("^export WM_PROJECT_DIR=.*$")
+ (string-append
+ "export WM_PROJECT_DIR=$WM_PROJECT_INST_DIR\n"))
+ ;; do not source bash_completion (gives error)
+ (("^.*bash_completion.*$" all)
+ (string-append "#" all)))
+ ;; add expand flag to RunFunctions
+ (substitute* "bin/tools/RunFunctions"
+ (("foamDictionary (.*)" all args)
+ (string-append "foamDictionary -expand " args)))))))
(build-system gnu-build-system)
- (inputs
- `(("boost" ,boost)
- ("cgal" ,cgal)
- ("flex" ,flex)
- ("git" ,git)
- ("gmp" ,gmp)
- ("libxt" ,libxt)
- ("metis" ,metis)
- ("mpfr" ,mpfr)
- ("ncurses" ,ncurses)
- ("readline" ,readline)
- ("scotch" ,pt-scotch32)
- ("zlib" ,zlib)))
- (native-inputs
- (list bison))
- (propagated-inputs
- (list gzip gnuplot openmpi))
- (outputs '("debug" ;~60MB
+ (inputs (list boost
+ cgal
+ git
+ gmp
+ libxt
+ metis
+ mpfr
+ ncurses
+ readline
+ pt-scotch32
+ zlib
+ openmpi
+ paraview-5.9
+ openssh))
+ (native-inputs (list bison
+ flex
+ ;; paraview plugin dependencies
+ cmake-minimal
+ vtk
+ libxml2
+ libogg
+ libtheora
+ ffmpeg
+ gl2ps
+ libpng
+ libharu
+ jsoncpp
+ netcdf
+ hdf5
+ gdal
+ libx11
+ qtbase-5
+ eigen
+ glew
+ python
+ expat
+ xz
+ utfcpp
+ lz4
+ double-conversion
+ libjpeg-turbo
+ libtiff
+ freetype
+ pugixml
+ cgns
+ qtsvg-5
+ qttools-5
+ protobuf
+ qtxmlpatterns))
+ (propagated-inputs (list gnuplot))
+ (outputs '("debug" ;~60MB
"out"))
(arguments
- `( ;; Executable files and shared libraries are located in the 'platforms'
+ `( ;Executable files and shared libraries are located in the 'platforms'
;; subdirectory.
- #:strip-directories (list (string-append
- "lib/OpenFOAM-" ,version
- "/platforms/linux64GccDPInt32Opt/bin")
- (string-append
- "lib/OpenFOAM-" ,version
- "/platforms/linux64GccDPInt32Opt/lib"))
- #:tests? #f ; no tests to run
+ #:strip-directories (list (string-append "share/OpenFOAM-"
+ ,version
+ "/platforms/linux64GccDPInt32Opt/bin
This message was truncated. Download the full message here.
R
[PATCH v2 4/4] gnu: Add openfoam-com.
(name . 62473@debbugs.gnu.org)(address . 62473@debbugs.gnu.org)(name . reza)(address . reza@housseini.me)
0102018752a6f95e-6dba2432-a52f-478f-a194-47a0d05fc7f6-000000@eu-west-1.amazonses.com
---
gnu/packages/simulation.scm | 39 +++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
Toggle diff (52 lines)
diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index a4df23785a..15fff6e57c 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -375,6 +375,45 @@ (define-public openfoam-org
(license license:gpl3+)
(home-page "https://openfoam.org")))
+(define-public openfoam-com
+ (package
+ (inherit openfoam-org)
+ (name "openfoam-com")
+ (version "2212")
+ (source (origin
+ (method url-fetch)
+
+ (uri (string-append "https://develop.openfoam.com"
+ "/Development/openfoam/-/archive/OpenFOAM-v"
+ version
+ "/openfoam-OpenFOAM-v"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0i9039hfz9gvgymkdjhjvvn5500zha3cpdbpqrzfrfi8lbz10is2"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; patch shell paths
+ (substitute* (list "src/OSspecific/POSIX/POSIX.C"
+ "wmake/src/Makefile"
+ "wmake/makefiles/general"
+ "wmake/makefiles/info")
+ (("/bin/sh")
+ which "sh"))))))
+ (description
+ "OpenFOAM is a free, open source CFD software released and developed by
+OpenCFD Ltd since 2004. It has a large user base across most areas of
+engineering and science, from both commercial and academic organizations.
+OpenFOAM has an extensive range of features to solve anything from complex
+fluid flows involving chemical reactions, turbulence and heat transfer, to
+acoustics, solid mechanics and electromagnetics. See documentation OpenFOAM
+is professionally released every six months to include customer sponsored
+developments and contributions from the community - individual and group
+contributors, integrations (eg, from FOAM-extend and OpenFOAM Foundation Ltd)
+as well as governance guided activities.")
+ (home-page "https://www.openfoam.com")))
+
(define-public open-simulation-interface
(package
(name "open-simulation-interface")
--
2.39.2
L
L
Ludovic Courtès wrote on 6 Apr 2023 16:29
Re: bug#62473: [PATCH 0/4] OpenFoam update to version 10
(name . reza)(address . reza@housseini.me)
875ya9krsk.fsf_-_@gnu.org
Hi Reza,

Great work, it’s good to have an OpenFoam update!

Some comments follow.

reza <reza@housseini.me> skribis:

Toggle quote (6 lines)
> From: Reza Housseini <reza.housseini@gmail.com>
>
> ---
> gnu/packages/check.scm | 34 ++++++++++++++++++++++++++++++++++
> 1 file changed, 34 insertions(+)

Your mail user agent apparently added DOS-style line endings, which I
think is the reason why https://qa.guix.gnu.org/issue/62473 doesn’t
have any info.

Could you try to use ‘git send-email’ in the future, to avoid that kind
of issue?

Toggle quote (5 lines)
> +(define-public ftest
> + (package
> + (name "ftest")
> + (version "bf75576064fce2e07f52cd63a3e410f12358728b")

That’s not a reasonable version string; see
on how to derive version strings for Git checkouts.

Furthermore, when packaging a snapshot (as opposed to a tagged release),
please add a short comment explaining why we’re not providing a release.

Toggle quote (3 lines)
> + (build-system copy-build-system)
> + (native-inputs (list cmake-minimal))

Perhaps use ‘cmake-build-system’?

Toggle quote (3 lines)
> + (synopsis "Simple and limited unit-test framework for C++")
> + (description "A simple and limited unit-test framework for C++")

L
L
Ludovic Courtès wrote on 6 Apr 2023 16:30
(name . reza)(address . reza@housseini.me)
871qkxkrqq.fsf_-_@gnu.org
reza <reza@housseini.me> skribis:

Toggle quote (6 lines)
> From: Reza Housseini <reza.housseini@gmail.com>
>
> ---
> gnu/packages/textutils.scm | 35 +++++++++++++++++++----------------
> 1 file changed, 19 insertions(+), 16 deletions(-)

This one LGTM, as long as dependents shown by ‘guix refresh -l utfcpp’
still work after this.

Ludo’.
L
L
Ludovic Courtès wrote on 6 Apr 2023 16:33
(name . reza)(address . reza@housseini.me)(address . 62473@debbugs.gnu.org)
87v8i9jd0r.fsf_-_@gnu.org
reza <reza@housseini.me> skribis:

Toggle quote (7 lines)
> ---
> gnu/local.mk | 1 -
> .../patches/openfoam-4.1-cleanup.patch | 243 -----------
> gnu/packages/simulation.scm | 405 ++++++++++++------
> 3 files changed, 263 insertions(+), 386 deletions(-)
> delete mode 100644 gnu/packages/patches/openfoam-4.1-cleanup.patch

BTW, please consider adding ChangeLog-style commit log, as per the
project’s conventions:


(We can help you if needed.)

Toggle quote (3 lines)
> -(define-public openfoam
> +(define-public openfoam-org

Maybe add:

(define-public openfoam
(deprecated-package "openfoam" openfoam-org))

Otherwise LGTM.
L
L
Ludovic Courtès wrote on 6 Apr 2023 16:36
(name . reza)(address . reza@housseini.me)(address . 62473@debbugs.gnu.org)
87r0sxjcvx.fsf_-_@gnu.org
reza <reza@housseini.me> skribis:

Toggle quote (31 lines)
> +(define-public openfoam-com
> + (package
> + (inherit openfoam-org)
> + (name "openfoam-com")
> + (version "2212")
> + (source (origin
> + (method url-fetch)
> +
> + (uri (string-append "https://develop.openfoam.com"
> + "/Development/openfoam/-/archive/OpenFOAM-v"
> + version
> + "/openfoam-OpenFOAM-v"
> + version
> + ".tar.gz"))
> + (sha256
> + (base32
> + "0i9039hfz9gvgymkdjhjvvn5500zha3cpdbpqrzfrfi8lbz10is2"))
> + (modules '((guix build utils)))
> + (snippet '(begin
> + ;; patch shell paths
> + (substitute* (list "src/OSspecific/POSIX/POSIX.C"
> + "wmake/src/Makefile"
> + "wmake/makefiles/general"
> + "wmake/makefiles/info")
> + (("/bin/sh")
> + which "sh"))))))
> + (description
> + "OpenFOAM is a free, open source CFD software released and developed by
> +OpenCFD Ltd since 2004. It has a large user base across most areas of
> +engineering and science, from both commercial and academic organizations.

This is not OK:


You can keep the description of ‘openfoam-org’, which is inherited.
However, please provide at least a different ‘synopsis’ to show how it
differs from ‘openfoam-org’.

Is the license the same for both?

Does “com” stand for “commercial”, and if so, what are the implications?

Thanks in advance,
Ludo’.
R
(name . Ludovic Courtès)(address . ludo@gnu.org)
010201875704d850-c6c0a8e1-e1a1-436c-8793-2d6b27bc2364-000000@eu-west-1.amazonses.com
Toggle quote (2 lines)
> Great work, it’s good to have an OpenFoam update!

Yes this was a great hassle to finally compile, but I hope I made it
future proof so there is not too much work for updates.
Toggle quote (11 lines)
>> ---
>> gnu/packages/check.scm | 34 ++++++++++++++++++++++++++++++++++
>> 1 file changed, 34 insertions(+)
>
> Your mail user agent apparently added DOS-style line endings, which I
> think is the reason why <https://qa.guix.gnu.org/issue/62473> doesn’t
> have any info.
>
> Could you try to use ‘git send-email’ in the future, to avoid that kind
> of issue?

This is strange, I use git send-email from a linux machine for the patches?

Toggle quote (12 lines)
>> +(define-public ftest
>> + (package
>> + (name "ftest")
>> + (version "bf75576064fce2e07f52cd63a3e410f12358728b")
>
> That’s not a reasonable version string; see
> <https://guix.gnu.org/manual/devel/en/html_node/Version-Numbers.html>
> on how to derive version strings for Git checkouts.
>
> Furthermore, when packaging a snapshot (as opposed to a tagged release),
> please add a short comment explaining why we’re not providing a release.

I'm not sure how to proceed here, there aren't any releases and it looks
more like a small side project. I included it for completness but maybe
we should drop it and skip the tests for utfcpp?

Toggle quote (5 lines)
>> + (build-system copy-build-system)
>> + (native-inputs (list cmake-minimal))
>
> Perhaps use ‘cmake-build-system’?

There is only a CMakeLists.txt file for the tests but not for the
source, shall I provide one?

Thanks for looking into this!
Attachment: OpenPGP_signature
R
(name . Ludovic Courtès)(address . ludo@gnu.org)(name . 62473@debbugs.gnu.org)(address . 62473@debbugs.gnu.org)
010201875708f2fa-4d1a3a1d-61ac-40ca-a0c0-d2e5c9d7ed2f-000000@eu-west-1.amazonses.com
Toggle quote (7 lines)
> BTW, please consider adding ChangeLog-style commit log, as per the
> project’s conventions:
>
> https://guix.gnu.org/manual/devel/en/html_node/Submitting-Patches.html
>
> (We can help you if needed.)

Will try to adhere to it in a new revision, feedback is definitely welcome.

Toggle quote (8 lines)
>> -(define-public openfoam
>> +(define-public openfoam-org
>
> Maybe add:
>
> (define-public openfoam
> (deprecated-package "openfoam" openfoam-org))

Ok will add it to the updated patch revision
Attachment: OpenPGP_signature
R
(name . Ludovic Courtès)(address . ludo@gnu.org)(name . 62473@debbugs.gnu.org)(address . 62473@debbugs.gnu.org)
01020187570e0691-f28ad8f9-3398-4f0b-a7ed-78d0c9c5d50a-000000@eu-west-1.amazonses.com
Toggle quote (8 lines)
> This is not OK:
>
> https://guix.gnu.org/manual/devel/en/html_node/Synopses-and-Descriptions.html
>
> You can keep the description of ‘openfoam-org’, which is inherited.
> However, please provide at least a different ‘synopsis’ to show how it
> differs from ‘openfoam-org’.

Ok will change thy synopsis.

Toggle quote (2 lines)
> Is the license the same for both?

They have the same license (GPL3.0)

Toggle quote (2 lines)
> Does “com” stand for “commercial”, and if so, what are the implications?

"com" stands for the website "openfoam.com". The project forked at some
point and now there are two almost identical code bases. openfoam-com

which is maintained by a company has more rapid development in favor of
stability while openfoam-org stays more conservative with code additions
but being more stable therefore.

I don't know how to handle the almost identical builds of this two code
bases, shall I make a function? There is also an issue with the version
of openfoam-org getting used in the build of openfoam-com, maybe this is
a bug?
Attachment: OpenPGP_signature
L
L
Ludovic Courtès wrote on 18 Apr 2023 22:06
(name . reza)(address . reza@housseini.me)
87354xhs4k.fsf_-_@gnu.org
Hi,

reza <reza@housseini.me> skribis:

Toggle quote (16 lines)
>>> +(define-public ftest
>>> + (package
>>> + (name "ftest")
>>> + (version "bf75576064fce2e07f52cd63a3e410f12358728b")
>>
>> That’s not a reasonable version string; see
>> <https://guix.gnu.org/manual/devel/en/html_node/Version-Numbers.html>
>> on how to derive version strings for Git checkouts.
>>
>> Furthermore, when packaging a snapshot (as opposed to a tagged release),
>> please add a short comment explaining why we’re not providing a release.
>
> I'm not sure how to proceed here, there aren't any releases and it looks
> more like a small side project. I included it for completness but maybe
> we should drop it and skip the tests for utfcpp?

You can keep it; just add a comment with the explanation you wrote
above, and make sure the version string is built as show in the manual
page above.

Toggle quote (8 lines)
>>> + (build-system copy-build-system)
>>> + (native-inputs (list cmake-minimal))
>>
>> Perhaps use ‘cmake-build-system’?
>
> There is only a CMakeLists.txt file for the tests but not for the
> source, shall I provide one?

Oh, weird. Then just add a comment stating that and keep it this way.

Thanks,
Ludo’.
L
L
Ludovic Courtès wrote on 18 Apr 2023 22:09
(name . reza)(address . reza@housseini.me)(address . 62473@debbugs.gnu.org)
87y1mpgdfj.fsf_-_@gnu.org
Hi,

reza <reza@housseini.me> skribis:

Toggle quote (9 lines)
>> Does “com” stand for “commercial”, and if so, what are the implications?
>
> "com" stands for the website "openfoam.com". The project forked at some
> point and now there are two almost identical code bases. openfoam-com
>
> which is maintained by a company has more rapid development in favor of
> stability while openfoam-org stays more conservative with code additions
> but being more stable therefore.

Interesting situation. :-)

Toggle quote (3 lines)
> I don't know how to handle the almost identical builds of this two code
> bases, shall I make a function?

No, I think it’s fine to inherit like you did.

Toggle quote (3 lines)
> There is also an issue with the version of openfoam-org getting used
> in the build of openfoam-com, maybe this is a bug?

Given your description above, it’s surprising that one depends on the
other. If there is such a dependency, then it might be worth reporting
upstream as a bug or asking for clarifications.

Thanks for your replies!

Ludo’.
R
[PATCH v3 1/4] gnu: Add ftest.
(name . 62473@debbugs.gnu.org)(address . 62473@debbugs.gnu.org)(name . reza)(address . reza@housseini.me)
01020187e5cad893-4db14f86-be13-4495-9fcf-7ae50d920f45-000000@eu-west-1.amazonses.com
* gnu/packages/check.scm (ftest): New variable.
---
gnu/packages/check.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
Toggle diff (69 lines)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 17c2b7284e..8772095944 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -43,6 +43,7 @@
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2023 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com>
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
+;;; Copyright © 2023 Reza Housseini <reza@housseini.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -65,6 +66,7 @@ (define-module (gnu packages check)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
@@ -92,6 +94,7 @@ (define-module (gnu packages check)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
@@ -3530,3 +3533,36 @@ (define-public guile-proba
to run test collections, and a library that includes a test runner and
helpers for writing tests.")
(license license:public-domain)))
+
+(define-public ftest
+ (package
+ (name "ftest")
+ ;; There aren't any releases and it looks
+ ;; more like a small side project. It is included for
+ ;; completness to run tests for package utfcpp
+ (version "bf75576064fce2e07f52cd63a3e410f12358728b")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nemtrif/ftest")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "01yjhjnlq2gci8hkc6favwj0axq7y1vvnradsgcffby6h09x00b4"))))
+ ;; No CMakeLists.txt file provided, only one to run tests
+ (build-system copy-build-system)
+ (native-inputs (list cmake-minimal))
+ (arguments
+ `(#:install-plan '(("ftest.h" "include/ftest/"))
+ #:phases (modify-phases %standard-phases
+ (add-before 'install 'check
+ (lambda _
+ (with-directory-excursion "tests"
+ (invoke "cmake" ".")
+ (invoke "make")
+ (invoke "ctest")))))))
+ (home-page "https://github.com/nemtrif/ftest")
+ (synopsis "Simple and limited unit-test framework for C++")
+ (description "A simple and limited unit-test framework for C++")
+ (license license:asl2.0)))
base-commit: 7a0a186a32524d4156bf96786d708fab323cebff
--
2.39.2
R
[PATCH v3 2/4] gnu: utfcpp: Update to 3.2.3.
(name . 62473@debbugs.gnu.org)(address . 62473@debbugs.gnu.org)(name . reza)(address . reza@housseini.me)
01020187e5cae983-f60ddab8-ce12-47ac-a996-173359880e77-000000@eu-west-1.amazonses.com
* gnu/packages/textutils.scm (utfcpp): Update to 3.2.3.
---
gnu/packages/textutils.scm | 35 +++++++++++++++++++----------------
1 file changed, 19 insertions(+), 16 deletions(-)
Toggle diff (70 lines)
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index d7cb217e17..40a5c01242 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -25,6 +25,7 @@
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
;;; Copyright © 2022 Gabriel Wicki <gabriel@erlikon.ch>
+;;; Copyright © 2023 Reza Housseini <reza@housseini.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -57,6 +58,7 @@ (define-module (gnu packages textutils)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
+ #:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages gcc)
#:use-module (gnu packages golang)
@@ -685,30 +687,31 @@ (define-public catdoc
(define-public utfcpp
(package
(name "utfcpp")
- (version "2.3.5")
+ (version "3.2.3")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/nemtrif/utfcpp")
- (commit (string-append "v" version))))
+ (url "https://github.com/nemtrif/utfcpp")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "1gr98d826z6wa58r1s5i7rz7q2x3r31v7zj0pjjlrc7gfxwklr4s"))))
+ "00hzh39iddbc6nxg13813qd6d55g2kccwjf5dr96wykfhway9wbr"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; delete bundled dependencies
+ (delete-file-recursively "extern")
+ (substitute* (list "tests/apitests.cpp"
+ "tests/noexceptionstests.cpp"
+ "tests/test_cpp11.cpp"
+ "tests/test_cpp17.cpp")
+ (("\"\\.\\./extern/ftest/ftest.h\"")
+ "<ftest/ftest.h>"))))))
(build-system cmake-build-system)
+ (native-inputs (list ftest))
(arguments
- `(#:out-of-source? #f
- #:phases
- (modify-phases %standard-phases
- (replace 'install ; no install target
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (include (string-append out "/include"))
- (doc (string-append out "/share/doc/" ,name)))
- (copy-recursively "source" include)
- (install-file "README.md" doc)
- #t))))))
- (home-page "https://github.com/nemtrif/utfcpp")
+ `(#:build-type "Release"))
+ (home-page "https://utfcpp.sourceforge.net")
(synopsis "Portable C++ library for handling UTF-8")
(description "UTF8-CPP is a C++ library for handling UTF-8 encoded text
in a portable way.")
--
2.39.2
R
[PATCH v3 3/4] gnu: Add openfoam-org. Deprecate openfoam.
(name . 62473@debbugs.gnu.org)(address . 62473@debbugs.gnu.org)(name . reza)(address . reza@housseini.me)
01020187e5caf4cb-b0cd88aa-8fd4-4a3a-9982-01df7133fbe2-000000@eu-west-1.amazonses.com
* gnu/local.mk: Remove mention of openfoam patch file.
* gnu/packages/patches/openfoam-4.1-cleanup.patch: Delete file.
* gnu/packages/simulation.scm (openfoam-org): New variable.
* gnu/packages/simulation.scm (openfoam): Deprecate variable.
---
gnu/local.mk | 1 -
.../patches/openfoam-4.1-cleanup.patch | 243 -----------
gnu/packages/simulation.scm | 405 ++++++++++++------
3 files changed, 265 insertions(+), 384 deletions(-)
delete mode 100644 gnu/packages/patches/openfoam-4.1-cleanup.patch
Toggle diff (455 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 4305bee89c..c262f6cb85 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1635,7 +1635,6 @@ dist_patch_DATA = \
%D%/packages/patches/openboardview-use-system-mpc.patch \
%D%/packages/patches/openbox-python3.patch \
%D%/packages/patches/opencolorio-fix-build-with-gcc11.patch \
- %D%/packages/patches/openfoam-4.1-cleanup.patch \
%D%/packages/patches/openjdk-9-pointer-comparison.patch \
%D%/packages/patches/openjdk-9-setsignalhandler.patch \
%D%/packages/patches/openjdk-10-idlj-reproducibility.patch \
diff --git a/gnu/packages/patches/openfoam-4.1-cleanup.patch b/gnu/packages/patches/openfoam-4.1-cleanup.patch
deleted file mode 100644
index 37effa5c9c..0000000000
--- a/gnu/packages/patches/openfoam-4.1-cleanup.patch
+++ /dev/null
@@ -1,243 +0,0 @@
-# This patch removes all need for the ThirdParty files of OpenFOAM.
-
-# Derived from EasyBuild patch by Ward Poelmans <wpoely86@gmail.com>.
-# Modified for GNU Guix by Paul Garlick <pgarlick@tourbillion-technology.com>.
-
-diff -ur OpenFOAM-4.x-version-4.1.org/applications/utilities/mesh/manipulation/setSet/Allwmake OpenFOAM-4.x-version-4.1/applications/utilities/mesh/manipulation/setSet/Allwmake
---- OpenFOAM-4.x-version-4.1.org/applications/utilities/mesh/manipulation/setSet/Allwmake
-+++ OpenFOAM-4.x-version-4.1/applications/utilities/mesh/manipulation/setSet/Allwmake
-@@ -9,7 +9,7 @@
- #
- # use readline if available
- #
--if [ -f /usr/include/readline/readline.h ]
-+if true
- then
- echo "Found <readline/readline.h> -- enabling readline support."
- export COMP_FLAGS="-DHAS_READLINE"
-diff -ur OpenFOAM-4.x-version-4.1.org/etc/bashrc OpenFOAM-4.x-version-4.1/etc/bashrc
---- OpenFOAM-4.x-version-4.1.org/etc/bashrc
-+++ OpenFOAM-4.x-version-4.1/etc/bashrc
-@@ -43,8 +43,10 @@
- # Please set to the appropriate path if the default is not correct.
- #
- [ $BASH_SOURCE ] && \
--export FOAM_INST_DIR=$(cd ${BASH_SOURCE%/*/*/*} && pwd -P) || \
-+export FOAM_INST_DIR=$(cd $(dirname $BASH_SOURCE)/../.. && pwd -P) || \
- export FOAM_INST_DIR=$HOME/$WM_PROJECT
-+# For GNU Guix: set initially for build then re-set at runtime
-+#
- # export FOAM_INST_DIR=~$WM_PROJECT
- # export FOAM_INST_DIR=/opt/$WM_PROJECT
- # export FOAM_INST_DIR=/usr/local/$WM_PROJECT
-diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/CGAL OpenFOAM-4.x-version-4.1/etc/config.sh/CGAL
---- OpenFOAM-4.x-version-4.1.org/etc/config.sh/CGAL
-+++ OpenFOAM-4.x-version-4.1/etc/config.sh/CGAL
-@@ -36,37 +36,7 @@
- #
- #------------------------------------------------------------------------------
-
--boost_version=boost-system
--cgal_version=cgal-system
--#cgal_version=CGAL-4.8
--
--if [ -z "$SOURCE_CGAL_VERSIONS_ONLY" ]
--then
--
-- common_path=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER
--
-- export BOOST_ARCH_PATH=$common_path/$boost_version
-- export CGAL_ARCH_PATH=$common_path/$cgal_version
--
-- if [ "$FOAM_VERBOSE" -a "$PS1" ]
-- then
-- echo "Using CGAL and boost" 1>&2
-- echo " $cgal_version at $CGAL_ARCH_PATH" 1>&2
-- echo " $boost_version at $BOOST_ARCH_PATH" 1>&2
-- fi
--
-- if [ -d "$CGAL_ARCH_PATH" -a "$cgal_version" != "cgal-system" ]
-- then
-- _foamAddLib $CGAL_ARCH_PATH/lib
-- fi
--
-- if [ -d "$BOOST_ARCH_PATH" -a "$boost_version" != "boost-system" ]
-- then
-- _foamAddLib $BOOST_ARCH_PATH/lib
-- fi
--
-- unset boost_version cgal_version common_path
--
--fi
-+export CGAL_ARCH_PATH=$CGAL_ROOT
-+export BOOST_ARCH_PATH=$BOOST_ROOT
-
- #------------------------------------------------------------------------------
-diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/gperftools OpenFOAM-4.x-version-4.1/etc/config.sh/gperftools
---- OpenFOAM-4.x-version-4.1.org/etc/config.sh/gperftools
-+++ OpenFOAM-4.x-version-4.1/etc/config.sh/gperftools
-@@ -29,13 +29,5 @@
- #
- #------------------------------------------------------------------------------
-
--version=svn
--gperftools_install=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER
--
--GPERFTOOLS_VERSION=gperftools-$version
--GPERFTOOLS_ARCH_PATH=$gperftools_install/$GPERFTOOLS_VERSION
--
--export PATH=$GPERFTOOLS_ARCH_PATH/bin:$PATH
--export LD_LIBRARY_PATH=$GPERFTOOLS_ARCH_PATH/lib:$LD_LIBRARY_PATH
-
- #------------------------------------------------------------------------------
-diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/metis OpenFOAM-4.x-version-4.1/etc/config.sh/metis
---- OpenFOAM-4.x-version-4.1.org/etc/config.sh/metis
-+++ OpenFOAM-4.x-version-4.1/etc/config.sh/metis
-@@ -34,7 +34,7 @@
- #
- #------------------------------------------------------------------------------
-
--export METIS_VERSION=metis-5.1.0
--export METIS_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$METIS_VERSION
-+export METIS_VERSION=metis-$METISVERSION
-+export METIS_ARCH_PATH=$METIS_ROOT
-
- #------------------------------------------------------------------------------
-diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/scotch OpenFOAM-4.x-version-4.1/etc/config.sh/scotch
---- OpenFOAM-4.x-version-4.1.org/etc/config.sh/scotch
-+++ OpenFOAM-4.x-version-4.1/etc/config.sh/scotch
-@@ -37,7 +37,7 @@
- #
- #------------------------------------------------------------------------------
-
--export SCOTCH_VERSION=scotch_6.0.3
--export SCOTCH_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$SCOTCH_VERSION
-+export SCOTCH_VERSION=scotch_$SCOTCHVERSION
-+export SCOTCH_ARCH_PATH=$SCOTCH_ROOT
-
- #------------------------------------------------------------------------------
-diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/settings OpenFOAM-4.x-version-4.1/etc/config.sh/settings
---- OpenFOAM-4.x-version-4.1.org/etc/config.sh/settings
-+++ OpenFOAM-4.x-version-4.1/etc/config.sh/settings
-@@ -279,6 +279,9 @@
- ;;
- system)
- # Use system compiler
-+ # Use system GMP and MPFR packages
-+ export GMP_ARCH_PATH=$GMP_ROOT
-+ export MPFR_ARCH_PATH=$MPFR_ROOT
- ;;
- *)
- echo "Warn: WM_COMPILER_TYPE='$WM_COMPILER_TYPE' is unsupported" 1>&2
-diff -ur OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/ptscotchDecomp/Make/options OpenFOAM-4.x-version-4.1/src/parallel/decompose/ptscotchDecomp/Make/options
---- OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/ptscotchDecomp/Make/options
-+++ OpenFOAM-4.x-version-4.1/src/parallel/decompose/ptscotchDecomp/Make/options
-@@ -5,8 +5,7 @@
- $(PFLAGS) $(PINC) \
- -I$(SCOTCH_ROOT)/include \
- -I$(SCOTCH_ARCH_PATH)/include/$(FOAM_MPI) \
-- -I/usr/include/scotch \
- -I../decompositionMethods/lnInclude
-
- LIB_LIBS = \
-- -L$(SCOTCH_ROOT)/lib -L$(FOAM_EXT_LIBBIN)/$(FOAM_MPI) -lptscotch -lptscotcherrexit -lscotch ${LINK_FLAGS} -lrt
-+ -L$(SCOTCH_ROOT)/lib -L$(MPI_ARCH_PATH)/lib -lptscotch -lptscotcherrexit -lscotch ${LINK_FLAGS} -lrt
-diff -ur OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/scotchDecomp/Make/options OpenFOAM-4.x-version-4.1/src/parallel/decompose/scotchDecomp/Make/options
---- OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/scotchDecomp/Make/options
-+++ OpenFOAM-4.x-version-4.1/src/parallel/decompose/scotchDecomp/Make/options
-@@ -9,8 +9,7 @@
- $(PFLAGS) $(PINC) \
- -I$(SCOTCH_ROOT)/include \
- -I$(SCOTCH_ARCH_PATH)/include \
-- -I/usr/include/scotch \
- -I../decompositionMethods/lnInclude
-
- LIB_LIBS = \
-- -L$(SCOTCH_ROOT)/lib -L$(FOAM_EXT_LIBBIN) -lscotch -lscotcherrexit -lrt
-+ -L$(SCOTCH_ROOT)/lib -lscotch -lscotcherrexit -lrt
-diff -ur OpenFOAM-4.x-version-4.1.org/wmake/makefiles/general OpenFOAM-4.x-version-4.1/wmake/makefiles/general
---- OpenFOAM-4.x-version-4.1.org/wmake/makefiles/general
-+++ OpenFOAM-4.x-version-4.1/wmake/makefiles/general
-@@ -33,7 +33,6 @@
- # The Makefile uses a POSIX shell
- #------------------------------------------------------------------------------
-
--SHELL = /bin/sh
-
-
- #------------------------------------------------------------------------------
-diff -ur OpenFOAM-4.x-version-4.1.org/wmake/wmake OpenFOAM-4.x-version-4.1/wmake/wmake
---- OpenFOAM-4.x-version-4.1.org/wmake/wmake
-+++ OpenFOAM-4.x-version-4.1/wmake/wmake
-@@ -163,7 +163,7 @@
- then
- if [ "$WM_NCOMPPROCS" -gt 1 -a ! "$MAKEFLAGS" ]
- then
-- lockDir=$HOME/.$WM_PROJECT/.wmake
-+ lockDir=$(cd $(dirname $BASH_SOURCE)/../.. && pwd -P)/.$WM_PROJECT/.wmake
-
- if [ -d $lockDir ]
- then
-diff -ur OpenFOAM-4.x-version-4.1.org/wmake/wmakeScheduler OpenFOAM-4.x-version-4.1/wmake/wmakeScheduler
---- OpenFOAM-4.x-version-4.1.org/wmake/wmakeScheduler
-+++ OpenFOAM-4.x-version-4.1/wmake/wmakeScheduler
-@@ -53,7 +53,7 @@
- # csh sets HOST, bash sets HOSTNAME
- : ${HOST:=$HOSTNAME}
-
--lockDir=$HOME/.$WM_PROJECT/.wmake
-+lockDir=$(cd $(dirname $BASH_SOURCE)/../.. && pwd -P)/.$WM_PROJECT/.wmake
-
- # Fallback - 1 core on current host
- : ${WM_HOSTS:=$HOST:1}
-diff -ur OpenFOAM-4.x-version-4.1.org/wmake/wmakeSchedulerUptime OpenFOAM-4.x-version-4.1/wmake/wmakeSchedulerUptime
---- OpenFOAM-4.x-version-4.1.org/wmake/wmakeSchedulerUptime
-+++ OpenFOAM-4.x-version-4.1/wmake/wmakeSchedulerUptime
-@@ -53,7 +53,7 @@
- # csh sets HOST, bash sets HOSTNAME
- : ${HOST:=$HOSTNAME}
-
--lockDir=$HOME/.$WM_PROJECT/.wmake
-+lockDir=$(cd $(dirname $BASH_SOURCE)/../.. && pwd -P)/.$WM_PROJECT/.wmake
- # Fallback - 1 core on current host
- : ${WM_HOSTS:=$HOST:1}
-
-diff -ur OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/metisDecomp/metisDecomp.C OpenFOAM-4.x-version-4.1/src/parallel/decompose/metisDecomp/metisDecomp.C
---- OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/metisDecomp/metisDecomp.C
-+++ OpenFOAM-4.x-version-4.1/src/parallel/decompose/metisDecomp/metisDecomp.C
-@@ -67,7 +67,7 @@
-
- // Processor weights initialised with no size, only used if specified in
- // a file
-- Field<scalar> processorWeights;
-+ Field<floatScalar> processorWeights;
-
- // Cell weights (so on the vertices of the dual)
- List<label> cellWeights;
-diff -ur OpenFOAM-4.x-version-4.1.org/wmake/rules/General/CGAL OpenFOAM-4.x-version-4.1/wmake/rules/General/CGAL
---- OpenFOAM-4.x-version-4.1.org/wmake/rules/General/CGAL
-+++ OpenFOAM-4.x-version-4.1/wmake/rules/General/CGAL
-@@ -6,9 +6,10 @@
- -I/usr/include
-
- CGAL_LIBS = \
-- -L$(MPFR_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \
-- -L$(GMP_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \
-+ -L$(MPFR_ARCH_PATH)/lib \
-+ -L$(GMP_ARCH_PATH)/lib \
- -L$(BOOST_ARCH_PATH)/lib \
- -L$(CGAL_ARCH_PATH)/lib \
- -lCGAL \
-+ -lgmp \
- -lmpfr
-diff -ur OpenFOAM-4.x-version-4.1.org/wmake/rules/linux64Gcc/c++ OpenFOAM-4.x-version-4.1/wmake/rules/linux64Gcc/c++
---- OpenFOAM-4.x-version-4.1.org/wmake/rules/linux64Gcc/c++
-+++ OpenFOAM-4.x-version-4.1/wmake/rules/linux64Gcc/c++
-@@ -20,5 +20,5 @@
-
- LINK_LIBS = $(c++DBUG)
-
--LINKLIBSO = $(CC) $(c++FLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
--LINKEXE = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed
-+LINKLIBSO = $(CC) $(c++FLAGS) $(LDFLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
-+LINKEXE = $(CC) $(c++FLAGS) $(LDFLAGS) -Xlinker --add-needed -Xlinker --no-as-needed
diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index 059be5a2be..079f4c4da0 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2022 Liliana Marie Prikler <liliana.prikler@gmail.com>
+;;; Copyright © 2023 Reza Housseini <reza@housseini.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -31,6 +32,7 @@ (define-module (gnu packages simulation)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
+ #:use-module (gnu packages engineering)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext)
@@ -41,22 +43,29 @@ (define-module (gnu packages simulation)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages iso-codes)
+ #:use-module (gnu packages image-processing)
#:use-module (gnu packages linux)
#:use-module (gnu packages m4)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages pdf)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages qt)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages serialization)
+ #:use-module (gnu packages ssh)
+ #:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages video)
+ #:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix download)
@@ -75,175 +84,291 @@ (define-module (gnu packages simulation)
#:use-module (ice-9 regex)
#:use-module (srfi srfi-1))
+;; replaced by packages openfoam-org and openfoam-com
(define-public openfoam
+ (deprecated-package "openfoam" openfoam-org))
+
+(define-public openfoam-org
(package
- (name "openfoam")
- (version "4.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "http://dl.openfoam.org/source/"
- (string-map (lambda (x) (if (eq? x #\.) #\- x)) version)))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "0cgxh4h2hf50qbvvdg5miwc2nympb0nrv3md96vb3gbs9vk8vq9d"))
- (patches (search-patches "openfoam-4.1-cleanup.patch"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Include <sys/sysmacros.h>, which is where glibc >= 2.28 provides
- ;; 'major' and 'minor'.
- (substitute* "src/OSspecific/POSIX/fileStat.C"
- (("#include <unistd\\.h>")
- "#include <unistd.h>\n#include <sys/sysmacros.h>\n"))
- #t))))
+ (name "openfoam-org")
+ (version "10.20221128")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/OpenFOAM/OpenFOAM-"
+ (version-major version) "/archive/"
+ (second (string-split version #\.))
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0yd924nhck4jh9gf1wrdnk8svj38yicg4803q79nnjqhn6lcq8c5"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; patch shell paths
+ (substitute* (list "wmake/src/Makefile"
+ "wmake/makefiles/general")
+ (("/bin/sh")
+ which "sh"))
+ (substitute* "etc/bashrc"
+ ;; only go back one folder level
+ (("\\$\\(dirname \\$\\{BASH_SOURCE:-\\$0\\}\\)/../..")
+ "$(dirname ${BASH_SOURCE:-$0})/..")
+ ;; do not use openfoam folder convention
+ (("^export WM_PROJECT_DIR=.*$")
+ (string-append
+ "export WM_PROJECT_DIR=$WM_PROJECT_INST_DIR\n"))
+ ;; do not source bash_completion (gives error)
+ (("^.*bash_completion.*$" all)
+ (string-append "#" all)))
+ ;; add expand flag to RunFunctions
+ (substitute* "bin/tools/RunFunctions"
+ (("foamDictionary (.*)" all args)
+ (string-append "foamDictionary -expand " args)))))))
(build-system gnu-build-system)
- (inputs
- `(("boost" ,boost)
- ("cgal" ,cgal)
- ("flex" ,flex)
- ("git" ,git)
- ("gmp" ,gmp)
- ("libxt" ,libxt)
- ("metis" ,metis)
- ("mpfr" ,mpfr)
- ("ncurses" ,ncurses)
- ("readline" ,readline)
- ("scotch" ,pt-scotch32)
- ("zlib" ,zlib)))
- (native-inputs
- (list bison))
- (propagated-inputs
- (list gzip gnuplot openmpi))
- (outputs '("debug" ;~60MB
+ (inputs (list boost
+ cgal
+ git
+ gmp
+ libxt
+ metis
+ mpfr
+ ncurses
+ readline
+ pt-scotch32
+ zlib
+ openmpi
+ paraview-5.9
+ openssh))
+ (native-inputs (list bison
+ flex
+ ;; paraview plugin dependencies
+ cmake-minimal
+ vtk
+ libxml2
+ libogg
+ libtheora
+ ffmpeg
+ gl2ps
+ libpng
+ libharu
+ jsoncpp
+ netcdf
+ hdf5
+ gdal
+ libx11
+ qtbase-5
+ eigen
+ glew
+ python
+ expat
+ xz
+ utfcpp
+ lz4
+ double-conversion
+ libjpeg-turbo
+ libtiff
+ freetype
+ pugixml
+ cgns
+ qtsvg-5
+ qttools-5
+ protobuf
+ qtxmlpatterns))
+ (propagated-inputs (list gnuplot))
+ (outputs '("debug" ;~60MB
"out"))
(arguments
`( ;; Executable files and shared libraries are located in the 'platforms'
;; subdirectory.
- #:strip-directories (list (string-append
- "lib/OpenFOAM-" ,version
- "/platforms/linux64GccDPInt32Opt/bin")
- (string-append
- "lib/OpenFOAM-" ,version
- "/platforms/linux64GccDPInt32Opt
This message was truncated. Download the full message here.
R
[PATCH v3 4/4] gnu: Add openfoam-com:
(name . 62473@debbugs.gnu.org)(address . 62473@debbugs.gnu.org)(name . reza)(address . reza@housseini.me)
01020187e5cafceb-01503ee3-fb0e-41e3-8c2f-446853a47c6e-000000@eu-west-1.amazonses.com
* gnu/packages/simulation.scm (openfoam-com): New variable.
---
gnu/packages/simulation.scm | 39 +++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
Toggle diff (52 lines)
diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index 079f4c4da0..bc8edf627a 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -379,6 +379,45 @@ (define-public openfoam-org
(license license:gpl3+)
(home-page "https://openfoam.org")))
+(define-public openfoam-com
+ (package
+ (inherit openfoam-org)
+ (name "openfoam-com")
+ (version "2212")
+ (source (origin
+ (method url-fetch)
+
+ (uri (string-append "https://develop.openfoam.com"
+ "/Development/openfoam/-/archive/OpenFOAM-v"
+ version
+ "/openfoam-OpenFOAM-v"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0i9039hfz9gvgymkdjhjvvn5500zha3cpdbpqrzfrfi8lbz10is2"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; patch shell paths
+ (substitute* (list "src/OSspecific/POSIX/POSIX.C"
+ "wmake/src/Makefile"
+ "wmake/makefiles/general"
+ "wmake/makefiles/info")
+ (("/bin/sh")
+ which "sh"))))))
+ (description
+ "OpenFOAM is a free, open source CFD software released and developed by
+OpenCFD Ltd since 2004. It has a large user base across most areas of
+engineering and science, from both commercial and academic organizations.
+OpenFOAM has an extensive range of features to solve anything from complex
+fluid flows involving chemical reactions, turbulence and heat transfer, to
+acoustics, solid mechanics and electromagnetics. See documentation OpenFOAM
+is professionally released every six months to include customer sponsored
+developments and contributions from the community - individual and group
+contributors, integrations (eg, from FOAM-extend and OpenFOAM Foundation Ltd)
+as well as governance guided activities.")
+ (home-page "https://www.openfoam.com")))
+
(define-public open-simulation-interface
(package
(name "open-simulation-interface")
--
2.39.2
L
L
Ludovic Courtès wrote on 15 Jun 2023 23:56
Re: bug#62473: [PATCH 0/4] OpenFoam update to version 10
(name . reza)(address . reza@housseini.me)(address . 62473@debbugs.gnu.org)
87ttv8tmnw.fsf_-_@gnu.org
Hi reza,

Sorry for taking so long to get back to you.

As I wrote in April, could you please resend with ‘git send-email’ or
somehow ensure your mail user agent doesn’t use DOS-style line endings?


Thanks in advance!

Ludo’.
L
L
Ludovic Courtès wrote on 18 Jun 2023 23:04
control message for bug #62473
(address . control@debbugs.gnu.org)
87o7lcpjn6.fsf@gnu.org
tags 62473 + moreinfo
quit
H
H
Hilton Chain wrote on 23 Jun 2023 17:33
[PATCH 0/2] gnu: utfcpp: Update to 3.2.3
(address . guix-patches@gnu.org)
cover.1687527788.git.hako@ultrarare.space
This patchset:
* Updates utfcpp to 3.2.3.
* Unbundles its test framework ftest as a new package used in the native-inputs.
* Fixes build issues caused by utfcpp's include path change.

The patchset is a split from both #62473 and #63765 since they have a common
procedure to update utfcpp.

As utfcpp has less dependents, it might be better to get this applied first.

For #63765, there's no change besides "utfcpp update" removal, so I'll keep the
current version before reviews or the QA process.

Reza Housseini (2):
gnu: Add ftest.
gnu: utfcpp: Update to 3.2.3.

gnu/packages/check.scm | 41 ++++++++++++++++++++++++++++++++++++++
gnu/packages/games.scm | 2 +-
gnu/packages/textutils.scm | 27 ++++++++++++-------------
gnu/packages/video.scm | 5 +++++
4 files changed, 60 insertions(+), 15 deletions(-)


base-commit: f25529b08e356f89ca7cecc44295085531a8faba
--
2.40.1
R
[PATCH v4 1/2] gnu: Add openfoam-org. Deprecate openfoam.
(name . 62473@debbugs.gnu.org)(address . 62473@debbugs.gnu.org)(name . reza)(address . reza@housseini.me)
01020188ef57bc1a-e32451a0-b372-471c-921c-610803a48c7c-000000@eu-west-1.amazonses.com
* gnu/local.mk: Remove mention of openfoam patch file.
* gnu/packages/patches/openfoam-4.1-cleanup.patch: Delete file.
* gnu/packages/simulation.scm (openfoam-org): New variable.
* gnu/packages/simulation.scm (openfoam): Deprecate variable.
---
gnu/local.mk | 1 -
.../patches/openfoam-4.1-cleanup.patch | 243 ---------
gnu/packages/simulation.scm | 464 ++++++++++++------
3 files changed, 303 insertions(+), 405 deletions(-)
delete mode 100644 gnu/packages/patches/openfoam-4.1-cleanup.patch
Toggle diff (470 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 1b59cc522b..9901058762 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1653,7 +1653,6 @@ dist_patch_DATA = \
%D%/packages/patches/openboardview-use-system-mpc.patch \
%D%/packages/patches/openbox-python3.patch \
%D%/packages/patches/opencolorio-fix-build-with-gcc11.patch \
- %D%/packages/patches/openfoam-4.1-cleanup.patch \
%D%/packages/patches/openjdk-9-pointer-comparison.patch \
%D%/packages/patches/openjdk-9-setsignalhandler.patch \
%D%/packages/patches/openjdk-10-idlj-reproducibility.patch \
diff --git a/gnu/packages/patches/openfoam-4.1-cleanup.patch b/gnu/packages/patches/openfoam-4.1-cleanup.patch
deleted file mode 100644
index 37effa5c9c..0000000000
--- a/gnu/packages/patches/openfoam-4.1-cleanup.patch
+++ /dev/null
@@ -1,243 +0,0 @@
-# This patch removes all need for the ThirdParty files of OpenFOAM.
-
-# Derived from EasyBuild patch by Ward Poelmans <wpoely86@gmail.com>.
-# Modified for GNU Guix by Paul Garlick <pgarlick@tourbillion-technology.com>.
-
-diff -ur OpenFOAM-4.x-version-4.1.org/applications/utilities/mesh/manipulation/setSet/Allwmake OpenFOAM-4.x-version-4.1/applications/utilities/mesh/manipulation/setSet/Allwmake
---- OpenFOAM-4.x-version-4.1.org/applications/utilities/mesh/manipulation/setSet/Allwmake
-+++ OpenFOAM-4.x-version-4.1/applications/utilities/mesh/manipulation/setSet/Allwmake
-@@ -9,7 +9,7 @@
- #
- # use readline if available
- #
--if [ -f /usr/include/readline/readline.h ]
-+if true
- then
- echo "Found <readline/readline.h> -- enabling readline support."
- export COMP_FLAGS="-DHAS_READLINE"
-diff -ur OpenFOAM-4.x-version-4.1.org/etc/bashrc OpenFOAM-4.x-version-4.1/etc/bashrc
---- OpenFOAM-4.x-version-4.1.org/etc/bashrc
-+++ OpenFOAM-4.x-version-4.1/etc/bashrc
-@@ -43,8 +43,10 @@
- # Please set to the appropriate path if the default is not correct.
- #
- [ $BASH_SOURCE ] && \
--export FOAM_INST_DIR=$(cd ${BASH_SOURCE%/*/*/*} && pwd -P) || \
-+export FOAM_INST_DIR=$(cd $(dirname $BASH_SOURCE)/../.. && pwd -P) || \
- export FOAM_INST_DIR=$HOME/$WM_PROJECT
-+# For GNU Guix: set initially for build then re-set at runtime
-+#
- # export FOAM_INST_DIR=~$WM_PROJECT
- # export FOAM_INST_DIR=/opt/$WM_PROJECT
- # export FOAM_INST_DIR=/usr/local/$WM_PROJECT
-diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/CGAL OpenFOAM-4.x-version-4.1/etc/config.sh/CGAL
---- OpenFOAM-4.x-version-4.1.org/etc/config.sh/CGAL
-+++ OpenFOAM-4.x-version-4.1/etc/config.sh/CGAL
-@@ -36,37 +36,7 @@
- #
- #------------------------------------------------------------------------------
-
--boost_version=boost-system
--cgal_version=cgal-system
--#cgal_version=CGAL-4.8
--
--if [ -z "$SOURCE_CGAL_VERSIONS_ONLY" ]
--then
--
-- common_path=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER
--
-- export BOOST_ARCH_PATH=$common_path/$boost_version
-- export CGAL_ARCH_PATH=$common_path/$cgal_version
--
-- if [ "$FOAM_VERBOSE" -a "$PS1" ]
-- then
-- echo "Using CGAL and boost" 1>&2
-- echo " $cgal_version at $CGAL_ARCH_PATH" 1>&2
-- echo " $boost_version at $BOOST_ARCH_PATH" 1>&2
-- fi
--
-- if [ -d "$CGAL_ARCH_PATH" -a "$cgal_version" != "cgal-system" ]
-- then
-- _foamAddLib $CGAL_ARCH_PATH/lib
-- fi
--
-- if [ -d "$BOOST_ARCH_PATH" -a "$boost_version" != "boost-system" ]
-- then
-- _foamAddLib $BOOST_ARCH_PATH/lib
-- fi
--
-- unset boost_version cgal_version common_path
--
--fi
-+export CGAL_ARCH_PATH=$CGAL_ROOT
-+export BOOST_ARCH_PATH=$BOOST_ROOT
-
- #------------------------------------------------------------------------------
-diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/gperftools OpenFOAM-4.x-version-4.1/etc/config.sh/gperftools
---- OpenFOAM-4.x-version-4.1.org/etc/config.sh/gperftools
-+++ OpenFOAM-4.x-version-4.1/etc/config.sh/gperftools
-@@ -29,13 +29,5 @@
- #
- #------------------------------------------------------------------------------
-
--version=svn
--gperftools_install=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER
--
--GPERFTOOLS_VERSION=gperftools-$version
--GPERFTOOLS_ARCH_PATH=$gperftools_install/$GPERFTOOLS_VERSION
--
--export PATH=$GPERFTOOLS_ARCH_PATH/bin:$PATH
--export LD_LIBRARY_PATH=$GPERFTOOLS_ARCH_PATH/lib:$LD_LIBRARY_PATH
-
- #------------------------------------------------------------------------------
-diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/metis OpenFOAM-4.x-version-4.1/etc/config.sh/metis
---- OpenFOAM-4.x-version-4.1.org/etc/config.sh/metis
-+++ OpenFOAM-4.x-version-4.1/etc/config.sh/metis
-@@ -34,7 +34,7 @@
- #
- #------------------------------------------------------------------------------
-
--export METIS_VERSION=metis-5.1.0
--export METIS_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$METIS_VERSION
-+export METIS_VERSION=metis-$METISVERSION
-+export METIS_ARCH_PATH=$METIS_ROOT
-
- #------------------------------------------------------------------------------
-diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/scotch OpenFOAM-4.x-version-4.1/etc/config.sh/scotch
---- OpenFOAM-4.x-version-4.1.org/etc/config.sh/scotch
-+++ OpenFOAM-4.x-version-4.1/etc/config.sh/scotch
-@@ -37,7 +37,7 @@
- #
- #------------------------------------------------------------------------------
-
--export SCOTCH_VERSION=scotch_6.0.3
--export SCOTCH_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$SCOTCH_VERSION
-+export SCOTCH_VERSION=scotch_$SCOTCHVERSION
-+export SCOTCH_ARCH_PATH=$SCOTCH_ROOT
-
- #------------------------------------------------------------------------------
-diff -ur OpenFOAM-4.x-version-4.1.org/etc/config.sh/settings OpenFOAM-4.x-version-4.1/etc/config.sh/settings
---- OpenFOAM-4.x-version-4.1.org/etc/config.sh/settings
-+++ OpenFOAM-4.x-version-4.1/etc/config.sh/settings
-@@ -279,6 +279,9 @@
- ;;
- system)
- # Use system compiler
-+ # Use system GMP and MPFR packages
-+ export GMP_ARCH_PATH=$GMP_ROOT
-+ export MPFR_ARCH_PATH=$MPFR_ROOT
- ;;
- *)
- echo "Warn: WM_COMPILER_TYPE='$WM_COMPILER_TYPE' is unsupported" 1>&2
-diff -ur OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/ptscotchDecomp/Make/options OpenFOAM-4.x-version-4.1/src/parallel/decompose/ptscotchDecomp/Make/options
---- OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/ptscotchDecomp/Make/options
-+++ OpenFOAM-4.x-version-4.1/src/parallel/decompose/ptscotchDecomp/Make/options
-@@ -5,8 +5,7 @@
- $(PFLAGS) $(PINC) \
- -I$(SCOTCH_ROOT)/include \
- -I$(SCOTCH_ARCH_PATH)/include/$(FOAM_MPI) \
-- -I/usr/include/scotch \
- -I../decompositionMethods/lnInclude
-
- LIB_LIBS = \
-- -L$(SCOTCH_ROOT)/lib -L$(FOAM_EXT_LIBBIN)/$(FOAM_MPI) -lptscotch -lptscotcherrexit -lscotch ${LINK_FLAGS} -lrt
-+ -L$(SCOTCH_ROOT)/lib -L$(MPI_ARCH_PATH)/lib -lptscotch -lptscotcherrexit -lscotch ${LINK_FLAGS} -lrt
-diff -ur OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/scotchDecomp/Make/options OpenFOAM-4.x-version-4.1/src/parallel/decompose/scotchDecomp/Make/options
---- OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/scotchDecomp/Make/options
-+++ OpenFOAM-4.x-version-4.1/src/parallel/decompose/scotchDecomp/Make/options
-@@ -9,8 +9,7 @@
- $(PFLAGS) $(PINC) \
- -I$(SCOTCH_ROOT)/include \
- -I$(SCOTCH_ARCH_PATH)/include \
-- -I/usr/include/scotch \
- -I../decompositionMethods/lnInclude
-
- LIB_LIBS = \
-- -L$(SCOTCH_ROOT)/lib -L$(FOAM_EXT_LIBBIN) -lscotch -lscotcherrexit -lrt
-+ -L$(SCOTCH_ROOT)/lib -lscotch -lscotcherrexit -lrt
-diff -ur OpenFOAM-4.x-version-4.1.org/wmake/makefiles/general OpenFOAM-4.x-version-4.1/wmake/makefiles/general
---- OpenFOAM-4.x-version-4.1.org/wmake/makefiles/general
-+++ OpenFOAM-4.x-version-4.1/wmake/makefiles/general
-@@ -33,7 +33,6 @@
- # The Makefile uses a POSIX shell
- #------------------------------------------------------------------------------
-
--SHELL = /bin/sh
-
-
- #------------------------------------------------------------------------------
-diff -ur OpenFOAM-4.x-version-4.1.org/wmake/wmake OpenFOAM-4.x-version-4.1/wmake/wmake
---- OpenFOAM-4.x-version-4.1.org/wmake/wmake
-+++ OpenFOAM-4.x-version-4.1/wmake/wmake
-@@ -163,7 +163,7 @@
- then
- if [ "$WM_NCOMPPROCS" -gt 1 -a ! "$MAKEFLAGS" ]
- then
-- lockDir=$HOME/.$WM_PROJECT/.wmake
-+ lockDir=$(cd $(dirname $BASH_SOURCE)/../.. && pwd -P)/.$WM_PROJECT/.wmake
-
- if [ -d $lockDir ]
- then
-diff -ur OpenFOAM-4.x-version-4.1.org/wmake/wmakeScheduler OpenFOAM-4.x-version-4.1/wmake/wmakeScheduler
---- OpenFOAM-4.x-version-4.1.org/wmake/wmakeScheduler
-+++ OpenFOAM-4.x-version-4.1/wmake/wmakeScheduler
-@@ -53,7 +53,7 @@
- # csh sets HOST, bash sets HOSTNAME
- : ${HOST:=$HOSTNAME}
-
--lockDir=$HOME/.$WM_PROJECT/.wmake
-+lockDir=$(cd $(dirname $BASH_SOURCE)/../.. && pwd -P)/.$WM_PROJECT/.wmake
-
- # Fallback - 1 core on current host
- : ${WM_HOSTS:=$HOST:1}
-diff -ur OpenFOAM-4.x-version-4.1.org/wmake/wmakeSchedulerUptime OpenFOAM-4.x-version-4.1/wmake/wmakeSchedulerUptime
---- OpenFOAM-4.x-version-4.1.org/wmake/wmakeSchedulerUptime
-+++ OpenFOAM-4.x-version-4.1/wmake/wmakeSchedulerUptime
-@@ -53,7 +53,7 @@
- # csh sets HOST, bash sets HOSTNAME
- : ${HOST:=$HOSTNAME}
-
--lockDir=$HOME/.$WM_PROJECT/.wmake
-+lockDir=$(cd $(dirname $BASH_SOURCE)/../.. && pwd -P)/.$WM_PROJECT/.wmake
- # Fallback - 1 core on current host
- : ${WM_HOSTS:=$HOST:1}
-
-diff -ur OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/metisDecomp/metisDecomp.C OpenFOAM-4.x-version-4.1/src/parallel/decompose/metisDecomp/metisDecomp.C
---- OpenFOAM-4.x-version-4.1.org/src/parallel/decompose/metisDecomp/metisDecomp.C
-+++ OpenFOAM-4.x-version-4.1/src/parallel/decompose/metisDecomp/metisDecomp.C
-@@ -67,7 +67,7 @@
-
- // Processor weights initialised with no size, only used if specified in
- // a file
-- Field<scalar> processorWeights;
-+ Field<floatScalar> processorWeights;
-
- // Cell weights (so on the vertices of the dual)
- List<label> cellWeights;
-diff -ur OpenFOAM-4.x-version-4.1.org/wmake/rules/General/CGAL OpenFOAM-4.x-version-4.1/wmake/rules/General/CGAL
---- OpenFOAM-4.x-version-4.1.org/wmake/rules/General/CGAL
-+++ OpenFOAM-4.x-version-4.1/wmake/rules/General/CGAL
-@@ -6,9 +6,10 @@
- -I/usr/include
-
- CGAL_LIBS = \
-- -L$(MPFR_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \
-- -L$(GMP_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \
-+ -L$(MPFR_ARCH_PATH)/lib \
-+ -L$(GMP_ARCH_PATH)/lib \
- -L$(BOOST_ARCH_PATH)/lib \
- -L$(CGAL_ARCH_PATH)/lib \
- -lCGAL \
-+ -lgmp \
- -lmpfr
-diff -ur OpenFOAM-4.x-version-4.1.org/wmake/rules/linux64Gcc/c++ OpenFOAM-4.x-version-4.1/wmake/rules/linux64Gcc/c++
---- OpenFOAM-4.x-version-4.1.org/wmake/rules/linux64Gcc/c++
-+++ OpenFOAM-4.x-version-4.1/wmake/rules/linux64Gcc/c++
-@@ -20,5 +20,5 @@
-
- LINK_LIBS = $(c++DBUG)
-
--LINKLIBSO = $(CC) $(c++FLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
--LINKEXE = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed
-+LINKLIBSO = $(CC) $(c++FLAGS) $(LDFLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
-+LINKEXE = $(CC) $(c++FLAGS) $(LDFLAGS) -Xlinker --add-needed -Xlinker --no-as-needed
diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index 059be5a2be..303b7d8d5a 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2022 Liliana Marie Prikler <liliana.prikler@gmail.com>
+;;; Copyright © 2023 Reza Housseini <reza@housseini.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -31,6 +32,8 @@ (define-module (gnu packages simulation)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
+ #:use-module (gnu packages curl)
+ #:use-module (gnu packages engineering)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext)
@@ -41,22 +44,30 @@ (define-module (gnu packages simulation)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages iso-codes)
+ #:use-module (gnu packages image-processing)
#:use-module (gnu packages linux)
#:use-module (gnu packages m4)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages pdf)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages qt)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages serialization)
+ #:use-module (gnu packages sqlite)
+ #:use-module (gnu packages ssh)
+ #:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages video)
+ #:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix download)
@@ -75,175 +86,303 @@ (define-module (gnu packages simulation)
#:use-module (ice-9 regex)
#:use-module (srfi srfi-1))
-(define-public openfoam
+(define-public openfoam-org
(package
- (name "openfoam")
- (version "4.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "http://dl.openfoam.org/source/"
- (string-map (lambda (x) (if (eq? x #\.) #\- x)) version)))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "0cgxh4h2hf50qbvvdg5miwc2nympb0nrv3md96vb3gbs9vk8vq9d"))
- (patches (search-patches "openfoam-4.1-cleanup.patch"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Include <sys/sysmacros.h>, which is where glibc >= 2.28 provides
- ;; 'major' and 'minor'.
- (substitute* "src/OSspecific/POSIX/fileStat.C"
- (("#include <unistd\\.h>")
- "#include <unistd.h>\n#include <sys/sysmacros.h>\n"))
- #t))))
+ (name "openfoam-org")
+ (version "10.20230119")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/OpenFOAM/OpenFOAM-"
+ (version-major version) "/archive/"
+ (second (string-split version #\.))
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1aw2vb5s7frg942ngd5x5x2dm67liyg6czff56qi567mshccpy46"))
+ (modules '((guix build utils)))
+ (snippet `(begin
+ ;; patch shell paths
+ (substitute* (list "wmake/src/Makefile"
+ "wmake/makefiles/general")
+ (("/bin/sh")
+ which "sh"))
+ (substitute* "etc/bashrc"
+ ;; only go back one folder level
+ (("\\$\\(dirname \\$\\{BASH_SOURCE:-\\$0\\}\\)/../..")
+ "$(dirname ${BASH_SOURCE:-$0})/..")
+ ;; do not use openfoam folder convention
+ (("^export WM_PROJECT_DIR=.*$")
+ (string-append
+ "export WM_PROJECT_DIR=$WM_PROJECT_INST_DIR\n"))
+ ;; do not source bash_completion (gives error)
+ (("^.*bash_completion.*$" all)
+ (string-append "#" all))
+ ;; set same version as guix package
+ (("^export WM_PROJECT_VERSION=.*$")
+ (string-append "export WM_PROJECT_VERSION="
+ ,version "\n")))
+ ;; add expand flag to RunFunctions
+ (substitute* "bin/tools/RunFunctions"
+ (("foamDictionary (.*)" all args)
+ (string-append "foamDictionary -expand " args)))
+ ;; disable failing test
+ (substitute* "test/postProcessing/channel/Allrun"
+ (("^.*getApplication.*$" all)
+ (string-append "#" all "\n")))))))
(build-system gnu-build-system)
- (inputs
- `(("boost" ,boost)
- ("cgal" ,cgal)
- ("flex" ,flex)
- ("git" ,git)
- ("gmp" ,gmp)
- ("libxt" ,libxt)
- ("metis" ,metis)
- ("mpfr" ,mpfr)
- ("ncurses" ,ncurses)
- ("readline" ,readline)
- ("scotch" ,pt-scotch32)
- ("zlib" ,zlib)))
- (native-inputs
- (list bison))
- (propagated-inputs
- (list gzip gnuplot openmpi))
- (outputs '("debug" ;~60MB
+ (inputs (list boost
+ cgal
+ git
+ gmp
+ libxt
+ metis
+ mpfr
+ ncurses
+ openmpi
+ openssh
+ paraview
+ pt-scotch32
+ readline
+ zlib))
+ (native-inputs (list bison
+ flex
+ ;; paraview plugin dependencies
+ cli11
+ cmake-minimal
+ cgns
+ curl
+ double-conversion
+ eigen
+ expat
+ ffmpeg
+ fmt
+ freetype
+ gdal
+ gl2ps
+ glew
+ gmsh
+ hdf5
+ jsoncpp
+ libjpeg-turbo
+ libogg
+ libpng
+ libharu
+ libtheora
+ libtiff
+ libx11
+ libxml2
+ lz4
+ netcdf
+ nlohmann-json
+ proj
+ protobuf
+ pugixml
+ python
+ python-mpi4py
+ qtbase-5
+ qtsvg-5
+ qttools-5
+ qtwebengine-5
+ qtxmlpatterns
+ utfcpp
+ vtk
+ xz))
+ (propagated-inputs (list gnuplot))
+ (outputs '("debug" ;~60MB
"out"))
(arguments
- `( ;; Executable files and shared libraries are located in the 'platforms'
- ;; subdirectory.
- #:strip-directories (list (string-append
- "lib/OpenFOAM-" ,version
- "/platforms/linux64GccDPInt32Opt/bin")
- (string-append
- "lib/OpenFOAM-" ,version
- "/platforms/linux64GccDPInt32Opt/li
This message was truncated. Download the full message here.
R
[PATCH v4 2/2] gnu: Add openfoam-com.
(name . 62473@debbugs.gnu.org)(address . 62473@debbugs.gnu.org)(name . reza)(address . reza@housseini.me)
01020188ef5c39ae-e41f2b42-59d3-4e3b-886f-238c53bc915a-000000@eu-west-1.amazonses.com
* gnu/packages/simulation.scm (openfoam-com): New variable.
---
gnu/packages/simulation.scm | 43 +++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
Toggle diff (56 lines)
diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index 303b7d8d5a..5f7a6b5078 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -396,6 +396,49 @@ (define-public openfoam-org
(define-public openfoam
(deprecated-package "openfoam" openfoam-org))
+(define-public openfoam-com
+ (package
+ (inherit openfoam-org)
+ (name "openfoam-com")
+ (version "2212")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://develop.openfoam.com"
+ "/Development/openfoam/-/archive/OpenFOAM-v"
+ version
+ "/openfoam-OpenFOAM-v"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0i9039hfz9gvgymkdjhjvvn5500zha3cpdbpqrzfrfi8lbz10is2"))
+ (modules '((guix build utils)))
+ (snippet `(begin
+ (substitute* "etc/bashrc"
+ ;; set same version as guix package
+ (("^export WM_PROJECT_VERSION=.*$")
+ (string-append "export WM_PROJECT_VERSION="
+ ,version "\n")))
+ ;; patch shell paths
+ (substitute* (list "src/OSspecific/POSIX/POSIX.C"
+ "wmake/src/Makefile"
+ "wmake/makefiles/general"
+ "wmake/makefiles/info")
+ (("/bin/sh")
+ which "sh"))))))
+ (description
+ "OpenFOAM is a free, open source CFD software released and developed by
+OpenCFD Ltd since 2004. It has a large user base across most areas of
+engineering and science, from both commercial and academic organizations.
+OpenFOAM has an extensive range of features to solve anything from complex
+fluid flows involving chemical reactions, turbulence and heat transfer, to
+acoustics, solid mechanics and electromagnetics. See documentation OpenFOAM
+is professionally released every six months to include customer sponsored
+developments and contributions from the community - individual and group
+contributors, integrations (eg, from FOAM-extend and OpenFOAM Foundation Ltd)
+as well as governance guided activities.")
+ (home-page "https://www.openfoam.com")))
+
(define-public open-simulation-interface
(package
(name "open-simulation-interface")
--
2.40.1
L
L
Ludovic Courtès wrote on 10 Aug 2023 09:48
Re: bug#62473: [PATCH 0/4] OpenFoam update to version 10
(name . reza)(address . reza@housseini.me)
87zg2zmj7n.fsf_-_@gnu.org
Hi reza,

Finally pushed as 997b38badaee20a1c60411e5e599e260e47785ec.

I had to fix a number of things: line endings were still DOS-style,
requiring a manual edit, a module import was missing, there was a typo
“which "sh"” (without parens) that I changed to just "sh", there was a
circular dependency caused by engineering.scm that needed to be fixed,
and the synopsis of ‘openfoam-com’ had been left unchanged contrary to
what we had discussed.

So quite a lot of work. Please pay more attention to review feedback
next time so we can more quickly process patches.

The good news is that this new version of OpenFoam is in now, yay!

Thanks,
Ludo’.
H
H
Hilton Chain wrote on 10 Aug 2023 12:23
Re: [bug#62473] [PATCH 0/4] OpenFoam update to version 10
(name . Ludovic Courtès)(address . ludo@gnu.org)
87sf8rjiw3.wl-hako@ultrarare.space
Hi,

On Thu, 10 Aug 2023 15:48:12 +0800,
Ludovic Courtès wrote:
Toggle quote (4 lines)
>
> I had to fix a number of things: line endings were still DOS-style,
> requiring a manual edit

Patchwork (QA page of the issue -> View series on Patchwork) seems to
handle this really well, I tried to download the series there and the
file uses LF for line endings.
R
[PATCH 0/4] OpenFoam update to version 10
(name . 62473@debbugs.gnu.org)(address . 62473@debbugs.gnu.org)
01020189e01b7b5d-0d2d3d52-453f-4786-a859-fbb1c7a7109c-000000@eu-west-1.amazonses.com
Hi Ludo,

Thank you very much! Sorry for not following up on your review feedback,
this was not intentional.
I asked on the mailing list about the circular dependency issue but got
no reply and with my basic knowledge of guile I was basically lost.
Also the issue with line endings has me still scratching my head. I
prepared the patch on a guix system with git send-mail I searched the
internet for the issue but could not figure out why I had dos line endings?
The rest of the problems are really on my side and I apologize for it.

I'm in the process of preparing a follow up patch for openfoam, first to
bump the version to 11 and second there is an issue with the naming
convention of the share/OpenFOAM folder. I hope I can sort out the line
ending issue, maybe you have an idea?

Best,
Reza
Attachment: OpenPGP_signature
H
H
Hartmut Goebel wrote on 15 Feb 10:38 +0100
(address . 62473@debbugs.gnu.org)
4c3df55e-670e-0799-8d37-fdc182ded073@crazy-compilers.com
This seems to be merged, see https://issues.guix.gnu.org/62473#29

 Can it be closed?

--
Regards
Hartmut Goebel

| Hartmut Goebel | h.goebel@crazy-compilers.com |
| www.crazy-compilers.com | compilers which you thought are impossible |
R
(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)
0102018db3c33452-d8c9e343-19d8-4376-b82b-aad0cdcbcdca-000000@eu-west-1.amazonses.com
Toggle quote (1 lines)
>  Can it be closed?
Yes this can be closed. There is already an update to version 11 here:
R
(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)
0102018db68375d8-c8ff323f-6977-450a-91ed-5b03f24adc59-000000@eu-west-1.amazonses.com
Toggle quote (1 lines)
>  Can it be closed?
Yes this can be closed. There is already an update to version 11 here:
?