commit:     49b3c27b082783dacda247cf01c69ad8e49fbed7
Author:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 19 13:28:58 2025 +0000
Commit:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Thu Jun 19 13:28:58 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=49b3c27b

dev-ruby/asciidoctor-diagram: add 2.3.2

Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>

 dev-ruby/asciidoctor-diagram/Manifest              |   1 +
 .../asciidoctor-diagram-2.3.2.ebuild               | 121 +++++++++++++++++++++
 2 files changed, 122 insertions(+)

diff --git a/dev-ruby/asciidoctor-diagram/Manifest 
b/dev-ruby/asciidoctor-diagram/Manifest
index 89506e10a8a2..fa5813765829 100644
--- a/dev-ruby/asciidoctor-diagram/Manifest
+++ b/dev-ruby/asciidoctor-diagram/Manifest
@@ -1 +1,2 @@
 DIST asciidoctor-diagram-2.2.14.tar.gz 14085153 BLAKE2B 
b62fbbc0ba5a5c53a92b1c9cd7d20047a0e6f4ec71ff7daeab379c3be2546b105b900e7fa6c49f00f6320de2087115d5944b9df9be443ad60cc0d330d5b12234
 SHA512 
8e343726788e61fa6846d756911f3df9ef276f706ec2668e7d74fc7b5b2cf3c8984f1d5031af5d8d2c55260f3bebf981d0bcd5dd1c032e504b32bee167cb626e
+DIST asciidoctor-diagram-2.3.2.tar.gz 24298535 BLAKE2B 
3651fc0d79ff97d4cb33c09ce0968d5a95f2963bd1b8f3264892fc253f3468c52394cc65e93512271514fc2437daff560d294ba6a16cb4a9ba2d2cbf3e1a8a76
 SHA512 
135032af75e27a76a293230354ff99405f2fa4b5e8d1418c51d924028fffd54ea5b7d6dcd919097d7964cd82bafef155c2afcea53429f76b0c9fa5e5999ca586

diff --git a/dev-ruby/asciidoctor-diagram/asciidoctor-diagram-2.3.2.ebuild 
b/dev-ruby/asciidoctor-diagram/asciidoctor-diagram-2.3.2.ebuild
new file mode 100644
index 000000000000..ea4884f3fbb3
--- /dev/null
+++ b/dev-ruby/asciidoctor-diagram/asciidoctor-diagram-2.3.2.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby32 ruby33"
+
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+
+RUBY_FAKEGEM_EXTRADOC="CHANGELOG.adoc LICENSE.txt README.adoc"
+
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+
+inherit ruby-fakegem
+
+DESCRIPTION="A set of Asciidoctor extensions that enable you to add diagrams"
+HOMEPAGE="https://github.com/asciidoctor/asciidoctor-diagram";
+SRC_URI="https://github.com/asciidoctor/${PN}/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# Supported backends dictionary: <backend-name> <dependencies> 
<removal-function>
+# backend-name: The name of the USE flag, a gem spec file in ./spec, a
+#   directory in ./lib/asciidoctor-diagram/, and a require directive in
+#   ./lib/asciidoctor.rb which will be removed if the former is unset.
+# dependencies: Dependencies for RDEPEND if the USE flag is set, and for
+#   DEPEND if the "test" USE flag is set.
+# removal-function: Additional commands to evaluate, if the USE flag is unset.
+#
+# NB: Do not implicitly use functions following a naming scheme instead
+# of an explicit <removal-function> to prevent accidental or malicious
+# injection from functions exported in the parent environment.
+backend_dict_stride=3
+backends=(
+       "barcode" "dev-ruby/rqrcode dev-ruby/barby[qrcode]" ""
+       "ditaa" "media-gfx/ditaa" "remove_ditaa"
+       "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" "remove_plantuml"
+       "tikz" "dev-tex/pgf media-gfx/pdf2svg" ""
+)
+
+remove_plantuml() {
+       rm -f "spec/salt.rb"
+       sed -i "/\\/salt'/d" "lib/asciidoctor-diagram.rb"
+       sed -i "/plantuml/d" "asciidoctor-diagram.gemspec"
+}
+
+remove_ditaa() {
+       sed -i "/ditaa/d" "asciidoctor-diagram.gemspec"
+}
+
+IUSE=""
+DEPEND+="test? ("
+
+i=0
+while (( i < ${#backends[@]} ))
+do
+       backend="${backends[i]}"
+       deps="${backends[i+1]}"
+
+       IUSE+=" $backend"
+       RDEPEND+=" $backend? ( $deps )"
+       DEPEND+=" $deps"
+
+       ((i+=backend_dict_stride))
+done
+
+DEPEND+=" )"
+
+ruby_add_rdepend ">=dev-ruby/asciidoctor-1.5.7 <dev-ruby/asciidoctor-3 
dev-ruby/rexml"
+
+all_ruby_prepare() {
+       rm Gemfile || die
+       sed -e '/c.formatter/ s:^:#:' \
+               -e '/logger.*DEBUG/ s:^:#:' \
+               -i spec/test_helper_methods.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}"
+
+               backend_index=0
+
+               get_backend_index() {
+                       local i=0
+                       while (( i < ${#backends[@]} ))
+                       do
+                               if [[ "${backends[i]}" == "$backend" ]]
+                               then
+                                       echo "$i"
+                                       return 1
+                               fi
+                               ((i+=backend_dict_stride))
+                       done
+               }
+
+               if backend_index="$(get_backend_index)" || ! use "$backend"
+               then
+                       rm -f "spec/${backend}_spec.rb"
+                       rm -Rf 
"lib/asciidoctor-diagram/"{"$backend.rb","$backend"}
+                       sed -i "/\\/$backend'/d" "lib/asciidoctor-diagram.rb"
+                       removal="${backends[backend_index+2]}"
+                       if [[ "$removal" ]]
+                       then
+                               "$removal"
+                       fi
+               fi
+       done
+}
+
+all_ruby_install() {
+       all_fakegem_install
+}

Reply via email to