summaryrefslogtreecommitdiff
path: root/www-client/elinks/files/elinks-0.16.1.1-perl-5.38.patch
diff options
context:
space:
mode:
Diffstat (limited to 'www-client/elinks/files/elinks-0.16.1.1-perl-5.38.patch')
-rw-r--r--www-client/elinks/files/elinks-0.16.1.1-perl-5.38.patch62
1 files changed, 62 insertions, 0 deletions
diff --git a/www-client/elinks/files/elinks-0.16.1.1-perl-5.38.patch b/www-client/elinks/files/elinks-0.16.1.1-perl-5.38.patch
new file mode 100644
index 000000000000..08808a8eaf51
--- /dev/null
+++ b/www-client/elinks/files/elinks-0.16.1.1-perl-5.38.patch
@@ -0,0 +1,62 @@
+https://bugs.gentoo.org/909042
+https://github.com/rkd77/elinks/pull/243
+https://github.com/rkd77/elinks/commit/9b3cbca0fb493dc5be44649991dfdf30b746f153
+
+[rebased for 0.16.x]
+
+From 393bf23a2683971a72217839657bb2945a36ee54 Mon Sep 17 00:00:00 2001
+From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
+Date: Mon, 3 Jul 2023 14:12:22 +0300
+Subject: [PATCH] Fix compilation with Perl 5.38
+
+Perl now includes own `struct object` which clashes with elinks
+implementation. Renamed `struct object` to `struct elinks_object` to
+avoid it.
+
+Bug: https://bugs.gentoo.org/909042
+--- a/src/main/object.h
++++ b/src/main/object.h
+@@ -11,7 +11,7 @@ extern "C" {
+ #define DEBUG_REFCOUNT
+ #endif
+
+-struct object {
++struct elinks_object {
+ int refcount;
+ #ifdef CONFIG_DEBUG
+ char *name;
+@@ -20,10 +20,10 @@ struct object {
+
+ #define OBJECT_HEAD(type) \
+ LIST_HEAD(type); \
+- struct object object
++ struct elinks_object object
+
+ struct object_head {
+- OBJECT_HEAD(struct object *);
++ OBJECT_HEAD(struct elinks_object *);
+ };
+
+ #ifdef DEBUG_REFCOUNT
+--- a/src/protocol/uri.c
++++ b/src/protocol/uri.c
+@@ -1578,7 +1578,7 @@ struct uri_cache_entry {
+
+ struct uri_cache {
+ struct hash *map;
+- struct object object;
++ struct elinks_object object;
+ };
+
+ static struct uri_cache uri_cache;
+--- a/src/protocol/uri.h
++++ b/src/protocol/uri.h
+@@ -89,7 +89,7 @@ struct uri {
+ unsigned int form:1; /* URI originated from form */
+
+ /* Usage count object. */
+- struct object object;
++ struct elinks_object object;
+ };
+
+ enum uri_errno {