diff options
author | David Seifert <soap@gentoo.org> | 2023-03-18 22:22:44 +0100 |
---|---|---|
committer | David Seifert <soap@gentoo.org> | 2023-03-18 22:22:44 +0100 |
commit | 686d9515136b4e06bcd234438ec28aa2ffafc866 (patch) | |
tree | a6783fe8063cbe92bef067ef54ac861ed49a8e29 /net-libs/netwib | |
parent | package.mask: Last rite net-analyzer/bigeye (diff) | |
download | gentoo-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/netwib')
-rw-r--r-- | net-libs/netwib/files/netwib-5.39.0-C99-decls.patch | 19 | ||||
-rw-r--r-- | net-libs/netwib/files/netwib-5.39.0-config.patch | 35 | ||||
-rw-r--r-- | net-libs/netwib/files/netwib-5.39.0-sched_yield.patch | 85 | ||||
-rw-r--r-- | net-libs/netwib/netwib-5.39.0-r1.ebuild | 56 | ||||
-rw-r--r-- | net-libs/netwib/netwib-5.39.0.ebuild | 61 |
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} -} |