diff options
author | Vitaly Zdanevich <zdanevich.vitaly@ya.ru> | 2022-10-12 10:53:09 +0400 |
---|---|---|
committer | Vitaly Zdanevich <zdanevich.vitaly@ya.ru> | 2022-10-12 10:53:09 +0400 |
commit | d04ea1ecf1a757aade2b847c4b3144b09a75f00d (patch) | |
tree | beed7ef29f168f6fe6673c46909480a49725fb5b | |
parent | sys-power/auto-cpufreq: new package, version 1.9.6 (diff) | |
download | guru-d04ea1ecf1a757aade2b847c4b3144b09a75f00d.tar.gz guru-d04ea1ecf1a757aade2b847c4b3144b09a75f00d.tar.bz2 guru-d04ea1ecf1a757aade2b847c4b3144b09a75f00d.zip |
app-benchmark/phoronix-test-suite: new package, add 9999
Signed-off-by: Vitaly Zdanevich <zdanevich.vitaly@ya.ru>
-rw-r--r-- | app-benchmarks/phoronix-test-suite/metadata.xml | 10 | ||||
-rw-r--r-- | app-benchmarks/phoronix-test-suite/phoronix-test-suite-9999.ebuild | 128 |
2 files changed, 138 insertions, 0 deletions
diff --git a/app-benchmarks/phoronix-test-suite/metadata.xml b/app-benchmarks/phoronix-test-suite/metadata.xml new file mode 100644 index 000000000..f957cf2b7 --- /dev/null +++ b/app-benchmarks/phoronix-test-suite/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>zdanevich.vitaly@ya.ru</email> + <name>Vitaly Zdanevich</name> + </maintainer> + <use> + </use> +</pkgmetadata> diff --git a/app-benchmarks/phoronix-test-suite/phoronix-test-suite-9999.ebuild b/app-benchmarks/phoronix-test-suite/phoronix-test-suite-9999.ebuild new file mode 100644 index 000000000..365ff5654 --- /dev/null +++ b/app-benchmarks/phoronix-test-suite/phoronix-test-suite-9999.ebuild @@ -0,0 +1,128 @@ +# 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="http://www.phoronix-test-suite.com" + +LICENSE="GPL-3" +SLOT="0" + +EGIT_REPO_URI="https://github.com/${PN}/${PN}.git" +EGIT3_STORE_DIR="${T}" +inherit git-r3 +SRC_URI="" +KEYWORDS="" + +IUSE="sdl" + +DEPEND="" +RDEPEND="${DEPEND} + app-arch/p7zip + media-libs/libpng + >=dev-lang/php-5.3[cli,curl,gd,posix,pcntl,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 package_names installable_packages="" + local package_close_regexp="</Package>" \ + package_generic_name_regexp="^.*<GenericName>|</GenericName>.*$" \ + package_names_regexp="^.*<PackageName>|</PackageName>.*$" + + 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 + package_names="$(echo "${optional_packages_xmlline}" | sed -r -e "s@${package_names_regexp}@@g" -e 's@(^[[:blank:]]+|[[:blank:]]+$)$@@g' )" + ifield=0 + # shellcheck disable=SC2206 + array_package_names=( ${package_names} ) + 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 + + ewarn "${PN} has the following optional package dependencies:" + get_optional_dependencies "${GENTOO_OPTIONAL_PKGS_XML}" + unset -v GENTOO_OPTIONAL_PKGS_XML +} |