git: eed17095ea9b - main - benchmarks/linux-unigine-superposition: new port had been added (+)

From: Alexey Dokuchaev <danfe_at_FreeBSD.org>
Date: Thu, 09 Jun 2022 12:55:18 UTC
The branch main has been updated by danfe:

URL: https://cgit.FreeBSD.org/ports/commit/?id=eed17095ea9bff5a585bfeda1261afcdddc90dd4

commit eed17095ea9bff5a585bfeda1261afcdddc90dd4
Author:     Alexey Dokuchaev <danfe@FreeBSD.org>
AuthorDate: 2022-06-09 12:54:34 +0000
Commit:     Alexey Dokuchaev <danfe@FreeBSD.org>
CommitDate: 2022-06-09 12:54:34 +0000

    benchmarks/linux-unigine-superposition: new port had been added (+)
    
    Extreme performance and stability test for PC hardware: video card,
    power supply, cooling system.  Also includes interactive experience
    in a beautiful, detailed environment.
    
    This is the fifth and the latest Unigine benchmark featured in our
    Ports Collection.
    
    PR:     240041
---
 benchmarks/Makefile                                |   1 +
 benchmarks/linux-unigine-superposition/Makefile    |  53 ++++++++++
 benchmarks/linux-unigine-superposition/distinfo    |   3 +
 .../files/wrapper.sh.in                            |  22 ++++
 benchmarks/linux-unigine-superposition/pkg-descr   |  19 ++++
 benchmarks/linux-unigine-superposition/pkg-license |  65 ++++++++++++
 benchmarks/linux-unigine-superposition/pkg-plist   | 116 +++++++++++++++++++++
 7 files changed, 279 insertions(+)

diff --git a/benchmarks/Makefile b/benchmarks/Makefile
index cb6892152da5..e69aff16bfd2 100644
--- a/benchmarks/Makefile
+++ b/benchmarks/Makefile
@@ -43,6 +43,7 @@
     SUBDIR += linux-gputest
     SUBDIR += linux-unigine-heaven
     SUBDIR += linux-unigine-sanctuary
+    SUBDIR += linux-unigine-superposition
     SUBDIR += linux-unigine-tropics
     SUBDIR += linux-unigine-valley
     SUBDIR += linux-vdbench
