summaryrefslogtreecommitdiff
path: root/app-benchmarks/geekbench/geekbench-7.1.0.ebuild
blob: 8988c05cfc4e39a8556ab1be469c73641a5a6f65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

DESCRIPTION="A Cross-Platform Benchmark for Android, iOS, Linux, MacOS and Windows"
HOMEPAGE="https://www.geekbench.com/"
SRC_URI="
	amd64? ( https://cdn.geekbench.com/Geekbench-${PV}-Linux.tar.gz )
	arm64? ( https://cdn.geekbench.com/Geekbench-${PV}-LinuxARMPreview.tar.gz )
	riscv? ( https://cdn.geekbench.com/Geekbench-${PV}-LinuxRISCVPreview.tar.gz )
"
S="${WORKDIR}"

LICENSE="geekbench"
SLOT="7"
KEYWORDS="-* ~amd64 ~arm64 ~riscv"

RESTRICT="bindist mirror"

BDEPEND="dev-util/patchelf"

QA_PREBUILT="
	opt/geekbench7/geekbench_aarch64
	opt/geekbench7/geekbench_avx2
	opt/geekbench7/geekbench_rv64gc
	opt/geekbench7/geekbench_rv64gcbv
	opt/geekbench7/geekbench_rva23
	opt/geekbench7/geekbench_x86_64
	opt/geekbench7/geekbench7
"

pkg_nofetch() {
	elog "Please download ${A} from ${HOMEPAGE}/download/linux"
	elog "and place it in your DISTDIR directory."
}

src_prepare() {
	default

	local suffix=""
	use arm64 && suffix="ARMPreview"
	use riscv && suffix="RISCVPreview"
	local MY_S="Geekbench-${PV}-Linux${suffix}"

	# Fix QA insecure RUNPATHs
	patchelf --remove-rpath "${MY_S}"/geekbench7 || die
	if use amd64; then
		patchelf --remove-rpath "${MY_S}"/geekbench_{avx2,x86_64} || die
	elif use arm64; then
		patchelf --remove-rpath "${MY_S}"/geekbench_aarch64 || die
	else
		patchelf --remove-rpath "${MY_S}"/geekbench_{rv64gc,rv64gcbv,rva23} || die
	fi
}

src_install() {
	local suffix=""
	use arm64 && suffix="ARMPreview"
	use riscv && suffix="RISCVPreview"
	local MY_S="Geekbench-${PV}-Linux${suffix}"

	exeinto /opt/geekbench7
	use amd64 && doexe "${MY_S}"/geekbench_{avx2,x86_64}
	use arm64 && doexe "${MY_S}"/geekbench_aarch64
	use riscv && doexe "${MY_S}"/geekbench_{rv64gc,rv64gcbv,rva23}
	doexe "${MY_S}"/geekbench7

	insinto /opt/geekbench7
	doins "${MY_S}"/geekbench.plxr "${MY_S}"/geekbench-workload.plxr

	dodir /opt/bin
	dosym ../geekbench7/geekbench7 /opt/bin/geekbench7
}

pkg_postinst() {
	elog "If you have purchased a commercial license, you can enter"
	elog "your email address and your license key with the following command:"
	elog "geekbench7 -r <email address> <license key>"
}