--- portage/dev-ruby/asciidoctor-diagram/asciidoctor-diagram-2.0.5-r1.ebuild 2023-04-08 11:40:23.000000000 +0200 +++ overlays/personal/dev-ruby/asciidoctor-diagram/asciidoctor-diagram-2.0.5-r1.ebuild 2023-09-10 19:30:27.893592688 +0200 @@ -20,25 +20,68 @@ LICENSE="MIT" SLOT="0" KEYWORDS="~amd64" + +backends=( + "barcode" "dev-ruby/rqrcode dev-ruby/barby" + "ditaa" "media-gfx/ditaa virtual/jre" + "gnuplot" "sci-visualization/gnuplot" + "graphviz" "media-gfx/graphviz" + "lilypond" "media-sound/lilypond" + "meme" "media-gfx/imagemagick[png]" + "mscgen" "media-gfx/mscgen[png]" + "plantuml" "media-gfx/plantuml virtual/jre" + "tikz" "dev-tex/pgf" +) + IUSE="" +RDEPEND="" +DEPEND="test? (" + +i=0 +while (( i < ${#backends[@]} )) +do + backend="${backends[i]}" + deps="${backends[i+1]}" + + IUSE+=" $backend" + RDEPEND+=" $backend? ( $deps )" + DEPEND+=" $deps" + + ((i+=2)) +done + +DEPEND+=" )" -RDEPEND+=" virtual/jre" -DEPEND+=" test? ( - dev-texlive/texlive-latex - dev-texlive/texlive-latexextra - media-gfx/imagemagick[png,postscript] - media-gfx/graphviz - media-sound/lilypond - sci-visualization/gnuplot -)" ruby_add_rdepend ">=dev-ruby/asciidoctor-1.5.7 <dev-ruby/asciidoctor-3" all_ruby_prepare() { rm Gemfile || die sed -i -e '/c.formatter/ s:^:#:' spec/test_helper.rb || die - # Avoid specs for unpackaged tools - rm -f spec/{a2s,blockdiag,bpmn,bytefield,dpic,erd,mermaid,msc,nomnoml,pikchr,shaape,smcat,svgbob,symbolator,syntrax,umlet,vega,wavedrom}_spec.rb || die + # Delete everything related to unsupported backends. Obtain list of backends from spec/ + for spec in spec/*_spec.rb + do + backend="${spec##spec/}" + backend="${backend%%_spec.rb}" + + if + ( + i=0 + while (( i < ${#backends[@]} )) + do + if [[ "${backends[i]}" == "$backend" ]] + then + exit 1; + fi + + ((i+=2)) + done + ) || ! use "$backend" + then + rm -f "spec/$backend_spec.rb" + rm -Rf "lib/asciidoctor-diagram/"{"$backend.rb","$backend"} + fi + done } all_ruby_install() {