diff --git a/benchmarks/linux-unigine-superposition/Makefile b/benchmarks/linux-unigine-superposition/Makefile
new file mode 100644
index 000000000000..f11e288714cd
--- /dev/null
+++ b/benchmarks/linux-unigine-superposition/Makefile
@@ -0,0 +1,53 @@
+# Created by: Hannes Hauswedell <h2+fbsdports@fsfe.org>
+#
+# The distfile for this port is quite huge (1.5GB); you might consider
+# fetching it via BitTorrent instead:
+#   https://assets.unigine.com/d/Unigine_Superposition-1.1.run.torrent
+#   magnet:?xt=urn:btih:727718DF8E15006FE961EB2458231AC578D7E172
+
+PORTNAME=	unigine-superposition
+PORTVERSION=	1.1
+CATEGORIES=	benchmarks linux
+MASTER_SITES=	https://assets.unigine.com/d/
+PKGNAMEPREFIX=	linux-
+DISTNAME=	Unigine_Superposition-${PORTVERSION}
+EXTRACT_SUFX=	.run
+
+MAINTAINER=	h2+fbsdports@fsfe.org
+COMMENT=	Unigine Superposition benchmark (basic version for GNU/Linux)
+
+LICENSE=	Proprietary
+LICENSE_NAME=	Unigine "Basic" License
+LICENSE_FILE=	${.CURDIR}/pkg-license
+LICENSE_PERMS=	no-dist-sell no-pkg-sell no-dist-mirror no-pkg-mirror
+
+ONLY_FOR_ARCHS=	amd64
+USES=		linux
+USE_LINUX=	dbuslibs dri openal-soft xorglibs
+USE_LDCONFIG=	yes
+NO_BUILD=	yes
+
+SUB_FILES=	wrapper.sh
+
+DESKTOP_ENTRIES="Unigine Superposition" "${COMMENT}" "Superposition" \
+		"${PKGNAMEPREFIX}${PORTNAME}" "Launcher;Benchmark;" false
+
+do-extract:
+	@${MKDIR} ${WRKSRC}
+	@${TAIL} -n 5406267 ${DISTDIR}/${DISTFILES} | ${TAR} xzf - -C ${WRKSRC}
+
+do-install:
+	cd ${WRKSRC} && ${COPYTREE_SHARE} "bin data docs" ${STAGEDIR}${DATADIR}
+	${CHMOD} +x ${STAGEDIR}${DATADIR}/bin/launcher \
+		${STAGEDIR}${DATADIR}/bin/superposition \
+		${STAGEDIR}${DATADIR}/bin/superposition_cli
+	${INSTALL_PROGRAM} ${WRKSRC}/Superposition ${STAGEDIR}${DATADIR}
+	${INSTALL_SCRIPT} ${WRKDIR}/wrapper.sh \
+		${STAGEDIR}${PREFIX}/bin/${PKGNAMEPREFIX}${PORTNAME}
+.for s in 16 24 32 48 64 128 256 512
+	@${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps
+	${INSTALL_DATA} ${WRKSRC}/icons/superposition_icon_${s}.png \
+		${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps/Superposition.png
+.endfor
+
+.include <bsd.port.mk>
diff --git a/benchmarks/linux-unigine-superposition/distinfo b/benchmarks/linux-unigine-superposition/distinfo
new file mode 100644
index 000000000000..c6a3c356ac6d
--- /dev/null
+++ b/benchmarks/linux-unigine-superposition/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1555054620
+SHA256 (Unigine_Superposition-1.1.run) = cd9eb7e0551b2e0804ae0327dce7e71f4305f1e0dc8de0fabec85d91cea71f8a
+SIZE (Unigine_Superposition-1.1.run) = 1642151160
diff --git a/benchmarks/linux-unigine-superposition/files/wrapper.sh.in b/benchmarks/linux-unigine-superposition/files/wrapper.sh.in
new file mode 100644
index 000000000000..c2a1ad1df53f
--- /dev/null
+++ b/benchmarks/linux-unigine-superposition/files/wrapper.sh.in
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+LNX_ROOT=$(sysctl -n compat.linux.emul_path)
+
+if [ ! -f "$LNX_ROOT/proc/self/exe" -o ! -d "$LNX_ROOT/sys/dev/char" ]
+then
+	echo "This program requires mounted linprocfs(5) and linsysfs(5)" >&2
+	exit 1
+fi
+
+# OpenAL Soft uses PulseAudio by default, which might not work on FreeBSD
+
+ALSOFT_CONF=$LNX_ROOT/etc/openal/alsoft.conf
+
+if ! grep -qs '^drivers[[:blank:]]*=[[:blank:]]*oss' "$ALSOFT_CONF"
+then
+	echo "If there's no sound, try putting \`oss' as the first item" \
+	"on the \`drivers' line in the $ALSOFT_CONF file." | fmt -76 >&2
+	sleep 2
+fi
+
+cd %%DATADIR%% && exec ./Superposition
diff --git a/benchmarks/linux-unigine-superposition/pkg-descr b/benchmarks/linux-unigine-superposition/pkg-descr
new file mode 100644
index 000000000000..1059ea161838
--- /dev/null
+++ b/benchmarks/linux-unigine-superposition/pkg-descr
@@ -0,0 +1,19 @@
+Extreme performance and stability test for PC hardware: video card, power
+supply, cooling system.  Check your rig in stock and overclocking modes
+with real-life load!  Also includes interactive experience in a beautiful,
+detailed environment.
+
+A lone professor performs dangerous experiments in an abandoned classroom,
+day in and day out.  Obsessed with inventions and discoveries beyond the
+wildest dreams, he strives to prove his ideas.
+
+Once you come to this place in the early morning, you would not meet him
+there.  The eerie thing is a loud bang from the laboratory heard a few
+moments ago.  What was that?  You have the only chance to cast some light
+upon this incident by going deeply into the matter of quantum theory:
+thorough visual inspection of the professor's records and instruments.
+
+This port includes the binaries for GNU/Linux of the basic (free-to-use)
+version of the benchmark.
+
+WWW: https://benchmark.unigine.com/superposition
diff --git a/benchmarks/linux-unigine-superposition/pkg-license b/benchmarks/linux-unigine-superposition/pkg-license
new file mode 100644
index 000000000000..544d5628016e
--- /dev/null
+++ b/benchmarks/linux-unigine-superposition/pkg-license
@@ -0,0 +1,65 @@
+Superposition Benchmark End-User License Agreement
+
+IMPORTANT - READ CAREFULLY: This End-User License Agreement ("EULA") is a legal agreement between you (either an individual or a single entity, hereinafter referred as to the "User") and UNIGINE HOLDING S.à r.l. (hereinafter referred as to the "Developer") for software product "Unigine Superposition Benchmark" (hereinafter referred as to the "Software Product"). If you are accepting the terms of this EULA on behalf of a legal entity, you represent and warrant that you have the authority to bind that legal entity to the terms of this Agreement, and, in such event, "you" and "your" will refer to that legal entity. Through downloading, installing, copying or using the Software Product you are expressing your consent to these EULA.
+
+1. Editions
+The Software Product is available in three editions: Basic, Advanced and Pro. Some terms are different for different editions, as marked in this EULA. Advanced and Pro editions can be unlocked after installation of Basic edition by entering a special license key.
+
+2. Grant of License
+
+Developer grants User the following rights provided that you comply with all terms and conditions of this EULA:
+
+2.1. Installation and use. It is allowed to install and execute the executable form of the Software Product on unlimited number of computers (Basic edition only) or a single PC (Advanced and Pro editions).
+
+2.1.1. Basic and Advanced editions can be used by private individuals who purchase a license with their own funds, and solely for their own use (Personal Use). Basic and Advanced editions are not to be purchased, refunded or in any way financed by companies.
+
+2.1.2. Organizations and business entities can use only Pro version (Commercial Use). Pro licenses are purchased by a company and can be used by any person within this organization.
+
+2.2. Reserve copying. It is allowed to make copies of the "Software product" only for the purpose of archiving and reserve copying.
+
+3. Other Rights and Limitations
+
+3.1. It is prohibited to open the technology and decompile, disassemble the "Software product" and its components.
+
+3.2. This present EULA does not give the "User" any rights regarding any trademarks or names that belong to the "Developer" and also it does not give any rights on the "Software product" itself or its components except for those mentioned in this EULA.
+
+3.3. It is prohibited to create any derivative works based on the "Software product", either commercial or not.
+
+4. Copyright
+
+4.1. All property rights and author's rights on the "Software product" and regarding it belong to the "Developer" and are protected by copyright acts and standards of international laws in the field of author's rights protection, and also other laws and provisions about protection of intellectual property.
+
+4.2. The "Software product" can not be copied, sold, spread or used (either as a whole or by parts) in any other way that is not mentioned in this EULA without preliminary written consent of the "Developer" on it.
+
+5. Consent to Data Collection
+
+You acknowledge and agree that the Software Product may make Internet connections to:
+ 1. Check for updates;
+ 2. Provide anonymous usage statistics and
+ 3. Validate license keys in order to prevent unauthorized use.
+For more details, please review the privacy policy at https://benchmark.unigine.com/policies/privacy
+
+6. Refusal from Guaranties and Responsibility
+
+6.1. THE SOFTWARE PRODUCT IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+KIND. THE DEVELOPER AND ITS AUTHORIZED PARTNERS DISCLAIM ALL WARRANTIES
+AND CONDITIONS, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
+IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT, AND ANY WARRANTIES AND
+CONDITIONS ARISING OUT OF COURSE OF DEALING OR USAGE OF TRADE. NO ADVICE
+OR INFORMATION, WHETHER ORAL OR WRITTEN, OBTAINED FROM THE DEVELOPER
+OR ELSEWHERE WILL CREATE ANY WARRANTY OR CONDITION NOT EXPRESSLY
+STATED IN THIS AGREEMENT.
+
+6.2. THE "DEVELOPER" REFUSES TO BE MATERIALLY RESPONSIBLE FOR ANY
+SPECIFIC, OCCASIONAL, CIRCUMSTANTIAL OR RELATED DAMAGE (I.E. ALL, WITHOUT
+EXCEPTION, KINDS OF LOSSES: NOT RECEIVED PROFIT, CREATION OF BUSINESS
+OBSTACLES, DISCONTINUANCE OF ENTERPRISE'S ACTIVITY, LOSS OF IMPORTANT
+INFORMATION OR ANY OTHER MATERIAL LOSS OR ANY OTHER LOSSES) THAT
+APPEARED DUE TO USE OR IMPOSSIBILITY TO USE THIS "SOFTWARE PRODUCT" EVEN
+IF THE "DEVELOPER" WAS NOTIFIED ABOUT THE POSSIBILITY OF THIS KIND OF
+DAMAGE.
+
+7. Termination
+
+Without prejudice to any other rights, "Developer" may cancel this EULA if you do not abide by the terms and conditions of this EULA, in which case you must destroy all copies of the "Software Product" and all of its component parts.
diff --git a/benchmarks/linux-unigine-superposition/pkg-plist b/benchmarks/linux-unigine-superposition/pkg-plist
new file mode 100644
index 000000000000..9ac6d8371018
--- /dev/null
+++ b/benchmarks/linux-unigine-superposition/pkg-plist
@@ -0,0 +1,116 @@
+bin/linux-unigine-superposition
+share/icons/hicolor/128x128/apps/Superposition.png
+share/icons/hicolor/16x16/apps/Superposition.png
+share/icons/hicolor/24x24/apps/Superposition.png
+share/icons/hicolor/256x256/apps/Superposition.png
+share/icons/hicolor/32x32/apps/Superposition.png
+share/icons/hicolor/48x48/apps/Superposition.png
+share/icons/hicolor/512x512/apps/Superposition.png
+share/icons/hicolor/64x64/apps/Superposition.png
+%%DATADIR%%/Superposition
+%%DATADIR%%/bin/launcher
+%%DATADIR%%/bin/libAppVive_x64.so
+%%DATADIR%%/bin/libGPUMonitor_x64.so
+%%DATADIR%%/bin/libUnigine_x64.so
+%%DATADIR%%/bin/libopenal.so
+%%DATADIR%%/bin/libopenvr_api.so
+%%DATADIR%%/bin/pro_xml_samples/loop_frame_900_extreme_5min.xml
+%%DATADIR%%/bin/pro_xml_samples/loop_run_high_30min.xml
+%%DATADIR%%/bin/pro_xml_samples/loop_scene_8_high_5min.xml
+%%DATADIR%%/bin/pro_xml_samples/multiple_run_low_5times.xml
+%%DATADIR%%/bin/pro_xml_samples/multiple_run_low_and_high.xml
+%%DATADIR%%/bin/pro_xml_samples/multiple_run_low_dx_and_gl.xml
+%%DATADIR%%/bin/pro_xml_samples/single_run_4k_medium.xml
+%%DATADIR%%/bin/pro_xml_samples/single_run_8k_low.xml
+%%DATADIR%%/bin/pro_xml_samples/single_run_extreme.xml
+%%DATADIR%%/bin/pro_xml_samples/single_run_high.xml
+%%DATADIR%%/bin/pro_xml_samples/single_run_low.xml
+%%DATADIR%%/bin/pro_xml_samples/single_run_medium.xml
+%%DATADIR%%/bin/pro_xml_samples/single_run_vr_htc_future.xml
+%%DATADIR%%/bin/pro_xml_samples/single_run_vr_htc_maximum.xml
+%%DATADIR%%/bin/pro_xml_samples/single_run_vr_oculus_minimum.xml
+%%DATADIR%%/bin/pro_xml_samples/single_run_vr_oculus_optimum.xml
+%%DATADIR%%/bin/qt.conf
+%%DATADIR%%/bin/qt/lib/libQt5Concurrent.so.5
+%%DATADIR%%/bin/qt/lib/libQt5Core.so.5
+%%DATADIR%%/bin/qt/lib/libQt5DBus.so.5
+%%DATADIR%%/bin/qt/lib/libQt5Gui.so.5
+%%DATADIR%%/bin/qt/lib/libQt5Network.so.5
+%%DATADIR%%/bin/qt/lib/libQt5Qml.so.5
+%%DATADIR%%/bin/qt/lib/libQt5Quick.so.5
+%%DATADIR%%/bin/qt/lib/libQt5QuickControls2.so.5
+%%DATADIR%%/bin/qt/lib/libQt5QuickParticles.so.5
+%%DATADIR%%/bin/qt/lib/libQt5QuickTemplates2.so.5
+%%DATADIR%%/bin/qt/lib/libQt5QuickTest.so.5
+%%DATADIR%%/bin/qt/lib/libQt5QuickWidgets.so.5
+%%DATADIR%%/bin/qt/lib/libQt5WebSockets.so.5
+%%DATADIR%%/bin/qt/lib/libQt5Widgets.so.5
+%%DATADIR%%/bin/qt/lib/libQt5XcbQpa.so.5
+%%DATADIR%%/bin/qt/lib/libQt5Xml.so.5
+%%DATADIR%%/bin/qt/lib/libcrypto.so
+%%DATADIR%%/bin/qt/lib/libicudata.so.56
+%%DATADIR%%/bin/qt/lib/libicui18n.so.56
+%%DATADIR%%/bin/qt/lib/libicuuc.so.56
+%%DATADIR%%/bin/qt/lib/libssl.so
+%%DATADIR%%/bin/qt/plugins/platforms/libqxcb.so
+%%DATADIR%%/bin/qt/plugins/xcbglintegrations/libqxcb-egl-integration.so
+%%DATADIR%%/bin/qt/plugins/xcbglintegrations/libqxcb-glx-integration.so
+%%DATADIR%%/bin/qt/qml/Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.so
+%%DATADIR%%/bin/qt/qml/Qt/labs/folderlistmodel/plugins.qmltypes
+%%DATADIR%%/bin/qt/qml/Qt/labs/folderlistmodel/qmldir
+%%DATADIR%%/bin/qt/qml/Qt/labs/settings/libqmlsettingsplugin.so
+%%DATADIR%%/bin/qt/qml/Qt/labs/settings/plugins.qmltypes
+%%DATADIR%%/bin/qt/qml/Qt/labs/settings/qmldir
+%%DATADIR%%/bin/qt/qml/QtGraphicalEffects/LinearGradient.qml
+%%DATADIR%%/bin/qt/qml/QtGraphicalEffects/libqtgraphicaleffectsplugin.so
+%%DATADIR%%/bin/qt/qml/QtGraphicalEffects/private/libqtgraphicaleffectsprivate.so
+%%DATADIR%%/bin/qt/qml/QtGraphicalEffects/private/qmldir
+%%DATADIR%%/bin/qt/qml/QtGraphicalEffects/qmldir
+%%DATADIR%%/bin/qt/qml/QtQuick.2/libqtquick2plugin.so
+%%DATADIR%%/bin/qt/qml/QtQuick.2/plugins.qmltypes
+%%DATADIR%%/bin/qt/qml/QtQuick.2/qmldir
+%%DATADIR%%/bin/qt/qml/QtQuick/Controls.2/ApplicationWindow.qml
+%%DATADIR%%/bin/qt/qml/QtQuick/Controls.2/Button.qml
+%%DATADIR%%/bin/qt/qml/QtQuick/Controls.2/ComboBox.qml
+%%DATADIR%%/bin/qt/qml/QtQuick/Controls.2/ItemDelegate.qml
+%%DATADIR%%/bin/qt/qml/QtQuick/Controls.2/Label.qml
+%%DATADIR%%/bin/qt/qml/QtQuick/Controls.2/Menu.qml
+%%DATADIR%%/bin/qt/qml/QtQuick/Controls.2/MenuItem.qml
+%%DATADIR%%/bin/qt/qml/QtQuick/Controls.2/Popup.qml
+%%DATADIR%%/bin/qt/qml/QtQuick/Controls.2/ProgressBar.qml
+%%DATADIR%%/bin/qt/qml/QtQuick/Controls.2/RadioButton.qml
+%%DATADIR%%/bin/qt/qml/QtQuick/Controls.2/RadioIndicator.qml
+%%DATADIR%%/bin/qt/qml/QtQuick/Controls.2/ScrollBar.qml
+%%DATADIR%%/bin/qt/qml/QtQuick/Controls.2/ScrollIndicator.qml
+%%DATADIR%%/bin/qt/qml/QtQuick/Controls.2/Switch.qml
+%%DATADIR%%/bin/qt/qml/QtQuick/Controls.2/SwitchIndicator.qml
+%%DATADIR%%/bin/qt/qml/QtQuick/Controls.2/TextField.qml
+%%DATADIR%%/bin/qt/qml/QtQuick/Controls.2/ToolTip.qml
+%%DATADIR%%/bin/qt/qml/QtQuick/Controls.2/libqtquickcontrols2plugin.so
+%%DATADIR%%/bin/qt/qml/QtQuick/Controls.2/plugins.qmltypes
+%%DATADIR%%/bin/qt/qml/QtQuick/Controls.2/qmldir
+%%DATADIR%%/bin/qt/qml/QtQuick/Controls/libqtquickcontrolsplugin.so
+%%DATADIR%%/bin/qt/qml/QtQuick/Controls/plugins.qmltypes
+%%DATADIR%%/bin/qt/qml/QtQuick/Controls/qmldir
+%%DATADIR%%/bin/qt/qml/QtQuick/Dialogs/Private/libdialogsprivateplugin.so
+%%DATADIR%%/bin/qt/qml/QtQuick/Dialogs/Private/plugins.qmltypes
+%%DATADIR%%/bin/qt/qml/QtQuick/Dialogs/Private/qmldir
+%%DATADIR%%/bin/qt/qml/QtQuick/Dialogs/libdialogplugin.so
+%%DATADIR%%/bin/qt/qml/QtQuick/Dialogs/plugins.qmltypes
+%%DATADIR%%/bin/qt/qml/QtQuick/Dialogs/qmldir
+%%DATADIR%%/bin/qt/qml/QtQuick/Layouts/libqquicklayoutsplugin.so
+%%DATADIR%%/bin/qt/qml/QtQuick/Layouts/plugins.qmltypes
+%%DATADIR%%/bin/qt/qml/QtQuick/Layouts/qmldir
+%%DATADIR%%/bin/qt/qml/QtQuick/Templates.2/libqtquicktemplates2plugin.so
+%%DATADIR%%/bin/qt/qml/QtQuick/Templates.2/plugins.qmltypes
+%%DATADIR%%/bin/qt/qml/QtQuick/Templates.2/qmldir
+%%DATADIR%%/bin/qt/qml/QtQuick/Window.2/libwindowplugin.so
+%%DATADIR%%/bin/qt/qml/QtQuick/Window.2/plugins.qmltypes
+%%DATADIR%%/bin/qt/qml/QtQuick/Window.2/qmldir
+%%DATADIR%%/bin/superposition
+%%DATADIR%%/bin/superposition_cli
+%%DATADIR%%/data/core.ung
+%%DATADIR%%/data/data.ung
+%%DATADIR%%/data/superposition.ung
+%%DATADIR%%/docs/Superposition_Benchmark_End-User_License_Agreement.pdf
+%%DATADIR%%/docs/Superposition_Benchmark_User_Manual.pdf