diff options
author | Brahmajit Das <brahmajit.xyz@gmail.com> | 2023-06-13 15:21:22 +0000 |
---|---|---|
committer | Viorel Munteanu <ceamac@gentoo.org> | 2023-06-16 08:43:39 +0300 |
commit | ab73df0b66d343f94f5c7815cbb04cb1b966b502 (patch) | |
tree | 7590ed8693faea36e0819131db74db90c78a61f3 /net-misc | |
parent | dev-util/cucumber: drop 7.1.0 (diff) | |
download | gentoo-ab73df0b66d343f94f5c7815cbb04cb1b966b502.tar.gz gentoo-ab73df0b66d343f94f5c7815cbb04cb1b966b502.tar.bz2 gentoo-ab73df0b66d343f94f5c7815cbb04cb1b966b502.zip |
net-misc/olsrd: Fix incompatible pointer to integer conversion initializing int
Closes: https://bugs.gentoo.org/898090
Closes: https://bugs.gentoo.org/870748
Signed-off-by: Brahmajit Das <brahmajit.xyz@gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/31242
Signed-off-by: Viorel Munteanu <ceamac@gentoo.org>
Diffstat (limited to 'net-misc')
-rw-r--r-- | net-misc/olsrd/files/olsrd-0.9.8-clang16-buildfix.patch | 53 | ||||
-rw-r--r-- | net-misc/olsrd/olsrd-0.9.8_p20210612-r1.ebuild | 124 |
2 files changed, 177 insertions, 0 deletions
diff --git a/net-misc/olsrd/files/olsrd-0.9.8-clang16-buildfix.patch b/net-misc/olsrd/files/olsrd-0.9.8-clang16-buildfix.patch new file mode 100644 index 000000000000..0194b17362ba --- /dev/null +++ b/net-misc/olsrd/files/olsrd-0.9.8-clang16-buildfix.patch @@ -0,0 +1,53 @@ +https://github.com/OLSR/olsrd/pull/124 +--- a/lib/filtergw/src/olsrd_filtergw.c ++++ b/lib/filtergw/src/olsrd_filtergw.c +@@ -54,6 +54,7 @@ + #include "log.h" + #include "routing_table.h" + #include "olsr_cfg.h" ++#include "parser.h" + + #include <stdio.h> + #include <string.h> +@@ -75,11 +76,19 @@ struct originator_list { + + struct filter_group { + struct originator_list * originator_list; +- struct hna_group * next; ++ struct filter_group * next; + }; + + static struct filter_group * filter_groups = NULL; + ++/* ++ * Delcaring function prototype here, fixes build error with clang-16. ++ * Clang 16 enables -Wimplicit-function-declaration by default, hence the ++ * error. ++ * Refer: https://bugs.gentoo.org/898090 ++ */ ++int should_filter(union olsr_ip_addr * originator); ++ + /* ------------------------------------------------------------------------- + * Function : add_to_originator_list + * Description: Add a new ip to originator list +@@ -304,4 +313,4 @@ int should_filter(union olsr_ip_addr * originator) + } + } + return is_allowlist ? !found : found; +-} +\ No newline at end of file ++} +--- a/src/linux/kernel_routes_nl.c ++++ b/src/linux/kernel_routes_nl.c +@@ -161,7 +161,11 @@ static void rtnetlink_read(int sock, void *data __attribute__ ((unused)), unsign + sizeof(nladdr), + &iov, + 1, ++#ifndef __GLIBC__ ++ 0, ++#else + NULL, ++#endif + 0, + 0 + }; diff --git a/net-misc/olsrd/olsrd-0.9.8_p20210612-r1.ebuild b/net-misc/olsrd/olsrd-0.9.8_p20210612-r1.ebuild new file mode 100644 index 000000000000..1ba8d428f242 --- /dev/null +++ b/net-misc/olsrd/olsrd-0.9.8_p20210612-r1.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +# Snapshot to fix build failure with >= bison 3.7 +# bug #735572 +MY_COMMIT="4973feb538b5b98b9d8ac2f8f474202f6d73de78" +DESCRIPTION="An implementation of the Optimized Link State Routing protocol" +HOMEPAGE="http://www.olsr.org/" +SRC_URI="https://github.com/OLSR/olsrd/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz" +#SRC_URI="https://github.com/OLSR/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${MY_COMMIT}" + +LICENSE="BSD LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="gtk pud" + +DEPEND=" + gtk? ( + dev-libs/glib:2 + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:2 + ) + pud? ( sci-geosciences/gpsd ) +" +RDEPEND=" + ${DEPEND} +" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-0.9.0.2-gtk.patch + "${FILESDIR}"/${PN}-0.9.8-clang16-buildfix.patch +) + +src_prepare() { + default + + # fix parallel make + # respect AR + # verbose build + # fix default prefix, bug #453440 + sed -i \ + -e '/@echo "\[/d' \ + -e 's|$(MAKECMD)|$(MAKE)|g' \ + -e 's|@$(CC)|$(CC)|g' \ + -e 's|@ar |$(AR) |g' \ + -e '/^prefix/s:/usr/local:/usr:' \ + $( find -name 'Makefile*' ) || die + + # respect LDFLAGS + sed -i \ + -e 's|$(CC)|& $(OLSRD_LDFLAGS)|g' \ + lib/pud/nmealib/Makefile lib/pud/wireformat/Makefile || die +} + +src_configure() { + if ! use pud; then + sed -i -e '/^SUBDIRS/ s|pud||g' Makefile || die + fi +} + +src_compile() { + tc-export PKG_CONFIG + + emake \ + CC="$(tc-getCC)" \ + LIBDIR="/usr/$(get_libdir)/${PN}" \ + OLSRD_LDFLAGS="${LDFLAGS}" \ + OS=linux \ + VERBOSE=1 \ + build_all + + if use gtk; then + emake -C gui/linux-gtk LIBDIR="/usr/$(get_libdir)/${PN}" CC="$(tc-getCC)" + fi +} + +src_install() { + # See bug #715392 re LDCONFIG + emake \ + DESTDIR="${D}" \ + DOCDIR_OLSRD="${D}/usr/share/doc/${PF}" \ + LIBDIR="${D}/usr/$(get_libdir)/${PN}" \ + OS=linux \ + STRIP=true \ + LDCONFIG=true \ + install_all + + if use gtk; then + emake -C gui/linux-gtk \ + DESTDIR="${D}" \ + LIBDIR="${D}/usr/$(get_libdir)/${PN}" \ + install + fi + + doinitd "${FILESDIR}"/${PN} + + gzip -d \ + "${ED}"/usr/share/man/man5/olsrd.conf.5.gz \ + "${ED}"/usr/share/man/man8/olsrd.8.gz \ + || die + + dodoc CHANGELOG \ + valgrind-howto.txt files/olsrd.conf.default.rfc \ + files/olsrd.conf.default.lq \ + lib/arprefresh/README_ARPREFRESH \ + lib/bmf/README_BMF \ + lib/dot_draw/README_DOT_DRAW \ + lib/dyn_gw/README_DYN_GW \ + lib/dyn_gw_plain/README_DYN_GW_PLAIN \ + lib/httpinfo/README_HTTPINFO \ + lib/mini/README_MINI \ + lib/nameservice/README_NAMESERVICE \ + lib/pgraph/README_PGRAPH \ + lib/quagga/README_QUAGGA \ + lib/secure/README_SECURE \ + lib/txtinfo/README_TXTINFO \ + lib/watchdog/README_WATCHDOG +} |