20.05.2024 00:13, Thomas Frohwein пишет:
> Can we do the same check for -lt like with chromium? The reason is that
> I don't think the datasize should be reduced if the user has set it
> higher than the 2G.

Ah yes, of course.
OK kn if you want to commit that with op's '0.A.D.' -> '0 A.D.' fix,
otherwise I can do that in a few days (given OKs).

Thanks.

> As in this counter diff:
> 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/games/0ad/base/Makefile,v
> retrieving revision 1.51
> diff -u -p -r1.51 Makefile
> --- Makefile  6 May 2024 12:23:33 -0000       1.51
> +++ Makefile  19 May 2024 21:12:33 -0000
> @@ -2,7 +2,7 @@ COMMENT =             historical real-time strategy
>  
>  DISTNAME =           0ad-${V}-alpha-unix-build
>  PKGNAME =            0ad-${V}
> -REVISION =           6
> +REVISION =           7
>  
>  USE_WXNEEDED =               Yes
>  USE_NOBTCFI =                Yes
> @@ -105,7 +105,7 @@ do-install:
>       cp -R ${WRKDIST}/binaries/data/* ${PREFIX}/share/0ad
>       ${INSTALL_DATA} ${WRKDIST}/binaries/system/lib* ${PREFIX}/lib
>       ${INSTALL_PROGRAM} ${WRKDIST}/binaries/system/pyrogenesis ${PREFIX}/bin
> -     ${INSTALL_SCRIPT} ${WRKDIST}/build/resources/0ad.sh ${PREFIX}/bin/0ad
> +     ${SUBST_PROGRAM} ${WRKDIST}/build/resources/0ad.sh ${PREFIX}/bin/0ad
>       ${INSTALL_DATA_DIR} ${PREFIX}/share/applications
>       ${INSTALL_DATA} ${WRKDIST}/build/resources/0ad.desktop \
>               ${PREFIX}/share/applications/
> Index: patches/patch-build_resources_0ad_sh
> ===================================================================
> RCS file: patches/patch-build_resources_0ad_sh
> diff -N patches/patch-build_resources_0ad_sh
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-build_resources_0ad_sh      19 May 2024 21:12:33 -0000
> @@ -0,0 +1,22 @@
> +Try to crank datasize to 2G to avoid ENOMEM crashes during big games
> +
> +Index: build/resources/0ad.sh
> +--- build/resources/0ad.sh.orig
> ++++ build/resources/0ad.sh
> +@@ -2,6 +2,16 @@
> + 
> + pyrogenesis=$(which pyrogenesis 2> /dev/null)
> + if [ -x "$pyrogenesis" ] ; then
> ++  DATASIZE=$((2 * 1024 * 1024))
> ++  if [ $(ulimit -Sd) -lt ${DATASIZE} ]; then
> ++    ulimit -Sd ${DATASIZE} || \
> ++      ${X11BASE}/bin/xmessage -file - -center -buttons yes:0,no:1 -default 
> no <<- _EOF
> ++    Cannot increase datasize-cur to at least ${DATASIZE}
> ++    Do you want to run 0.A.D. anyway?
> ++    (If so, it may run out of memory and crash.)
> ++    _EOF
> ++    [ $? -eq 0 ] || exit
> ++  fi
> +   "$pyrogenesis" "$@"
> + else
> +   echo "Error: pyrogenesis not found in ($PATH)"
> 

Reply via email to