public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Hans de Graaff" <graaff@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-ruby/asciidoctor-diagram/
Date: Thu, 19 Jun 2025 13:34:33 +0000 (UTC)	[thread overview]
Message-ID: <1750339738.49b3c27b082783dacda247cf01c69ad8e49fbed7.graaff@gentoo> (raw)

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	other threads:[~2025-06-19 13:34 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-19 13:34 Hans de Graaff [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-08-18 13:02 [gentoo-commits] repo/gentoo:master commit in: dev-ruby/asciidoctor-diagram/ Hans de Graaff
2025-07-27  6:01 Hans de Graaff
2025-06-05  7:43 Hans de Graaff
2024-07-13  6:10 Hans de Graaff
2024-04-04  6:06 Hans de Graaff
2023-11-03 14:21 Hans de Graaff
2023-11-03 14:21 Hans de Graaff
2023-09-10  6:52 Hans de Graaff
2023-09-09  9:21 Hans de Graaff
2023-04-08  9:10 Hans de Graaff
2022-07-25 10:10 Hans de Graaff
2022-07-25  5:23 Hans de Graaff
2022-07-25  5:23 Hans de Graaff
2022-05-08  5:44 Hans de Graaff
2021-07-07 17:38 Hans de Graaff
2021-07-07 17:38 Hans de Graaff
2021-04-10  6:17 Hans de Graaff
2020-10-02  5:15 Hans de Graaff
2020-09-19  5:35 Hans de Graaff
2020-09-16  6:15 Hans de Graaff
2020-04-17  4:39 Hans de Graaff
2020-04-09  4:13 Hans de Graaff
2020-02-17  6:04 Hans de Graaff
2019-10-13  6:38 Hans de Graaff
2019-06-01  5:23 Hans de Graaff
2019-05-29 15:22 Hans de Graaff
2019-05-04  9:23 Hans de Graaff
2019-04-21  6:11 Hans de Graaff
2019-04-21  6:11 Hans de Graaff
2019-04-15  4:42 Hans de Graaff
2019-03-14  5:56 Hans de Graaff
2019-02-27  6:10 Hans de Graaff
2019-02-27  6:10 Hans de Graaff
2019-01-31  7:35 Hans de Graaff
2019-01-22  6:27 Hans de Graaff
2018-11-19  5:43 Hans de Graaff
2018-09-08  6:30 Hans de Graaff
2018-05-06 18:52 Hans de Graaff
2018-05-06  6:37 Hans de Graaff
2018-03-30  6:13 Hans de Graaff
2018-01-27  7:18 Hans de Graaff
2017-08-12  5:14 Hans de Graaff
2017-04-29  5:37 Hans de Graaff
2017-04-29  5:37 Hans de Graaff
2017-01-20  6:40 Hans de Graaff
2016-07-25  5:28 Hans de Graaff
2016-06-05  8:39 Hans de Graaff

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1750339738.49b3c27b082783dacda247cf01c69ad8e49fbed7.graaff@gentoo \
    --to=graaff@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox