public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "David Roman" <davidroman96@gmail.com>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/proj/guru:master commit in: app-benchmarks/phoronix-test-suite/
Date: Tue, 10 Sep 2024 10:49:30 +0000 (UTC)	[thread overview]
Message-ID: <1725964223.006d0fa9dcb43d525e921396120b9c83336def3a.davidroman@gentoo> (raw)
Message-ID: <20240910104930.JWE-0M2WGvP97oJuD6ceZ0m3lK__42w3VdDUBIBJ99U@z> (raw)

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	other threads:[~2024-09-10 10:49 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-10 10:31 David Roman [this message]
2024-09-10 10:49 ` [gentoo-commits] repo/proj/guru:master commit in: app-benchmarks/phoronix-test-suite/ David Roman
  -- strict thread matches above, loose matches on Subject: below --
2024-09-10 10:31 [gentoo-commits] repo/proj/guru:dev " David Roman
2024-07-19 11:25 Vitaly Zdanevich
2024-07-19 11:18 Vitaly Zdanevich
2024-07-19 11:07 Vitaly Zdanevich
2024-07-18 19:38 Vitaly Zdanevich
2022-10-29 17:21 Anna Vyalkova
2022-10-12  6:55 Vitaly Zdanevich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1725964223.006d0fa9dcb43d525e921396120b9c83336def3a.davidroman@gentoo \
    --to=davidroman96@gmail.com \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox