From cc4c8a576c55e8b9998538cf7c0510db2f2b982f Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 17 Mar 2018 21:24:57 -0400 Subject: gnu: icecat: Fix CVE-2018-{5146,5147}, etc. Includes fixes for CVE-2018-5146 and CVE-2018-5147. * gnu/packages/gnuzilla.scm (icecat)[source]: Add selected fixes from the upstream mozilla-esr52 repository. --- gnu/packages/gnuzilla.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index f7bdd17309..87381ba196 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -445,7 +445,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 -- cgit v1.2.3 From 63e07468b372e82d86087db6495ef3e1527ccb7c Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Thu, 31 Dec 2015 22:46:49 +1000 Subject: gnu: Add ruby-asciimath. * gnu/packages/maths.scm (ruby-asciimath): New variable. --- gnu/packages/maths.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'gnu') 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") -- cgit v1.2.3 From 34138e42ba69fa77eb6d9221a7441fa52c4d9259 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Thu, 31 Dec 2015 23:08:21 +1000 Subject: gnu: Add ruby-asciidoctor. * gnu/packages/ruby.scm (ruby-asciidoctor): New variable. --- gnu/packages/ruby.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index ee5d20955c..dc2ef251de 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,41 @@ 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-ci-reporter (package (name "ruby-ci-reporter") -- cgit v1.2.3 From 20a0f80414cc953c2a3836ded012841febd74927 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Thu, 31 Dec 2015 23:24:54 +1000 Subject: gnu: Add ruby-rack-test. * gnu/packages/ruby.scm (ruby-rack-test): New variable. --- gnu/packages/ruby.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index dc2ef251de..31e2e0f9eb 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3329,6 +3329,37 @@ 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-docile (package (name "ruby-docile") -- cgit v1.2.3 From a0a7e6903ac7e6e3fb9deb3977770246f0b31dd7 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Thu, 31 Dec 2015 23:29:09 +1000 Subject: gnu: Add ruby-rack-protection. * gnu/packages/ruby.scm (ruby-rack-protection): New variable. --- gnu/packages/ruby.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 31e2e0f9eb..9de6a1016c 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3360,6 +3360,35 @@ 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-docile (package (name "ruby-docile") -- cgit v1.2.3 From 6ef85256070158b03f9c080880dc33919c46756d Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Fri, 1 Jan 2016 10:11:36 +1000 Subject: gnu: Add ruby-contest. * gnu/packages/ruby.scm (ruby-contest): New variable. --- gnu/packages/ruby.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 9de6a1016c..ded5645835 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3389,6 +3389,25 @@ 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-docile (package (name "ruby-docile") -- cgit v1.2.3 From c4550f7568ad2c1d6fede9a0f037ae9505b9f2f2 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Fri, 1 Jan 2016 10:14:21 +1000 Subject: gnu: Add ruby-creole. * gnu/packages/ruby.scm (ruby-creole): New variable. --- gnu/packages/ruby.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index ded5645835..28b9bc370c 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3408,6 +3408,27 @@ 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") -- cgit v1.2.3 From b88502c95c15db3318587d263adebb87e863dc6f Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Fri, 1 Jan 2016 00:12:06 +1000 Subject: gnu: Add ruby-sporkmonger-rack-mount. * gnu/packages/ruby.scm (ruby-sporkmonger-rack-mount): New variable. --- gnu/packages/ruby.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 28b9bc370c..e4b4b96429 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -701,6 +701,37 @@ 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") -- cgit v1.2.3 From d64ebebd8e91688d1f86fff72c7a133b4be09921 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Wed, 23 Dec 2015 11:42:15 +1000 Subject: gnu: Add ruby-erubis. * gnu/packages/ruby.scm (ruby-erubis): New variable. --- gnu/packages/ruby.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index e4b4b96429..4131529afe 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -891,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") -- cgit v1.2.3 From 670ee20a57a4417f34458bb489f717378077e2ae Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Mon, 5 Feb 2018 11:45:21 +0100 Subject: gnu: Add ruby-rake. * gnu/packages/ruby.scm (ruby-rake): New variable. --- gnu/packages/ruby.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 4131529afe..703ca37aa0 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4911,3 +4911,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))) -- cgit v1.2.3 From e218b0c8b39b5f1560ac0401181d4209ffe93119 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Wed, 30 Dec 2015 16:51:18 +1000 Subject: gnu: Add ruby-ruby-engine. * gnu/packages/ruby.scm (ruby-ruby-engine): New variable. --- gnu/packages/ruby.scm | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 703ca37aa0..dcf4cda26a 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3716,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. + ((".*.freeze, \\[\\\"~> 10.0\\\"\\]") + "%q.freeze, [\">= 10.0\"]") + ;; Soften the rspec dependency + (("%q.freeze, \\[\\\"~> 2.4\\\"\\]") + "%q.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") -- cgit v1.2.3 From 72406062b9c3cdb6e9e30266f3cc31d0b2116b68 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 18 Mar 2018 10:35:23 +0000 Subject: gnu: shotwell: Update to 0.28.0. * gnu/packages/gnome.scm (shotwell): Update to 0.28.0. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 8ce36430ee..5eea29e0b2 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4422,7 +4422,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 "/" @@ -4430,7 +4430,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))) -- cgit v1.2.3 From 14f2105dc663fcd4148b98ebd8278544f5e1813e Mon Sep 17 00:00:00 2001 From: Sohom Bhattacharjee Date: Sun, 18 Mar 2018 17:52:22 +0530 Subject: gnu: youtube-dl: Update to 2018.03.14. * gnu/packages/video.scm (youtube-dl): Update to 2018.03.14. Signed-off-by: Ricardo Wurmus --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 39354f93ed..5a478c5804 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 -- cgit v1.2.3 From 248db51c7ee2ef68653fbfe34b17d1cc905e10a6 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 14 Mar 2018 10:51:32 +0100 Subject: vm: Display a backtrace upon error by default. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Pass #:on-error to 'base-initrd'. --- gnu/system/vm.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu') 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)))) -- cgit v1.2.3 From a57df67b5932c7f458d4a31a82a477634d6af1a0 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 14 Mar 2018 23:09:57 +0100 Subject: linux-modules: Add 'current-kernel-directory'. * gnu/build/linux-modules.scm (current-kernel-directory): New procedure. (current-alias-file): Use it. --- gnu/build/linux-modules.scm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm index 4fe673cca2..3dd60f434f 100644 --- a/gnu/build/linux-modules.scm +++ b/gnu/build/linux-modules.scm @@ -357,12 +357,15 @@ and each module is a module name like \"snd_hda_intel\"." (() ;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 -- cgit v1.2.3 From 675e81a082b47aec7b3c2caa950953edb7c01c1e Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 18 Mar 2018 18:26:12 +0100 Subject: linux-modules: 'load-linux-module*' honors BLACK-LIST in recursive calls. * gnu/build/linux-modules.scm (load-linux-module*): Pass BLACK-LIST in recursive call. --- gnu/build/linux-modules.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm index 3dd60f434f..e97c9c95f1 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))) -- cgit v1.2.3 From 71e08fde28fa335bdba2ec2150fd6663390bba5a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 18 Mar 2018 22:54:34 +0100 Subject: glob: Add an extra glob pattern compilation stage. * guix/glob.scm (compile-glob-pattern): Rename to... (string->sglob): ... this. (compile-sglob, string->compiled-sglob): New procedures. (glob-match?): Replace '?, 'range, and 'set with a single clause. * tests/glob.scm (test-compile-glob-pattern): Rename to... (test-string->sglob): ... this. Adjust accordingly. (test-glob-match): Use 'string->compiled-sglob' instead of 'compile-glob-pattern'. * gnu/build/linux-modules.scm (read-module-aliases): Use 'string->compiled-sglob' instead of 'compile-glob-pattern'. --- gnu/build/linux-modules.scm | 4 ++-- guix/glob.scm | 51 +++++++++++++++++++++++++++++---------------- tests/glob.scm | 12 +++++------ 3 files changed, 41 insertions(+), 26 deletions(-) (limited to 'gnu') diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm index e97c9c95f1..87d2e98edf 100644 --- a/gnu/build/linux-modules.scm +++ b/gnu/build/linux-modules.scm @@ -329,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) @@ -354,7 +354,7 @@ 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))))))) diff --git a/guix/glob.scm b/guix/glob.scm index 29c335ca1d..a9fc744802 100644 --- a/guix/glob.scm +++ b/guix/glob.scm @@ -18,7 +18,9 @@ (define-module (guix glob) #:use-module (ice-9 match) - #:export (compile-glob-pattern + #:export (string->sglob + compile-sglob + string->compiled-sglob glob-match?)) ;;; Commentary: @@ -37,9 +39,9 @@ (lst `(set ,@lst)))) -(define (compile-glob-pattern str) - "Return an sexp that represents the compiled form of STR, a glob pattern -such as \"foo*\" or \"foo??bar\"." +(define (string->sglob str) + "Return an sexp, called an \"sglob\", that represents the compiled form of +STR, a glob pattern such as \"foo*\" or \"foo??bar\"." (define flatten (match-lambda (((? string? str)) str) @@ -83,9 +85,33 @@ such as \"foo*\" or \"foo??bar\"." ((chr . rest) (loop rest (cons chr pending) brackets result))))) +(define (compile-sglob sglob) + "Compile SGLOB into a more efficient representation." + (if (string? sglob) + sglob + (let loop ((sglob sglob) + (result '())) + (match sglob + (() + (reverse result)) + (('? . rest) + (loop rest (cons char-set:full result))) + ((('range start end) . rest) + (loop rest (cons (ucs-range->char-set + (char->integer start) + (+ 1 (char->integer end))) + result))) + ((('set . chars) . rest) + (loop rest (cons (list->char-set chars) result))) + ((head . rest) + (loop rest (cons head result))))))) + +(define string->compiled-sglob + (compose compile-sglob string->sglob)) + (define (glob-match? pattern str) "Return true if STR matches PATTERN, a compiled glob pattern as returned by -'compile-glob-pattern'." +'compile-sglob'." (let loop ((pattern pattern) (str str)) (match pattern @@ -101,21 +127,10 @@ such as \"foo*\" or \"foo??bar\"." (index (loop rest (string-drop str (+ index (string-length suffix))))))) - (('? . rest) - (and (>= (string-length str) 1) - (loop rest (string-drop str 1)))) - ((('range start end) . rest) - (and (>= (string-length str) 1) - (let ((chr (string-ref str 0))) - (and (char-set-contains? (ucs-range->char-set - (char->integer start) - (+ 1 (char->integer end))) - chr) - (loop rest (string-drop str 1)))))) - ((('set . chars) . rest) + (((? char-set? cs) . rest) (and (>= (string-length str) 1) (let ((chr (string-ref str 0))) - (and (char-set-contains? (list->char-set chars) chr) + (and (char-set-contains? cs chr) (loop rest (string-drop str 1)))))) ((prefix . rest) (and (string-prefix? prefix str) diff --git a/tests/glob.scm b/tests/glob.scm index 71e2d3fce0..3134069789 100644 --- a/tests/glob.scm +++ b/tests/glob.scm @@ -23,14 +23,14 @@ (test-begin "glob") -(define-syntax test-compile-glob-pattern +(define-syntax test-string->sglob (syntax-rules (=>) ((_ pattern => result rest ...) (begin - (test-equal (format #f "compile-glob-pattern, ~s" pattern) + (test-equal (format #f "string->sglob, ~s" pattern) result - (compile-glob-pattern pattern)) - (test-compile-glob-pattern rest ...))) + (string->sglob pattern)) + (test-string->sglob rest ...))) ((_) #t))) @@ -39,14 +39,14 @@ ((_ (pattern-string matches strings ... (and not others ...)) rest ...) (begin (test-assert (format #f "glob-match? ~s" pattern-string) - (let ((pattern (compile-glob-pattern pattern-string))) + (let ((pattern (string->compiled-sglob pattern-string))) (and (glob-match? pattern strings) ... (not (glob-match? pattern others)) ...))) (test-glob-match rest ...))) ((_) #t))) -(test-compile-glob-pattern +(test-string->sglob "foo" => "foo" "?foo*" => '(? "foo" *) "foo[1-5]" => '("foo" (range #\1 #\5)) -- cgit v1.2.3 From 109b2f7c93f15a3ee9eb705584c384dcf13862f4 Mon Sep 17 00:00:00 2001 From: Vijayalakshmi Vedantham Date: Mon, 19 Mar 2018 00:39:05 +0530 Subject: gnu: Add r-abbyyr. * gnu/packages/cran.scm (r-abbyyr): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/cran.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu') 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 ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Raoul Bonnal +;;; Copyright © 2018 Vijayalakshmi Vedantham ;;; ;;; 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") -- cgit v1.2.3