Skip to content

Commit

Permalink
dev-ruby/asciidoctor-diagram: add 2.2.14
Browse files Browse the repository at this point in the history
Signed-off-by: Hans de Graaff <[email protected]>
  • Loading branch information
graaff committed Nov 3, 2023
1 parent 226e8a4 commit cf5b736
Show file tree
Hide file tree
Showing 2 changed files with 122 additions and 0 deletions.
1 change: 1 addition & 0 deletions dev-ruby/asciidoctor-diagram/Manifest
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
DIST asciidoctor-diagram-2.0.5.tar.gz 12482984 BLAKE2B b0ef8596d2f2dfcf11fcbba876141aee38e8615195159f76e07b45c00b46bd85824dd6e8e9f571b396bbd9d082c5d60d4e05cdeac27719bfca53216c0d1b1816 SHA512 7e3bfbfb08d7389a039b1727bc173fca82e05134bebd89f3ca65d5e7860555034ff5e785c32e55ea2cc9826343456c6ecdfa15fc76f4d94858461356ab3ced71
DIST asciidoctor-diagram-2.2.11.tar.gz 15488606 BLAKE2B e0080ecafafcaef72ae1ca449d4ea2d4b69b1550d62cacb514350da047952adbddc0c9f48081fe7acae7f174c6b910c297357ef57df09c0c5a379a3332eb38e8 SHA512 233d2940516fa28863e53b7e4f43851256fdcc83e92fc5d4eafdc2e820a8040473c89f7f01397bdb26b6c4fbd9e6fcb576156c4abd949660ade37d152c8e5e40
DIST asciidoctor-diagram-2.2.12.tar.gz 14093006 BLAKE2B 2f2349c6694c35ea74bfc74e145eb2f34a422354e1ad4bc87b23bda66443ced7b14ccbce3b015d545fd84d89a6aee44c0c98743b9410c0a460571c83ca1c03ca SHA512 0a960a0f48bd1c129b218f0b70686f7d2f5745f84e484e3152e2532c51bf2987bbefec4cef06d579de1c881545ecdc34a607a00ad1af09ed748c7c66571570ac
DIST asciidoctor-diagram-2.2.14.tar.gz 14085153 BLAKE2B b62fbbc0ba5a5c53a92b1c9cd7d20047a0e6f4ec71ff7daeab379c3be2546b105b900e7fa6c49f00f6320de2087115d5944b9df9be443ad60cc0d330d5b12234 SHA512 8e343726788e61fa6846d756911f3df9ef276f706ec2668e7d74fc7b5b2cf3c8984f1d5031af5d8d2c55260f3bebf981d0bcd5dd1c032e504b32bee167cb626e
121 changes: 121 additions & 0 deletions dev-ruby/asciidoctor-diagram/asciidoctor-diagram-2.2.14.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

USE_RUBY="ruby31 ruby32"

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" ""
"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" ""
)

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
}

0 comments on commit cf5b736

Please sign in to comment.