On Tue, Apr 05, 2016 at 08:21:35PM +0300, Efraim Flashner wrote:
> On Tue, Apr 05, 2016 at 12:04:56PM -0500, Lukas Gradl wrote:
> > On Tue, Apr 05, 2016 at 04:26:59AM -0400, Leo Famulari wrote:
> > > On Mon, Apr 04, 2016 at 03:55:51PM -0500, Lukas Gradl wrote:
> > > > Hello Guix!
> > > > 
> > > > Attached is a patch to add the SPARTA Direct Simulation Monte Carlo
> > > > Software.
> > > > 
> > > > There maybe is a problem with the source URL: The URL always points to
> > > > the latest version of the source tar ball which is constantly updated
> > > > and immediately released by upstream.  This means that the hash of the
> > > > source tar ball available at this URL changes several times a month.  Is
> > > > this acceptable or does anyone have an idea how this should be handled?
> > > 
> > > I assume you've looked for a more stable URL. Are there other distros
> > > that have solved this problem? Can you contact the SPARTA developers and
> > > ask if there is a solution?
> > 
> > AFAIK this software is not packaged in any other distro.  I am already
> > in contact with the author of SPARTA, he provided the URL that I used in
> > the patch.  I explained the problem to him and I am waiting for his
> > response.
> > 
> > Thank you!
> 
> Not just for this package but potentially for others, could we stick a
> copy on archive.org with a date-stamp or something?


Sorry for the long delay!

My message to upstream is still unanswered, so I went ahead and uploaded
the tar ball to archive.org.  Attached is an updated patch.

Thank you!


> 
> -- 
> Efraim Flashner   <efr...@flashner.co.il>   אפרים פלשנר
> GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
> Confidentiality cannot be guaranteed on emails sent or received unencrypted
From 751771dcb3f64b7ad5383906bbfa6e4b24d2c757 Mon Sep 17 00:00:00 2001
From: Lukas Gradl <lgr...@openmailbox.org>
Date: Sat, 23 Apr 2016 01:40:16 -0500
Subject: [PATCH] gnu: Add sparta-dsmc.

 * gnu/packages/maths.scm (sparta-dsmc): New variable.
---
 gnu/packages/maths.scm | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 7ea4ca3..241a010 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2119,3 +2119,66 @@ are built.  It can generate many different fractal types 
such as the Mandelbrot
 set.")
     (home-page "http://www.gnu.org/software/xaos/";)
     (license license:gpl2+)))
+
+
+(define-public sparta-dsmc
+  (package
+    (name "sparta-dsmc")
+    (version "20160331")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://archive.org/download/sparta-";
+                       version ".tar/sparta-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0w0sdiharqrw6x4msbq01havky15cq7ylkk2y6v59xyy7vnxpnss"))))
+    (build-system gnu-build-system)
+    (inputs `(("openmpi" ,openmpi)
+              ("libjpeg" ,libjpeg)
+              ("python" ,python-2)))
+    (arguments
+     `(#:tests? #f ; there is no "check" target nor any other tests
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (add-after 'patch-generated-file-shebangs 'chdir-to-src
+           (lambda _
+             (chdir "src")))
+         (add-after 'chdir-to-src
+             'patch-makefile-shell
+           (lambda _
+             (substitute* (list "MAKE/Makefile.mpi"
+                                "MAKE/Makefile.serial")
+               (("/bin/sh") (which "bash")))))
+         (replace 'build
+           (lambda _
+             (and
+              (zero? (system* "make"
+                              (format #f "-j~a" (parallel-job-count))
+                              "mpi"))
+              (zero? (system* "make"
+                              (format #f "-j~a" (parallel-job-count))
+                              "serial")))))
+         (replace 'install
+           (lambda _
+             (let* ((out (assoc-ref %outputs "out"))
+                    (bin (string-append out "/bin"))
+                    (doc (string-append out "/share/doc/sparta-dsmc"))
+                    (examples (string-append doc "/examples")))
+               (install-file "spa_mpi" bin)
+               (install-file "spa_serial" bin)
+               (copy-recursively "../examples" examples)
+               (copy-recursively "../doc" doc)))))))
+    (synopsis "Direct Simulation Monte Carlo (DSMC) simulator")
+    (description "SPARTA is a parallel DSMC code for performing
+simulations of low-density gases in 2d or 3d.  Particles advect
+through a hierarchical Cartesian grid that overlays the simulation
+box.  The grid is used to group particles by grid cell for purposes of
+performing collisions and chemistry.  Physical objects with
+triangulated surfaces can be embedded in the grid, creating cut and
+split grid cells.  The grid is also used to efficiently find
+particle/surface collisions.")
+    (home-page "http://sparta.sandia.gov/";)
+    (license license:gpl2)))
-- 
2.7.4

Attachment: signature.asc
Description: PGP signature

Reply via email to