commit: 1accc08d7cf84c71673452784d8cc274d7f8f5e1 Author: Louis Sautier <sbraz <AT> gentoo <DOT> org> AuthorDate: Wed Aug 19 09:27:14 2020 +0000 Commit: Louis Sautier <sbraz <AT> gentoo <DOT> org> CommitDate: Wed Aug 19 10:12:44 2020 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1accc08d
net-irc/eggdrop: respect LDFLAGS, backport array bounds warning fix Closes: https://bugs.gentoo.org/724948 Package-Manager: Portage-3.0.3, Repoman-2.3.23 Signed-off-by: Louis Sautier <sbraz <AT> gentoo.org> net-irc/eggdrop/eggdrop-1.8.4-r1.ebuild | 77 ++++++++++++++++++++++ .../eggdrop-1.8.4-fix-array-bounds-warning.patch | 24 +++++++ .../files/eggdrop-1.8.4-respect-ldflags.patch | 39 +++++++++++ 3 files changed, 140 insertions(+) diff --git a/net-irc/eggdrop/eggdrop-1.8.4-r1.ebuild b/net-irc/eggdrop/eggdrop-1.8.4-r1.ebuild new file mode 100644 index 00000000000..1ddb84ab8e1 --- /dev/null +++ b/net-irc/eggdrop/eggdrop-1.8.4-r1.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit readme.gentoo-r1 + +DESCRIPTION="An IRC bot extensible with C or TCL" +HOMEPAGE="https://www.eggheads.org/" +SRC_URI="https://ftp.eggheads.org/pub/eggdrop/source/${PV:0:3}/${P}.tar.gz" + +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~sparc ~x86" +LICENSE="GPL-2+" +SLOT="0" +IUSE="debug doc ipv6 ssl static" + +DEPEND=" + dev-lang/tcl:0= + ssl? ( dev-libs/openssl:0= ) +" +RDEPEND=" + sys-apps/gentoo-functions + ${DEPEND} +" + +PATCHES=( + # https://github.com/eggheads/eggdrop/pull/986 + "${FILESDIR}/${P}-respect-ldflags.patch" + # https://github.com/eggheads/eggdrop/pull/841 + "${FILESDIR}/${P}-fix-array-bounds-warning.patch" +) + +DOCS=( AUTHORS FEATURES INSTALL NEWS README THANKS UPGRADING ) + +src_configure() { + econf $(use_enable ssl tls) \ + $(use_enable ipv6 ipv6) + + emake config +} + +src_compile() { + local target + + if use static && use debug; then + target="sdebug" + elif use static; then + target="static" + elif use debug; then + target="debug" + fi + + emake ${target} +} + +src_install() { + emake DEST="${D}"/opt/eggdrop install + + use doc && HTML_DOCS=( doc/html/. ) + rm -r "${D}"/opt/eggdrop/doc/html || die + DOC_CONTENTS=" + Additional documentation can be found + in ${EPREFIX}/opt/eggdrop/doc + " + readme.gentoo_create_doc + einstalldocs + + dobin "${FILESDIR}"/eggdrop-installer + doman doc/man1/eggdrop.1 +} + +pkg_postinst() { + # Only display this for new installs + if [[ -z ${REPLACING_VERSIONS} ]]; then + elog "Please run ${EPREFIX}/usr/bin/eggdrop-installer to install your eggdrop bot." + fi +} diff --git a/net-irc/eggdrop/files/eggdrop-1.8.4-fix-array-bounds-warning.patch b/net-irc/eggdrop/files/eggdrop-1.8.4-fix-array-bounds-warning.patch new file mode 100644 index 00000000000..7c6c2d6dae6 --- /dev/null +++ b/net-irc/eggdrop/files/eggdrop-1.8.4-fix-array-bounds-warning.patch @@ -0,0 +1,24 @@ +diff --git a/src/flags.c b/src/flags.c +index 8cecd2898..3f0a7ea32 100644 +--- a/src/flags.c ++++ b/src/flags.c +@@ -403,7 +403,10 @@ void break_down_flags(const char *string, struct flag_record *plus, + which = plus; + mode++; + if ((mode == 2) && !(flags & (FR_CHAN | FR_BOT))) +- string = ""; ++ goto breakout; /* string = ""; does not work here because we need to ++ break out of while() / nested switch(), see ++ "string++;" below and string = "\0"; is worse than ++ goto */ + else if (mode == 3) + mode = 1; + break; +@@ -447,6 +450,7 @@ void break_down_flags(const char *string, struct flag_record *plus, + } + string++; + } ++breakout: + for (which = plus; which; which = (which == plus ? minus : 0)) { + which->global &=USER_VALID; + diff --git a/net-irc/eggdrop/files/eggdrop-1.8.4-respect-ldflags.patch b/net-irc/eggdrop/files/eggdrop-1.8.4-respect-ldflags.patch new file mode 100644 index 00000000000..e41dbd664c5 --- /dev/null +++ b/net-irc/eggdrop/files/eggdrop-1.8.4-respect-ldflags.patch @@ -0,0 +1,39 @@ +From 36f2df10c6c39290f6896f9ad5eb9d1419a1abe3 Mon Sep 17 00:00:00 2001 +From: Michael Ortmann <41313082+michaelortm...@users.noreply.github.com> +Date: Tue, 26 May 2020 01:08:03 +0200 +Subject: [PATCH] Respect LDFLAGS + +--- + src/Makefile.in | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/src/Makefile.in b/src/Makefile.in +index 6757bbc8c..c9605a049 100644 +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -16,6 +16,7 @@ LD = @CC@ + STRIP = @STRIP@ + CFLAGS = @CFLAGS@ -I.. -I$(top_srcdir) @SSL_INCLUDES@ @DEFS@ $(CFLGS) + CPPFLAGS = @CPPFLAGS@ ++LDFLAGS = @LDFLAGS@ + + eggdrop_objs = bg.o botcmd.o botmsg.o botnet.o chanprog.o cmds.o dcc.o \ + dccutil.o dns.o flags.o language.o match.o main.o mem.o misc.o misc_file.o \ +@@ -41,7 +42,7 @@ linkstart: + touch mod/mod.xlibs + + link: +- $(LD) $(CFLAGS) -o ../$(EGGEXEC) $(eggdrop_objs) $(MODOBJS) $(XLIBS) md5/md5c.o compat/*.o `cat mod/mod.xlibs` ++ $(LD) $(CFLAGS) $(LDFLAGS) -o ../$(EGGEXEC) $(eggdrop_objs) $(MODOBJS) $(XLIBS) md5/md5c.o compat/*.o `cat mod/mod.xlibs` + + linkfinish: + @$(STRIP) ../$(EGGEXEC) && \ +@@ -63,7 +64,7 @@ clean: + main.o: + $(CC) $(CFLAGS) $(CPPFLAGS) \ + '-DCCFLAGS="$(CC) $(CFLAGS) $(CPPFLAGS)"' \ +- '-DLDFLAGS="$(LD)"' \ ++ '-DLDFLAGS="$(LD) $(LDFLAGS)"' \ + '-DSTRIPFLAGS="$(STRIP)"' -c $(srcdir)/main.c + + compatibility: