summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2023-03-18 22:22:44 +0100
committerDavid Seifert <soap@gentoo.org>2023-03-18 22:22:44 +0100
commit686d9515136b4e06bcd234438ec28aa2ffafc866 (patch)
treea6783fe8063cbe92bef067ef54ac861ed49a8e29 /net-libs
parentpackage.mask: Last rite net-analyzer/bigeye (diff)
downloadgentoo-686d9515136b4e06bcd234438ec28aa2ffafc866.tar.gz
gentoo-686d9515136b4e06bcd234438ec28aa2ffafc866.tar.bz2
gentoo-686d9515136b4e06bcd234438ec28aa2ffafc866.zip
net-libs/netwib: fix build with clang 16
Closes: https://bugs.gentoo.org/710626 Closes: https://bugs.gentoo.org/828721 Closes: https://bugs.gentoo.org/879735 Signed-off-by: David Seifert <soap@gentoo.org>
Diffstat (limited to 'net-libs')
-rw-r--r--net-libs/netwib/files/netwib-5.39.0-C99-decls.patch19
-rw-r--r--net-libs/netwib/files/netwib-5.39.0-config.patch35
-rw-r--r--net-libs/netwib/files/netwib-5.39.0-sched_yield.patch85
-rw-r--r--net-libs/netwib/netwib-5.39.0-r1.ebuild56
-rw-r--r--net-libs/netwib/netwib-5.39.0.ebuild61
5 files changed, 195 insertions, 61 deletions
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
new file mode 100644
index 000000000000..4509b3703160
--- /dev/null
+++ b/net-libs/netwib/files/netwib-5.39.0-C99-decls.patch
@@ -0,0 +1,19 @@
+--- a/genemake
++++ b/genemake
+@@ -1279,6 +1279,7 @@
+
+ #---
+ cat > `checkcompilfile` <<EOF
++ #include <string.h>
+ int ether_hostton(char *para1, char *para2);
+ int main(void)
+ { char p1[10], p2[10];
+@@ -1668,7 +1669,7 @@
+ #include <pwd.h>
+ #include <grp.h>
+ int main(void)
+- { getgrgid_r(NULL, NULL, NULL, 0, NULL);
++ { getgrgid_r(0, NULL, NULL, 0, NULL);
+ return(0);
+ }
+ EOF
diff --git a/net-libs/netwib/files/netwib-5.39.0-config.patch b/net-libs/netwib/files/netwib-5.39.0-config.patch
new file mode 100644
index 000000000000..922c9d0dd887
--- /dev/null
+++ b/net-libs/netwib/files/netwib-5.39.0-config.patch
@@ -0,0 +1,35 @@
+--- a/config.dat
++++ b/config.dat
+@@ -7,11 +7,11 @@
+
+ ##########################################################################
+ ### directories where netwib will be installed
+-NETWIBDEF_INSTPREFIX=/usr/local
++NETWIBDEF_INSTPREFIX="${EPREFIX}/usr"
+ NETWIBDEF_INSTINCLUDE=${NETWIBDEF_INSTPREFIX}/include
+ NETWIBDEF_INSTLIB=${NETWIBDEF_INSTPREFIX}/lib
+ NETWIBDEF_INSTBIN=${NETWIBDEF_INSTPREFIX}/bin
+-NETWIBDEF_INSTMAN=${NETWIBDEF_INSTPREFIX}/man
++NETWIBDEF_INSTMAN=${NETWIBDEF_INSTPREFIX}/share/man
+ NETWIBDEF_INSTMAN3=${NETWIBDEF_INSTMAN}/man3
+
+ ### installation destination directory
+@@ -19,14 +19,14 @@
+
+ ##########################################################################
+ ### programs
+-NETWIBDEF_PROGCC=gcc
+-NETWIBDEF_PROGAR=ar
+-NETWIBDEF_PROGRANLIB=ranlib
++NETWIBDEF_PROGCC="${CC}"
++NETWIBDEF_PROGAR="${AR}"
++NETWIBDEF_PROGRANLIB="${RANLIB}"
+ NETWIBDEF_PROGGREP=grep
+
+ ##########################################################################
+ ### compiler options
+-NETWIBDEF_PROGCC_OPT="-Wall -O2"
++NETWIBDEF_PROGCC_OPT="${CFLAGS:-} ${CPPFLAGS:-}"
+ NETWIBDEF_PROGCC_INC=""
+ NETWIBDEF_PROGCC_LIB=""
+ NETWIBDEF_PROGCC_OPTPIC=""
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
new file mode 100644
index 000000000000..06bb248bc949
--- /dev/null
+++ b/net-libs/netwib/files/netwib-5.39.0-sched_yield.patch
@@ -0,0 +1,85 @@
+--- a/genemake
++++ b/genemake
+@@ -1598,21 +1598,6 @@
+ fi
+
+ #---
+-NETWIBDEF_HAVEFUNC_PTHREAD_YIELD=0
+-if [ $NETWIBDEF_HAVEINCL_PTHREAD = 1 ] ; then
+- cat > `checkcompilfile` <<EOF
+- #include <pthread.h>
+- int main(void)
+- { pthread_yield();
+- return(0);
+- }
+-EOF
+- checkcompilstd "pthread_yield" "" "" ""
+- NETWIBDEF_HAVEFUNC_PTHREAD_YIELD=`checkcompilyes`
+- checkceclean
+-fi
+-
+-#---
+ NETWIBDEF_HAVEFUNC_SCHED_YIELD=0
+ if [ $NETWIBDEF_HAVEINCL_SCHED = 1 ] ; then
+ cat > `checkcompilfile` <<EOF
+@@ -2042,7 +2027,6 @@
+ echo "#define NETWIBDEF_HAVEFUNC_PTHREAD_MUTEX_TIMEDLOCK $NETWIBDEF_HAVEFUNC_PTHREAD_MUTEX_TIMEDLOCK" >> $deffile
+ echo "#define NETWIBDEF_HAVEFUNC_PTHREAD_RWLOCK_TIMEDRDLOCK $NETWIBDEF_HAVEFUNC_PTHREAD_RWLOCK_TIMEDRDLOCK" >> $deffile
+ echo "#define NETWIBDEF_HAVEFUNC_PTHREAD_RWLOCK_TIMEDWRLOCK $NETWIBDEF_HAVEFUNC_PTHREAD_RWLOCK_TIMEDWRLOCK" >> $deffile
+-echo "#define NETWIBDEF_HAVEFUNC_PTHREAD_YIELD $NETWIBDEF_HAVEFUNC_PTHREAD_YIELD" >> $deffile
+ echo "#define NETWIBDEF_HAVEFUNC_SCHED_YIELD $NETWIBDEF_HAVEFUNC_SCHED_YIELD" >> $deffile
+ echo "#define NETWIBDEF_HAVEFUNC_GETPWNAM_R $NETWIBDEF_HAVEFUNC_GETPWNAM_R" >> $deffile
+ echo "#define NETWIBDEF_HAVEFUNC_GETGRNAM_R $NETWIBDEF_HAVEFUNC_GETGRNAM_R" >> $deffile
+@@ -2205,7 +2189,6 @@
+ HAVEFUNC_PTHREAD_MUTEX_TIMEDLOCK) echo $NETWIBDEF_HAVEFUNC_PTHREAD_MUTEX_TIMEDLOCK ;;
+ HAVEFUNC_PTHREAD_RWLOCK_TIMEDRDLOCK) echo $NETWIBDEF_HAVEFUNC_PTHREAD_RWLOCK_TIMEDRDLOCK ;;
+ HAVEFUNC_PTHREAD_RWLOCK_TIMEDWRLOCK) echo $NETWIBDEF_HAVEFUNC_PTHREAD_RWLOCK_TIMEDWRLOCK ;;
+- HAVEFUNC_PTHREAD_YIELD) echo $NETWIBDEF_HAVEFUNC_PTHREAD_YIELD ;;
+ HAVEFUNC_SCHED_YIELD) echo $NETWIBDEF_HAVEFUNC_SCHED_YIELD ;;
+ HAVEFUNC_GETPWNAM_R) echo $NETWIBDEF_HAVEFUNC_GETPWNAM_R ;;
+ HAVEFUNC_GETGRNAM_R) echo $NETWIBDEF_HAVEFUNC_GETGRNAM_R ;;
+--- a/netwib/def_windows.h
++++ b/netwib/def_windows.h
+@@ -100,7 +100,6 @@
+ #define NETWIBDEF_HAVEFUNC_PTHREAD_MUTEX_TIMEDLOCK 0
+ #define NETWIBDEF_HAVEFUNC_PTHREAD_RWLOCK_TIMEDRDLOCK 0
+ #define NETWIBDEF_HAVEFUNC_PTHREAD_RWLOCK_TIMEDWRLOCK 0
+-#define NETWIBDEF_HAVEFUNC_PTHREAD_YIELD 0
+ #define NETWIBDEF_HAVEFUNC_SCHED_YIELD 0
+ #define NETWIBDEF_HAVEFUNC_GETPWNAM_R 0
+ #define NETWIBDEF_HAVEFUNC_GETGRNAM_R 0
+--- a/netwib/inc/missing.h
++++ b/netwib/inc/missing.h
+@@ -3,7 +3,6 @@
+ #if 0
+ /* Some systems have the function in their library, but
+ prototypes are missing. Those one can be used instead. */
+- int pthread_yield(void);
+ int getpagesize(void);
+ int usleep(unsigned int useconds);
+ int getpwnam_r(const char *name,
+--- a/netwib/sys/internal.c
++++ b/netwib/sys/internal.c
+@@ -221,8 +221,6 @@
+ NETWIBDEF_HAVEFUNC_PTHREAD_RWLOCK_TIMEDRDLOCK);
+ netwib_co_i("NETWIBDEF_HAVEFUNC_PTHREAD_RWLOCK_TIMEDWRLOCK",
+ NETWIBDEF_HAVEFUNC_PTHREAD_RWLOCK_TIMEDWRLOCK);
+- netwib_co_i("NETWIBDEF_HAVEFUNC_PTHREAD_YIELD",
+- NETWIBDEF_HAVEFUNC_PTHREAD_YIELD);
+ netwib_co_i("NETWIBDEF_HAVEFUNC_SCHED_YIELD",
+ NETWIBDEF_HAVEFUNC_SCHED_YIELD);
+ netwib_co_i("NETWIBDEF_HAVEFUNC_GETPWNAM_R",
+--- a/netwib/sys/priv/pause.c
++++ b/netwib/sys/priv/pause.c
+@@ -6,10 +6,7 @@
+ {
+
+ #if defined NETWIBDEF_SYSNAME_Unix
+- #if NETWIBDEF_HAVEFUNC_PTHREAD_YIELD == 1
+- pthread_yield();
+- return(NETWIB_ERR_OK);
+- #elif NETWIBDEF_HAVEFUNC_SCHED_YIELD == 1
++ #if NETWIBDEF_HAVEFUNC_SCHED_YIELD == 1
+ sched_yield();
+ return(NETWIB_ERR_OK);
+ #endif
diff --git a/net-libs/netwib/netwib-5.39.0-r1.ebuild b/net-libs/netwib/netwib-5.39.0-r1.ebuild
new file mode 100644
index 000000000000..21a268557647
--- /dev/null
+++ b/net-libs/netwib/netwib-5.39.0-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# NOTE: netwib, netwox and netwag go together, bump all or bump none
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Library of Ethernet, IP, UDP, TCP, ICMP, ARP and RARP protocols"
+HOMEPAGE="
+ http://www.laurentconstantin.com/en/netw/netwib/
+ http://ntwib.sourceforge.net/
+"
+SRC_URI="
+ mirror://sourceforge/ntwib/${P}-src.tgz
+ doc? ( mirror://sourceforge/ntwib/${P}-doc_html.tgz )"
+S="${WORKDIR}/${P}-src/src"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc x86"
+IUSE="doc"
+
+DEPEND="
+ net-libs/libnet:1.1
+ net-libs/libpcap"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-C99-decls.patch
+ "${FILESDIR}"/${P}-config.patch
+ "${FILESDIR}"/${P}-sched_yield.patch
+)
+
+src_configure() {
+ tc-export AR CC RANLIB
+ sed -e "s:/lib:/$(get_libdir):" \
+ -i config.dat || die
+
+ sh genemake || die
+}
+
+src_install() {
+ default
+
+ dodoc \
+ ../README.TXT \
+ ../doc/{changelog.txt,credits.txt,integration.txt} \
+ ../doc/{problemreport.txt,problemusageunix.txt,todo.txt}
+
+ if use doc; then
+ docinto html
+ dodoc -r "${WORKDIR}"/${P}-doc_html/{index.html,${PN}}
+ fi
+}
diff --git a/net-libs/netwib/netwib-5.39.0.ebuild b/net-libs/netwib/netwib-5.39.0.ebuild
deleted file mode 100644
index c73eb6097f01..000000000000
--- a/net-libs/netwib/netwib-5.39.0.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# NOTE: netwib, netwox and netwag go together, bump all or bump none
-
-EAPI=8
-
-inherit toolchain-funcs
-
-DESCRIPTION="Library of Ethernet, IP, UDP, TCP, ICMP, ARP and RARP protocols"
-HOMEPAGE="
- http://www.laurentconstantin.com/en/netw/netwib/
- http://ntwib.sourceforge.net/
-"
-SRC_URI="mirror://sourceforge/ntwib/${P}-src.tgz
- doc? ( mirror://sourceforge/ntwib/${P}-doc_html.tgz )"
-S="${WORKDIR}/${P}-src/src"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~ppc x86"
-IUSE="doc"
-
-DEPEND="
- net-libs/libnet:1.1
- net-libs/libpcap
-"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- default
-
- sed -i \
- -e 's:/man$:/share/man:g' \
- -e "s:/lib:/$(get_libdir):" \
- -e "s:/usr/local:/usr:" \
- -e "s:=ar:=$(tc-getAR):" \
- -e "s:=ranlib:=$(tc-getRANLIB):" \
- -e "s:=gcc:=$(tc-getCC):" \
- -e "s:-O2:${CFLAGS}:" \
- config.dat || die
-}
-
-src_configure() {
- sh genemake || die
-}
-
-src_install() {
- default
- dodoc ../README.TXT
- if use doc; then
- mkdir "${ED}"/usr/share/doc/${PF}/html || die
- mv "${WORKDIR}"/${P}-doc_html/{index.html,${PN}} \
- "${ED}"/usr/share/doc/${PF}/html || die
- fi
-
- cd "${S}"/.. || die
- dodoc \
- doc/{changelog.txt,credits.txt,integration.txt} \
- doc/{problemreport.txt,problemusageunix.txt,todo.txt}
-}