Package: guix-patches;
Reported by: reza <reza <at> housseini.me>
Date: Fri, 29 Sep 2023 09:02:02 UTC
Severity: normal
Tags: patch
Done: reza <reza <at> housseini.me>
Bug is archived. No further changes may be made.
Message #143 received at 66262 <at> debbugs.gnu.org (full text, mbox):
From: reza <reza <at> housseini.me> To: 66262 <at> debbugs.gnu.org <66262 <at> debbugs.gnu.org> Cc: reza <reza <at> housseini.me> Subject: [PATCH v7 7/7] gnu: openfoam-org: Improve wrapping of binaries. Date: Fri, 1 Dec 2023 20:21:46 +0000
* gnu/packages/simulation.scm (openfoam-org): Add all variables from etc/bashrc to the wrapping of binaries. Change-Id: Idf0d4d9a043dfff806b6fb1871c1931794c1935b --- gnu/packages/simulation.scm | 159 +++++++++++++++++++++++++++++++++++- 1 file changed, 155 insertions(+), 4 deletions(-) diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm index f01044e76a..6b61783c2c 100644 --- a/gnu/packages/simulation.scm +++ b/gnu/packages/simulation.scm @@ -401,15 +401,166 @@ (define-public openfoam-org (add-after 'add-symbolic-link 'wrap (lambda* (#:key python inputs outputs #:allow-other-keys) (let* ((bin (string-append #$output "/bin")) - (openfoam (string-append #$output - "/share/OpenFOAM-" - #$(package-version this-package)))) + (openfoam-version #$(package-version this-package)) + (openfoam-root (string-append #$output + "/share/OpenFOAM-" + openfoam-version)) + (openmpi-version #$(package-version openmpi)) + (paraview-version #$(package-version paraview)) + (paraview-version-major+minor + #$(version-major+minor (package-version paraview)))) (for-each (lambda (program) (unless (member program '("." "..")) + ;; wrap the programs with all the variables created by sourcing + ;; etc/bashrc (wrap-program (string-append bin "/" program) - `("WM_PROJECT_DIR" ":" prefix (,openfoam))))) + `("WM_PROJECT_INST_DIR" = (,openfoam-root)) + `("WM_PROJECT_DIR" = (,openfoam-root)) + '("WM_PROJECT" = ("OpenFOAM")) + `("WM_PROJECT_VERSION" = (,openfoam-version)) + '("WM_COMPILER_TYPE" = ("system")) + '("WM_COMPILER" = ("Gcc")) + '("WM_ARCH_OPTION" = ("64")) + '("WM_PRECISION_OPTION" = ("DP")) + '("WM_LABEL_SIZE" = ("32")) + '("WM_COMPILE_OPTION" = ("Opt")) + '("WM_MPLIB" = ("OPENMPI")) + '("WM_OSTYPE" = ("POSIX")) + '("WM_OPTIONS" = ("linux64GccDPInt32Opt")) + `("WM_PROJECT_USER_DIR" = (,(string-append + "$HOME/OpenFOAM/$USER-" + openfoam-version))) + `("WM_THIRD_PARTY_DIR" = (,(string-append + openfoam-root + "/ThirdParty-" + openfoam-version))) + '("WM_LABEL_OPTION" = ("Int32")) + '("WM_LINK_LANGUAGE" = ("c++")) + '("WM_COMPILER_LIB_ARCH" = ("64")) + `("WM_DIR" = (,(string-append openfoam-root "/wmake"))) + '("WM_LDFLAGS" = ("-m64")) + '("WM_CC" = ("gcc")) + '("WM_CFLAGS" = ("-m64 -fPIC")) + '("WM_CXX" = ("g++")) + '("WM_CXXFLAGS" = ("-m64 -fPIC -std=c++0x")) + + `("FOAM_INST_DIR" = (,openfoam-root)) + `("FOAM_APP" = (,(string-append openfoam-root + "/applications"))) + `("FOAM_SRC" = (,(string-append openfoam-root "/src"))) + `("FOAM_ETC" = (,(string-append openfoam-root "/etc"))) + `("FOAM_TUTORIALS" = (,(string-append openfoam-root + "/tutorials"))) + `("FOAM_UTILITIES" = (,(string-append + openfoam-root + "/applications/utilities"))) + `("FOAM_SOLVERS" = (,(string-append + openfoam-root + "/applications/solvers"))) + `("FOAM_MPI" = (,(string-append "openmpi-" + openmpi-version))) + `("FOAM_RUN" = (,(string-append "$HOME/OpenFOAM/$USER-" + openfoam-version "/run"))) + `("FOAM_EXT_LIBBIN" = (,(string-append + openfoam-root + "/ThirdParty-" + openfoam-version + "/platforms/linux64GccDPInt32/lib"))) + `("FOAM_APPBIN" = (,(string-append + openfoam-root + "/platforms/linux64GccDPInt32Opt/bin"))) + `("FOAM_JOB_DIR" = (,(string-append openfoam-root + "/jobControl"))) + `("FOAM_LIBBIN" = (,(string-append + openfoam-root + "/platforms/linux64GccDPInt32Opt/lib"))) + `("FOAM_SITE_LIBBIN" = (,(string-append + openfoam-root + "/site/" + openfoam-version + "/platforms/linux64GccDPInt32Opt/lib"))) + `("FOAM_SITE_APPBIN" = (,(string-append + openfoam-root + "/site/" + openfoam-version + "/platforms/linux64GccDPInt32Opt/bin"))) + `("FOAM_USER_LIBBIN" = (,(string-append + "$HOME/OpenFOAM/$USER-" + openfoam-version + "/platforms/linux64GccDPInt32Opt/lib"))) + `("FOAM_USER_APPBIN" = (,(string-append + "$HOME/OpenFOAM/$USER-" + openfoam-version + "/platforms/linux64GccDPInt32Opt/bin"))) + `("FOAM_MODULES" = (,(string-append openfoam-root + "/applications/modules"))) + '("FOAM_SIGFPE" = ("")) + '("FOAM_SETTINGS" = ("")) + + `("ParaView_INCLUDE_DIR" = (,(string-append #$paraview + "/include/paraview-" + paraview-version-major+minor))) + '("ParaView_GL" = ("mesa")) + `("ParaView_VERSION" = (,paraview-version)) + `("ParaView_MAJOR" = (,paraview-version-major+minor)) + `("ParaView_DIR" = (,#$paraview)) + `("PV_PLUGIN_PATH" = (,(string-append + openfoam-root + "/platforms/linux64GccDPInt32Opt/lib/paraview-" + paraview-version-major+minor))) + + `("MPI_ARCH_PATH" = (,#$openmpi)) + `("OPAL_PREFIX" = (,#$openmpi)) + '("MPI_BUFFER_SIZE" = ("20000000")) + + `("LD_LIBRARY_PATH" prefix + (,(string-append openfoam-root "/ThirdParty-" + openfoam-version + "/platforms/linux64Gcc/gperftools-svn/lib") + ,(string-append #$paraview "/lib") + ,(string-append openfoam-root + "/platforms/linux64GccDPInt32Opt/lib/openmpi-" + openmpi-version) + ,(string-append openfoam-root "/ThirdParty-" + openfoam-version + "/platforms/linux64GccDPInt32/lib/openmpi-" + openmpi-version) + ,(string-append #$openmpi "/lib") + ,(string-append #$openmpi "/lib64") + ,(string-append "$HOME/OpenFOAM/$USER-" + openfoam-version + "/platforms/linux64GccDPInt32Opt/lib") + ,(string-append openfoam-root "/site/" + openfoam-version + "/platforms/linux64GccDPInt32Opt/lib") + ,(string-append openfoam-root + "/platforms/linux64GccDPInt32Opt/lib") + ,(string-append openfoam-root "/ThirdParty-" + openfoam-version + "/platforms/linux64GccDPInt32/lib") + ,(string-append openfoam-root + "/platforms/linux64GccDPInt32Opt/lib/dummy"))) + `("PATH" prefix + (,(string-append openfoam-root "/ThirdParty-" + openfoam-version + "/platforms/linux64Gcc/gperftools-svn/bin") + ,(string-append #$paraview "/bin") + ,(string-append openfoam-root "/ThirdParty-" + openfoam-version + "/platforms/linux64Gcc/cmake-*/bin") + ,(string-append #$openmpi "/bin") + ,(string-append openfoam-root "/bin") + ,(string-append openfoam-root "/wmake") + ,(string-append "$HOME/OpenFOAM/$USER-" + openfoam-version + "/platforms/linux64GccDPInt32Opt/bin") + ,(string-append openfoam-root "/site/" + openfoam-version + "/platforms/linux64GccDPInt32Opt/bin") + ,(string-append openfoam-root + "/platforms/linux64GccDPInt32Opt/bin")))))) (scandir bin)))))))) ;; Note: ;; Tutorial files are installed read-only in /gnu/store. -- 2.41.0
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.