[gentoo-dev] dev-libs/re2 needs a new maintainer

2023-08-13 Thread Stephan Hartmann
Hi all,

newer versions of dev-libs/re2 depend on dev-cpp/abseil-cpp. With that
change re2 starts to change ABI with the C++ standard. Therefore, the
chromium project switches to bundled re2 starting with chromium-116 and
drops dev-libs/re2 to maintainer-needed.

Thanks.


[gentoo-dev] [PATCH] llvm.eclass: enable EAPI 8

2022-01-30 Thread Stephan Hartmann
Signed-off-by: Stephan Hartmann 
---
 eclass/llvm.eclass | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/eclass/llvm.eclass b/eclass/llvm.eclass
index 359f3a669d0..fbfd64b88be 100644
--- a/eclass/llvm.eclass
+++ b/eclass/llvm.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: llvm.eclass
@@ -6,7 +6,7 @@
 # Michał Górny 
 # @AUTHOR:
 # Michał Górny 
-# @SUPPORTED_EAPIS: 6 7
+# @SUPPORTED_EAPIS: 6 7 8
 # @BLURB: Utility functions to build against slotted LLVM
 # @DESCRIPTION:
 # The llvm.eclass provides utility functions that can be used to build
@@ -60,7 +60,7 @@ case "${EAPI:-0}" in
0|1|2|3|4|5)
die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}"
;;
-   6|7)
+   6|7|8)
;;
*)
die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}"
-- 
2.34.1




[gentoo-dev] [PATCH v2] unpacker.eclass: enable EAPI 8

2021-08-27 Thread Stephan Hartmann
Add support for 7z, RAR and LHA/LZH.

Signed-off-by: Stephan Hartmann 
---
 eclass/unpacker.eclass | 59 --
 1 file changed, 57 insertions(+), 2 deletions(-)

diff --git a/eclass/unpacker.eclass b/eclass/unpacker.eclass
index c9dab4345c9..74899fd77b7 100644
--- a/eclass/unpacker.eclass
+++ b/eclass/unpacker.eclass
@@ -4,7 +4,7 @@
 # @ECLASS: unpacker.eclass
 # @MAINTAINER:
 # base-sys...@gentoo.org
-# @SUPPORTED_EAPIS: 5 6 7
+# @SUPPORTED_EAPIS: 5 6 7 8
 # @BLURB: helpers for extraneous file formats and consistent behavior across 
EAPIs
 # @DESCRIPTION:
 # Some extraneous file formats are not part of PMS, or are only in certain
@@ -16,7 +16,7 @@
 #  - support partial unpacks?
 
 case ${EAPI:-0} in
-   [567]) ;;
+   [5678]) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 
@@ -335,6 +335,47 @@ unpack_zip() {
[[ $? -le 1 ]] || die "unpacking ${zip} failed (arch=unpack_zip)"
 }
 
