diff options
Diffstat (limited to 'dev-ruby/ruby-ldap')
| -rw-r--r-- | dev-ruby/ruby-ldap/Manifest | 1 | ||||
| -rw-r--r-- | dev-ruby/ruby-ldap/files/ruby-ldap-0.9.20-clang16-fix.patch | 12 | ||||
| -rw-r--r-- | dev-ruby/ruby-ldap/files/ruby-ldap-0.9.20-ruby32.patch | 24 | ||||
| -rw-r--r-- | dev-ruby/ruby-ldap/files/ruby-ldap-0.9.20-tainted.patch | 28 | ||||
| -rw-r--r-- | dev-ruby/ruby-ldap/metadata.xml | 9 | ||||
| -rw-r--r-- | dev-ruby/ruby-ldap/ruby-ldap-0.9.20-r5.ebuild | 41 |
6 files changed, 115 insertions, 0 deletions
diff --git a/dev-ruby/ruby-ldap/Manifest b/dev-ruby/ruby-ldap/Manifest new file mode 100644 index 000000000000..b8adbc6011a3 --- /dev/null +++ b/dev-ruby/ruby-ldap/Manifest @@ -0,0 +1 @@ +DIST ruby-ldap-0.9.20.gem 67072 BLAKE2B 626a35ab764dacfb37c727d867e1d435222730a3e7ea745ee4e7ec051ce3a822cc5a1230b463bc12f4a2390db667ed3b61deceb9842c014f64cdf43a26d285f9 SHA512 4f4902e7eaf4fe0cd421d58c73ce4e625d61ee20ef02363d3cf5754c66237e0f378ac433b234c2b86d5f5284ae03b7ae6c46d3575c512487bc1a931d021c9517 diff --git a/dev-ruby/ruby-ldap/files/ruby-ldap-0.9.20-clang16-fix.patch b/dev-ruby/ruby-ldap/files/ruby-ldap-0.9.20-clang16-fix.patch new file mode 100644 index 000000000000..580584c61994 --- /dev/null +++ b/dev-ruby/ruby-ldap/files/ruby-ldap-0.9.20-clang16-fix.patch @@ -0,0 +1,12 @@ +Bug: https://bugs.gentoo.org/884405 +--- a/ldap.c ++++ b/ldap.c +@@ -201,7 +201,7 @@ rb_ldap_hash2mods (VALUE self, VALUE op, VALUE hash) + VALUE tmp; + + tmp = rb_assoc_new (op, rb_ary_new ()); +- rb_iterate (rb_each, hash, rb_ldap_hash2mods_i, tmp); ++ rb_iterate (rb_each, hash, (rb_block_call_func_t)rb_ldap_hash2mods_i, tmp); + + return rb_ary_entry (tmp, 1); + } diff --git a/dev-ruby/ruby-ldap/files/ruby-ldap-0.9.20-ruby32.patch b/dev-ruby/ruby-ldap/files/ruby-ldap-0.9.20-ruby32.patch new file mode 100644 index 000000000000..b7b101db2f30 --- /dev/null +++ b/dev-ruby/ruby-ldap/files/ruby-ldap-0.9.20-ruby32.patch @@ -0,0 +1,24 @@ +From aa43040eb6b6d591e42a19ee385fc1ba17c7202b Mon Sep 17 00:00:00 2001 +From: Jeremy Evans <code@jeremyevans.net> +Date: Tue, 27 Dec 2022 17:19:45 -0800 +Subject: [PATCH] Don't use rb_cData + +This fixes ruby-ldap on Ruby 3.2+ +--- + conn.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/conn.c b/conn.c +index e628695..39eeb5f 100644 +--- a/conn.c ++++ b/conn.c +@@ -1855,7 +1855,8 @@ Init_ldap_conn () + { + rb_ldap_sort_obj = Qnil; + +- rb_cLDAP_Conn = rb_define_class_under (rb_mLDAP, "Conn", rb_cData); ++ rb_cLDAP_Conn = rb_define_class_under (rb_mLDAP, "Conn", rb_cObject); ++ rb_undef_alloc_func(rb_cLDAP_Conn); + rb_define_attr (rb_cLDAP_Conn, "referrals", 1, 0); + rb_define_attr (rb_cLDAP_Conn, "controls", 1, 0); + rb_define_attr (rb_cLDAP_Conn, "sasl_quiet", 1, 1); diff --git a/dev-ruby/ruby-ldap/files/ruby-ldap-0.9.20-tainted.patch b/dev-ruby/ruby-ldap/files/ruby-ldap-0.9.20-tainted.patch new file mode 100644 index 000000000000..84c9ee29610d --- /dev/null +++ b/dev-ruby/ruby-ldap/files/ruby-ldap-0.9.20-tainted.patch @@ -0,0 +1,28 @@ +From 849ca6bb46bf4826d51648feddd453142281e541 Mon Sep 17 00:00:00 2001 +From: Hisashi MINAMINO <minamino@iij.ad.jp> +Date: Thu, 28 May 2020 14:04:05 +0900 +Subject: [PATCH] for ruby-2.7 + +--- + rbldap.h | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/rbldap.h b/rbldap.h +index 1fa04e1..b7b1765 100644 +--- a/rbldap.h ++++ b/rbldap.h +@@ -205,3 +205,14 @@ VALUE rb_ldap_mod_vals (VALUE); + rb_define_method(rb_cLDAP_Mod,method,cfunc,argc) + + #endif ++ ++#if RUBY_VERSION_CODE >= 270 ++# if defined rb_tainted_str_new ++# undef rb_tainted_str_new ++# endif ++# if defined rb_tainted_str_new2 ++# undef rb_tainted_str_new2 ++# endif ++# define rb_tainted_str_new(p,l) rb_str_new((p),(l)) ++# define rb_tainted_str_new2(p) rb_str_new_cstr((p)) ++#endif diff --git a/dev-ruby/ruby-ldap/metadata.xml b/dev-ruby/ruby-ldap/metadata.xml new file mode 100644 index 000000000000..c685ebad7e3a --- /dev/null +++ b/dev-ruby/ruby-ldap/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>ruby@gentoo.org</email> + <name>Gentoo Ruby Project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/dev-ruby/ruby-ldap/ruby-ldap-0.9.20-r5.ebuild b/dev-ruby/ruby-ldap/ruby-ldap-0.9.20-r5.ebuild new file mode 100644 index 000000000000..7d55dcde1027 --- /dev/null +++ b/dev-ruby/ruby-ldap/ruby-ldap-0.9.20-r5.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +USE_RUBY="ruby32 ruby33 ruby34 ruby40" + +inherit ruby-fakegem + +RUBY_FAKEGEM_TASK_TEST="" +RUBY_FAKEGEM_EXTENSIONS=(./extconf.rb) +RUBY_FAKEGEM_EXTRADOC="ChangeLog FAQ NOTES README TODO" + +DESCRIPTION="A Ruby interface to some LDAP libraries" +HOMEPAGE="https://github.com/bearded/ruby-ldap" +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc x86" +IUSE="ssl" +DEPEND=">=net-nds/openldap-2:= + dev-libs/cyrus-sasl + ssl? ( dev-libs/openssl:0= )" +RDEPEND="${DEPEND}" + +# Current test set is interactive due to certificate generation and requires +# running LDAP daemon +RESTRICT="test" + +PATCHES=( + "${FILESDIR}"/${PN}-0.9.20-clang16-fix.patch + "${FILESDIR}"/${PN}-0.9.20-ruby32.patch + "${FILESDIR}"/${PN}-0.9.20-tainted.patch +) + +each_ruby_configure() { + local myconf="--with-openldap2" + if ! use ssl ; then + myconf="${myconf} --without-libcrypto --without-libssl" + fi + RUBY_FAKEGEM_EXTENSION_OPTIONS=${myconf} each_fakegem_configure +} |
