summaryrefslogtreecommitdiff
path: root/dev-perl/Glib-Object-Introspection
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-02-10 00:12:21 +0000
committerV3n3RiX <venerix@koprulu.sector>2025-02-10 00:12:21 +0000
commit3a81cede4783e464b7485722b2eaac0280dbc570 (patch)
tree261618bfbe562244c237d48a7960d4952bc6b318 /dev-perl/Glib-Object-Introspection
parentb95a6fd4a7b591baa7cfc689f8ce5643592d07be (diff)
gentoo auto-resync : 10:02:2025 - 00:12:20
Diffstat (limited to 'dev-perl/Glib-Object-Introspection')
-rw-r--r--dev-perl/Glib-Object-Introspection/Glib-Object-Introspection-0.51.0-r1.ebuild38
-rw-r--r--dev-perl/Glib-Object-Introspection/Manifest2
-rw-r--r--dev-perl/Glib-Object-Introspection/files/Glib-Object-Introspection-0.51.0-new-gobject-introspection.patch50
3 files changed, 90 insertions, 0 deletions
diff --git a/dev-perl/Glib-Object-Introspection/Glib-Object-Introspection-0.51.0-r1.ebuild b/dev-perl/Glib-Object-Introspection/Glib-Object-Introspection-0.51.0-r1.ebuild
new file mode 100644
index 000000000000..a4bf26867b85
--- /dev/null
+++ b/dev-perl/Glib-Object-Introspection/Glib-Object-Introspection-0.51.0-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DIST_AUTHOR=XAOC
+DIST_VERSION=0.051
+inherit perl-module xdg-utils
+
+DESCRIPTION="Dynamically create Perl language bindings"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-perl/glib-perl-1.320.0
+ >=dev-libs/gobject-introspection-1.0
+ >=dev-libs/libffi-3.0.0:=
+ >=dev-libs/glib-2.0.0
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ ${RDEPEND}
+ >=dev-perl/ExtUtils-Depends-0.300.0
+ >=dev-perl/ExtUtils-PkgConfig-1.0.0
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-new-gobject-introspection.patch
+)
+
+pkg_setup() {
+ # bug #599128
+ xdg_environment_reset
+}
diff --git a/dev-perl/Glib-Object-Introspection/Manifest b/dev-perl/Glib-Object-Introspection/Manifest
index fbfdd434114e..8ff68163cc10 100644
--- a/dev-perl/Glib-Object-Introspection/Manifest
+++ b/dev-perl/Glib-Object-Introspection/Manifest
@@ -1,3 +1,5 @@
+AUX Glib-Object-Introspection-0.51.0-new-gobject-introspection.patch 2096 BLAKE2B 9c99f482027e46cc4d57597b3ddc7fd8a9c0d48db2bb7d64090c0d989aba0c22720c6750334a9f34d2fc35542a77ac154fb747009310a9c1962bc9735ac75760 SHA512 1652dd8105255a699c39f62ebdf5bfa688b59773228360e9aabfbf797699779cdf5502be680c75a6b2379c93016a07efe7ec64377980d2efff97d7bf437153ac
DIST Glib-Object-Introspection-0.051.tar.gz 89445 BLAKE2B 7447bf8473acdfe015ffaab6f4b33420efe23aed5852e2eba54eed8a3edb7275a94abe1c3dad9583f175c30146c3b32e2191f14b2bec5c9c9f36355cc80a5098 SHA512 93ebe81b586270cbeca4296bfdd1d337d931b6349ca16a8e50bfc631c89a77d93f4d8076289e91bdcec0fdb732a2900b2a6c5e78e571c0c0fd4c7f5239cc0de5
+EBUILD Glib-Object-Introspection-0.51.0-r1.ebuild 697 BLAKE2B 39859df79b399043992e9ed3759e6476f48c5b2efc6afdbda23803f17057eb04b1e48c00b908b07cbca174a03f27404a26417c66027b358d46c9bd10fab37009 SHA512 536797c464fa00a57f40e3f13d0779ad93eac847412c1429b162e575d63acc58b2c94b2798572272e9e30355b97a3616bd3c24d690eacfd72b8da5256cab6645
EBUILD Glib-Object-Introspection-0.51.0.ebuild 628 BLAKE2B e8d6de9dfe8bb54b232f15f8fc45aeeec88a72068dd321588380cd3564a233f16a441c03553cc4ac85cee6d9332b3a4b172a37f99e49c5f58603f3d8e35aaa0f SHA512 37a2e6fc80639d96bba19fadbd088b047dc410c064b8398df94b6e5ac4d72abfa91dd879e407c71df00e22deb8bed1eef05e4a6012dac9812dbdf1ab01411c19
MISC metadata.xml 412 BLAKE2B d21ff75abddb2f7e5ece1a2a3bf1d55dae89449dd1148c60f3a32ddfffdfcbbba56807074163f154247401d938c8afddb7e434c94a5957e0e70e92f806317fc8 SHA512 442bcc47771a161868faa68dc16b4bda36c6e68a5391cee94d59821ef1648d7d485a82e3d97fb439d5f3fc373ce83a218ace37c37259fb143f96a9392804c83a
diff --git a/dev-perl/Glib-Object-Introspection/files/Glib-Object-Introspection-0.51.0-new-gobject-introspection.patch b/dev-perl/Glib-Object-Introspection/files/Glib-Object-Introspection-0.51.0-new-gobject-introspection.patch
new file mode 100644
index 000000000000..c0b6ac639be9
--- /dev/null
+++ b/dev-perl/Glib-Object-Introspection/files/Glib-Object-Introspection-0.51.0-new-gobject-introspection.patch
@@ -0,0 +1,50 @@
+https://gitlab.gnome.org/GNOME/perl-glib-object-introspection/-/commit/e5adffecdc9b321d1f8d91777b190b8ae08f8dd0
+
+From e5adffecdc9b321d1f8d91777b190b8ae08f8dd0 Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi@gnome.org>
+Date: Sat, 14 Sep 2024 13:09:59 +0100
+Subject: [PATCH] Handle pointer types
+
+Now that gobject-introspection pairs G_TYPE_POINTER types with their
+type registration function, we need to handle the case in which we are
+passed a pointer to a record that inherits from G_TYPE_POINTER. Since
+these types are basically plain pointers, we can reuse the sv_to_struct
+and struct_to_sv functions we use for untyped structures.
+
+Fixes: #7
+---
+ gperl-i11n-marshal-interface.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/gperl-i11n-marshal-interface.c b/gperl-i11n-marshal-interface.c
+index 2bef8eb..50cce51 100644
+--- a/gperl-i11n-marshal-interface.c
++++ b/gperl-i11n-marshal-interface.c
+@@ -41,6 +41,12 @@ instance_sv_to_pointer (GICallableInfo *info, SV *sv, GPerlI11nInvocationInfo *i
+ info_type,
+ sv);
+ }
++ } else if (g_type_is_a (type, G_TYPE_POINTER)) {
++ dwarn (" -> pointer\n");
++ pointer = sv_to_struct (GI_TRANSFER_NOTHING,
++ container,
++ info_type,
++ sv);
+ } else {
+ dwarn (" -> boxed: type=%s (%"G_GSIZE_FORMAT")\n",
+ g_type_name (type), type);
+@@ -397,6 +403,12 @@ interface_to_sv (GITypeInfo* info,
+ }
+ }
+
++ else if (g_type_is_a (type, G_TYPE_POINTER)) {
++ dwarn (" -> pointer: pointer=%p, type=%"G_GSIZE_FORMAT" (%s), own=%d\n",
++ arg->v_pointer, type, g_type_name (type), own);
++ sv = struct_to_sv (interface, info_type, arg->v_pointer, own);
++ }
++
+ #if GLIB_CHECK_VERSION (2, 24, 0)
+ else if (g_type_is_a (type, G_TYPE_VARIANT)) {
+ dwarn (" -> variant\n");
+--
+GitLab