commit:     d7f861624c8c3cad1aa2e791b866f6a676eff08e
Author:     Brahmajit Das <brahmajit.xyz <AT> gmail <DOT> com>
AuthorDate: Thu Jul 20 19:01:06 2023 +0000
Commit:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Fri Jul 21 06:43:30 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d7f86162

dev-ruby/ruby-ldap: Fix incompatible function pointer types

Closes: https://bugs.gentoo.org/884405
Signed-off-by: Brahmajit Das <brahmajit.xyz <AT> gmail.com>
Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>

 .../files/ruby-ldap-0.9.20-clang16-fix.patch       | 12 +++++++
 dev-ruby/ruby-ldap/ruby-ldap-0.9.20-r4.ebuild      | 38 ++++++++++++++++++++++
 2 files changed, 50 insertions(+)

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/ruby-ldap-0.9.20-r4.ebuild 
b/dev-ruby/ruby-ldap/ruby-ldap-0.9.20-r4.ebuild
new file mode 100644
index 000000000000..117ecd8ad824
--- /dev/null
+++ b/dev-ruby/ruby-ldap/ruby-ldap-0.9.20-r4.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+USE_RUBY="ruby26 ruby27 ruby30 ruby31"
+
+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
+)
+
+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
+}

Reply via email to