summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans de Graaff <graaff@gentoo.org>2024-01-26 11:31:01 +0100
committerHans de Graaff <graaff@gentoo.org>2024-01-27 11:34:58 +0100
commita3fc3906649b2880714617cae129da7a9aadc4b3 (patch)
treee82fca71b4889a5dc026c60f9dc3ec35a58ca310
parentgnustep-base/gnustep-make: drop 2.8.0-r1 (diff)
downloadgentoo-a3fc3906649b2880714617cae129da7a9aadc4b3.tar.gz
gentoo-a3fc3906649b2880714617cae129da7a9aadc4b3.tar.bz2
gentoo-a3fc3906649b2880714617cae129da7a9aadc4b3.zip
dev-ruby/liquid-c: add 4.2.0
Signed-off-by: Hans de Graaff <graaff@gentoo.org>
-rw-r--r--dev-ruby/liquid-c/Manifest1
-rw-r--r--dev-ruby/liquid-c/liquid-c-4.2.0.ebuild61
2 files changed, 62 insertions, 0 deletions
diff --git a/dev-ruby/liquid-c/Manifest b/dev-ruby/liquid-c/Manifest
index 22964e805352..2dd6f04c407b 100644
--- a/dev-ruby/liquid-c/Manifest
+++ b/dev-ruby/liquid-c/Manifest
@@ -1 +1,2 @@
DIST liquid-c-4.1.0.gem 48640 BLAKE2B 4fe526b48500349526ebeb2430f87fbb8ccea2f47dcfd32f16e3db803425180955c7ae81a707628ca377fd534882d71e06aece7d4119c16cc1386d4b3b222447 SHA512 72600a5b7962b91d63350adc9f3f355255ad9b9f93b6607064a896e1e3d109a9da897f442f9fc15a7a8c2c26ccb4674e491def9e7531ef9577b790ca9a3eb884
+DIST liquid-c-4.2.0.gem 51200 BLAKE2B 16c01f099263dc415cf185114c0ae8a4953fd2a599897a3ca69e2c220643e3599e908d426bf2ffc1cea8dbfe42d640e8da60282a0b39e0df5611467afab783b1 SHA512 4d349903e507eee30be7d04d2529628fc81a2091b5ac1f15094e2769d93b337769009f38e373378fac07ef32e8bc6f53a721984411ef6f6596363b77d96789d3
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
+}