+# @FUNCTION: unpack_7z
+# @USAGE: <7z file>
+# @DESCRIPTION:
+# Unpack 7z archives.
+unpack_7z() {
+   [[ $# -eq 1 ]] || die "Usage: ${FUNCNAME} "
+
+   local p7z=$(find_unpackable_file "$1")
+   unpack_banner "${p7z}"
+   local output="$(7z x -y "${p7z}")"
+
+   if [ $? -ne 0 ]; then
+   echo "${output}" >&2
+   die "unpacking ${p7z} failed (arch=unpack_7z)"
+   fi
+}
+
+# @FUNCTION: unpack_rar
+# @USAGE: 
+# @DESCRIPTION:
+# Unpack RAR archives.
+unpack_rar() {
+   [[ $# -eq 1 ]] || die "Usage: ${FUNCNAME} "
+
+   local rar=$(find_unpackable_file "$1")
+   unpack_banner "${rar}"
+   unrar x -idq -o+ "${rar}" || die "unpacking ${rar} failed 
(arch=unpack_rar)"
+}
+
+# @FUNCTION: unpack_lha
+# @USAGE: 
+# @DESCRIPTION:
+# Unpack LHA/LZH archives.
+unpack_lha() {
+   [[ $# -eq 1 ]] || die "Usage: ${FUNCNAME} "
+
+   local lha=$(find_unpackable_file "$1")
+   unpack_banner "${lha}"
+   lha xfq "${lha}" || die "unpacking ${lha} failed (arch=unpack_lha)"
+}
+
 # @FUNCTION: _unpacker
 # @USAGE: 
 # @INTERNAL
@@ -395,6 +436,18 @@ _unpacker() {
arch="unpack_zip" ;;
esac
 
+   # 7z, rar and lha/lzh are handled by package manager in EAPI < 8
+   if [[ ${EAPI} != [567] ]]; then
+   case ${m} in
+   *.7z)
+   arch="unpack_7z" ;;
+   *.rar|*.RAR)
+   arch="unpack_rar" ;;
+   *.LHA|*.LHa|*.lha|*.lzh)
+   arch="unpack_lha" ;;
+   esac
+   fi
+
# finally do the unpack
if [[ -z ${arch}${comp} ]] ; then
unpack "$1"
@@ -471,6 +524,8 @@ unpacker_src_uri_depends() {
d="|| ( app-arch/plzip app-arch/pdlzip app-arch/lzip )" 
;;
*.zst)
d="app-arch/zstd" ;;
+   *.LHA|*.LHa|*.lha|*.lzh)
+   d="app-arch/lha" ;;
esac
deps+=" ${d}"
done
-- 
2.31.1




Re: [gentoo-dev] [PATCH] unpacker.eclass: enable EAPI 8

2021-08-26 Thread Stephan Hartmann




On 8/26/21 5:43 PM, Mike Gilbert wrote:

On Thu, Aug 26, 2021 at 7:40 AM Ulrich Mueller  wrote:



On Thu, 26 Aug 2021, Stephan Hartmann wrote:



--- a/eclass/unpacker.eclass
+++ b/eclass/unpacker.eclass
@@ -4,7 +4,7 @@
  # @ECLASS: unpacker.eclass
  # @MAINTAINER:
  # base-sys...@gentoo.org
-# @SUPPORTED_EAPIS: 5 6 7
+# @SUPPORTED_EAPIS: 5 6 7 8
  # @BLURB: helpers for extraneous file formats and consistent behavior across 
EAPIs
  # @DESCRIPTION:
  # Some extraneous file formats are not part of PMS, or are only in certain
@@ -16,7 +16,7 @@
  #  - support partial unpacks?

  case ${EAPI:-0} in
- [567]) ;;
+ [5678]) ;;
   *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
  esac



I think for EAPI 8 you'll need additional cases in _unpacker() for
7z, .rar, and .lha/.lzh, because package manager support for these
extensions has been dropped:
https://projects.gentoo.org/pms/8/pms.html#x1-135002r24


That would be a nice enhancement for the eclass, but I don't think it
needs to be implemented before EAPI 8 is allowed. It could wait until
some EAPI 8 ebuild actually needs to unpack one of these obscure
formats.

Almost implemented, just need some runtime testing. Will sent an updated 
patch tomorrow.




[gentoo-dev] [PATCH] unpacker.eclass: enable EAPI 8

2021-08-26 Thread Stephan Hartmann
Signed-off-by: Stephan Hartmann 
---
 eclass/unpacker.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/unpacker.eclass b/eclass/unpacker.eclass
index c9dab4345c9..424975ba8ba 100644
--- a/eclass/unpacker.eclass
+++ b/eclass/unpacker.eclass
@@ -4,7 +4,7 @@
 # @ECLASS: unpacker.eclass
 # @MAINTAINER:
 # base-sys...@gentoo.org
-# @SUPPORTED_EAPIS: 5 6 7
+# @SUPPORTED_EAPIS: 5 6 7 8
 # @BLURB: helpers for extraneous file formats and consistent behavior across 
EAPIs
 # @DESCRIPTION:
 # Some extraneous file formats are not part of PMS, or are only in certain
@@ -16,7 +16,7 @@
 #  - support partial unpacks?
 
 case ${EAPI:-0} in
-   [567]) ;;
+   [5678]) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 
-- 
2.31.1




Re: [gentoo-dev] [PATCH 3/3] chromium-2.eclass: enable EAPI 8

2021-08-16 Thread Stephan Hartmann

On 8/12/21 1:16 PM, Ulrich Mueller wrote:



  case ${EAPI} in
-   7) ;;
+   7|8) ;;
*) die "EAPI=${EAPI:-0} is not supported" ;;


