commit: c381d2a51249c41ce1b0322884f324db769feb66 Author: Jakov Smolic <jakov.smolic <AT> sartura <DOT> hr> AuthorDate: Mon Dec 28 11:50:16 2020 +0000 Commit: David Seifert <soap <AT> gentoo <DOT> org> CommitDate: Mon Dec 28 11:50:16 2020 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c381d2a5
sys-block/vblade: fix build with gcc-10 Closes: https://bugs.gentoo.org/707480 Package-Manager: Portage-3.0.9, Repoman-3.0.1 Signed-off-by: Jakov Smolic <jakov.smolic <AT> sartura.hr> Signed-off-by: David Seifert <soap <AT> gentoo.org> sys-block/vblade/files/vblade-24-fno-common.patch | 48 +++++++++++++++++++++++ sys-block/vblade/files/vblade-24-makefile.patch | 35 +++++++++++++++++ sys-block/vblade/vblade-24.ebuild | 19 +++++---- 3 files changed, 92 insertions(+), 10 deletions(-) diff --git a/sys-block/vblade/files/vblade-24-fno-common.patch b/sys-block/vblade/files/vblade-24-fno-common.patch new file mode 100644 index 00000000000..2a51ddea470 --- /dev/null +++ b/sys-block/vblade/files/vblade-24-fno-common.patch @@ -0,0 +1,48 @@ +Taken from: https://github.com/OpenAoE/vblade/pull/15 +Author: Andreas Kölbl <[email protected]> + +--- /dev/null ++++ b/dat.c +@@ -0,0 +1,12 @@ ++/* dat.c: Global memory for vblade AoE target */ ++#include "dat.h" ++ ++int shelf, slot; ++ulong aoetag; ++uchar mac[6]; ++int bfd; // block file descriptor ++int sfd; // socket file descriptor ++vlong size; // size of vblade ++vlong offset; ++char *progname; ++char serial[Nserial+1]; +--- a/dat.h ++++ b/dat.h +@@ -1,4 +1,5 @@ + /* dat.h: include file for vblade AoE target */ ++#include <sys/types.h> + + #define nil ((void *)0) + /* +@@ -163,12 +164,12 @@ enum { + Nserial= 20, + }; + +-int shelf, slot; +-ulong aoetag; +-uchar mac[6]; +-int bfd; // block file descriptor +-int sfd; // socket file descriptor +-vlong size; // size of vblade +-vlong offset; +-char *progname; +-char serial[Nserial+1]; ++extern int shelf, slot; ++extern ulong aoetag; ++extern uchar mac[6]; ++extern int bfd; // block file descriptor ++extern int sfd; // socket file descriptor ++extern vlong size; // size of vblade ++extern vlong offset; ++extern char *progname; ++extern char serial[Nserial+1]; diff --git a/sys-block/vblade/files/vblade-24-makefile.patch b/sys-block/vblade/files/vblade-24-makefile.patch new file mode 100644 index 00000000000..ed5efb2c2e2 --- /dev/null +++ b/sys-block/vblade/files/vblade-24-makefile.patch @@ -0,0 +1,35 @@ +--- a/makefile ++++ b/makefile +@@ -8,27 +8,22 @@ + sharedir = ${prefix}/share + mandir = ${sharedir}/man + +-O=aoe.o bpf.o ${PLATFORM}.o ata.o +-CFLAGS += -Wall -g -O2 +-CC = gcc ++O=aoe.o bpf.o ${PLATFORM}.o ata.o dat.o ++CFLAGS += -Wall + + vblade: $O +- ${CC} -o vblade $O ++ ${CC} ${LDFLAGS} -o vblade $O ${LIBS} + + aoe.o : aoe.c config.h dat.h fns.h makefile +- ${CC} ${CFLAGS} -c $< + + ${PLATFORM}.o : ${PLATFORM}.c config.h dat.h fns.h makefile +- ${CC} ${CFLAGS} -c $< + + ata.o : ata.c config.h dat.h fns.h makefile +- ${CC} ${CFLAGS} -c $< + +-bpf.o : bpf.c +- ${CC} ${CFLAGS} -c $< ++dat.o : dat.c + + config.h : config/config.h.in makefile +- @if ${CC} ${CFLAGS} config/u64.c > /dev/null 2>&1; then \ ++ @if ${CC} ${CFLAGS} ${CPPFLAGS} config/u64.c > /dev/null 2>&1; then \ + sh -xc "cp config/config.h.in config.h"; \ + else \ + sh -xc "sed 's!^//u64 !!' config/config.h.in > config.h"; \ diff --git a/sys-block/vblade/vblade-24.ebuild b/sys-block/vblade/vblade-24.ebuild index 418e75559d0..e8ee9b2db33 100644 --- a/sys-block/vblade/vblade-24.ebuild +++ b/sys-block/vblade/vblade-24.ebuild @@ -1,7 +1,7 @@ # Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="6" +EAPI=7 inherit toolchain-funcs @@ -17,23 +17,22 @@ RDEPEND="sys-apps/util-linux" S="${WORKDIR}/${PN}-${P}" -src_prepare() { - default +PATCHES=( + "${FILESDIR}"/${P}-fno-common.patch + "${FILESDIR}"/${P}-makefile.patch +) - sed -i -e 's,^CFLAGS.*,CFLAGS += -Wall,' \ - -e 's:-o vblade:${LDFLAGS} \0:' \ - makefile || die -} - -src_compile() { - emake CC="$(tc-getCC)" +src_configure() { + tc-export CC } src_install() { dosbin vblade dosbin "${FILESDIR}"/vbladed + doman vblade.8 dodoc HACKING NEWS README + newconfd "${FILESDIR}"/conf.d-vblade vblade newinitd "${FILESDIR}"/init.d-vblade.vblade0-r2 vblade.vblade0 }
