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 bdaf1721227..f9329a80a81 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 2195e224bf8..02081e117d6 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 9da0d291727..1a34aa78f6d 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 3e416600822..02700962eb2 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 = [];