Nitpick: Add "${ECLASS}: " at the beginning of the die message.


Thanks. Fixed locally.




  esac




[gentoo-dev] [PATCH 3/3] chromium-2.eclass: enable EAPI 8

2021-08-11 Thread Stephan Hartmann
Signed-off-by: Stephan Hartmann 
---
 eclass/chromium-2.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/chromium-2.eclass b/eclass/chromium-2.eclass
index b97a31e614e..2800934537f 100644
--- a/eclass/chromium-2.eclass
+++ b/eclass/chromium-2.eclass
@@ -6,11 +6,11 @@
 # Chromium Project 
 # @AUTHOR:
 # Mike Gilbert 
-# @SUPPORTED_EAPIS: 7
+# @SUPPORTED_EAPIS: 7 8
 # @BLURB: Shared functions for chromium and google-chrome
 
 case ${EAPI} in
-   7) ;;
+   7|8) ;;
*) die "EAPI=${EAPI:-0} is not supported" ;;
 esac
 
-- 
2.31.1




[gentoo-dev] [PATCH 2/3] chromium-2.eclass: update documentation

2021-08-11 Thread Stephan Hartmann
Signed-off-by: Stephan Hartmann 
---
 eclass/chromium-2.eclass | 13 -
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/eclass/chromium-2.eclass b/eclass/chromium-2.eclass
index 2543078df79..b97a31e614e 100644
--- a/eclass/chromium-2.eclass
+++ b/eclass/chromium-2.eclass
@@ -26,7 +26,8 @@ fi
 # @FUNCTION: chromium_suid_sandbox_check_kernel_config
 # @USAGE:
 # @DESCRIPTION:
