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 = [];