summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2018-03-19 03:50:39 +0100
committerMarius Bakke <mbakke@fastmail.com>2018-03-19 03:50:39 +0100
commit4eade64706d88434fb6096e2b9506e2022e3137b (patch)
tree6f332077d17c5067a8c752b71b1f33f2c62bfc58 /gnu
parent7ace97395feedc4b3ec23be65f2ed63f29aac9a9 (diff)
parentbe95bcf0887dc7d90177fda20cab56c6e248dcfa (diff)
Merge branch 'master' into staging
Diffstat (limited to 'gnu')
-rw-r--r--gnu/build/linux-modules.scm19
-rw-r--r--gnu/packages/cran.scm31
-rw-r--r--gnu/packages/gnome.scm4
-rw-r--r--gnu/packages/gnuzilla.scm5
-rw-r--r--gnu/packages/maths.scm34
-rw-r--r--gnu/packages/ruby.scm260
-rw-r--r--gnu/packages/video.scm4
-rw-r--r--gnu/system/vm.scm1
8 files changed, 346 insertions, 12 deletions
diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm
index 4fe673cca2..87d2e98edf 100644
--- a/gnu/build/linux-modules.scm
+++ b/gnu/build/linux-modules.scm
@@ -206,7 +206,9 @@ appears in BLACK-LIST are not loaded."
(define (load-dependencies file)
(let ((dependencies (module-dependencies file)))
- (every (cut load-linux-module* <> #:lookup-module lookup-module)
+ (every (cut load-linux-module* <>
+ #:lookup-module lookup-module
+ #:black-list black-list)
(map lookup-module dependencies))))
(and (not (black-listed? (file-name->module-name file)))
@@ -327,7 +329,7 @@ The modules corresponding to these aliases can then be found using
list of alias/module pairs where each alias is a glob pattern as like the
result of:
- (compile-glob-pattern \"scsi:t-0x01*\")
+ (string->compiled-sglob \"scsi:t-0x01*\")
and each module is a module name like \"snd_hda_intel\"."
(define (comment? str)
@@ -352,17 +354,20 @@ and each module is a module name like \"snd_hda_intel\"."
(line
(match (tokenize line)
(("alias" alias module)
- (loop (alist-cons (compile-glob-pattern alias) module
+ (loop (alist-cons (string->compiled-sglob alias) module
aliases)))
(() ;empty line
(loop aliases)))))))
-(define (current-alias-file)
- "Return the absolute file name of the default 'modules.alias' file."
+(define (current-kernel-directory)
+ "Return the directory of the currently running Linux kernel."
(string-append (or (getenv "LINUX_MODULE_DIRECTORY")
"/run/booted-system/kernel/lib/modules")
- "/" (utsname:release (uname))
- "/" "modules.alias"))
+ "/" (utsname:release (uname))))
+
+(define (current-alias-file)
+ "Return the absolute file name of the default 'modules.alias' file."
+ (string-append (current-kernel-directory) "/modules.alias"))
(define* (known-module-aliases #:optional (alias-file (current-alias-file)))
"Return the list of alias/module pairs read from ALIAS-FILE. Each alias is
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 717fa7fdfa..b54ddc6b55 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Raoul Bonnal <ilpuccio.febo@gmail.com>
+;;; Copyright © 2018 Vijayalakshmi Vedantham <vijimay12@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -59,6 +60,36 @@ diversification and macroevolution, computing distances from DNA sequences,
and several other tools.")
(license license:gpl2+)))
+(define-public r-abbyyr
+ (package
+ (name "r-abbyyr")
+ (version "0.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "abbyyR" version))
+ (sha256
+ (base32
+ "1s8zf18sh0s89vk3dl09fzrq50csmmfvmsanf5vfkv9n5lx6pklg"))))
+ (properties `((upstream-name . "abbyyR")))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-curl" ,r-curl)
+ ("r-httr" ,r-httr)
+ ("r-plyr" ,r-plyr)
+ ("r-progress" ,r-progress)
+ ("r-readr" ,r-readr)
+ ("r-xml" ,r-xml)))
+ (home-page "https://github.com/soodoku/abbyyR")
+ (synopsis "Access to Abbyy Optical Character Recognition (OCR) API")
+ (description
+ "This package provides tools to get text from images of text using Abbyy
+Cloud Optical Character Recognition (OCR) API. With abbyyyR, one can easily
+OCR images, barcodes, forms, documents with machine readable zones, e.g.
+passports and get the results in a variety of formats including plain text and
+XML. To learn more about the Abbyy OCR API, see @url{http://ocrsdk.com/}.")
+ (license license:expat)))
+
(define-public r-colorspace
(package
(name "r-colorspace")
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 164d705ca5..6623a59bff 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4424,7 +4424,7 @@ metadata in photo and video files of various formats.")
(define-public shotwell
(package
(name "shotwell")
- (version "0.27.4")
+ (version "0.28.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4432,7 +4432,7 @@ metadata in photo and video files of various formats.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0g2vphhpxrljpy9sryfsgaayix807i1i9plj9bay72dk0zphqab2"))))
+ "1d797nmlz9gs6ri0h65b76s40ss6ma6h6405xqx03lhg5xni3kmg"))))
(build-system glib-or-gtk-build-system)
(propagated-inputs
`(("dconf" ,dconf)))
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index c8cec6b422..0836b89a80 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -449,7 +449,10 @@ security standards.")
(mozilla-patch "icecat-bug-1442127-pt2.patch" "da5792b70f30" "116k9qja5ir9b3laazasp43f5jx59qq72nknmq5bn5v1ixya9r4l")
(mozilla-patch "icecat-CVE-2018-5125-pt8.patch" "62b831df8269" "109pn0hqn7s27580glv4z7qv1pmjzii9szvf3wkn97k5wybrzgkx")
(mozilla-patch "icecat-bug-1442504.patch" "8954ce68a364" "0bl65zw82bwqg0mmcri94pxqq6ibff7y5rclkzapb081p6yvf73q")
- (mozilla-patch "icecat-CVE-2018-5125-pt9.patch" "8a16f439117c" "108iarql6z7h1r4rlzac6n6lrzs78x7kcdbfa0b5dbr5xc66jmgb")))
+ (mozilla-patch "icecat-CVE-2018-5125-pt9.patch" "8a16f439117c" "108iarql6z7h1r4rlzac6n6lrzs78x7kcdbfa0b5dbr5xc66jmgb")
+ (mozilla-patch "icecat-bug-1426603.patch" "ca0b92ecedee" "0dc3mdl4a3hrq4j384zjavf3splj6blv4masign710hk7svlgbhq")
+ (mozilla-patch "icecat-CVE-2018-5146.patch" "494e5d5278ba" "1yb4lxjw499ppwhk31vz0vzl0cfqvj9d4jwqag7ayj53ybwsqgjr")
+ (mozilla-patch "icecat-CVE-2018-5147.patch" "5cd5586a2f48" "10s774pwvj6xfk3kk6ivnhp2acc8x9sqq6na8z47nkhgwl2712i5")))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 64fe13b9bc..51fe119712 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -53,6 +53,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system ocaml)
#:use-module (guix build-system r)
+ #:use-module (guix build-system ruby)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bison)
@@ -97,6 +98,7 @@
#:use-module (gnu packages python-web)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages ruby)
#:use-module (gnu packages tbb)
#:use-module (gnu packages scheme)
#:use-module (gnu packages shells)
@@ -1940,6 +1942,38 @@ special functions. It uses Matlab function names where appropriate to simplify
porting.")
(license license:gpl3+)))
+(define-public ruby-asciimath
+ (package
+ (name "ruby-asciimath")
+ (version "1.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "asciimath" version))
+ (sha256
+ (base32
+ "1d80kiph5mc78zps7si1hv48kv4k12mzaq8jk5kb3pqpjdr72qmc"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ ;; Apply this patch
+ ;; https://github.com/asciidoctor/asciimath/commit/1c06fdc8086077f4785479f78b0823a4a72d7948
+ (add-after 'unpack 'patch-remove-spurious-backslashes
+ (lambda _
+ (substitute* "spec/parser_spec.rb"
+ (("\\\\\"")
+ "\"")))))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)))
+ (synopsis "AsciiMath parsing and conversion library")
+ (description
+ "A pure Ruby AsciiMath parsing and conversion library. AsciiMath is an
+easy-to-write markup language for mathematics.")
+ (home-page "https://github.com/asciidoctor/asciimath")
+ (license license:expat)))
+
(define-public superlu
(package
(name "superlu")
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ee5d20955c..dcf4cda26a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -36,6 +36,7 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages java)
#:use-module (gnu packages libffi)
+ #:use-module (gnu packages maths)
#:use-module (gnu packages networking)
#:use-module (gnu packages python)
#:use-module (gnu packages ragel)
@@ -665,6 +666,72 @@ line of code.")
;; of the Expat license.
(license license:bsd-3)))
+(define-public ruby-asciidoctor
+ (package
+ (name "ruby-asciidoctor")
+ (version "1.5.6.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "asciidoctor" version))
+ (sha256
+ (base32
+ "1jnf9y8q5asfdzilp8vcqafrc2faj719df4yh1993mh6jd0iqdy4"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:test-target "test:all"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'remove-circular-tests
+ (lambda _
+ ;; Remove tests that require circular dependencies to load or pass.
+ (delete-file "test/invoker_test.rb")
+ (delete-file "test/converter_test.rb")
+ (delete-file "test/options_test.rb")
+ #t)))))
+ (native-inputs
+ `(("ruby-minitest" ,ruby-minitest)
+ ("ruby-nokogiri" ,ruby-nokogiri)
+ ("ruby-asciimath" ,ruby-asciimath)
+ ("ruby-coderay" ,ruby-coderay)))
+ (synopsis "Converter from AsciiDoc content to other formats")
+ (description
+ "Asciidoctor is a text processor and publishing toolchain for converting
+AsciiDoc content to HTML5, DocBook 5 (or 4.5) and other formats.")
+ (home-page "http://asciidoctor.org")
+ (license license:expat)))
+
+(define-public ruby-sporkmonger-rack-mount
+ ;; Testing the addressable gem requires a newer commit than that released, so
+ ;; use an up to date version.
+ (let ((revision "1")
+ (commit "076aa2c47d9a4c081f1e9bcb56a826a9e72bd5c3"))
+ (package
+ (name "ruby-sporkmonger-rack-mount")
+ (version (git-version "0.8.3" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sporkmonger/rack-mount.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1scx273g3xd93424x9lxc4zyvcp2niknbw5mkz6wkivpf7xsyxdq"))))
+ (build-system ruby-build-system)
+ (arguments
+ ;; Tests currently fail so disable them.
+ ;; https://github.com/sporkmonger/rack-mount/pull/1
+ `(#:tests? #f))
+ (propagated-inputs `(("ruby-rack" ,ruby-rack)))
+ (synopsis "Stackable dynamic tree based Rack router")
+ (description
+ "@code{Rack::Mount} supports Rack's @code{X-Cascade} convention to
+continue trying routes if the response returns pass. This allows multiple
+routes to be nested or stacked on top of each other.")
+ (home-page "https://github.com/sporkmonger/rack-mount")
+ (license license:expat))))
+
(define-public ruby-ci-reporter
(package
(name "ruby-ci-reporter")
@@ -824,6 +891,29 @@ functions.")
(home-page "https://github.com/ahoward/options")
(license license:ruby)))
+(define-public ruby-erubis
+ (package
+ (name "ruby-erubis")
+ (version "2.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "erubis" version))
+ (sha256
+ (base32
+ "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f)) ; tests do not run properly with Ruby 2.0
+ (synopsis "Implementation of embedded Ruby (eRuby)")
+ (description
+ "Erubis is a fast implementation of embedded Ruby (eRuby) with several
+features such as multi-language support, auto escaping, auto trimming spaces
+around @code{<% %>}, a changeable embedded pattern, and Ruby on Rails
+support.")
+ (home-page "http://www.kuwata-lab.com/erubis/")
+ (license license:expat)))
+
(define-public ruby-orderedhash
(package
(name "ruby-orderedhash")
@@ -3293,6 +3383,106 @@ into a single method call.")
(home-page "https://rack.github.io/")
(license license:expat)))
+(define-public ruby-rack-test
+ (package
+ (name "ruby-rack-test")
+ (version "0.8.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "rack-test" version))
+ (sha256
+ (base32
+ "14ij39zywvr1i9f6jsixfg4zxi2q1m1n1nydvf47f0b6sfc9mv1g"))))
+ (build-system ruby-build-system)
+ (arguments
+ ;; Disable tests because of circular dependencies: requires sinatra,
+ ;; which requires rack-protection, which requires rack-test. Instead
+ ;; simply require the library.
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "ruby" "-Ilib" "-r" "rack/test"))))))
+ (propagated-inputs
+ `(("ruby-rack" ,ruby-rack)))
+ (synopsis "Testing API for Rack applications")
+ (description
+ "Rack::Test is a small, simple testing API for Rack applications. It can
+be used on its own or as a reusable starting point for Web frameworks and
+testing libraries to build on.")
+ (home-page "https://github.com/rack-test/rack-test")
+ (license license:expat)))
+
+(define-public ruby-rack-protection
+ (package
+ (name "ruby-rack-protection")
+ (version "2.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "rack-protection" version))
+ (sha256
+ (base32
+ "0ywmgh7x8ljf7jfnq5hmfzki3f803waji3fcvi107w7mlyflbng7"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(;; Tests missing from the gem
+ #:tests? #f))
+ (propagated-inputs
+ `(("ruby-rack" ,ruby-rack)))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec-2)
+ ("ruby-rack-test" ,ruby-rack-test)))
+ (synopsis "Rack middleware that protects against typical web attacks")
+ (description "Rack middleware that can be used to protect against typical
+web attacks. It can protect all Rack apps, including Rails. For instance, it
+protects against cross site request forgery, cross site scripting,
+clickjacking, directory traversal, session hijacking and IP spoofing.")
+ (home-page "https://github.com/sinatra/sinatra/tree/master/rack-protection")
+ (license license:expat)))
+
+(define-public ruby-contest
+ (package
+ (name "ruby-contest")
+ (version "0.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "contest" version))
+ (sha256
+ (base32
+ "1p9f2292b7b0fbrcjswvj9v01z7ig5ig52328wyqcabgb553qsdf"))))
+ (build-system ruby-build-system)
+ (synopsis "Write declarative tests using nested contexts")
+ (description
+ "Contest allows writing declarative @code{Test::Unit} tests using nested
+contexts without performance penalties.")
+ (home-page "https://github.com/citrusbyte/contest")
+ (license license:expat)))
+
+(define-public ruby-creole
+ (package
+ (name "ruby-creole")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "creole" version))
+ (sha256
+ (base32
+ "00rcscz16idp6dx0dk5yi5i0fz593i3r6anbn5bg2q07v3i025wm"))))
+ (build-system ruby-build-system)
+ (native-inputs
+ `(("ruby-bacon" ,ruby-bacon)))
+ (synopsis "Creole markup language converter")
+ (description
+ "Creole is a lightweight markup language and this library for converting
+creole to @code{HTML}.")
+ (home-page "https://github.com/minad/creole")
+ (license license:ruby)))
+
(define-public ruby-docile
(package
(name "ruby-docile")
@@ -3526,6 +3716,55 @@ used to create both network servers and clients.")
(home-page "http://rubyeventmachine.com")
(license (list license:ruby license:gpl3)))) ; GPLv3 only AFAICT
+(define-public ruby-ruby-engine
+ (package
+ (name "ruby-ruby-engine")
+ (version "1.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "ruby_engine" version))
+ (sha256
+ (base32
+ "1d0sd4q50zkcqhr395wj1wpn2ql52r0fpwhzjfvi1bljml7k546v"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'clean-up
+ (lambda _
+ (delete-file "Gemfile.lock")
+ (substitute* "ruby_engine.gemspec"
+ ;; Remove unnecessary imports that would entail further
+ ;; dependencies.
+ ((".*<rdoc.*") "")
+ ((".*<rubygems-tasks.*") "")
+ ;; Remove extraneous .gem file
+ (("\\\"pkg/ruby_engine-1.0.0.gem\\\",") "")
+ ;; Soften rake dependency
+ (("%q<rake>.freeze, \\[\\\"~> 10.0\\\"\\]")
+ "%q<rake>.freeze, [\">= 10.0\"]")
+ ;; Soften the rspec dependency
+ (("%q<rspec>.freeze, \\[\\\"~> 2.4\\\"\\]")
+ "%q<rspec>.freeze, [\">= 2.4\"]"))
+ (substitute* "Rakefile"
+ (("require 'rubygems/tasks'") "")
+ (("Gem::Tasks.new") ""))
+ ;; Remove extraneous .gem file that otherwise gets installed.
+ (delete-file "pkg/ruby_engine-1.0.0.gem")
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rake" ,ruby-rake)
+ ("ruby-rspec" ,ruby-rspec)))
+ (synopsis "Simplifies checking for Ruby implementation")
+ (description
+ "@code{ruby_engine} provides an RubyEngine class that can be used to
+check which implementation of Ruby is in use. It can provide the interpreter
+name and provides query methods such as @{RubyEngine.mri?}.")
+ (home-page "https://github.com/janlelis/ruby_engine")
+ (license license:expat)))
+
(define-public ruby-turn
(package
(name "ruby-turn")
@@ -4721,3 +4960,24 @@ thing this library does today is convert org-mode files to HTML or Textile or
Markdown.")
(home-page "https://github.com/wallyqs/org-ruby")
(license license:expat)))
+
+(define-public ruby-rake
+ (package
+ (name "ruby-rake")
+ (version "12.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "rake" version))
+ (sha256
+ (base32
+ "190p7cs8zdn07mjj6xwwsdna3g0r98zs4crz7jh2j2q5b0nbxgjf"))))
+ (build-system ruby-build-system)
+ (native-inputs
+ `(("bundler" ,bundler)))
+ (synopsis "Rake is a Make-like program implemented in Ruby")
+ (description
+ "Rake is a Make-like program where tasks and dependencies are specified
+in standard Ruby syntax.")
+ (home-page "https://github.com/ruby/rake")
+ (license license:expat)))
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index f66bfa2435..0dc0ef6551 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1158,7 +1158,7 @@ access to mpv's powerful playback capabilities.")
(define-public youtube-dl
(package
(name "youtube-dl")
- (version "2018.03.10")
+ (version "2018.03.14")
(source (origin
(method url-fetch)
(uri (string-append "https://yt-dl.org/downloads/"
@@ -1166,7 +1166,7 @@ access to mpv's powerful playback capabilities.")
version ".tar.gz"))
(sha256
(base32
- "1ibmz91anli1vzkgw2i3h4wf1i8arzd74730ylwcwyg3375xryjb"))))
+ "0j8j797gqc29fd5ra3cjvwkp8dgvigdydsj0zzjs05zccfqrj9lh"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index ae8780d2e1..594ba66ff4 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -144,6 +144,7 @@ made available under the /xchg CIFS share."
(initrd (if initrd ; use the default initrd?
(return initrd)
(base-initrd %linux-vm-file-systems
+ #:on-error 'backtrace
#:linux linux
#:linux-modules %base-initrd-modules
#:qemu-networking? #t))))