diff options
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/build/activation.scm | 13 | ||||
-rw-r--r-- | gnu/packages/bioinformatics.scm | 160 | ||||
-rw-r--r-- | gnu/packages/emacs.scm | 6 | ||||
-rw-r--r-- | gnu/packages/gstreamer.scm | 39 | ||||
-rw-r--r-- | gnu/packages/man.scm | 6 | ||||
-rw-r--r-- | gnu/services/base.scm | 2 | ||||
-rw-r--r-- | gnu/system.scm | 18 |
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) |