From 42249205fe851c860d21399dd647352d66819380 Mon Sep 17 00:00:00 2001 From: Michael Peyton Jones Date: Thu, 4 Jul 2019 12:41:09 +0100 Subject: [PATCH] asciidctor: include the asciidoctor-epub3 gem This is another common output target for asciidctor that requires an additional gem. The previous commit is necessary for this to work, so that we get the gem config for nokogiri correctly. --- pkgs/tools/typesetting/asciidoctor/Gemfile | 1 + .../typesetting/asciidoctor/Gemfile.lock | 13 +++++ .../tools/typesetting/asciidoctor/default.nix | 2 + pkgs/tools/typesetting/asciidoctor/gemset.nix | 53 +++++++++++++++++++ 4 files changed, 69 insertions(+) diff --git a/pkgs/tools/typesetting/asciidoctor/Gemfile b/pkgs/tools/typesetting/asciidoctor/Gemfile index bdaf17212278..f9329a80a815 100644 --- a/pkgs/tools/typesetting/asciidoctor/Gemfile +++ b/pkgs/tools/typesetting/asciidoctor/Gemfile @@ -2,6 +2,7 @@ source 'https://rubygems.org' gem 'asciidoctor' gem 'asciidoctor-diagram' gem 'asciidoctor-pdf' +gem 'asciidoctor-epub3' gem 'asciidoctor-mathematical' gem 'coderay' gem 'pygments.rb' diff --git a/pkgs/tools/typesetting/asciidoctor/Gemfile.lock b/pkgs/tools/typesetting/asciidoctor/Gemfile.lock index 2195e224bf84..02081e117d6e 100644 --- a/pkgs/tools/typesetting/asciidoctor/Gemfile.lock +++ b/pkgs/tools/typesetting/asciidoctor/Gemfile.lock @@ -8,6 +8,11 @@ GEM asciidoctor (2.0.10) asciidoctor-diagram (1.5.18) asciidoctor (>= 1.5.0, < 3.x) + asciidoctor-epub3 (1.5.0.alpha.9) + asciidoctor (>= 1.5.0, < 3.0.0) + concurrent-ruby (~> 1.1.5) + gepub (~> 1.0.2) + thread_safe (~> 0.3.6) asciidoctor-mathematical (0.3.0) asciidoctor (~> 2.0, >= 2.0.0) mathematical (~> 1.5, >= 1.5.8) @@ -27,12 +32,18 @@ GEM concurrent-ruby (1.1.5) css_parser (1.7.0) addressable + gepub (1.0.4) + nokogiri (>= 1.8.2, < 1.11) + rubyzip (>= 1.1.1) hashery (2.1.2) i18n (1.6.0) concurrent-ruby (~> 1.0) mathematical (1.6.12) ruby-enum (~> 0.4) + mini_portile2 (2.4.0) multi_json (1.13.1) + nokogiri (1.10.3) + mini_portile2 (~> 2.4.0) pdf-core (0.7.0) pdf-reader (2.2.0) Ascii85 (~> 1.0.0) @@ -61,6 +72,7 @@ GEM ruby-enum (0.7.2) i18n ruby-rc4 (0.1.5) + rubyzip (1.2.3) safe_yaml (1.0.5) thread_safe (0.3.6) treetop (1.5.3) @@ -73,6 +85,7 @@ PLATFORMS DEPENDENCIES asciidoctor asciidoctor-diagram + asciidoctor-epub3 asciidoctor-mathematical asciidoctor-pdf coderay diff --git a/pkgs/tools/typesetting/asciidoctor/default.nix b/pkgs/tools/typesetting/asciidoctor/default.nix index 9da0d2917277..1a34aa78f6d4 100644 --- a/pkgs/tools/typesetting/asciidoctor/default.nix +++ b/pkgs/tools/typesetting/asciidoctor/default.nix @@ -8,6 +8,7 @@ let app = bundlerApp { "asciidoctor" "asciidoctor-pdf" "asciidoctor-safe" + "asciidoctor-epub3" ]; meta = with lib; { @@ -22,6 +23,7 @@ let app = bundlerApp { shell = mkShell { buildInputs = app.gems.mathematical.buildInputs ++ + app.gems.nokogiri.buildInputs ++ [ bundix ]; }; in app.overrideAttrs (attrs: { passthru = attrs.passthru // { updateShell = shell; }; }) diff --git a/pkgs/tools/typesetting/asciidoctor/gemset.nix b/pkgs/tools/typesetting/asciidoctor/gemset.nix index 3e416600822e..02700962eb28 100644 --- a/pkgs/tools/typesetting/asciidoctor/gemset.nix +++ b/pkgs/tools/typesetting/asciidoctor/gemset.nix @@ -51,6 +51,17 @@ }; version = "1.5.18"; }; + asciidoctor-epub3 = { + dependencies = ["asciidoctor" "concurrent-ruby" "gepub" "thread_safe"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "056yp0z64b1fhhkzz2kaiqsd11gpbgx2d1yjgq7cqma9c70bbxa5"; + type = "gem"; + }; + version = "1.5.0.alpha.9"; + }; asciidoctor-mathematical = { dependencies = ["asciidoctor" "mathematical" "ruby-enum"]; groups = ["default"]; @@ -104,6 +115,17 @@ }; version = "1.7.0"; }; + gepub = { + dependencies = ["nokogiri" "rubyzip"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1kg2h0mscb2hq6l3wjzq5fp5vw4552nglq8n9pawm7bzacf1gzyf"; + type = "gem"; + }; + version = "1.0.4"; + }; hashery = { groups = ["default"]; platforms = []; @@ -136,6 +158,16 @@ }; version = "1.6.12"; }; + mini_portile2 = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy"; + type = "gem"; + }; + version = "2.4.0"; + }; multi_json = { groups = ["default"]; platforms = []; @@ -146,6 +178,17 @@ }; version = "1.13.1"; }; + nokogiri = { + dependencies = ["mini_portile2"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4"; + type = "gem"; + }; + version = "1.10.3"; + }; pdf-core = { groups = ["default"]; platforms = []; @@ -284,6 +327,16 @@ }; version = "0.1.5"; }; + rubyzip = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1w9gw28ly3zyqydnm8phxchf4ymyjl2r7zf7c12z8kla10cpmhlc"; + type = "gem"; + }; + version = "1.2.3"; + }; safe_yaml = { groups = ["default"]; platforms = [];