summaryrefslogtreecommitdiff
path: root/dev-ruby
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-01-20 06:42:03 +0000
committerV3n3RiX <venerix@koprulu.sector>2025-01-20 06:42:03 +0000
commitcd57012a0ef40d302cf7d5a92dd2f3dfae285d2f (patch)
tree901ae45158f35951dbc249ac7e62a2a5b78da25c /dev-ruby
parentb2ec252cbc0a7476fb6892f96130c8cdc35591ac (diff)
gentoo auto-resync : 20:01:2025 - 06:42:03
Diffstat (limited to 'dev-ruby')
-rw-r--r--dev-ruby/Manifest.gzbin112151 -> 112145 bytes
-rw-r--r--dev-ruby/arel-helpers/Manifest4
-rw-r--r--dev-ruby/arel-helpers/arel-helpers-2.16.0.ebuild (renamed from dev-ruby/arel-helpers/arel-helpers-2.14.0-r1.ebuild)17
-rw-r--r--dev-ruby/metasm/Manifest2
-rw-r--r--dev-ruby/metasm/files/metasm-1.0.5-ruby33.patch145
-rw-r--r--dev-ruby/metasm/metasm-1.0.5-r2.ebuild36
6 files changed, 197 insertions, 7 deletions
diff --git a/dev-ruby/Manifest.gz b/dev-ruby/Manifest.gz
index 8bdadff7112b..193cbf9b0bad 100644
--- a/dev-ruby/Manifest.gz
+++ b/dev-ruby/Manifest.gz
Binary files differ
diff --git a/dev-ruby/arel-helpers/Manifest b/dev-ruby/arel-helpers/Manifest
index 1c9eee2fc817..53d59e759308 100644
--- a/dev-ruby/arel-helpers/Manifest
+++ b/dev-ruby/arel-helpers/Manifest
@@ -1,5 +1,5 @@
-DIST arel-helpers-2.14.0.tar.gz 11711 BLAKE2B 75182a17ae741b2fe62189bccf008ca9958a69d69b5c2aced227e1b77f7278565f2c6261f56e567e4534c1e0229ce00e630bb1dc77ce8e49d03267784f8f8dc2 SHA512 47edec1aaa5be14de4ee695b13096dcf3f0c30804b20dfdc84421e1a779d3faa6241c022003f4752da911d1ea71a49de6e1e3339e6a3e452ca7fa8116ff751ca
DIST arel-helpers-2.15.0.tar.gz 11785 BLAKE2B 5588b114c0f3a1daf7ce8bb9301f709b6afefa91fdfbd4b30d98574c9bff0d650c996f9462836c22edd70bb5a4d8edabb4d46fd8d67ee6c3cb2fa2dd3459a807 SHA512 f13fc81815f3041fd40f8029683707698d283dc27d041f790bd4e14775cb113871f272c8dc22698a0dfbc5d6cf20d7a876bb02ea34a70583f1d6a4dc7c66a8e3
-EBUILD arel-helpers-2.14.0-r1.ebuild 1208 BLAKE2B 6d7a3c5c7439a4959f159d7c50d9cb8f54090a2ac953a13a004093b5657967f3fad2345515e62fca2efdc38a1a7241da2f2ae4af0efb12a7e4db026a21f0bbda SHA512 c1c3993c864777ae0928a4836c19a5f281f3c42f2148f2c92d1ce9633be532afaf8f2d02bf0731d10f80e26c2da4e8f02bcdfecfdb07470af2c000ed1dbf593c
+DIST arel-helpers-2.16.0.tar.gz 11845 BLAKE2B 584ecaf16b19274674e92a524a256d3045b9007683123c8bf7bc73d02ec91be8513c4a1c0eff5e0be094db74772b31b0afd4186fb5950914d5d9d76348cc8f0e SHA512 b1d9b74c0082fabd4cf79c43d79f53a2e46e4647d5fbe05bdcdb3821692a46a15a1d6418c24155838c739e83c646f9af0c636b99bfc4f84c6355792c959fae8b
EBUILD arel-helpers-2.15.0.ebuild 1308 BLAKE2B 8c78d6cdd5c2b271baa996aa0b38e0ba51f05766bfc7cd21f0f0ee20ab0bd93bc97afdc8f2524bded0d20b087350b039604f813ebc0f6cb447dc5748e8dcf499 SHA512 e293a870d944e42fe0ce1d99bfca81f6765bc20cdd70f11ec5eea626199be44d18c9294b004b3ec77e9e2c740243b5001ed99e820dcfb98a5c597ac682ca79bd
+EBUILD arel-helpers-2.16.0.ebuild 1371 BLAKE2B 9b94e4c51a3cea4d7a233415e8e3096e75b6e964786c49d96a2d40d625eb91c0eb3275ce3d256c0f7aba99855d19718b8568a0f7c5f83d4d469192f1fba9176b SHA512 94b777af063722becee823b4926183e9b730ed9de4d0578170fa75fcbb9cd1bea1c86839769c376df97c0d64b770db75a3d73f16451b1390fe34e6dab0e3834f
MISC metadata.xml 349 BLAKE2B af3bdfff6ea7b31174258347c1bb068f960b60e248a95397b3fc8a25a3a08207e66021fbade5082f37118203fd6865915364f9038885cbde2ae4f6e2e589f723 SHA512 553e72f50a6384aefded8efe7d9315c4d239755aa7c81ad5da3b2b0fd93eb00930d52c55159ff524e06868749d5ed839bef66642d39996ebf27914f73a121b00
diff --git a/dev-ruby/arel-helpers/arel-helpers-2.14.0-r1.ebuild b/dev-ruby/arel-helpers/arel-helpers-2.16.0.ebuild
index 62e4e4422c0f..347f1c25241b 100644
--- a/dev-ruby/arel-helpers/arel-helpers-2.14.0-r1.ebuild
+++ b/dev-ruby/arel-helpers/arel-helpers-2.16.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-USE_RUBY="ruby31 ruby32"
+USE_RUBY="ruby31 ruby32 ruby33"
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
RUBY_S=${PN}-*
@@ -21,6 +21,9 @@ KEYWORDS="~amd64 ~arm"
ruby_add_rdepend "
|| (
+ dev-ruby/activerecord:8.0
+ dev-ruby/activerecord:7.2
+ dev-ruby/activerecord:7.1
dev-ruby/activerecord:7.0
dev-ruby/activerecord:6.1
)
@@ -31,15 +34,19 @@ ruby_add_bdepend "
dev-ruby/rr
dev-ruby/activerecord[sqlite]
dev-ruby/bundler
- dev-ruby/combustion
- >=dev-ruby/database_cleaner-1.8
+ >=dev-ruby/combustion-1.3
+ >=dev-ruby/database_cleaner-2.0
>=dev-ruby/sqlite3-1.4
)
"
all_ruby_prepare() {
# pry is for debugging, not useful here
- sed -i -e '/pry-/ s:^:#:' spec/spec_helper.rb || die
+ sed -e '/pry-/ s:^:#:' \
+ -i spec/spec_helper.rb || die
+
+ sed -e '2igem "activerecord", "<8.1"' \
+ -i Gemfile || die
sed \
-e '/rake/ s/~>/>=/' \
diff --git a/dev-ruby/metasm/Manifest b/dev-ruby/metasm/Manifest
index fec748c69643..75a9a74a9b11 100644
--- a/dev-ruby/metasm/Manifest
+++ b/dev-ruby/metasm/Manifest
@@ -1,3 +1,5 @@
+AUX metasm-1.0.5-ruby33.patch 4743 BLAKE2B a5f8107297693a1104f3e1a3749795e76496e8806425094a23c7f1aa7214696764a1b0eba969bebb9f6c6b22befbeb4f4244fbd55642879e47353aad39f8df59 SHA512 e7b351126a3928522a9136c34147fd4aafd0ef740fc49e5b3ddd12c5ee90bf0af3e2f33f8c7af18548b77a69327cddc2fceedfa3c1d09a6bfbd5be8c1df20462
DIST metasm-1.0.5.gem 803328 BLAKE2B 24ca2cff66257b063007b872028d4fad541584bee031dd4caacf2a89ee8f823e88dec8a2cf41815c72a5ef1b8db827b69fbb8ceaabee4d67de73aa04c15f354d SHA512 74a6eac47c06e7ff53f4e400fec6c6c73981bc58d09520ce7cdd657b6b74819fc5b9d6168edaf90eeb5c9b2087fd4924df1e21743809065cc1433428efbe1dd8
EBUILD metasm-1.0.5-r1.ebuild 851 BLAKE2B bfd9c451426028a16187c971adb57a0119968fd20426a49870efb0e5231d1fa406b1ab96ae56eb72c4b9e97853634a2e7d7b45f98bd580288721f0238f04b0e4 SHA512 026cb02a85cdeac610395973889f6faea15ece38e359a3842d2b92a406d091c2cfca6c0dde2f617b48483f9b8265e6719d4337dcdd9a7d1f1ac7821621cf5a02
+EBUILD metasm-1.0.5-r2.ebuild 794 BLAKE2B e693aded116d6a0c6c2a8dbec23bbfbc976e0025f61e1e5dc7458c3d0d6a4194b709922ae676444de757fd6ec13ad7ab5bbdb6147f1d43855ff143e94ecb8a81 SHA512 625b2ff949947d4c65849437f5f3184f4ccdb42be441ed63696735d1c259108a81f23c70925b7489d96092d249e7fe12b596aad839364a40e3d1a37fff1c9d2c
MISC metadata.xml 258 BLAKE2B 3c49249352f2cb11df010da6ecd8312a27047557ca5f2686837ad66933be9ea2627c40f91daedf8dcd9099c6cdc0dc2d2ba32aaf9d888c41fb60ee098e1c0c1e SHA512 ce517e35f3c0a2a9807ee68b0a8c84ca28db8dfabb41758cac71f9da22847fe20d259295f0681e38a52a24618450a0ca097939dc1022e3987bb0088762e48326
diff --git a/dev-ruby/metasm/files/metasm-1.0.5-ruby33.patch b/dev-ruby/metasm/files/metasm-1.0.5-ruby33.patch
new file mode 100644
index 000000000000..4a48ddcef208
--- /dev/null
+++ b/dev-ruby/metasm/files/metasm-1.0.5-ruby33.patch
@@ -0,0 +1,145 @@
+From c8f02d5d170c5373eeef98d6f6354ae7c726e29b Mon Sep 17 00:00:00 2001
+From: jj <john-git@ofjj.net>
+Date: Mon, 11 Dec 2023 19:22:30 +0100
+Subject: [PATCH] dynldr: ruby3.3 compat
+
+---
+ metasm/dynldr.rb | 64 ++++++++++++++++++++++++++++--------------------
+ 1 file changed, 37 insertions(+), 27 deletions(-)
+
+diff --git a/metasm/dynldr.rb b/metasm/dynldr.rb
+index 74bf786f2..a7b807703 100644
+--- a/metasm/dynldr.rb
++++ b/metasm/dynldr.rb
+@@ -9,7 +9,7 @@
+
+ module Metasm
+ class DynLdr
+- # basic C defs for ruby internals - 1.8 and 1.9 compat - x86/x64
++ # basic C defs for ruby internals - 1.8, 1.9, 3.3 compat - x86/x64
+ RUBY_H = <<EOS
+ #line #{__LINE__}
+ typedef uintptr_t VALUE;
+@@ -26,7 +26,7 @@ class DynLdr
+ struct rb_string_t {
+ VALUE flags;
+ VALUE klass;
+- VALUE len;
++ long len;
+ char *ptr;
+ union {
+ long capa;
+@@ -38,7 +38,7 @@ class DynLdr
+ struct rb_array_t {
+ VALUE flags;
+ VALUE klass;
+- VALUE len;
++ long len;
+ union {
+ long capa;
+ VALUE shared;
+@@ -52,41 +52,45 @@ class DynLdr
+ extern VALUE *rb_eRuntimeError __attribute__((import));
+ extern VALUE *rb_eArgError __attribute__((import));
+
+-// allows generating a ruby1.9 dynldr.so from ruby1.8
+-#ifndef DYNLDR_RUBY_19
+-#define DYNLDR_RUBY_19 #{RUBY_VERSION >= '1.9' ? 1 : 0}
+-#endif
+-
+ #if #{RUBY_VERSION >= '2.0' ? 1 : 0}
+ // flonums. WHY?
+ // also breaks Qtrue/Qnil
+ #define rb_float_new rb_float_new_in_heap
+ #endif
+
+-#if DYNLDR_RUBY_19
++#if #{RUBY_VERSION >= '1.9' ? 0 : 1}
++ #define T_STRING 0x07
++ #define T_ARRAY 0x09
++ #define T_FIXNUM 0x0a
++ #define T_MASK 0x3f
++ #define STR_PTR(o) (RString(o)->ptr)
++ #define STR_LEN(o) (RString(o)->len)
++ #define ARY_PTR(o) (RArray(o)->ptr)
++ #define ARY_LEN(o) (RArray(o)->len)
++#else
+ #define T_STRING 0x05
+ #define T_ARRAY 0x07
+ #define T_FIXNUM 0x15
+ #define T_MASK 0x1f
+ #define RSTRING_NOEMBED (1<<13)
++#if #{RUBY_VERSION >= '3.2' ? 0 : 1}
++ // ruby1.9 .. 3.2
+ #define STR_PTR(o) ((RString(o)->flags & RSTRING_NOEMBED) ? RString(o)->ptr : (char*)&RString(o)->len)
+ #define STR_LEN(o) ((RString(o)->flags & RSTRING_NOEMBED) ? RString(o)->len : (RString(o)->flags >> 14) & 0x1f)
++#else
++ // ruby3.2+: len is used for NOEMBED strings, and the str buffer starts right after len (off 8+8+4 on win64)
++ // TODO find a better way to test, not depending on the compiling interpreter ?
++ #define STR_PTR(o) ((RString(o)->flags & RSTRING_NOEMBED) ? RString(o)->ptr : (((char*)&RString(o)->len) + sizeof(long)))
++ #define STR_LEN(o) RString(o)->len
++#endif
+ #define RARRAY_EMBED (1<<13)
+ #define ARY_PTR(o) ((RArray(o)->flags & RARRAY_EMBED) ? (VALUE*)&RArray(o)->len : RArray(o)->ptr)
+- #define ARY_LEN(o) ((RArray(o)->flags & RARRAY_EMBED) ? ((RArray(o)->flags >> 15) & 3) : RArray(o)->len)
+-#else
+- #define T_STRING 0x07
+- #define T_ARRAY 0x09
+- #define T_FIXNUM 0x0a
+- #define T_MASK 0x3f
+- #define STR_PTR(o) (RString(o)->ptr)
+- #define STR_LEN(o) (RString(o)->len)
+- #define ARY_PTR(o) (RArray(o)->ptr)
+- #define ARY_LEN(o) (RArray(o)->len)
++ // RVARGC uses more bits, should be 0/unused in earlier ruby versions
++ #define ARY_LEN(o) ((RArray(o)->flags & RARRAY_EMBED) ? ((RArray(o)->flags >> 15) & 0xff) : RArray(o)->len)
+ #endif
+
+-#if #{nil.object_id == 4 ? 1 : 0}
+-// ruby1.8
++#if #{(RUBY_VERSION < '3.0' and nil.object_id == 4) ? 1 : 0}
++// ruby1.8 (Qnil changed in 1.9 and back in 3.3
+ #define TYPE(x) (((VALUE)(x) & 1) ? T_FIXNUM : (((VALUE)(x) < 0x07) || (((VALUE)(x) & 0xf) == 0xe)) ? 0x40 : RString(x)->flags & T_MASK)
+ #else
+ // ruby2.0+, USE_FLONUM, world is hell
+@@ -138,7 +142,6 @@ class DynLdr
+ #define os_load_sym_ord(l, s) 0U
+ #endif
+
+-extern int *cb_ret_table;
+ extern void *callback_handler;
+ extern void *callback_id_0;
+ extern void *callback_id_1;
+@@ -207,13 +210,12 @@ class DynLdr
+ else
+ rb_raise(*rb_eArgError, "Invalid lib");
+
+- if (TYPE(func) != T_STRING && TYPE(func) != T_FIXNUM)
+- rb_raise(*rb_eArgError, "Invalid func");
+-
+- if (TYPE(func) == T_FIXNUM)
++ if (TYPE(func) == T_STRING)
++ p = os_load_sym(h, STR_PTR(func));
++ else if (TYPE(func) == T_FIXNUM)
+ p = os_load_sym_ord(h, VAL2INT(func));
+ else
+- p = os_load_sym(h, STR_PTR(func));
++ rb_raise(*rb_eArgError, "Invalid func");
+
+ return INT2VAL(p);
+ }
+@@ -354,6 +356,14 @@ class DynLdr
+ }
+ #endif
+
++unsigned long long ruby_abi_version(void) __attribute__((export))
++{
++ // mandatory to be loadable in a dev ruby build
++ // TODO find expected value in current interpreter ?
++ return 0;
++ // disable the value check interpreter side: #{ENV['RUBY_ABI_CHECK'] = '0'}
++}
++
+ int Init_dynldr(void) __attribute__((export_as(Init_<insertfilenamehere>))) // to patch before parsing to match the .so name
+ {
+ dynldr = rb_const_get(rb_const_get(*rb_cObject, rb_intern("Metasm")), rb_intern("DynLdr"));
diff --git a/dev-ruby/metasm/metasm-1.0.5-r2.ebuild b/dev-ruby/metasm/metasm-1.0.5-r2.ebuild
new file mode 100644
index 000000000000..84a5ce21b825
--- /dev/null
+++ b/dev-ruby/metasm/metasm-1.0.5-r2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby31 ruby32 ruby33 ruby34"
+
+RUBY_FAKEGEM_RECIPE_DOC="none"
+RUBY_FAKEGEM_EXTRADOC="BUGS README TODO"
+RUBY_FAKEGEM_EXTRAINSTALL="metasm metasm.rb misc samples"
+
+inherit ruby-fakegem
+
+DESCRIPTION="Cross-architecture assembler, disassembler, linker, and debugger"
+HOMEPAGE="https://metasm.cr0.org/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+
+PATCHES=( "${FILESDIR}/${P}-ruby33.patch" )
+
+all_ruby_prepare() {
+ mkdir bin || die
+ ln -s ../samples/disassemble.rb ./bin/disassemble || die
+}
+
+each_ruby_test() {
+ ${RUBY} -Ilib:. -e "Dir['tests/*.rb'].each{|f| require f}" || die
+}
+
+all_ruby_install() {
+ all_fakegem_install
+
+ ruby_fakegem_binwrapper disassemble
+}