1 |
commit: 686d9515136b4e06bcd234438ec28aa2ffafc866 |
2 |
Author: David Seifert <soap <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Mar 18 21:22:44 2023 +0000 |
4 |
Commit: David Seifert <soap <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Mar 18 21:22:44 2023 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=686d9515 |
7 |
|
8 |
net-libs/netwib: fix build with clang 16 |
9 |
|
10 |
Closes: https://bugs.gentoo.org/710626 |
11 |
Closes: https://bugs.gentoo.org/828721 |
12 |
Closes: https://bugs.gentoo.org/879735 |
13 |
Signed-off-by: David Seifert <soap <AT> gentoo.org> |
14 |
|
15 |
.../netwib/files/netwib-5.39.0-C99-decls.patch | 19 +++++ |
16 |
net-libs/netwib/files/netwib-5.39.0-config.patch | 35 +++++++++ |
17 |
.../netwib/files/netwib-5.39.0-sched_yield.patch | 85 ++++++++++++++++++++++ |
18 |
net-libs/netwib/netwib-5.39.0-r1.ebuild | 56 ++++++++++++++ |
19 |
net-libs/netwib/netwib-5.39.0.ebuild | 61 ---------------- |
20 |
5 files changed, 195 insertions(+), 61 deletions(-) |
21 |
|
22 |
diff --git a/net-libs/netwib/files/netwib-5.39.0-C99-decls.patch b/net-libs/netwib/files/netwib-5.39.0-C99-decls.patch |
23 |
new file mode 100644 |
24 |
index 000000000000..4509b3703160 |
25 |
--- /dev/null |
26 |
+++ b/net-libs/netwib/files/netwib-5.39.0-C99-decls.patch |
27 |
@@ -0,0 +1,19 @@ |
28 |
+--- a/genemake |
29 |
++++ b/genemake |
30 |
+@@ -1279,6 +1279,7 @@ |
31 |
+ |
32 |
+ #--- |
33 |
+ cat > `checkcompilfile` <<EOF |
34 |
++ #include <string.h> |
35 |
+ int ether_hostton(char *para1, char *para2); |
36 |
+ int main(void) |
37 |
+ { char p1[10], p2[10]; |
38 |
+@@ -1668,7 +1669,7 @@ |
39 |
+ #include <pwd.h> |
40 |
+ #include <grp.h> |
41 |
+ int main(void) |
42 |
+- { getgrgid_r(NULL, NULL, NULL, 0, NULL); |
43 |
++ { getgrgid_r(0, NULL, NULL, 0, NULL); |
44 |
+ return(0); |
45 |
+ } |
46 |
+ EOF |
47 |
|
48 |
diff --git a/net-libs/netwib/files/netwib-5.39.0-config.patch b/net-libs/netwib/files/netwib-5.39.0-config.patch |
49 |
new file mode 100644 |
50 |
index 000000000000..922c9d0dd887 |
51 |
--- /dev/null |
52 |
+++ b/net-libs/netwib/files/netwib-5.39.0-config.patch |
53 |
@@ -0,0 +1,35 @@ |
54 |
+--- a/config.dat |
55 |
++++ b/config.dat |
56 |
+@@ -7,11 +7,11 @@ |
57 |
+ |
58 |
+ ########################################################################## |
59 |
+ ### directories where netwib will be installed |
60 |
+-NETWIBDEF_INSTPREFIX=/usr/local |
61 |
++NETWIBDEF_INSTPREFIX="${EPREFIX}/usr" |
62 |
+ NETWIBDEF_INSTINCLUDE=${NETWIBDEF_INSTPREFIX}/include |
63 |
+ NETWIBDEF_INSTLIB=${NETWIBDEF_INSTPREFIX}/lib |
64 |
+ NETWIBDEF_INSTBIN=${NETWIBDEF_INSTPREFIX}/bin |
65 |
+-NETWIBDEF_INSTMAN=${NETWIBDEF_INSTPREFIX}/man |
66 |
++NETWIBDEF_INSTMAN=${NETWIBDEF_INSTPREFIX}/share/man |
67 |
+ NETWIBDEF_INSTMAN3=${NETWIBDEF_INSTMAN}/man3 |
68 |
+ |
69 |
+ ### installation destination directory |
70 |
+@@ -19,14 +19,14 @@ |
71 |
+ |
72 |
+ ########################################################################## |
73 |
+ ### programs |
74 |
+-NETWIBDEF_PROGCC=gcc |
75 |
+-NETWIBDEF_PROGAR=ar |
76 |
+-NETWIBDEF_PROGRANLIB=ranlib |
77 |
++NETWIBDEF_PROGCC="${CC}" |
78 |
++NETWIBDEF_PROGAR="${AR}" |
79 |
++NETWIBDEF_PROGRANLIB="${RANLIB}" |
80 |
+ NETWIBDEF_PROGGREP=grep |
81 |
+ |
82 |
+ ########################################################################## |
83 |
+ ### compiler options |
84 |
+-NETWIBDEF_PROGCC_OPT="-Wall -O2" |
85 |
++NETWIBDEF_PROGCC_OPT="${CFLAGS:-} ${CPPFLAGS:-}" |
86 |
+ NETWIBDEF_PROGCC_INC="" |
87 |
+ NETWIBDEF_PROGCC_LIB="" |
88 |
+ NETWIBDEF_PROGCC_OPTPIC="" |
89 |
|
90 |
diff --git a/net-libs/netwib/files/netwib-5.39.0-sched_yield.patch b/net-libs/netwib/files/netwib-5.39.0-sched_yield.patch |
91 |
new file mode 100644 |
92 |
index 000000000000..06bb248bc949 |
93 |
--- /dev/null |
94 |
+++ b/net-libs/netwib/files/netwib-5.39.0-sched_yield.patch |
95 |
@@ -0,0 +1,85 @@ |
96 |
+--- a/genemake |
97 |
++++ b/genemake |
98 |
+@@ -1598,21 +1598,6 @@ |
99 |
+ fi |
100 |
+ |
101 |
+ #--- |
102 |
+-NETWIBDEF_HAVEFUNC_PTHREAD_YIELD=0 |
103 |
+-if [ $NETWIBDEF_HAVEINCL_PTHREAD = 1 ] ; then |
104 |
+- cat > `checkcompilfile` <<EOF |
105 |
+- #include <pthread.h> |
106 |
+- int main(void) |
107 |
+- { pthread_yield(); |
108 |
+- return(0); |
109 |
+- } |
110 |
+-EOF |
111 |
+- checkcompilstd "pthread_yield" "" "" "" |
112 |
+- NETWIBDEF_HAVEFUNC_PTHREAD_YIELD=`checkcompilyes` |
113 |
+- checkceclean |
114 |
+-fi |
115 |
+- |
116 |
+-#--- |
117 |
+ NETWIBDEF_HAVEFUNC_SCHED_YIELD=0 |
118 |
+ if [ $NETWIBDEF_HAVEINCL_SCHED = 1 ] ; then |
119 |
+ cat > `checkcompilfile` <<EOF |
120 |
+@@ -2042,7 +2027,6 @@ |
121 |
+ echo "#define NETWIBDEF_HAVEFUNC_PTHREAD_MUTEX_TIMEDLOCK $NETWIBDEF_HAVEFUNC_PTHREAD_MUTEX_TIMEDLOCK" >> $deffile |
122 |
+ echo "#define NETWIBDEF_HAVEFUNC_PTHREAD_RWLOCK_TIMEDRDLOCK $NETWIBDEF_HAVEFUNC_PTHREAD_RWLOCK_TIMEDRDLOCK" >> $deffile |
123 |
+ echo "#define NETWIBDEF_HAVEFUNC_PTHREAD_RWLOCK_TIMEDWRLOCK $NETWIBDEF_HAVEFUNC_PTHREAD_RWLOCK_TIMEDWRLOCK" >> $deffile |
124 |
+-echo "#define NETWIBDEF_HAVEFUNC_PTHREAD_YIELD $NETWIBDEF_HAVEFUNC_PTHREAD_YIELD" >> $deffile |
125 |
+ echo "#define NETWIBDEF_HAVEFUNC_SCHED_YIELD $NETWIBDEF_HAVEFUNC_SCHED_YIELD" >> $deffile |
126 |
+ echo "#define NETWIBDEF_HAVEFUNC_GETPWNAM_R $NETWIBDEF_HAVEFUNC_GETPWNAM_R" >> $deffile |
127 |
+ echo "#define NETWIBDEF_HAVEFUNC_GETGRNAM_R $NETWIBDEF_HAVEFUNC_GETGRNAM_R" >> $deffile |
128 |
+@@ -2205,7 +2189,6 @@ |
129 |
+ HAVEFUNC_PTHREAD_MUTEX_TIMEDLOCK) echo $NETWIBDEF_HAVEFUNC_PTHREAD_MUTEX_TIMEDLOCK ;; |
130 |
+ HAVEFUNC_PTHREAD_RWLOCK_TIMEDRDLOCK) echo $NETWIBDEF_HAVEFUNC_PTHREAD_RWLOCK_TIMEDRDLOCK ;; |
131 |
+ HAVEFUNC_PTHREAD_RWLOCK_TIMEDWRLOCK) echo $NETWIBDEF_HAVEFUNC_PTHREAD_RWLOCK_TIMEDWRLOCK ;; |
132 |
+- HAVEFUNC_PTHREAD_YIELD) echo $NETWIBDEF_HAVEFUNC_PTHREAD_YIELD ;; |
133 |
+ HAVEFUNC_SCHED_YIELD) echo $NETWIBDEF_HAVEFUNC_SCHED_YIELD ;; |
134 |
+ HAVEFUNC_GETPWNAM_R) echo $NETWIBDEF_HAVEFUNC_GETPWNAM_R ;; |
135 |
+ HAVEFUNC_GETGRNAM_R) echo $NETWIBDEF_HAVEFUNC_GETGRNAM_R ;; |
136 |
+--- a/netwib/def_windows.h |
137 |
++++ b/netwib/def_windows.h |
138 |
+@@ -100,7 +100,6 @@ |
139 |
+ #define NETWIBDEF_HAVEFUNC_PTHREAD_MUTEX_TIMEDLOCK 0 |
140 |
+ #define NETWIBDEF_HAVEFUNC_PTHREAD_RWLOCK_TIMEDRDLOCK 0 |
141 |
+ #define NETWIBDEF_HAVEFUNC_PTHREAD_RWLOCK_TIMEDWRLOCK 0 |
142 |
+-#define NETWIBDEF_HAVEFUNC_PTHREAD_YIELD 0 |
143 |
+ #define NETWIBDEF_HAVEFUNC_SCHED_YIELD 0 |
144 |
+ #define NETWIBDEF_HAVEFUNC_GETPWNAM_R 0 |
145 |
+ #define NETWIBDEF_HAVEFUNC_GETGRNAM_R 0 |
146 |
+--- a/netwib/inc/missing.h |
147 |
++++ b/netwib/inc/missing.h |
148 |
+@@ -3,7 +3,6 @@ |
149 |
+ #if 0 |
150 |
+ /* Some systems have the function in their library, but |
151 |
+ prototypes are missing. Those one can be used instead. */ |
152 |
+- int pthread_yield(void); |
153 |
+ int getpagesize(void); |
154 |
+ int usleep(unsigned int useconds); |
155 |
+ int getpwnam_r(const char *name, |
156 |
+--- a/netwib/sys/internal.c |
157 |
++++ b/netwib/sys/internal.c |
158 |
+@@ -221,8 +221,6 @@ |
159 |
+ NETWIBDEF_HAVEFUNC_PTHREAD_RWLOCK_TIMEDRDLOCK); |
160 |
+ netwib_co_i("NETWIBDEF_HAVEFUNC_PTHREAD_RWLOCK_TIMEDWRLOCK", |
161 |
+ NETWIBDEF_HAVEFUNC_PTHREAD_RWLOCK_TIMEDWRLOCK); |
162 |
+- netwib_co_i("NETWIBDEF_HAVEFUNC_PTHREAD_YIELD", |
163 |
+- NETWIBDEF_HAVEFUNC_PTHREAD_YIELD); |
164 |
+ netwib_co_i("NETWIBDEF_HAVEFUNC_SCHED_YIELD", |
165 |
+ NETWIBDEF_HAVEFUNC_SCHED_YIELD); |
166 |
+ netwib_co_i("NETWIBDEF_HAVEFUNC_GETPWNAM_R", |
167 |
+--- a/netwib/sys/priv/pause.c |
168 |
++++ b/netwib/sys/priv/pause.c |
169 |
+@@ -6,10 +6,7 @@ |
170 |
+ { |
171 |
+ |
172 |
+ #if defined NETWIBDEF_SYSNAME_Unix |
173 |
+- #if NETWIBDEF_HAVEFUNC_PTHREAD_YIELD == 1 |
174 |
+- pthread_yield(); |
175 |
+- return(NETWIB_ERR_OK); |
176 |
+- #elif NETWIBDEF_HAVEFUNC_SCHED_YIELD == 1 |
177 |
++ #if NETWIBDEF_HAVEFUNC_SCHED_YIELD == 1 |
178 |
+ sched_yield(); |
179 |
+ return(NETWIB_ERR_OK); |
180 |
+ #endif |
181 |
|
182 |
diff --git a/net-libs/netwib/netwib-5.39.0-r1.ebuild b/net-libs/netwib/netwib-5.39.0-r1.ebuild |
183 |
new file mode 100644 |
184 |
index 000000000000..21a268557647 |
185 |
--- /dev/null |
186 |
+++ b/net-libs/netwib/netwib-5.39.0-r1.ebuild |
187 |
@@ -0,0 +1,56 @@ |
188 |
+# Copyright 1999-2023 Gentoo Authors |
189 |
+# Distributed under the terms of the GNU General Public License v2 |
190 |
+ |
191 |
+# NOTE: netwib, netwox and netwag go together, bump all or bump none |
192 |
+ |
193 |
+EAPI=8 |
194 |
+ |
195 |
+inherit toolchain-funcs |
196 |
+ |
197 |
+DESCRIPTION="Library of Ethernet, IP, UDP, TCP, ICMP, ARP and RARP protocols" |
198 |
+HOMEPAGE=" |
199 |
+ http://www.laurentconstantin.com/en/netw/netwib/ |
200 |
+ http://ntwib.sourceforge.net/ |
201 |
+" |
202 |
+SRC_URI=" |
203 |
+ mirror://sourceforge/ntwib/${P}-src.tgz |
204 |
+ doc? ( mirror://sourceforge/ntwib/${P}-doc_html.tgz )" |
205 |
+S="${WORKDIR}/${P}-src/src" |
206 |
+ |
207 |
+LICENSE="GPL-3" |
208 |
+SLOT="0" |
209 |
+KEYWORDS="~amd64 ~hppa ~ppc x86" |
210 |
+IUSE="doc" |
211 |
+ |
212 |
+DEPEND=" |
213 |
+ net-libs/libnet:1.1 |
214 |
+ net-libs/libpcap" |
215 |
+RDEPEND="${DEPEND}" |
216 |
+ |
217 |
+PATCHES=( |
218 |
+ "${FILESDIR}"/${P}-C99-decls.patch |
219 |
+ "${FILESDIR}"/${P}-config.patch |
220 |
+ "${FILESDIR}"/${P}-sched_yield.patch |
221 |
+) |
222 |
+ |
223 |
+src_configure() { |
224 |
+ tc-export AR CC RANLIB |
225 |
+ sed -e "s:/lib:/$(get_libdir):" \ |
226 |
+ -i config.dat || die |
227 |
+ |
228 |
+ sh genemake || die |
229 |
+} |
230 |
+ |
231 |
+src_install() { |
232 |
+ default |
233 |
+ |
234 |
+ dodoc \ |
235 |
+ ../README.TXT \ |
236 |
+ ../doc/{changelog.txt,credits.txt,integration.txt} \ |
237 |
+ ../doc/{problemreport.txt,problemusageunix.txt,todo.txt} |
238 |
+ |
239 |
+ if use doc; then |
240 |
+ docinto html |
241 |
+ dodoc -r "${WORKDIR}"/${P}-doc_html/{index.html,${PN}} |
242 |
+ fi |
243 |
+} |
244 |
|
245 |
diff --git a/net-libs/netwib/netwib-5.39.0.ebuild b/net-libs/netwib/netwib-5.39.0.ebuild |
246 |
deleted file mode 100644 |
247 |
index c73eb6097f01..000000000000 |
248 |
--- a/net-libs/netwib/netwib-5.39.0.ebuild |
249 |
+++ /dev/null |
250 |
@@ -1,61 +0,0 @@ |
251 |
-# Copyright 1999-2021 Gentoo Authors |
252 |
-# Distributed under the terms of the GNU General Public License v2 |
253 |
- |
254 |
-# NOTE: netwib, netwox and netwag go together, bump all or bump none |
255 |
- |
256 |
-EAPI=8 |
257 |
- |
258 |
-inherit toolchain-funcs |
259 |
- |
260 |
-DESCRIPTION="Library of Ethernet, IP, UDP, TCP, ICMP, ARP and RARP protocols" |
261 |
-HOMEPAGE=" |
262 |
- http://www.laurentconstantin.com/en/netw/netwib/ |
263 |
- http://ntwib.sourceforge.net/ |
264 |
-" |
265 |
-SRC_URI="mirror://sourceforge/ntwib/${P}-src.tgz |
266 |
- doc? ( mirror://sourceforge/ntwib/${P}-doc_html.tgz )" |
267 |
-S="${WORKDIR}/${P}-src/src" |
268 |
- |
269 |
-LICENSE="GPL-3" |
270 |
-SLOT="0" |
271 |
-KEYWORDS="~amd64 ~hppa ~ppc x86" |
272 |
-IUSE="doc" |
273 |
- |
274 |
-DEPEND=" |
275 |
- net-libs/libnet:1.1 |
276 |
- net-libs/libpcap |
277 |
-" |
278 |
-RDEPEND="${DEPEND}" |
279 |
- |
280 |
-src_prepare() { |
281 |
- default |
282 |
- |
283 |
- sed -i \ |
284 |
- -e 's:/man$:/share/man:g' \ |
285 |
- -e "s:/lib:/$(get_libdir):" \ |
286 |
- -e "s:/usr/local:/usr:" \ |
287 |
- -e "s:=ar:=$(tc-getAR):" \ |
288 |
- -e "s:=ranlib:=$(tc-getRANLIB):" \ |
289 |
- -e "s:=gcc:=$(tc-getCC):" \ |
290 |
- -e "s:-O2:${CFLAGS}:" \ |
291 |
- config.dat || die |
292 |
-} |
293 |
- |
294 |
-src_configure() { |
295 |
- sh genemake || die |
296 |
-} |
297 |
- |
298 |
-src_install() { |
299 |
- default |
300 |
- dodoc ../README.TXT |
301 |
- if use doc; then |
302 |
- mkdir "${ED}"/usr/share/doc/${PF}/html || die |
303 |
- mv "${WORKDIR}"/${P}-doc_html/{index.html,${PN}} \ |
304 |
- "${ED}"/usr/share/doc/${PF}/html || die |
305 |
- fi |
306 |
- |
307 |
- cd "${S}"/.. || die |
308 |
- dodoc \ |
309 |
- doc/{changelog.txt,credits.txt,integration.txt} \ |
310 |
- doc/{problemreport.txt,problemusageunix.txt,todo.txt} |
311 |
-} |