summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2015-04-13 01:25:28 -0400
committerMark H Weaver <mhw@netris.org>2015-04-13 01:25:28 -0400
commit1ca8ff285ba0f055fbaf314d8a23fadc25839135 (patch)
tree365145d3f9e5f5009845c5fd9696c5083d734134 /gnu
parent14fe9488f487e63f965b7ba103a95a38ba236569 (diff)
parent4c9050c63d707222730fc6112415f4324e0c7c37 (diff)
downloadguix-1ca8ff285ba0f055fbaf314d8a23fadc25839135.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu')
-rw-r--r--gnu/build/activation.scm13
-rw-r--r--gnu/packages/bioinformatics.scm160
-rw-r--r--gnu/packages/emacs.scm6
-rw-r--r--gnu/packages/gstreamer.scm39
-rw-r--r--gnu/packages/man.scm6
-rw-r--r--gnu/services/base.scm2
-rw-r--r--gnu/system.scm18
7 files changed, 236 insertions, 8 deletions
diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm
index 64c3410baf..0c60355a1c 100644
--- a/gnu/build/activation.scm
+++ b/gnu/build/activation.scm
@@ -30,6 +30,7 @@
             activate-/bin/sh
             activate-modprobe
             activate-firmware
+            activate-ptrace-attach
             activate-current-system))
 
 ;;; Commentary:
@@ -335,6 +336,18 @@ by itself, without having to resort to a \"user helper\"."
     (lambda (port)
       (display directory port))))
 
+(define (activate-ptrace-attach)
+  "Allow users to PTRACE_ATTACH their own processes.
+
+This works around a regression introduced in the default \"security\" policy
+found in Linux 3.4 onward that prevents users from attaching to their own
+processes--see Yama.txt in the Linux source tree for the rationale.  This
+sounds like an unacceptable restriction for little or no security
+improvement."
+  (call-with-output-file "/proc/sys/kernel/yama/ptrace_scope"
+    (lambda (port)
+      (display 0 port))))
+
 
 (define %current-system
   ;; The system that is current (a symlink.)  This is not necessarily the same
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 9813d07e9c..e143fb2c55 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -30,13 +30,17 @@
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages java)
+  #:use-module (gnu packages maths)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages popt)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages statistics)
+  #:use-module (gnu packages swig)
   #:use-module (gnu packages tbb)
   #:use-module (gnu packages vim)
+  #:use-module (gnu packages xml)
   #:use-module (gnu packages zip))
 
 (define-public bedops
@@ -507,6 +511,57 @@ supports next-generation sequencing data in fasta/q and csfasta/q format from
 Illumina, Roche 454, and the SOLiD platform.")
     (license license:gpl3)))
 
