Gentoo Archives: gentoo-commits

From: David Seifert <soap@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-libs/netwib/files/, net-libs/netwib/
Date: Sat, 18 Mar 2023 21:23:13
Message-Id: 1679174564.686d9515136b4e06bcd234438ec28aa2ffafc866.soap@gentoo
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 -}