commit:     006d0fa9dcb43d525e921396120b9c83336def3a
Author:     David Roman <davidroman96 <AT> gmail <DOT> com>
AuthorDate: Tue Sep 10 10:30:23 2024 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Tue Sep 10 10:30:23 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=006d0fa9

app-benchmarks/phoronix-test-suite: add 10.8.4

Signed-off-by: David Roman <davidroman96 <AT> gmail.com>

 app-benchmarks/phoronix-test-suite/Manifest        |   1 +
 .../phoronix-test-suite-10.8.4.ebuild              | 138 +++++++++++++++++++++
 2 files changed, 139 insertions(+)

diff --git a/app-benchmarks/phoronix-test-suite/Manifest 
b/app-benchmarks/phoronix-test-suite/Manifest
new file mode 100644
index 000000000..ccf730961
--- /dev/null
+++ b/app-benchmarks/phoronix-test-suite/Manifest
@@ -0,0 +1 @@
+DIST phoronix-test-suite-10.8.4.gh.tar.gz 4256978 BLAKE2B 
48cac4c6cc97ab2c441638d97c81e14b4632206d5ad15828cfa6b93c1af385344796a57335b3ca5b3b0d2ae65d20516a6869ae32a06da8bd8d643f7056bd6235
 SHA512 
59c416540d2ece85748d4c645972fcc2058c58f961d31c8b4c916351df027fa0fb69dc18dbf8b20bc22bed34bb424944226dc89423e2ec5f84ca6d890881e845

