* [gentoo-commits] repo/gentoo:master commit in: sys-boot/elilo/, sys-boot/elilo/files/
@ 2015-12-28 19:13 Mike Frysinger
0 siblings, 0 replies; 3+ messages in thread
From: Mike Frysinger @ 2015-12-28 19:13 UTC (permalink / raw
To: gentoo-commits
commit: b6344f771c7953a9cda0765ea27e701c117f2cd1
Author: Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 28 19:07:27 2015 +0000
Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Mon Dec 28 19:07:27 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b6344f77
sys-boot/elilo: fix elilo script error #299665
sys-boot/elilo/elilo-3.16.ebuild | 2 ++
sys-boot/elilo/files/elilo-3.16-elilo-loop.patch | 15 +++++++++++++++
2 files changed, 17 insertions(+)
diff --git a/sys-boot/elilo/elilo-3.16.ebuild b/sys-boot/elilo/elilo-3.16.ebuild
index cefd571..472488d 100644
--- a/sys-boot/elilo/elilo-3.16.ebuild
+++ b/sys-boot/elilo/elilo-3.16.ebuild
@@ -30,6 +30,8 @@ src_unpack() {
}
src_prepare() {
+ epatch "${FILESDIR}"/${PN}-3.16-elilo-loop.patch #299665
+
# The patches Debian had were merged upstream.
#epatch debian/patches/*.diff
diff --git a/sys-boot/elilo/files/elilo-3.16-elilo-loop.patch b/sys-boot/elilo/files/elilo-3.16-elilo-loop.patch
new file mode 100644
index 0000000..b574c29
--- /dev/null
+++ b/sys-boot/elilo/files/elilo-3.16-elilo-loop.patch
@@ -0,0 +1,15 @@
+https://bugs.gentoo.org/299665
+
+patch by Dennis Schridde <devurandom@gmx.net>
+
+--- a/debian/elilo.sh
++++ b/debian/elilo.sh
+@@ -321,6 +321,8 @@
+
+ mnt()
+ {
++ local loop
++
+ ## we can even create bootstrap filesystem images directly if you
+ ## ever wanted too.
+ if [ -f "$boot" ] ; then
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-boot/elilo/, sys-boot/elilo/files/
@ 2018-10-01 22:35 Sergei Trofimovich
0 siblings, 0 replies; 3+ messages in thread
From: Sergei Trofimovich @ 2018-10-01 22:35 UTC (permalink / raw
To: gentoo-commits
commit: e8e25b692b8ae413127a7766ae5c66461b33a864
Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 1 22:34:49 2018 +0000
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Mon Oct 1 22:35:31 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e8e25b69
sys-boot/elilo: fix build failure against gnu-efi-3.0.8
Build failed as:
> ./../fs/../strops.h:30:16: error: conflicting types for 'StrnCpy'
> extern CHAR16 *StrnCpy(OUT CHAR16 *dst, IN const CHAR16 *src, UINTN count);
> ^~~~~~~
Work it around by renaming local 'StrnCpy' definition to 'elilo_StrnCpy'.
Reported-by: Bill Glessner
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
Package-Manager: Portage-2.3.50, Repoman-2.3.11
sys-boot/elilo/elilo-3.16-r3.ebuild | 89 ++++++++++++++++++++++
.../elilo/files/elilo-3.16-strncpy-clash.patch | 23 ++++++
2 files changed, 112 insertions(+)
diff --git a/sys-boot/elilo/elilo-3.16-r3.ebuild b/sys-boot/elilo/elilo-3.16-r3.ebuild
new file mode 100644
index 00000000000..de13af20f9a
--- /dev/null
+++ b/sys-boot/elilo/elilo-3.16-r3.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs eutils multilib
+
+DESCRIPTION="Linux boot loader for EFI-based systems such as IA-64"
+HOMEPAGE="https://sourceforge.net/projects/elilo/"
+SRC_URI="mirror://sourceforge/elilo/${P}-all.tar.gz
+ mirror://debian/pool/main/e/elilo/elilo_3.14-3.debian.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~x86"
+IUSE=""
+
+# gnu-efi contains only static libs, so there's no run-time dep on it
+DEPEND=">=sys-boot/gnu-efi-3.0g
+ dev-util/patchutils"
+# dosfstools[compat] to enable 'dosfsck' symlink
+RDEPEND="sys-boot/efibootmgr
+ sys-fs/dosfstools[compat]"
+
+S="${WORKDIR}/${P}-source"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.16-elilo-loop.patch #299665
+ "${FILESDIR}"/${PN}-3.16-gnu-efi-3.0.6-ia64.patch
+ "${FILESDIR}"/${PN}-3.16-strncpy-clash.patch
+)
+
+src_unpack() {
+ unpack ${A} ./${P}-source.tar.gz
+ mv debian "${S}"/ || die
+}
+
+src_prepare() {
+ default
+
+ case $(tc-arch) in
+ ia64) iarch=ia64 ;;
+ x86) iarch=ia32 ;;
+ amd64) iarch=x86_64 ;;
+ *) die "unknown architecture: $(tc-arch)" ;;
+ esac
+
+ # Now Gentooize it.
+ sed -i \
+ -e '1s:/bin/sh:/bin/bash:' \
+ -e "s:##VERSION##:${PV}:" \
+ -e 's:Debian GNU/:Gentoo :g' \
+ -e 's:Debian:Gentoo:g' \
+ -e 's:debian:gentoo:g' \
+ -e "s:dpkg --print-architecture:echo ${iarch}:" \
+ debian/elilo.sh || die
+}
+
+src_compile() {
+ # "prefix" on the next line specifies where to find gcc, as, ld,
+ # etc. It's not the usual meaning of "prefix". By blanking it we
+ # allow PATH to be searched.
+ local libdir="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
+ emake -j1 \
+ prefix= \
+ AS="$(tc-getAS)" \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" \
+ HOSTARCH=${iarch} \
+ ARCH=${iarch} \
+ EFIINC="${SYSROOT}${EPREFIX}/usr/include/efi" \
+ GNUEFILIB="${libdir}" \
+ EFILIB="${libdir}" \
+ EFICRT0="${libdir}"
+}
+
+src_install() {
+ exeinto /usr/lib/elilo
+ doexe elilo.efi
+
+ newsbin debian/elilo.sh elilo
+ dosbin tools/eliloalt
+
+ insinto /etc
+ newins "${FILESDIR}"/elilo.conf.sample elilo.conf
+
+ dodoc docs/* "${FILESDIR}"/elilo.conf.sample
+ doman debian/*.[0-9]
+}
diff --git a/sys-boot/elilo/files/elilo-3.16-strncpy-clash.patch b/sys-boot/elilo/files/elilo-3.16-strncpy-clash.patch
new file mode 100644
index 00000000000..fb2f6878be0
--- /dev/null
+++ b/sys-boot/elilo/files/elilo-3.16-strncpy-clash.patch
@@ -0,0 +1,23 @@
+gnu-efi-3.0.8 added StrnCpy. This caused conflict with elilo's definition:
+ ./../fs/../strops.h:30:16: error: conflicting types for 'StrnCpy'
+ extern CHAR16 *StrnCpy(OUT CHAR16 *dst, IN const CHAR16 *src, UINTN count);
+ ^~~~~~~
+
+Work it around by always using private copy.
+
+Reported-by: Bill Glessner
+--- a/strops.h
++++ b/strops.h
+@@ -29,3 +29,4 @@
+ extern CHAR16 *StrChr(IN const CHAR16 *s, const CHAR16 c);
++#define StrnCpy elilo_StrnCpy
+ extern CHAR16 *StrnCpy(OUT CHAR16 *dst, IN const CHAR16 *src, UINTN count);
+ extern CHAR8 *StrnXCpy(OUT CHAR8 *dst, IN const CHAR16 *src, UINTN count);
+--- a/strops.c
++++ b/strops.c
+@@ -27,4 +27,6 @@
+ #include <efilib.h>
+
++#include "strops.h"
++
+ //#define CHAR_NULL (CHAR16)'\0'
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-boot/elilo/, sys-boot/elilo/files/
@ 2020-09-27 8:31 Sergei Trofimovich
0 siblings, 0 replies; 3+ messages in thread
From: Sergei Trofimovich @ 2020-09-27 8:31 UTC (permalink / raw
To: gentoo-commits
commit: d32794f6d9f1b9aafa7b89b9162eb1b7083252b6
Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 27 08:31:35 2020 +0000
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sun Sep 27 08:31:52 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d32794f6
sys-boot/elilo: pass *FLAGS to eliloalt
The primary build target is a PE-EFI target.
But auxiliary binaries are native binaries.
Provide NATIVE_* variables to pass native opt flags.
Reported-by: Agostino Sarubbo
Closes: https://bugs.gentoo.org/744931
Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
sys-boot/elilo/elilo-3.16-r4.ebuild | 93 +++++++++++++++++++++++++++++
sys-boot/elilo/files/elilo-3.16-FLAGS.patch | 19 ++++++
2 files changed, 112 insertions(+)
diff --git a/sys-boot/elilo/elilo-3.16-r4.ebuild b/sys-boot/elilo/elilo-3.16-r4.ebuild
new file mode 100644
index 00000000000..c4cd5a90dd8
--- /dev/null
+++ b/sys-boot/elilo/elilo-3.16-r4.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs eutils multilib
+
+DESCRIPTION="Linux boot loader for EFI-based systems such as IA-64"
+HOMEPAGE="https://sourceforge.net/projects/elilo/"
+SRC_URI="mirror://sourceforge/elilo/${P}-all.tar.gz
+ mirror://debian/pool/main/e/elilo/elilo_3.14-3.debian.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~x86"
+IUSE=""
+
+# gnu-efi contains only static libs, so there's no run-time dep on it
+DEPEND=">=sys-boot/gnu-efi-3.0g
+ dev-util/patchutils"
+# dosfstools[compat] to enable 'dosfsck' symlink
+RDEPEND="sys-boot/efibootmgr
+ sys-fs/dosfstools[compat]"
+
+S="${WORKDIR}/${P}-source"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.16-elilo-loop.patch #299665
+ "${FILESDIR}"/${PN}-3.16-gnu-efi-3.0.6-ia64.patch
+ "${FILESDIR}"/${PN}-3.16-strncpy-clash.patch
+ "${FILESDIR}"/${PN}-3.16-FLAGS.patch
+)
+
+src_unpack() {
+ unpack ${A} ./${P}-source.tar.gz
+ mv debian "${S}"/ || die
+}
+
+src_prepare() {
+ default
+
+ case $(tc-arch) in
+ ia64) iarch=ia64 ;;
+ x86) iarch=ia32 ;;
+ amd64) iarch=x86_64 ;;
+ *) die "unknown architecture: $(tc-arch)" ;;
+ esac
+
+ # Now Gentooize it.
+ sed -i \
+ -e '1s:/bin/sh:/bin/bash:' \
+ -e "s:##VERSION##:${PV}:" \
+ -e 's:Debian GNU/:Gentoo :g' \
+ -e 's:Debian:Gentoo:g' \
+ -e 's:debian:gentoo:g' \
+ -e "s:dpkg --print-architecture:echo ${iarch}:" \
+ debian/elilo.sh || die
+}
+
+src_compile() {
+ # "prefix" on the next line specifies where to find gcc, as, ld,
+ # etc. It's not the usual meaning of "prefix". By blanking it we
+ # allow PATH to be searched.
+ local libdir="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
+ emake -j1 \
+ prefix= \
+ AS="$(tc-getAS)" \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" \
+ OBJCOPY="$(tc-getOBJCOPY)" \
+ HOSTARCH=${iarch} \
+ ARCH=${iarch} \
+ EFIINC="${SYSROOT}${EPREFIX}/usr/include/efi" \
+ GNUEFILIB="${libdir}" \
+ EFILIB="${libdir}" \
+ EFICRT0="${libdir}" \
+ NATIVE_CFLAGS="${CFLAGS}" \
+ NATIVE_LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ exeinto /usr/lib/elilo
+ doexe elilo.efi
+
+ newsbin debian/elilo.sh elilo
+ dosbin tools/eliloalt
+
+ insinto /etc
+ newins "${FILESDIR}"/elilo.conf.sample elilo.conf
+
+ dodoc docs/* "${FILESDIR}"/elilo.conf.sample
+ doman debian/*.[0-9]
+}
diff --git a/sys-boot/elilo/files/elilo-3.16-FLAGS.patch b/sys-boot/elilo/files/elilo-3.16-FLAGS.patch
new file mode 100644
index 00000000000..a77e44d0b18
--- /dev/null
+++ b/sys-boot/elilo/files/elilo-3.16-FLAGS.patch
@@ -0,0 +1,19 @@
+eliloalt is a rare native tool. Allow user to explicitly pass
+standart optimization flags via
+ $ make NATIIVE_CFLAGS=${CFLAGS} NATIVE_LDFLAGS
+https://bugs.gentoo.org/744931
+--- a/tools/Makefile
++++ b/tools/Makefile
+@@ -42,10 +42,10 @@ all: $(TARGET)
+ # redefine local rule (we build a Linux/ia64 binary here)
+ #
+ %.o: %.c
+- $(CC) $(OPTIMFLAGS) $(DEBUGFLAGS) -c $< -o $@
++ $(CC) $(OPTIMFLAGS) $(NATIVE_CFLAGS) $(DEBUGFLAGS) -c $< -o $@
+
+ $(TARGET): %:%.o
+- $(CC) -o $@ $(OPTIMFLAGS) $(DEBUGFLAGS) $^
++ $(CC) -o $@ $(OPTIMFLAGS) $(NATIVE_CFLAGS) $(NATIVE_LDFLAGS) $(DEBUGFLAGS) $^
+
+ clean:
+ $(RM) -f $(TARGET) $(FILES)
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-09-27 8:32 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-01 22:35 [gentoo-commits] repo/gentoo:master commit in: sys-boot/elilo/, sys-boot/elilo/files/ Sergei Trofimovich
-- strict thread matches above, loose matches on Subject: below --
2020-09-27 8:31 Sergei Trofimovich
2015-12-28 19:13 Mike Frysinger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox