Re: [gentoo-dev] [PATCH v2 1/2] check-reqs.eclass: runtime disk checks for any path.

2024-02-25 Thread zzam

Am 26.02.24 um 07:31 schrieb Robin H. Johnson:

Allow checking any runtime path for installing ever-larger packages.

CHECKREQS_DISK_RUNTIME=( /boot:40M /:350M /opt:500M )


In the example case: Shouldn't the eclass check for 850M on / if /opt is 
not a separate partition?
I am not sure how often it really happens that multiple large 
requirements for different folders exist.




Recent example of large packages:

gentoo-kernel-bin:
/ >=350MB/version (in /lib/modules)
/boot >=40MB/version

rust-bin:
/opt  >=450MB/version

Signed-off-by: Robin H. Johnson 
---
  eclass/check-reqs.eclass | 23 +++
  1 file changed, 23 insertions(+)

diff --git a/eclass/check-reqs.eclass b/eclass/check-reqs.eclass
index fac2f4553d74..1c59c69489a9 100644
--- a/eclass/check-reqs.eclass
+++ b/eclass/check-reqs.eclass
@@ -30,6 +30,13 @@
  # # install will need this much space in /var
  # CHECKREQS_DISK_VAR="1024M"
  #
+# # install will need this much space in listed paths.
+# CHECKREQS_DISK_RUNTIME=(
+#   /var:1G
+#   /boot/efi:32M
+#   /opt/giant-package-with-dedicated-disk:100G
+# )
+#
  # @CODE
  #
  # If you don't specify a value for, say, CHECKREQS_MEMORY, then the test is 
not
@@ -66,6 +73,11 @@ _CHECK_REQS_ECLASS=1
  # @DESCRIPTION:
  # How much space is needed in /var? Eg.: CHECKREQS_DISK_VAR=3000M
  
+# @ECLASS_VARIABLE: CHECKREQS_DISK_RUNTIME

+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# How much space is needed in paths? Eg.: CHECKREQS_DISK_RUNTIME=( /:1G 
/var:5G )
+
  # @ECLASS_VARIABLE: CHECKREQS_DONOTHING
  # @USER_VARIABLE
  # @DEFAULT_UNSET
@@ -120,6 +132,7 @@ _check-reqs_prepare() {
debug-print-function ${FUNCNAME} "$@"
  
  	if [[ -z ${CHECKREQS_MEMORY} &&

+   "${#CHECKREQS_DISK_RUNTIME[@]}" -eq 0 &&
-z ${CHECKREQS_DISK_BUILD} &&
-z ${CHECKREQS_DISK_USR} &&
-z ${CHECKREQS_DISK_VAR} ]]; then
@@ -161,6 +174,16 @@ _check-reqs_run() {
fi
  
  	if [[ ${MERGE_TYPE} != buildonly ]]; then

+   if [[ "${#CHECKREQS_DISK_RUNTIME[@]}" -gt 0 ]]; then
+   for _path_size in "${CHECKREQS_DISK_RUNTIME[@]}"; do
+   _path=${_path_size/:*}
+   _size=${_path_size/*:}
+   _check-reqs_disk \
+   "${EROOT%/}${_path}" "${_size}"
+   done
+   unset _path_size _path _size
+   fi
+
[[ -n ${CHECKREQS_DISK_USR} ]] && \
_check-reqs_disk \
"${EROOT%/}/usr" \





Re: [gentoo-dev] [PATCH] games-strategy/wargus: Fix running it with games-engines/stratagus[debug]

2024-02-15 Thread zzam

Am 15.02.24 um 16:06 schrieb Michał Górny:


Oh, sorry, I've just realized that I'm maintaining stratagus these days.
Will fix it, thanks!


Good. Your solution also fixes this issue.
Thank you for committing it.

I "just" wanted to debug why wargus crashes.
This is already fruitful. I already found and fixed a couple of issues 
(without touching the crashing part yet :-) ).


To see if it is better with the master-branch, I locally created 
live-ebuilds and started to fix some build-system issues first.


Regards
Matthias




Re: [gentoo-dev] [PATCH] games-strategy/wargus: Fix running it with games-engines/stratagus[debug]

2024-02-15 Thread zzam

Am 15.02.24 um 13:59 schrieb Eli Schwartz:

On 2/15/24 7:53 AM, Matthias Schwarzott wrote:

When stratagus is compiled with USE=debug, its executable is called
/usr/bin/stratatgus-dbg.

Signed-off-by: Matthias Schwarzott 
---
  games-strategy/wargus/wargus-3.3.2.ebuild | 6 --
  1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/games-strategy/wargus/wargus-3.3.2.ebuild 
b/games-strategy/wargus/wargus-3.3.2.ebuild
index fff6023fa177..3295b2911d48 100644
--- a/games-strategy/wargus/wargus-3.3.2.ebuild
+++ b/games-strategy/wargus/wargus-3.3.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
  # Distributed under the terms of the GNU General Public License v2
  
  EAPI=8

@@ -46,10 +46,12 @@ pkg_pretend() {
  }
  
  src_configure() {

+   local suffix=
+   has_version games-engines/stratagus[debug] && suffix=-dbg
local mycmakeargs=(
-DGAMEDIR="${EPREFIX}/usr/bin"
-DBINDIR="${EPREFIX}/usr/bin"
-   -DSTRATAGUS="${EPREFIX}/usr/bin/stratagus"
+   -DSTRATAGUS="${EPREFIX}/usr/bin/stratagus${suffix}"
-DSHAREDIR="${EPREFIX}/usr/share/stratagus/wargus"
-DICONDIR=/usr/share/icons/hicolor/64x64/apps
-DWITH_STORMLIB=$(usex bne)




Ok so this just means the package will be broken if you change the USE
flags for stratagus and wargus doesn't get rebuilt.

Exactly. It would even be simpler to patch that renaming out. I will 
send a change to stratagus-ebuild.



Why is the executable name different, anyway?


I have no clue. My guess is to have a separate executable.

This is from stratagus CMakeLists.txt:
 cut ===
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
set_target_properties(stratagus PROPERTIES OUTPUT_NAME stratagus-dbg)
endif()
 cut ===

Matthias