all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: reza via Guix-patches via <guix-patches@gnu.org>
To: 66262@debbugs.gnu.org <66262@debbugs.gnu.org>
Cc: reza <reza@housseini.me>
Subject: [bug#66262] [PATCH v7 7/7] gnu: openfoam-org: Improve wrapping of binaries.
Date: Fri, 1 Dec 2023 20:21:46 +0000	[thread overview]
Message-ID: <0102018c270b602e-42d16a77-013b-4cca-ac8d-cc731d174e67-000000@eu-west-1.amazonses.com> (raw)
In-Reply-To: <5a90ca452eac7f8947a241bf0900ca928acc311f.1701462064.git.reza@housseini.me>

* 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






  parent reply	other threads:[~2023-12-01 20:23 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <5a90ca452eac7f8947a241bf0900ca928acc311f.1701462064.git.reza@housseini.me>
     [not found] ` <e0b24fe5429f273c7e3fc07579efbb8c0cb8c560.1701462064.git.reza@housseini.me>
2023-12-01 20:21   ` [bug#66262] [PATCH v7 2/7] gnu: openfoam-org: Refactor dependency reza via Guix-patches via
     [not found] ` <b90c77d497a24b3b790237d1cd4c64f9ecf7ea9a.1701462064.git.reza@housseini.me>
2023-12-01 20:21   ` [bug#66262] [PATCH v7 3/7] gnu: openfoam-org: Improve internal path handling reza via Guix-patches via
     [not found] ` <54b1a2d73885ed2f5fef4f74fde212f9c811ce66.1701462064.git.reza@housseini.me>
2023-12-01 20:21   ` [bug#66262] [PATCH v7 4/7] gnu: openfoam-org: Improve build clean up reza via Guix-patches via
     [not found] ` <f4fb02c20f3836c2e1a3c9abddd558c2addb0451.1701462064.git.reza@housseini.me>
2023-12-01 20:21   ` [bug#66262] [PATCH v7 5/7] gnu: openfoam-org: Update to 11 reza via Guix-patches via
     [not found] ` <1e5198861de5777cb1ad76b7919bc80870b54585.1701462064.git.reza@housseini.me>
2023-12-01 20:21   ` [bug#66262] [PATCH v7 6/7] gnu: openfoam-com: Update to 2306 reza via Guix-patches via
     [not found] ` <e215dd308ca23fcdac93a10f03ae11185fa9a9f0.1701462064.git.reza@housseini.me>
2023-12-01 20:21   ` reza via Guix-patches via [this message]
     [not found] <5a90ca452eac7f8947a241bf0900ca928acc311f.1701290362.git.reza@housseini.me>
     [not found] ` <b90c77d497a24b3b790237d1cd4c64f9ecf7ea9a.1701290362.git.reza@housseini.me>
2023-11-29 20:39   ` [bug#66262] [PATCH v5 3/6] gnu: openfoam-org: Improve internal path handling reza via Guix-patches via
     [not found] ` <f4fb02c20f3836c2e1a3c9abddd558c2addb0451.1701290362.git.reza@housseini.me>
2023-11-29 20:39   ` [bug#66262] [PATCH v5 5/6] gnu: openfoam-org: Update to 11 reza via Guix-patches via
     [not found] ` <54b1a2d73885ed2f5fef4f74fde212f9c811ce66.1701290362.git.reza@housseini.me>
2023-11-29 20:39   ` [bug#66262] [PATCH v5 4/6] gnu: openfoam-org: Improve build clean up reza via Guix-patches via
     [not found] ` <1e5198861de5777cb1ad76b7919bc80870b54585.1701290362.git.reza@housseini.me>
2023-11-29 20:39   ` [bug#66262] [PATCH v5 6/6] gnu: openfoam-com: Update to 2306 reza via Guix-patches via
     [not found] ` <e0b24fe5429f273c7e3fc07579efbb8c0cb8c560.1701290362.git.reza@housseini.me>
2023-11-29 20:39   ` [bug#66262] [PATCH v5 2/6] gnu: openfoam-org: Refactor dependency reza via Guix-patches via
     [not found] <fe263426cf5f402a7a251e120af65d4a15f955ab.1701268112.git.reza@housseini.me>
     [not found] ` <c9ba1409a268744673caf17ec529b415ad1fa29f.1701268112.git.reza@housseini.me>
2023-11-29 14:29   ` [bug#66262] [PATCH v4 " reza via Guix-patches via
     [not found] ` <0acf762696be31d70a2c40523c0054e52f9606ef.1701268112.git.reza@housseini.me>
2023-11-29 14:29   ` [bug#66262] [PATCH v4 3/6] gnu: openfoam-org: Improve internal path handling reza via Guix-patches via
     [not found] ` <97b7044beb51357a1b2f50bc59ab840fa5f97808.1701268112.git.reza@housseini.me>
2023-11-29 14:29   ` [bug#66262] [PATCH v4 4/6] gnu: openfoam-org: Improve build clean up reza via Guix-patches via
     [not found] ` <5380542281402a0572fbb4270658f354611448d9.1701268112.git.reza@housseini.me>
2023-11-29 14:29   ` [bug#66262] [PATCH v4 5/6] gnu: openfoam-org: Update to 11 reza via Guix-patches via
     [not found] ` <3aca16d2ccc66d8f39f08ddcb9a4bbda30c9caa3.1701268112.git.reza@housseini.me>
2023-11-29 14:29   ` [bug#66262] [PATCH v4 6/6] gnu: openfoam-com: Update to 2306 reza via Guix-patches via
     [not found] <cover.1696919009.git.reza@housseini.me>
     [not found] ` <ccac0a551e301ab86d5c77ba928fac1cf69cf138.1696919009.git.reza@housseini.me>
2023-10-10  6:25   ` [bug#66262] [PATCH v3 1/3] gnu: Add openfoam-package reza via Guix-patches via
     [not found] ` <bce423db0172bc6d5e2c7cc21f0df96e1b1a34e6.1696919009.git.reza@housseini.me>
2023-10-10  6:25   ` [bug#66262] [PATCH v3 2/3] gnu: openfoam-org: Update to 11 reza via Guix-patches via
     [not found] ` <f4cd9332ffd1c23dbf9fac5b1821676ae6c2aa2d.1696919009.git.reza@housseini.me>
2023-10-10  6:25   ` [bug#66262] [PATCH v3 3/3] gnu: openfoam-com: Update to 2306 reza via Guix-patches via
     [not found] <cover.1695980074.git.reza@housseini.me>
     [not found] ` <8f684396d68f2748f0b5e9ea832e483438cf195d.1695980074.git.reza@housseini.me>
2023-09-29  9:39   ` [bug#66262] [PATCH v2 1/3] gnu: Add openfoam-package reza via Guix-patches via
     [not found] ` <aa633991702c2752a9692a695792e972172b2faf.1695980074.git.reza@housseini.me>
2023-09-29  9:39   ` [bug#66262] [PATCH v2 2/3] gnu: openfoam-org: Update to 11 reza via Guix-patches via
     [not found] ` <9141e57d9db9be29442325736da07e61ff3c5420.1695980074.git.reza@housseini.me>
2023-09-29  9:40   ` [bug#66262] [PATCH v2 3/3] gnu: openfoam-com: Update to 2306 reza via Guix-patches via
     [not found] <cover.1695977095.git.reza@housseini.me>
2023-09-29  9:00 ` [bug#66262] [PATCH 0/3] Update openfoam and fix bugs reza via Guix-patches via
2023-09-29  9:39   ` [bug#66262] [PATCH v2 0/3] Update openfoam reza via Guix-patches via
2023-10-10  6:25   ` [bug#66262] [PATCH v3 0/3] Remove paraview plugin search path reza via Guix-patches via
2023-11-29 14:28   ` [bug#66262] [PATCH v4 1/6] gnu: openfoam-org: Use gexps reza via Guix-patches via
2023-11-29 20:39   ` [bug#66262] [PATCH v5 " reza via Guix-patches via
2023-11-30  8:30   ` [bug#66262] [PATCH v6 " reza via Guix-patches via
2023-11-30  8:38   ` [bug#66262] [PATCH v6 2/6] gnu: openfoam-org: Refactor dependency reza via Guix-patches via
2023-11-30  8:41   ` [bug#66262] [PATCH v6 3/6] gnu: openfoam-org: Improve internal path handling reza via Guix-patches via
2023-11-30  8:57   ` [bug#66262] [PATCH v6 4/6] gnu: openfoam-org: Improve build clean up reza via Guix-patches via
2023-11-30  9:01   ` [bug#66262] [PATCH v6 5/6] gnu: openfoam-org: Update to 11 reza via Guix-patches via
2023-11-30  9:03   ` [bug#66262] [PATCH v6 6/6] gnu: openfoam-com: Update to 2306 reza via Guix-patches via
2023-12-01 20:21   ` [bug#66262] [PATCH v7 1/7] gnu: openfoam-org: Use gexps reza via Guix-patches via
     [not found] ` <08d37437f0611551d403bb7da15d78c94fe3791f.1695977095.git.reza@housseini.me>
2023-09-29  9:03   ` [bug#66262] [PATCH 1/3] gnu: Add openfoam-package reza via Guix-patches via
     [not found] ` <3c9e2eabdc2f10db9d2a51d82203fcefd5e5e218.1695977095.git.reza@housseini.me>
2023-09-29  9:03   ` [bug#66262] [PATCH 2/3] gnu: openfoam-org: Update to 11 reza via Guix-patches via
     [not found] ` <c648aabf51e10ae1063dec75068dc71d54d36ba9.1695977095.git.reza@housseini.me>
2023-09-29  9:03   ` [bug#66262] [PATCH 3/3] gnu: openfoam-com: Update to 2306 reza via Guix-patches via

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0102018c270b602e-42d16a77-013b-4cca-ac8d-cc731d174e67-000000@eu-west-1.amazonses.com \
    --to=guix-patches@gnu.org \
    --cc=66262@debbugs.gnu.org \
    --cc=reza@housseini.me \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.