diff options
Diffstat (limited to 'dev-ruby/liquid-c/liquid-c-4.2.0.ebuild')
-rw-r--r-- | dev-ruby/liquid-c/liquid-c-4.2.0.ebuild | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/dev-ruby/liquid-c/liquid-c-4.2.0.ebuild b/dev-ruby/liquid-c/liquid-c-4.2.0.ebuild new file mode 100644 index 000000000000..7e785cccf7ee --- /dev/null +++ b/dev-ruby/liquid-c/liquid-c-4.2.0.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +USE_RUBY="ruby31 ruby32 ruby33" + +RUBY_FAKEGEM_TASK_TEST="test:unit" +RUBY_FAKEGEM_EXTRADOC="README.md" + +MY_PN=${PN/-/_} +RUBY_FAKEGEM_EXTENSIONS=(ext/${MY_PN}/extconf.rb) + +inherit ruby-fakegem + +DESCRIPTION="Liquid performance extension in C" +HOMEPAGE="https://github.com/Shopify/liquid-c" + +LICENSE="MIT" +SLOT="$(ver_cut 1)" +KEYWORDS="~amd64 ~arm64" + +ruby_add_rdepend ">=dev-ruby/liquid-5.0.1:*" + +all_ruby_prepare() { + sed -i -e "s/-Werror//" ext/${MY_PN}/extconf.rb || die + + sed -i \ + -e "/[Bb]undler/d" \ + -e "/memcheck/Id" \ + -e '/extensiontask/ s:^:#:' \ + Rakefile || die + sed -i -e 's/unit: :compile/:unit/' rakelib/unit_test.rake || die + rm -r rakelib/compile.rake || die + + sed -i -e 's/MiniTest/Minitest/' test/unit/*_test.rb || die + + # ruby_memcheck is a gem just for running w/ valgrind. + # We don't run tests in ebuilds with Valgrind because it's + # non-portable and sometimes flaky under sandbox. + rm rakelib/integration_test.rake || die + sed -i -e '/memcheck/Id' rakelib/unit_test.rake || die +} + +each_ruby_test() { + # Backup the original extension and hide it away + # The tests won't build if they detect an already-built ext + mkdir -p "${T}"/${RUBY}.orig || die + mv ext "${T}"/${RUBY}.orig/ext || die + cp -r "${WORKDIR}"/all/${P}/ext ext || die + + nonfatal each_fakegem_test --trace || failed_tests=1 + + # Always restore the original extension we built, even if + # tests failed, as FEATURES=test-fail-continue may be enabled. + rm -rf ext || die + mv "${T}"/${RUBY}.orig/ext ext || die + + if [[ ${failed_tests} == 1 ]] ; then + die "Tests failed with ${RUBY}!" + fi +} |