+(define-public grit
+  (package
+    (name "grit")
+    (version "2.0.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/nboley/grit/archive/"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "157in84dj70wimbind3x7sy1whs3h57qfgcnj2s6lrd38fbrb7mj"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:python ,python-2
+       #:phases
+       (alist-cons-after
+        'unpack 'generate-from-cython-sources
+        (lambda* (#:key inputs outputs #:allow-other-keys)
+          ;; Delete these C files to force fresh generation from pyx sources.
+          (delete-file "grit/sparsify_support_fns.c")
+          (delete-file "grit/call_peaks_support_fns.c")
+          (substitute* "setup.py"
+            (("Cython.Setup") "Cython.Build")
+            ;; Add numpy include path to fix compilation
+            (("pyx\", \\]")
+             (string-append "pyx\", ], include_dirs = ['"
+                            (assoc-ref inputs "python-numpy")
+                            "/lib/python2.7/site-packages/numpy/core/include/"
+                            "']"))) #t)
+        %standard-phases)))
+    (inputs
+     `(("python-scipy" ,python2-scipy)
+       ("python-numpy" ,python2-numpy)
+       ("python-pysam" ,python2-pysam)
+       ("python-networkx" ,python2-networkx)))
+    (native-inputs
+     `(("python-cython" ,python2-cython)
+       ("python-setuptools" ,python2-setuptools)))
+    (home-page "http://grit-bio.org")
+    (synopsis "Tool for integrative analysis of RNA-seq type assays")
+    (description
+     "GRIT is designed to use RNA-seq, TES, and TSS data to build and quantify
+full length transcript models.  When none of these data sources are available,
+GRIT can be run by providing a candidate set of TES or TSS sites.  In
+addition, GRIT can merge in reference junctions and gene boundaries.  GRIT can
+also be run in quantification mode, where it uses a provided GTF file and just
+estimates transcript expression.")
+    (license license:gpl3+)))
+
 (define-public hisat
   (package
     (name "hisat")
@@ -1001,6 +1056,111 @@ sequences.")
     ;; STAR is licensed under GPLv3 or later; htslib is MIT-licensed.
     (license license:gpl3+)))
 
+(define-public shogun
+  (package
+    (name "shogun")
+    (version "4.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "ftp://shogun-toolbox.org/shogun/releases/"
+             (version-major+minor version)
+             "/sources/shogun-" version ".tar.bz2"))
+       (sha256
+        (base32
+         "159nlijnb7mnrv9za80wnm1shwvy45hgrqzn51hxy7gw4z6d6fdb"))))
+    (build-system cmake-build-system)
+    (arguments
+     '(#:tests? #f ;no check target
+       #:phases
+       (alist-cons-after
+        'unpack 'delete-broken-symlinks
+        (lambda _
+          (for-each delete-file '("applications/arts/data"
+                                  "applications/asp/data"
+                                  "applications/easysvm/data"
+                                  "applications/msplicer/data"
+                                  "applications/ocr/data"
+                                  "examples/documented/data"
+                                  "examples/documented/matlab_static"
+                                  "examples/documented/octave_static"
+                                  "examples/undocumented/data"
+                                  "examples/undocumented/matlab_static"
+                                  "examples/undocumented/octave_static"
+                                  "tests/integration/data"
+                                  "tests/integration/matlab_static"
+                                  "tests/integration/octave_static"
+                                  "tests/integration/python_modular/tests"))
+          #t)
+        (alist-cons-after
+         'unpack 'change-R-target-path
+         (lambda* (#:key outputs #:allow-other-keys)
+           (substitute* '("src/interfaces/r_modular/CMakeLists.txt"
+                          "src/interfaces/r_static/CMakeLists.txt"
+                          "examples/undocumented/r_modular/CMakeLists.txt")
+             (("\\$\\{R_COMPONENT_LIB_PATH\\}")
+              (string-append (assoc-ref outputs "out")
+                             "/lib/R/library/")))
+           #t)
+         (alist-cons-after
+          'unpack 'fix-octave-modules
+          (lambda* (#:key outputs #:allow-other-keys)
+            (substitute* '("src/interfaces/octave_modular/CMakeLists.txt"
+                           "src/interfaces/octave_static/CMakeLists.txt")
+              (("^include_directories\\(\\$\\{OCTAVE_INCLUDE_DIRS\\}")
+               "include_directories(${OCTAVE_INCLUDE_DIRS} ${OCTAVE_INCLUDE_DIRS}/octave"))
+
+            ;; change target directory
+            (substitute* "src/interfaces/octave_modular/CMakeLists.txt"
+              (("\\$\\{OCTAVE_OCT_LOCAL_API_FILE_DIR\\}")
+               (string-append (assoc-ref outputs "out")
+                              "/share/octave/packages")))
+            #t)
+          (alist-cons-before
+           'build 'set-HOME
+           ;; $HOME needs to be set at some point during the build phase
+           (lambda _ (setenv "HOME" "/tmp") #t)
+           %standard-phases))))
+       #:configure-flags
+       (list "-DUSE_SVMLIGHT=OFF" ;disable proprietary SVMLIGHT
+             ;;"-DJavaModular=ON" ;requires unpackaged jblas
+             ;;"-DRubyModular=ON" ;requires unpackaged ruby-narray
+             ;;"-DPerlModular=ON" ;"FindPerlLibs" does not exist
+             ;;"-DLuaModular=ON"  ;fails because lua doesn't build pkgconfig file
+             "-DOctaveModular=ON"
+             "-DOctaveStatic=ON"
+             "-DPythonModular=ON"
+             "-DPythonStatic=ON"
+             "-DRModular=ON"
+             "-DRStatic=ON"
+             "-DCmdLineStatic=ON")))
+    (inputs
+     `(("python" ,python)
+       ("numpy" ,python-numpy)
+       ("r" ,r)
+       ("octave" ,octave)
+       ("swig" ,swig)
+       ("hdf5" ,hdf5)
+       ("atlas" ,atlas)
+       ("arpack" ,arpack-ng)
+       ("lapack" ,lapack)
+       ("glpk" ,glpk)
+       ("libxml2" ,libxml2)
+       ("lzo" ,lzo)
+       ("zlib" ,zlib)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "http://shogun-toolbox.org/")
+    (synopsis "Machine learning toolbox")
+    (description
+     "The Shogun Machine learning toolbox provides a wide range of unified and
+efficient Machine Learning (ML) methods.  The toolbox seamlessly allows to
+combine multiple data representations, algorithm classes, and general purpose
+tools.  This enables both rapid prototyping of data pipelines and extensibility
+in terms of new algorithms.")
+    (license license:gpl3+)))
+
 (define-public vcftools
   (package
     (name "vcftools")
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 73246ab3b9..5eb9c4b44a 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -57,14 +57,14 @@
 (define-public emacs
   (package
     (name "emacs")
-    (version "24.4")
+    (version "24.5")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/emacs/emacs-"
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1zflm6ac34s6v166p58ilxrxbxjm0q2wfc25f8y0mjml1lbr3qs7"))))
+               "0kn3rzm91qiswi0cql89kbv6mqn27rwsyjfb8xmwy9m5s8fxfiyx"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      '(#:phases (alist-cons-before
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index ad0cfccca9..9758806cc5 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -20,7 +20,7 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages gstreamer)
-  #:use-module ((guix licenses) #:select (lgpl2.0+ bsd-2 bsd-3))
+  #:use-module ((guix licenses) #:select (lgpl2.0+ bsd-2 bsd-3 gpl2+))
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
@@ -39,6 +39,7 @@
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages yasm)
   #:use-module (gnu packages xml))
 
 (define-public orc
@@ -247,6 +248,42 @@ GStreamer multimedia library.  This set contains those plug-ins which the
 developers consider to have good quality code and correct functionality.")
     (license lgpl2.0+)))
 
+(define-public gst-libav
+  (package
+    (name "gst-libav")
+    (version "1.4.5")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://gstreamer.freedesktop.org/src/" name "/"
+                    name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1g7vg9amh3cc3nmc415h6g2rqxqi4wgwqi08hxfbpwq48ri64p30"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-before configure patch-/bin/sh
+                     (lambda _
+                       (substitute* "gst-libs/ext/libav/configure"
+                         (("#! /bin/sh")
+                          (string-append "#! "(which "sh")))))))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("python" ,python)
+       ("yasm" ,yasm)))
+    (inputs
+     `(("gst-plugins-base" ,gst-plugins-base)
+       ("orc" ,orc)
+       ("zlib" ,zlib)))
+    (home-page "http://gstreamer.freedesktop.org/")
+    (synopsis "Plugins for the GStreamer multimedia library")
+    (description
+     "This GStreamer plugin supports a large number of audio and video
+compression formats through the use of the libav library.")
+    (license gpl2+)))
+
 (define-public gst-plugins-base-0.10
   (package (inherit gst-plugins-base)
     (version "0.10.36")
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index f5bd339100..a92c6dd132 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014 David Thompson <dthompson2@worcester.edu>
 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
 ;;;
@@ -119,7 +119,7 @@ the traditional flat-text whatis databases.")
 (define-public man-pages
   (package
     (name "man-pages")
-    (version "3.69")
+    (version "3.82")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -127,7 +127,7 @@ the traditional flat-text whatis databases.")
                     version ".tar.xz"))
               (sha256
                (base32
-                "18zzmdzjihdnyg4vamk0jp6v6826vrsgal3kqqxvfq9bzyrh8xm2"))))
+                "1c8q618shf469nfp55qrwjv9630fgq5abfk946xya9hw1bfp6wjl"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases (alist-delete 'configure %standard-phases)
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index cd1ba0b7b9..956fa7efa0 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -499,7 +499,7 @@ the ``message of the day''."
   "Return a service that runs libc's name service cache daemon (nscd) with the
 given @var{config}---an @code{<nscd-configuration>} object.  Optionally,
 @code{#:name-services} is a list of packages that provide name service switch
- (NSS) modules needed by nscd."
+ (NSS) modules needed by nscd.  @xref{Name Service Switch}, for an example."
   (mlet %store-monad ((nscd.conf (nscd.conf-file config)))
     (return (service
              (documentation "Run libc's name service cache daemon (nscd).")
diff --git a/gnu/system.scm b/gnu/system.scm
index ece61adb2b..6cf12df604 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -680,6 +681,9 @@ etc."
                     (activate-firmware
                      (string-append #$firmware "/lib/firmware"))
 
+                    ;; Let users debug their own processes!
+                    (activate-ptrace-attach)
+
                     ;; Run the services' activation snippets.
                     ;; TODO: Use 'load-compiled'.
                     (for-each primitive-load '#$actions)
@@ -695,6 +699,20 @@ we're running in the final root."
                        (dmd-conf (dmd-configuration-file services)))
     (gexp->file "boot"
                 #~(begin
+                    (use-modules (guix build utils))
+
+                    ;; Clean out /tmp and /var/run.
+                    ;;
+                    ;; XXX This needs to happen before service activations, so
+                    ;; it has to be here, but this also implicitly assumes
+                    ;; that /tmp and /var/run are on the root partition.
+                    (false-if-exception (delete-file-recursively "/tmp"))
+                    (false-if-exception (delete-file-recursively "/var/run"))
+                    (false-if-exception (mkdir "/tmp"))
+                    (false-if-exception (chmod "/tmp" #o1777))
+                    (false-if-exception (mkdir "/var/run"))
+                    (false-if-exception (chmod "/var/run" #o755))
+
                     ;; Activate the system.
                     ;; TODO: Use 'load-compiled'.
                     (primitive-load #$activate)