summaryrefslogtreecommitdiff
path: root/dev-lang/perl/files/perl-5.30.3-gentoo-libdirs.patch
blob: b9e36223a941c09c15c9858fb9db8c825a86d3e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
From 7572be1afb16621a537e9da02f96cf04cb10b655 Mon Sep 17 00:00:00 2001
From: Kent Fredric <kentnl@gentoo.org>
Date: Sat, 20 Jun 2020 22:14:22 +1200
Subject: Add support for -Dgentoolibdirs

Which just adds the libdirs verbatim in the right place without
having perl molest it in the process.
---
 Configure        | 26 ++++++++++++++++++++++++++
 config_h.SH      |  5 +++++
 perl.c           |  1 +
 perl_inc_macro.h |  8 ++++++++
 uconfig.sh       |  1 +
 5 files changed, 41 insertions(+)

diff --git a/Configure b/Configure
index cef8c3c078..77258e8f43 100755
--- a/Configure
+++ b/Configure
@@ -1181,6 +1181,8 @@ orderlib=''
 ranlib=''
 d_perl_otherlibdirs=''
 otherlibdirs=''
+gentoolibdirs=''
+d_gentoolibdirs=''
 package=''
 spackage=''
 pager=''
@@ -8101,6 +8103,28 @@ esac
 set d_perl_otherlibdirs
 eval $setvar
 
+case "$gentoolibdirs" in
+''|' ') dflt='none' ;;
+*) dflt="$gentoolibdirs" ;;
+esac
+$cat <<EOM
+Enter a colon-seperated list of explicit gentoo paths to stuff in @INC
+unmolested, or enter 'none' for no extra paths
+
+EOM
+rp='Colon-seperated list of gentoo-specific perl library search dirs?'
+. ./myread
+case "$ans" in
+' '|''|none) gentoolibdirs=' ';;
+*) gentoolibdirs="$ans" ;;
+esac
+case "$gentoolibdirs" in
+' ') val=$undef ;;
+*) val=$define ;;
+esac
+set d_gentoolibdirs
+eval $setvar
+
 : DTrace support
 dflt_dtrace='/usr/sbin/dtrace'
 $test -x /usr/bin/dtrace && dflt_dtrace='/usr/bin/dtrace'
@@ -24402,6 +24426,7 @@ d_openat='$d_openat'
 d_pathconf='$d_pathconf'
 d_pause='$d_pause'
 d_perl_otherlibdirs='$d_perl_otherlibdirs'
+d_gentoolibdirs='$d_gentoolibdirs'
 d_phostname='$d_phostname'
 d_pipe2='$d_pipe2'
 d_pipe='$d_pipe'
@@ -24937,6 +24962,7 @@ orderlib='$orderlib'
 osname='$osname'
 osvers='$osvers'
 otherlibdirs='$otherlibdirs'
+gentoolibdirs='$gentoolibdirs'
 package='$package'
 pager='$pager'
 passcat='$passcat'
diff --git a/config_h.SH b/config_h.SH
index 08c5923ef8..5563082969 100755
--- a/config_h.SH
+++ b/config_h.SH
@@ -1308,6 +1308,11 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_perl_otherlibdirs PERL_OTHERLIBDIRS "$otherlibdirs"		/**/
 
+/* GENTOO_LIBDIRS:
+ * Like PERL_OTHERLIBDIRS, but doesn't stuff ARCH dirs in when not wanted
+ */
+#$d_gentoolibdirs GENTOO_LIBDIRS "$gentoolibdirs"		/**/
+
 /* PRIVLIB:
  *	This symbol contains the name of the private library for this package.
  *	The library is private in the sense that it needn't be in anyone's
diff --git a/perl.c b/perl.c
index 2013a76026..62e67cfaa2 100644
--- a/perl.c
+++ b/perl.c
@@ -4750,6 +4750,7 @@ S_init_perllib(pTHX)
     INCPUSH_ARCHLIB_EXP
     INCPUSH_PRIVLIB_EXP
     INCPUSH_PERL_OTHERLIBDIRS
+    INCPUSH_GENTOO_LIBDIRS
     INCPUSH_PERL5LIB
     INCPUSH_APPLLIB_OLD_EXP
     INCPUSH_SITELIB_STEM
diff --git a/perl_inc_macro.h b/perl_inc_macro.h
index 5a2f20dfae..4b69b39199 100644
--- a/perl_inc_macro.h
+++ b/perl_inc_macro.h
@@ -143,6 +143,14 @@
 		      INCPUSH_ADD_OLD_VERS|INCPUSH_CAN_RELOCATE);
 #endif
 
+#ifdef GENTOO_LIBDIRS
+# define INCPUSH_GENTOO_LIBDIRS S_incpush_use_sep(aTHX_ STR_WITH_LEN(GENTOO_LIBDIRS), \
+    INCPUSH_ADD_OLD_VERS|INCPUSH_CAN_RELOCATE);
+#endif
+#ifndef INCPUSH_GENTOO_LIBDIRS
+# define INCPUSH_GENTOO_LIBDIRS
+#endif
+
 #ifdef PERL_OTHERLIBDIRS
 #	define INCPUSH_PERL_OTHERLIBDIRS_ARCHONLY  S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_OTHERLIBDIRS), \
 		      INCPUSH_ADD_OLD_VERS|INCPUSH_ADD_ARCHONLY_SUB_DIRS|INCPUSH_CAN_RELOCATE);
diff --git a/uconfig.sh b/uconfig.sh
index 1d4a0f4a57..fba825acad 100644
--- a/uconfig.sh
+++ b/uconfig.sh
@@ -185,6 +185,7 @@ d_futimes='undef'
 d_gai_strerror='undef'
 d_gdbm_ndbm_h_uses_prototypes='undef'
 d_gdbmndbm_h_uses_prototypes='undef'
+d_gentoolibdirs='undef'
 d_getaddrinfo='undef'
 d_getcwd='undef'
 d_getespwnam='undef'
-- 
2.27.0