From a3bea12b30eb9c75b07bb5c0a6288e5b8b11e537 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Andr=C3=A9=20Reuter?= Date: Fri, 14 Jun 2024 10:19:52 +0200 Subject: [PATCH] cubegui: Add package MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jan André Reuter --- components/perf-tools/cubegui/LICENSE | 39 +++++ .../perf-tools/cubegui/SOURCES/rpmlintrc | 0 .../perf-tools/cubegui/SPECS/cubegui.spec | 147 ++++++++++++++++++ 3 files changed, 186 insertions(+) create mode 100644 components/perf-tools/cubegui/LICENSE create mode 100644 components/perf-tools/cubegui/SOURCES/rpmlintrc create mode 100644 components/perf-tools/cubegui/SPECS/cubegui.spec diff --git a/components/perf-tools/cubegui/LICENSE b/components/perf-tools/cubegui/LICENSE new file mode 100644 index 0000000000..6acf6ab046 --- /dev/null +++ b/components/perf-tools/cubegui/LICENSE @@ -0,0 +1,39 @@ + CUBE v4 LICENSE AGREEMENT + ========================= + +Copyright (c) 1998-2024 Forschungszentrum Juelich GmbH, Germany +Copyright (c) 2009-2015 German Research School for Simulation Sciences GmbH, + Juelich/Aachen, Germany + +All rights reserved. + + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +* Neither the names of + the Forschungszentrum Juelich GmbH, + the German Research School for Simulation Sciences GmbH, + nor the names of their contributors may be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/components/perf-tools/cubegui/SOURCES/rpmlintrc b/components/perf-tools/cubegui/SOURCES/rpmlintrc new file mode 100644 index 0000000000..e69de29bb2 diff --git a/components/perf-tools/cubegui/SPECS/cubegui.spec b/components/perf-tools/cubegui/SPECS/cubegui.spec new file mode 100644 index 0000000000..5a26917492 --- /dev/null +++ b/components/perf-tools/cubegui/SPECS/cubegui.spec @@ -0,0 +1,147 @@ +#----------------------------------------------------------------------------bh- +# This RPM .spec file is part of the OpenHPC project. +# +# It may have been modified from the default version supplied by the underlying +# release package (if available) in order to apply patches, perform customized +# build/install configurations, and supply additional files to support +# desired integration conventions. +# +#----------------------------------------------------------------------------eh- + +# Build that is dependent on compiler toolchains +%define ohpc_compiler_dependent 1 +%include %{_sourcedir}/OHPC_macros + +# Base package name +%define pname cubegui +%define shortwv 4.8 + +Summary: CUBE Uniform Behavioral Encoding generic presentation GUI component +Name: %{pname}-%{compiler_family}%{PROJ_DELIM} +Version: 4.8.2 +Release: 1%{?dist} +License: BSD-3-Clause +Group: %{PROJ_NAME}/serial-libs +URL: http://www.scalasca.org/software/cube-4.x/download.html +Source0: http://apps.fz-juelich.de/scalasca/releases/cube/%shortwv/dist/cubegui-%{version}.tar.gz +BuildRequires: chrpath +BuildRequires: cubelib-%{compiler_family}%{PROJ_DELIM} >= 4.8.2 +BuildRequires: gcc-c++ +BuildRequires: make +%if 0%{?suse_version} +BuildRequires: libqt5-qtbase-devel +%else +BuildRequires: qt5-qtbase-devel +%endif +BuildRequires: which +BuildRequires: zlib-devel +Requires: lmod%{PROJ_DELIM} >= 7.6.1 +%if 0%{?suse_version} +Requires: libqt5-base +%else +Requires: qt5-qtbase +%endif +BuildRequires: zlib + +# Default library install path +%define install_path %{OHPC_LIBS}/%{compiler_family}/%{pname}/%version + +%description +CUBE (CUBE Uniform Behavioral Encoding) is a generic presentation component +suitable for displaying a wide variety of performance metrics for parallel +programs including MPI and OpenMP applications. CUBE allows interactive +exploration of a multidimensional performance space in a scalable fashion. +Scalability is achieved in two ways: hierarchical decomposition of individual +dimensions and aggregation across different dimensions. All performance +metrics are uniformly accommodated in the same display and thus provide the +ability to easily compare the effects of different kinds of performance +behavior. + +This component is the graphical user interface, which is used to examine the +profiles generated by Score-P, Scalasca and other perf-tools. + +%prep + +%setup -q -n %{pname}-%{version} + +%build + +# OpenHPC compiler/mpi designation +%ohpc_setup_compiler + +module load cubelib + +%if "%{compiler_family}" == "arm1" +export CFLAGS="${CFLAGS} -fsimdmath" +export CXXFLAGS="${CXXFLAGS} -fsimdmath" +%endif + +./configure --prefix=%{install_path} \ + --disable-static \ + --enable-shared \ + --disable-silent-rules \ + --with-platform=linux \ + CC="$CC" \ + CXX="$CXX" \ + CFLAGS="$CFLAGS" \ + CXXFLAGS="$CXXFLAGS" \ + LDFLAGS="$LDFLAGS" \ + ${CONFIGURE_OPTIONS} + +make %{?_smp_mflags} V=1 + +%install + +# OpenHPC compiler/mpi designation +%ohpc_setup_compiler + +make DESTDIR=$RPM_BUILD_ROOT install + +# don't package static libs +find $RPM_BUILD_ROOT%{install_path} -name '*.la' -exec rm -f {} ';' + +# OpenHPC module file +%{__mkdir} -p %{buildroot}%{OHPC_MODULEDEPS}/%{compiler_family}/%{pname} +%{__cat} << EOF > %{buildroot}/%{OHPC_MODULEDEPS}/%{compiler_family}/%{pname}/%{version} +#%Module1.0##################################################################### + +proc ModulesHelp { } { + +puts stderr " " +puts stderr "This module loads %{pname} built with the %{compiler_family} compiler" +puts stderr "\nVersion %{version}\n" + +} +module-whatis "Name: %{pname} built with %{compiler_family} compiler" +module-whatis "Version: %{version}" +module-whatis "Category: runtime library" +module-whatis "Description: %{summary}" +module-whatis "URL %{url}" + +set version %{version} + +prepend-path PATH %{install_path}/bin +prepend-path MANPATH %{install_path}/share/man +prepend-path INCLUDE %{install_path}/include +prepend-path LD_LIBRARY_PATH %{install_path}/lib + +setenv %{PNAME}_DIR %{install_path} +setenv %{PNAME}_BIN %{install_path}/bin +setenv %{PNAME}_LIB %{install_path}/lib +setenv %{PNAME}_INC %{install_path}/include + +EOF + +%{__cat} << EOF > %{buildroot}/%{OHPC_MODULEDEPS}/%{compiler_family}/%{pname}/.version.%{version} +#%Module1.0##################################################################### +## +## version file for %{pname}-%{version} +## +set ModulesVersion "%{version}" +EOF + +%{__mkdir} -p $RPM_BUILD_ROOT/%{_docdir} + +%files +%{OHPC_PUB} +%doc ChangeLog COPYING INSTALL OPEN_ISSUES README