about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEfraim Flashner2021-09-17 12:25:34 +0300
committerEfraim Flashner2021-09-17 12:25:34 +0300
commit0684b02dacdd6fcbb84629474744b94554b4305c (patch)
treeb8a94fa25a54fda8104a8a034cb73c8a795d6e36
parent8bd585606b67c09a91912307026a68bacc0fb1d9 (diff)
downloadguix-bioinformatics-0684b02dacdd6fcbb84629474744b94554b4305c.tar.gz
gn: Use known good binary version of direct.so for genenetwork1
-rw-r--r--gn/packages/python24.scm48
-rw-r--r--gn/past/genenetwork1.scm2
2 files changed, 49 insertions, 1 deletions
diff --git a/gn/packages/python24.scm b/gn/packages/python24.scm
index 6f550a1..35cd91e 100644
--- a/gn/packages/python24.scm
+++ b/gn/packages/python24.scm
@@ -4,6 +4,7 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
+  #:use-module (guix build-system copy)
   #:use-module (guix build-system python)
   #:use-module (gn packages databases)
   #:use-module (gn packages python)
@@ -11,6 +12,7 @@
   #:use-module (past packages tls)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages databases)
+  #:use-module (gnu packages elf)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages python-xyz)
@@ -388,6 +390,7 @@ for Python.  The design goals are:
 @end itemize")
     (license license:gpl2+)))
 
+;; It seems this isn't the correct DIRECT binary
 (define-public python24-direct
   (package
     (name "python24-direct")
@@ -457,3 +460,48 @@ algorithm can be found in Gablonsky's
 @url{http://repository.lib.ncsu.edu/ir/bitstream/1840.16/3920/1/etd.pdf,
 thesis}.")
     (license license:expat)))
+
+; env IPFS_PATH=/export/ipfs/ ipfs add direct.so
+; added QmYUZiuAP6DJeubu69JqvRWSsn53qCZCS3FkRWgTowtWkA direct.so
+; penguin2:~/tmp$ env IPFS_PATH=/export/ipfs/ ipfs pin add QmYUZiuAP6DJeubu69JqvRWSsn53qCZCS3FkRWgTowtWkA
+; pinned QmYUZiuAP6DJeubu69JqvRWSsn53qCZCS3FkRWgTowtWkA recursively
+
+(define-public python24-direct-gn
+  (package
+    (name "python24-direct-gn")
+    (version "GN")
+    (source (origin
+              (method url-fetch)
+              (uri "http://ipfs.genenetwork.org/ipfs/QmYUZiuAP6DJeubu69JqvRWSsn53qCZCS3FkRWgTowtWkA")
+              (file-name "direct.so")
+              (sha256
+               (base32
+                "0kj11dbi25k0wvyxxsylx7dsc7wm7rja799fymklkdd8h561la4i"))))
+    (build-system copy-build-system)
+    (arguments
+     `(#:install-plan
+       '(("direct.so" "lib/python2.4/site-packages/"))
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'unpack
+           (lambda* (#:key inputs #:allow-other-keys)
+             (copy-file (assoc-ref inputs "source") "direct.so")
+             #t))
+         (add-after 'unpack 'patchelf
+           (lambda* (#:key inputs #:allow-other-keys)
+             ;; Writable so we can use patchelf, executable so it is useful.
+             ;; After installation the writable bit is stripped off.
+             (chmod "direct.so" #o777)
+             (invoke "patchelf"
+                     "--set-rpath"
+                     (string-append (assoc-ref inputs "gcc:lib") "/lib")
+                     "direct.so")
+             #t)))))
+    (inputs
+     `(("gcc:lib" ,gcc "lib")))
+    (native-inputs
+     `(("patchelf" ,patchelf)))
+    (home-page "")
+    (synopsis "")
+    (description "")
+    (license #f)))
diff --git a/gn/past/genenetwork1.scm b/gn/past/genenetwork1.scm
index b14d787..c557ee7 100644
--- a/gn/past/genenetwork1.scm
+++ b/gn/past/genenetwork1.scm
@@ -158,7 +158,7 @@ location of a putative QTL.")
       (propagated-inputs
        `(("python" ,python-2.4)
          ("httpd-with-mod-python" ,httpd22-with-mod-python)
-         ("python-direct" ,python24-direct)
+         ("python-direct" ,python24-direct-gn)
          ("python-htmlgen-GN1" ,python24-htmlgen-GN1)
          ("python-json-GN1" ,python24-json-GN1)
          ("python-mysqlclient" ,python24-mysqlclient)