summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludovic.courtes@inria.fr>2023-08-10 22:19:55 +0200
committerLudovic Courtès <ludo@gnu.org>2023-08-11 00:50:47 +0200
commitcaa30ff2f13a149810e564ab9b1737e057345032 (patch)
tree6bb55dac1b8d2aee2dfd550821661ae284fb2cf9 /gnu
parent2a4047e5401a1b41c15803725f368483ab4377fa (diff)
downloadguix-caa30ff2f13a149810e564ab9b1737e057345032.tar.gz
gnu: openfoam-org: Use 'git-fetch'.
So far the source was taken from an auto-generated, unstable tarball at
github.com.  This fixes that.

* gnu/packages/simulation.scm (openfoam-org)[source]: Switch to
'git-fetch'.
[arguments]: Add 'rename-self' phase.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/simulation.scm33
1 files changed, 26 insertions, 7 deletions
diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index 1dd6dc63f7..db73812a41 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -84,6 +84,7 @@
   #:use-module (guix gexp)
   #:use-module (guix utils)
   #:use-module (ice-9 ftw)
+  #:use-module (ice-9 match)
   #:use-module (ice-9 regex)
   #:use-module (srfi srfi-1))
 
@@ -92,14 +93,15 @@
     (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"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url (string-append "https://github.com/OpenFOAM/OpenFOAM-"
+                                        (version-major version)))
+                    (commit (second (string-split version #\.)))))
               (sha256
                (base32
-                "1aw2vb5s7frg942ngd5x5x2dm67liyg6czff56qi567mshccpy46"))
+                "0icvwg7s6vnkgmdiczivia9pbrgx8nanw9a4j080fzfvdv9vxhzp"))
+              (file-name (git-file-name name version))
               (modules '((guix build utils)))
               (snippet `(begin
                           ;; patch shell paths
@@ -211,7 +213,24 @@
       #~(modify-phases %standard-phases
           (add-before 'build 'patch-HOME-path
             (lambda _
-              (setenv "HOME" "/tmp") #t))
+              (setenv "HOME" "/tmp")))
+          (add-before 'build 'rename-self
+            (lambda _
+              ;; The script 'bin/foamEtcFile' derives the version name based
+              ;; on the current directory name (!), so make sure to follow the
+              ;; expected naming convention.
+              (let ((here (canonicalize-path "."))
+                    (target #$(string-append
+                               "OpenFOAM-"
+                               (string-map (match-lambda
+                                             (#\. #\-)
+                                             (chr chr))
+                                           (package-version this-package)))))
+                (chdir "..")
+                (format #t "renaming '~a' to '~a'~%"
+                        here target)
+                (rename-file here target)
+                (chdir target))))
           (add-before 'build 'patch-scotch
             (lambda _
               (substitute* "etc/config.sh/scotch"