[gentoo-dev] [PATCH] kernel-2.eclass: EAPI 7 support

2021-02-05 Thread David Michael
This converts installation paths prefixed with EROOT or ED to have
a leading slash, switches DEPEND to BDEPEND for EAPI 7 so tools are
installed in BROOT and natively executable, and makes eapply_user
the default src_prepare behavior for EAPIs since 6.

It also drops the binutils build-time dependency since it was added
in the original kernel.eclass implementation ~20 years ago to
enforce a minimum version to avoid old assembly bugs.  All affected
versions are long gone, and it isn't required to install sources
anyway, so skip building the unused binutils dependency.

Signed-off-by: David Michael 
---

Hi,

Can the kernel eclass support EAPI 7 now?  It would help auditing
dependencies to eventually support BDEPEND properly in the ebuilds using
the eclass.

The patch also corrects some whitespace issues that my editor was
highlighting, like extra end-of-line space or random embedded tabs.  I
could drop those changes if needed.

Thanks.

David

 eclass/kernel-2.eclass | 67 +++---
 1 file changed, 31 insertions(+), 36 deletions(-)

diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass
index dccd39ec8f2..12ab19baee7 100644
--- a/eclass/kernel-2.eclass
+++ b/eclass/kernel-2.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: kernel-2.eclass
@@ -8,7 +8,7 @@
 # John Mylchreest 
 # Mike Pagano 
 # 
-# @SUPPORTED_EAPIS: 2 3 4 5 6
+# @SUPPORTED_EAPIS: 2 3 4 5 6 7
 # @BLURB: Eclass for kernel packages
 # @DESCRIPTION:
 # This is the kernel.eclass rewrite for a clean base regarding the 2.6
@@ -28,7 +28,7 @@
 # @ECLASS-VARIABLE:  K_NODRYRUN
 # @DEFAULT_UNSET
 # @DESCRIPTION:
-# if this is set then patch --dry-run will not 
+# if this is set then patch --dry-run will not
 # be run. Certain patches will fail with this parameter
 # See bug #507656
 
@@ -198,11 +198,11 @@
 # If you do change them, there is a chance that we will not fix resulting bugs;
 # that of course does not mean we're not willing to help.
 
-inherit toolchain-funcs
+inherit estack toolchain-funcs
 [[ ${EAPI:-0} == [012345] ]] && inherit epatch
-[[ ${EAPI:-0} == [0123456] ]] && inherit estack eapi7-ver
+[[ ${EAPI:-0} == [0123456] ]] && inherit eapi7-ver
 case ${EAPI:-0} in
-   2|3|4|5|6)
+   2|3|4|5|6|7)
EXPORT_FUNCTIONS src_{unpack,prepare,compile,install,test} \
pkg_{setup,preinst,postinst,postrm} ;;
*) die "${ECLASS}: EAPI ${EAPI} not supported" ;;
@@ -314,7 +314,6 @@ handle_genpatches() {
 # - KV: Kernel Version (2.6.0-gentoo/2.6.0-test11-gentoo-r1)
 # - EXTRAVERSION: The additional version appended to OKV (-gentoo/-gentoo-r1)
 detect_version() {
-
# We've already run, so nothing to do here.
[[ -n ${KV_FULL} ]] && return 0
 
@@ -540,7 +539,6 @@ detect_version() {

UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${KV_MAJOR}.${KV_PATCH}${RELEASE/-git*}.xz
 ${DISTDIR}/patch-${KV_MAJOR}.${KV_PATCH}${RELEASE}.xz"
fi
 
-
fi
 
debug-print-kernel2-variables
@@ -600,10 +598,8 @@ kernel_is_2_6() {
 
 # Capture the sources type and set DEPENDs
 if [[ ${ETYPE} == sources ]]; then
-   DEPEND="!build? (
-   sys-apps/sed
-   >=sys-devel/binutils-2.11.90.0.31
-   )"
+   [[ ${EAPI} == [0-6] ]] && DEPEND="!build? ( sys-apps/sed )" ||
+   BDEPEND="!build? ( sys-apps/sed )"
RDEPEND="!build? (
dev-lang/perl
sys-devel/bc
@@ -638,7 +634,8 @@ if [[ ${ETYPE} == sources ]]; then
# tree has been dropped from the kernel.
kernel_is lt 4 14 && LICENSE+=" !deblob? ( 
linux-firmware )"
 
-   DEPEND+=" deblob? ( ${PYTHON_DEPS} )"
+   [[ ${EAPI} == [0-6] ]] && DEPEND+=" deblob? ( 
${PYTHON_DEPS} )" ||
+   BDEPEND+=" deblob? ( ${PYTHON_DEPS} )"
 
if [[ -n KV_MINOR ]]; then
DEBLOB_PV="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
@@ -826,7 +823,7 @@ unpack_set_extraversion() {
 
 unpack_fix_install_path() {
cd "${S}"
-   sed -i -e 's:#export\tINSTALL_PATH:export\tINSTALL_PATH:' Makefile
+   sed -i -e 's:#export\tINSTALL_PATH:export\tINSTALL_PATH:' Makefile
 }
 
 # Compile Functions
@@ -855,7 +852,7 @@ compile_headers() {
 
# autoconf.h isnt generated unless it already exists. plus, we 
have
# no guarantee that any headers are installed on the system...
-   [[ -f ${EROOT}usr/include/linux/autoconf.h ]] \
+   [[ -f ${EROOT%/}/usr/include/linux/autoconf.h ]] \
|| touch include/linux/autoconf.h
 
# if K_DEFCONFIG isn't set, force to "defconfig"
@@ -932,10 +929,10 @@ install_headers() {
# of this crap anymore :D
if kernel_is ge 2 6 18 ; then
 

[gentoo-dev] Re: [PATCH] kernel-2.eclass: EAPI 7 support

2021-02-05 Thread David Michael
On Fri, Feb 5, 2021 at 12:58 PM David Michael  wrote:
> This converts installation paths prefixed with EROOT or ED to have
> a leading slash, switches DEPEND to BDEPEND for EAPI 7 so tools are
> installed in BROOT and natively executable, and makes eapply_user
> the default src_prepare behavior for EAPIs since 6.
>
> It also drops the binutils build-time dependency since it was added
> in the original kernel.eclass implementation ~20 years ago to
> enforce a minimum version to avoid old assembly bugs.  All affected
> versions are long gone, and it isn't required to install sources
> anyway, so skip building the unused binutils dependency.

Oops, I forgot about the bug.  If someone applies this, you can add
the following line here:

Closes: https://bugs.gentoo.org/702280



[gentoo-dev] Packages up for grabs: www-client/dillo

2021-02-05 Thread Jonas Stein

Dear all

the following packages are up for grabs after dropping
desktop-misc:

www-client/dillo
https://packages.gentoo.org/packages/www-client/dillo

There are no open bugs, but we should have a maintainer for a web 
browser in general.


Last Upstream activity were two small commits in 2018:
https://hg.dillo.org/dillo

Upstream bugtracker is broken
https://www.dillo.org/

A browser in this situation can quickly become a candidate for last rites.

Next steps could be:
- Stabilization
- review of forks/patches

Thank you.

--
Best,
Jonas