-# Ensures the system kernel supports features needed for SUID sandbox to work.
+# Ensures the system kernel supports features needed for SUID and User 
namespaces sandbox
+# to work.
 chromium_suid_sandbox_check_kernel_config() {
if [[ "${MERGE_TYPE}" == "source" || "${MERGE_TYPE}" == "binary" ]]; 
then
# Warn if the kernel does not support features needed for 
sandboxing.
@@ -50,6 +51,12 @@ chromium_suid_sandbox_check_kernel_config() {
 # @DESCRIPTION:
 # List of language packs available for this package.
 
+# @FUNCTION: _chromium_set_l10n_IUSE
+# @USAGE:
+# @INTERNAL
+# @DESCRIPTION:
+# Converts and adds CHROMIUM_LANGS to IUSE. Called automatically if
+# CHROMIUM_LANGS is defined.
 _chromium_set_l10n_IUSE() {
local lang
for lang in ${CHROMIUM_LANGS}; do
@@ -105,6 +112,10 @@ chromium_remove_language_paks() {
done
 }
 
+# @FUNCTION: chromium_pkg_die
+# @USAGE:
+# @DESCRIPTION:
+# EBUILD_DEATH_HOOK function to display some warnings/information about build 
environment.
 chromium_pkg_die() {
if [[ "${EBUILD_PHASE}" != "compile" ]]; then
return
-- 
2.31.1




[gentoo-dev] [PATCH 1/3] chromium-2.eclass: remove GYP support

2021-08-11 Thread Stephan Hartmann
Chromium project replaced GYP with GN in 2016 and nothing in
::gentoo is using GYP.

Signed-off-by: Stephan Hartmann 
---
 eclass/chromium-2.eclass | 36 
 1 file changed, 36 deletions(-)

diff --git a/eclass/chromium-2.eclass b/eclass/chromium-2.eclass
index 54df3b1394c..2543078df79 100644
--- a/eclass/chromium-2.eclass
+++ b/eclass/chromium-2.eclass
@@ -146,40 +146,4 @@ chromium_pkg_die() {
einfo
 }
 
-# @VARIABLE: EGYP_CHROMIUM_COMMAND
-# @DESCRIPTION:
-# Path to the gyp_chromium script.
-: ${EGYP_CHROMIUM_COMMAND:=build/gyp_chromium}
-
-# @VARIABLE: EGYP_CHROMIUM_DEPTH
-# @DESCRIPTION:
-# Depth for egyp_chromium.
-: ${EGYP_CHROMIUM_DEPTH:=.}
-
-# @FUNCTION: egyp_chromium
-# @USAGE: [gyp arguments]
-# @DESCRIPTION:
-# Calls EGYP_CHROMIUM_COMMAND with depth EGYP_CHROMIUM_DEPTH and given
-# arguments. The full command line is echoed for logging.
-egyp_chromium() {
-   set -- "${EGYP_CHROMIUM_COMMAND}" --depth="${EGYP_CHROMIUM_DEPTH}" "$@"
-   echo "$@"
-   "$@"
-}
-
-# @FUNCTION: gyp_use
-# @USAGE:  [GYP flag] [true suffix] [false suffix]
-# @DESCRIPTION:
-# If USE flag is set, echo -D[GYP flag]=[true suffix].
-#
-# If USE flag is not set, echo -D[GYP flag]=[false suffix].
-#
-# [GYP flag] defaults to use_[USE flag] with hyphens converted to underscores.
-#
-# [true suffix] defaults to 1. [false suffix] defaults to 0.
-gyp_use() {
-   local gypflag="-D${2:-use_${1//-/_}}="
-   usex "$1" "${gypflag}" "${gypflag}"  "${3-1}" "${4-0}"
-}
-
 fi
-- 
2.31.1




[gentoo-dev] [PATCH 0/3] Updates for chromium-2.eclass

2021-08-11 Thread Stephan Hartmann
Small cleanup, small documentation improvements and EAPI 8 support.

Stephan Hartmann (3):
  chromium-2.eclass: remove GYP support
  chromium-2.eclass: update documentation
  chromium-2.eclass: enable EAPI 8

 eclass/chromium-2.eclass | 53 +++-
 1 file changed, 14 insertions(+), 39 deletions(-)

-- 
2.31.1




[gentoo-dev] [News item review] V2 Chromium access to Google services

2021-03-08 Thread Stephan Hartmann

Hi,

updated based on previous suggestions.

```
Title: Chromium access to Google services
Author: Stephan Hartmann 
Content-Type: text/plain
Posted: 2021-03-09
Revision: 1
News-Item-Format: 2.0
Display-If-Installed: www-client/chromium

Starting March 15th, 2021 Google Chrome Team will restrict access to
Google APIs and services that are reserved for Google use only. This
means that users are no longer able to login into their Google Accounts
which disables access to for example Chrome Sync.

As a consequence we have to remove Client ID and secret from all
www-client/chromium ebuilds. This change has already been done for
=www-client/chromium-89.0.4389.82. Other versions will be updated
shortly.

If you need one of the Google use only APIs, then you either have to
switch to www-client/google-chrome{-beta,-unstable} or setup your own
keys [1]. However, the latter is only intended for development.
Documentation on how to generate and use own keys can be found in [2].

[1] 
https://groups.google.com/a/chromium.org/g/chromium-dev/c/jgy5pcJ7np8/m/p3j_4b6vBQAJ

[2] https://www.chromium.org/developers/how-tos/api-keys
```

Best regards,

Stephan



[gentoo-dev] [News item review] Chromium access to Google services

2021-03-08 Thread Stephan Hartmann

Hi,

please review the news item inlined below. I would like to publish it 
tomorrow.


```
Title: Chromium access to Google services
Author: Stephan Hartmann 
Content-Type: text/plain
Posted: 2021-03-09
Revision: 1
News-Item-Format: 2.0
Display-If-Installed: www-client/chromium

Starting March 15th, 2021 Google Chrome Team will restrict access to
Google APIs and services that are reserved for Google use only. This
means that users are no longer able to login into their Google Accounts
which disables access to for example Chrome Sync.

As a consequence we have to remove Client ID and secret from all
www-client/chromium ebuilds. This change has already been done for
=www-client/chromium-89.0.4389.82. Other versions will be updated
shortly.

If you need one of the Google use only APIs, then you either have to
switch to www-client/google-chrome{-beta,-unstable} or setup your own
keys [1]. However, the latter is only intended for development.

[1] https://bit.ly/3bsxX8A
```

Best regards,

Stephan



[gentoo-dev] Last rites: app-benchmarks/contest

2021-01-01 Thread Stephan Hartmann

# Stephan Hartmann  (2021-01-01)
# Fails with -fno-common, homepage gone, source gone,
# no maintainer.
# Removal in 30 days. See bug #706824.
app-benchmarks/contest