about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEfraim Flashner2021-03-07 11:54:03 +0200
committerEfraim Flashner2021-03-07 11:54:03 +0200
commit47b1e961288eb9210ad7b1307d9d9ca9046ae959 (patch)
tree1ad6a8c3a254e954fd2783bc009fe8d64215cf82
parentc5a8c357800393895e128e6b7ce38a69ad30e0ff (diff)
downloadguix-bioinformatics-47b1e961288eb9210ad7b1307d9d9ca9046ae959.tar.gz
gn: bnw: Update to newer revision.
* Use bundled javascript libraries, there seems to be some mismatch
between upstream and out copies.
* Wrap shell scripts with coreutils.
-rw-r--r--gn/packages/bnw.scm146
1 files changed, 77 insertions, 69 deletions
diff --git a/gn/packages/bnw.scm b/gn/packages/bnw.scm
index 5e00af4..842f327 100644
--- a/gn/packages/bnw.scm
+++ b/gn/packages/bnw.scm
@@ -13,11 +13,11 @@
   #:use-module (gn packages web))
 
 (define-public bnw
-  (let ((commit "2c16603cab7c917118d2d7b3c34813b29aa5af68")
-        (revision "1"))
+  (let ((commit "f39cd7ba681262de5658cfe7b9b0d46c6000b4fa")
+        (revision "2"))
     (package
       (name "bnw")
-      (version (git-version "genenet8_initial_1.3" revision commit)) ; Mar 2, 2021
+      (version (git-version "genenet8_initial_1.3" revision commit)) ; Mar 4, 2021
       (source (origin
                (method git-fetch)
                (uri (git-reference
@@ -26,7 +26,7 @@
                (file-name (git-file-name name version))
                (sha256
                 (base32
-                 "0pfcmx7swnxz48xn5bryx3a71if4j53iawkp05myhdl1c6mdvsw0"))
+                 "1w5hf3pkp91lf697675hjmhir622nz49spx30d0vkvh4i791cpqh"))
                (modules '((guix build utils)))
                (snippet
                 '(begin
@@ -40,22 +40,23 @@
                      (lambda (file)
                        (delete-file (string-append "sourcecodes/scripts/" file)))
                      ;; accordion.js, create_table.js and table.css are original files.
-                     '("FileSaver.min.js"
-                       "canvas-toBlob.js"
-                       "cytoscape-dagre.min.js"
-                       "cytoscape-panzoom.js"
-                       "cytoscape.js-panzoom.css"
-                       "cytoscape.min.js"
-                       "d3-selection-multi.v1.js"
+                     '(;"FileSaver.min.js"          ; sha256 mismatch
+                       ;"canvas-toBlob.js"          ; sha256 mismatch
+                       ;"cytoscape-dagre.min.js"    ; sha256 mismatch
+                       ;"cytoscape-panzoom.js"      ; sha256 mismatch
+                       ;"cytoscape.js-panzoom.css"  ; sha256 mismatch
+                       ;"cytoscape.min.js"
+                       ;"d3-selection-multi.v1.js"
                        ;"d3.v4.min.js"  ; some work needs to be done on our package
-                       "dagre.js"
-                       "font-awesome.css"
-                       "fontawesome-webfont.eot"
-                       "fontawesome-webfont.svg"
-                       "fontawesome-webfont.ttf"
-                       "fontawesome-webfont.woff"
-                       "jquery.min.js"
-                       "lodash.js"))
+                       ;"dagre.js"                  ; sha256 mismatch
+                       ;"font-awesome.css"          ; sha256 mismatch
+                       ;"fontawesome-webfont.eot"   ; sha256 mismatch
+                       ;"fontawesome-webfont.svg"   ; sha256 mismatch
+                       ;"fontawesome-webfont.ttf"   ; sha256 mismatch
+                       ;"fontawesome-webfont.woff"  ; sha256 mismatch
+                       ;"jquery.min.js"             ; sha256 mismatch
+                       ;"lodash.js"                 ; sha256 mismatch
+                       ))
                    #t))))
       (build-system gnu-build-system)
       (arguments
@@ -91,20 +92,6 @@
                  (substitute* "var_lib_genenet_bnw/build.sh"
                    (("./localscore/libRmath.so")
                     (string-append rmath "/lib/libRmath.so")))
-                 ;; Or we have to wrap everything with coreutils.
-                 (substitute* (find-files "." "\\.sh$")
-                   (("cat ") (string-append (which "cat") " "))
-                   (("cut ") (string-append (which "cut") " "))
-                   (("\\ cp") (string-append " " (which "cp")))
-                   (("date ") (string-append (which "date") " "))
-                   (("dirname \\$0") (string-append (which "dirname")" $0"))
-                   (("dirname \"\\$0") (string-append (which "dirname")" \"$0"))
-                   (("expr ") (string-append (which "expr") " "))
-                   (("head ") (string-append (which "head") " "))
-                   (("mkdir ") (string-append (which "mkdir") " "))
-                   (("^rm ") (string-append (which "rm") " "))
-                   (("rmdir ") (string-append (which "rmdir") " "))
-                   (("wc ") (string-append (which "wc") " ")))
                #t)))
            (add-after 'patch-source-shebangs 'replace-javascript
              (lambda* (#:key inputs #:allow-other-keys)
@@ -178,42 +165,54 @@
                       (panzoom      (assoc-ref inputs "panzoom"))
                       (js-path  "/share/genenetwork/javascript/")
                       (js-path2 "/share/genenetwork2/javascript/"))
-                 (symlink (string-append cyto js-path2 "cytoscape/cytoscape.min.js")
-                          (string-append scripts "cytoscape.min.js"))
-                 (symlink (string-append cs-dagre "/share/javascript/cytoscape-dagre.min.js")
-                          (string-append scripts "cytoscape-dagre.min.js"))
-                 (symlink (string-append dagre js-path2 "dagre/dagre.js")
-                          (string-append scripts "dagre.js"))
-                 (symlink (string-append panzoom js-path2 "cytoscape-panzoom/cytoscape.js-panzoom.css")
-                          (string-append scripts "cytoscape.js-panzoom.css"))
-                 (symlink (string-append panzoom js-path2 "cytoscape-panzoom/cytoscape-panzoom.js")
-                          (string-append scripts "cytoscape-panzoom.js"))
-                 (symlink (string-append awesome "/share/web/font-awesomecss/font-awesome.css")
-                          (string-append scripts "font-awesome.css"))
-                 ;; font-awesome.css depends on the other font-awesome files,
-                 ;; by default in the ../fonts/ folder. Because we remove the
-                 ;; bundled (and minimally modified) version we have to make
-                 ;; some adjustments, namely moving the font files.
-                 (mkdir-p fonts)
-                 (for-each
-                   (lambda (font)
-                     (symlink (string-append awesome "/share/web/font-awesomefonts"
-                                             "/fontawesome-webfont." font)
-                              (string-append fonts "fontawesome-webfont." font)))
-                   '("eot" "woff" "woff2" "ttf" "svg"))
+                 (unless (file-exists? (string-append scripts "cytoscape.min.js"))
+                   (symlink (string-append cyto js-path2 "cytoscape/cytoscape.min.js")
+                            (string-append scripts "cytoscape.min.js")))
+                 (unless (file-exists? (string-append scripts "cytoscape-dagre.min.js"))
+                   (symlink (string-append cs-dagre "/share/javascript/cytoscape-dagre.min.js")
+                            (string-append scripts "cytoscape-dagre.min.js")))
+                 (unless (file-exists? (string-append scripts "dagre.js"))
+                   (symlink (string-append dagre js-path2 "dagre/dagre.js")
+                            (string-append scripts "dagre.js")))
+                 (unless (file-exists? (string-append scripts "cytoscape.js-panzoom.css"))
+                   (symlink (string-append panzoom js-path2 "cytoscape-panzoom/cytoscape.js-panzoom.css")
+                            (string-append scripts "cytoscape.js-panzoom.css")))
+                 (unless (file-exists? (string-append scripts "cytoscape-panzoom.js"))
+                   (symlink (string-append panzoom js-path2 "cytoscape-panzoom/cytoscape-panzoom.js")
+                            (string-append scripts "cytoscape-panzoom.js")))
+                 (unless (file-exists? (string-append scripts "font-awesome.css"))
+                   (symlink (string-append awesome "/share/web/font-awesomecss/font-awesome.css")
+                            (string-append scripts "font-awesome.css"))
+                   ;; font-awesome.css depends on the other font-awesome files,
+                   ;; by default in the ../fonts/ folder. Because we remove the
+                   ;; bundled (and minimally modified) version we have to make
+                   ;; some adjustments, namely moving the font files.
+                   (mkdir-p fonts)
+                   (for-each
+                     (lambda (font)
+                       (symlink (string-append awesome "/share/web/font-awesomefonts"
+                                               "/fontawesome-webfont." font)
+                                (string-append fonts "fontawesome-webfont." font)))
+                     '("eot" "woff" "woff2" "ttf" "svg")))
 
-                 (symlink (string-append jquery "/share/web/jquery/jquery.min.js")
-                          (string-append scripts "jquery.min.js"))
-                 (symlink (string-append lodash js-path2 "lodash/lodash.js")
-                          (string-append scripts "lodash.js"))
-                 ;(symlink (string-append d3js-4 js-path "d3js/d3.min.js")
-                 ;         (string-append scripts "d3.v4.min.js"))
-                 (symlink (string-append d3js-multi js-path "d3js-multi/d3-selection-multi.js")
-                          (string-append scripts "d3-selection-multi.v1.js"))
-                 (symlink (string-append canvas-toblob js-path "canvas-toblob/canvas-toBlob.js")
-                          (string-append scripts "canvas-toBlob.js"))
-                 (symlink (string-append filesaver js-path2 "filesaver/FileSaver.js")
-                          (string-append scripts "FileSaver.min.js"))
+                 (unless (file-exists? (string-append scripts "jquery.min.js"))
+                   (symlink (string-append jquery "/share/web/jquery/jquery.min.js")
+                            (string-append scripts "jquery.min.js")))
+                 (unless (file-exists? (string-append scripts "lodash.js"))
+                   (symlink (string-append lodash js-path2 "lodash/lodash.js")
+                            (string-append scripts "lodash.js")))
+                 (unless (file-exists? (string-append scripts "d3.v4.min.js"))
+                   (symlink (string-append d3js-4 js-path "d3js/d3.min.js")
+                            (string-append scripts "d3.v4.min.js")))
+                 (unless (file-exists? (string-append scripts "d3-selection-multi.v1.js"))
+                   (symlink (string-append d3js-multi js-path "d3js-multi/d3-selection-multi.js")
+                            (string-append scripts "d3-selection-multi.v1.js")))
+                 (unless (file-exists? (string-append scripts "canvas-toBlob.js"))
+                   (symlink (string-append canvas-toblob js-path "canvas-toblob/canvas-toBlob.js")
+                            (string-append scripts "canvas-toBlob.js")))
+                 (unless (file-exists? (string-append scripts "FileSaver.min.js"))
+                   (symlink (string-append filesaver js-path2 "filesaver/FileSaver.min.js")
+                            (string-append scripts "FileSaver.min.js")))
                #t)))
            (add-after 'install 'make-files-executable
              (lambda* (#:key outputs #:allow-other-keys)
@@ -225,7 +224,7 @@
                            (find-files
                              (string-append out "/sourcecodes/run_scripts/") "^run")))
                  #t)))
-           (add-after 'make-files-executable 'wrap-executables-in-pythonpath
+           (add-after 'make-files-executable 'wrap-executables
              (lambda* (#:key outputs #:allow-other-keys)
                (for-each
                  (lambda (script)
@@ -233,6 +232,15 @@
                     `("PYTHONPATH" prefix (,(getenv "PYTHONPATH")))))
                  (find-files (string-append (assoc-ref outputs "out")
                                             "/sourcecodes/run_scripts") "^run"))
+               (for-each
+                 (lambda (script)
+                   (wrap-program script
+                    `("PATH" prefix (,(dirname (which "cut"))))))
+                 (append
+                   (find-files (string-append (assoc-ref outputs "out")
+                                              "/sourcecodes") "\\.sh$")
+                   (find-files (string-append (assoc-ref outputs "out")
+                                              "/var_lib_genenet_bnw") "\\.sh$")))
                #t))
            (replace 'build
              (lambda* (#:key inputs #:allow-other-keys)