diff --git 
a/app-benchmarks/phoronix-test-suite/phoronix-test-suite-10.8.4.ebuild 
b/app-benchmarks/phoronix-test-suite/phoronix-test-suite-10.8.4.ebuild
new file mode 100644
index 000000000..547f9e272
--- /dev/null
+++ b/app-benchmarks/phoronix-test-suite/phoronix-test-suite-10.8.4.ebuild
@@ -0,0 +1,138 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# shellcheck disable=SC2034
+
+EAPI=8
+
+inherit bash-completion-r1 xdg-utils
+
+DESCRIPTION="Phoronix's comprehensive, cross-platform testing and benchmark 
suite"
+HOMEPAGE="https://www.phoronix-test-suite.com";
+
+if [[ ${PV} == *9999 ]]; then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/${PN}/${PN}.git";
+       EGIT3_STORE_DIR="${T}"
+else
+       
SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz -> 
${P}.gh.tar.gz"
+       KEYWORDS="~amd64"
+
+       S="${WORKDIR}/${PN}"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+
+IUSE="sdl"
+
+RDEPEND="${DEPEND}
+               app-arch/p7zip
+               media-libs/libpng
+               
>=dev-lang/php-5.3[cli,curl,gd,posix,pcntl,simplexml,sockets,ssl,truetype,xml,zip,zlib]
+               www-servers/apache
+               x11-base/xorg-server
+               sdl? (
+                       media-libs/libsdl
+                       media-libs/sdl-net
+                       media-libs/sdl-image
+                       media-libs/libsdl2
+                       media-libs/sdl2-net
+                       media-libs/sdl2-image
+                       media-libs/sdl2-mixer
+
+               )"
+
+check_php_config()
+{
+       local slot
+       for slot in $(eselect --brief php list cli); do
+               local php_dir="/etc/php/cli-${slot}"
+
+               if [[ -f "${EROOT%}/${php_dir}/php.ini" ]]; then
+                       dodir "${php_dir}"
+                       cp -f "${EROOT%}/${php_dir}/php.ini" 
"${ED%}/${php_dir}/php.ini" \
+                                       || die "cp failed: copy php.ini file"
+                       sed -i -e 's|^allow_url_fopen .*|allow_url_fopen = 
On|g' "${ED%}/${php_dir}/php.ini" \
+                                       || die "sed failed: modify php.ini file"
+               elif [[ "$(eselect php show cli)" == "${slot}" ]]; then
+                       ewarn "${slot} does not have a php.ini file."
+                       ewarn "${PN} needs the 'allow_url_fopen' option set to 
\"On\""
+                       ewarn "for downloading to work properly."
+                       ewarn
+               else
+                       elog "${slot} does not have a php.ini file."
+                       elog "${PN} may need the 'allow_url_fopen' option set 
to \"On\""
+                       elog "for downloading to work properly if you switch to 
${slot}"
+                       elog
+               fi
+       done
+}
+
+get_optional_dependencies()
+{
+       (($# == 1)) || die "${FUNCNAME[0]}(): invalid number of arguments: ${#} 
(1)"
+
+       local -a array_package_names
+       local field_value ifield package_generic_name optional_packages_xmlline 
packages installable_packages=""
+       local package_close_regexp="</Package>" \
+                 
package_generic_name_regexp="^.*<GenericName>|</GenericName>.*$" \
+                 package_names_regexp="^.*<PackageName>|</PackageName>.*$"
+                 reg='s@(^[[:blank:]]+|[[:blank:]]+$)$@@g'
+
+       line=0
+       while IFS=$'\n' read -r optional_packages_xmlline; do
+               if [[ "${optional_packages_xmlline}" =~ 
${package_generic_name_regexp} ]]; then
+                       package_generic_name="$(echo 
"${optional_packages_xmlline}" | sed -r "s@${package_generic_name_regexp}@@g")"
+               elif [[ "${optional_packages_xmlline}" =~ 
${package_names_regexp} ]]; then
+                       packages="$(echo "${optional_packages_xmlline}" | sed 
-r -e "s@${package_names_regexp}@@g" -e "${reg}" )"
+                       ifield=0
+                       # shellcheck disable=SC2206
+                       array_package_names=( ${packages} )
+                       for (( ifield=0 ; ifield < ${#array_package_names[@]} ; 
++ifield )); do
+                               field_value="${array_package_names[ifield]}"
+                               [[ ${field_value} =~ ^.+/.+$ ]] || continue     
# skip invalid package atoms
+
+                               if ! has_version "${field_value}"; then
+                                       
installable_packages="${installable_packages}${installable_packages:+ 
}${field_value}"
+                               fi
+                       done
+               elif [[ "${optional_packages_xmlline}" =~ 
${package_close_regexp} && -n "${installable_packages}" ]]; then
+                       ewarn "  ${package_generic_name}: 
${installable_packages}"
+                       installable_packages=""
+               fi
+       done <<< "${1}"
+}
+
+src_prepare() {
+       # BASH completion helper function "have" test is depreciated
+       sed -i -e '/^have phoronix-test-suite &&$/d' 
"${S}/pts-core/static/bash_completion" \
+                       || die "sed failed: remove PTS bash completion have 
test"
+       # Remove all dependency resolving shell scripts - security vulnerability
+       rm -rf "${S}/pts-core/external-test-dependencies/scripts"
+       eapply_user
+}
+
+src_install() {
+       # Store the contents of this file - since it will be installed / 
deleted before we need it.
+       GENTOO_OPTIONAL_PKGS_XML="$(cat 
"${S}/pts-core/external-test-dependencies/xml/gentoo-packages.xml")"
+       newbashcomp pts-core/static/bash_completion "${PN}"
+       DESTDIR="${D}" "${S}/install-sh" "${EPREFIX%}/usr"
+
+       # Fix the cli-php config for downloading to work.
+       check_php_config
+}
+
+pkg_postinst() {
+       xdg_icon_cache_update
+       xdg_mimeinfo_database_update
+       xdg_desktop_database_update
+
+       ewarn "${PN} has the following optional package dependencies:"
+       get_optional_dependencies "${GENTOO_OPTIONAL_PKGS_XML}"
+       unset -v GENTOO_OPTIONAL_PKGS_XML
+}
+
+pkg_postrm() {
+       xdg_desktop_database_update
+}

Reply via email to