# Copyright (c) 2014, 2015 Dave Love, Liverpool University # MIT licence (Fedora policy) %if 0%{?el6} %global commons jakarta-commons-io %else %global commons apache-commons-io %endif Name: dimemas Version: 5.4.2 Release: 2%{?dist} Summary: Prediction of parallel performance License: LGPLv2+ URL: http://www.bsc.es/computer-sciences/performance-tools/dimemas # via http://www.bsc.es/computer-sciences/performance-tools/downloads Source0: https://ftp.tools.bsc.es/dimemas/dimemas-%version-src.tar.bz2 Patch1: dimemas-gui.patch BuildRequires: flex flex-devel bison bison-devel boost-devel gcc-c++ BuildRequires: automake libtool BuildRequires: java-devel %commons Requires: java jpackage-utils %commons %description Dimemas is a performance analysis tool for message-passing programs. It enables the user to develop and tune parallel applications on a workstation, while providing an accurate prediction of their performance on the parallel target machine. The Dimemas simulator reconstructs the time behavior of a parallel application on a machine modeled by a set of performance parameters. Thus, performance experiments can be done easily. The supported target architecture classes include networks of workstations, single and clustered SMPs, distributed memory parallel computers, and even heterogeneous systems. Several message-passing libraries are supported, including PVM, MPI and PARMACS. For communication, a linear performance model is used, but some non-linear effects such as network conflicts are taken into account. The simulator allows specifying different task to node mappings. %prep %setup -q rm GUI/lib/commons-io*.jar ln -s %_javadir/%commons.jar GUI/lib/commons-io-2.4.jar %patch1 -p1 %build CFLAGS="-std=gnu99 %build_cflags" \ %configure --with-boost-program-options=boost_program_options %make_build V=1 %install %make_install jardir=%_javadir mkdir -p $RPM_BUILD_ROOT%_javadir $RPM_BUILD_ROOT%_datadir/%name sed -i $RPM_BUILD_ROOT%_bindir/DimemasGUI \ -e 's|#export DIMEMAS_HOME=|export DIMEMAS_HOME=%_bindir|' \ -e 's|export DIMEMAS_GUI_JAR=$DIMEMAS_HOME|export DIMEMAS_GUI_JAR=%_javadir|' %{!?_pkgdocdir:%global _pkgdocdir %_docdir/%name-%version} mkdir -p $RPM_BUILD_ROOT%_pkgdocdir mv $RPM_BUILD_ROOT%_datadir/lib_extern_model_example $RPM_BUILD_ROOT%_pkgdocdir mv $RPM_BUILD_ROOT%_includedir/*.h $RPM_BUILD_ROOT%_pkgdocdir/lib_extern_model_example mv $RPM_BUILD_ROOT%_datadir/cfgs $RPM_BUILD_ROOT%_datadir/%name rmdir $RPM_BUILD_ROOT%_includedir %files %license AUTHORS COPYING %_bindir/* %exclude %_datadir/dimemas %_javadir/* %exclude %_libdir/GUI %_pkgdocdir/lib_extern_model_example %changelog * Mon Oct 25 2021 Dave Love - 5.4.2-2 - BR gcc-c++ - Purge el6 - Fix CFLAGS * Sat Apr 11 2020 Dave Love - 5.4.2-1 - New version * Mon Mar 4 2019 Dave Love - 5.4.1-2 - Patch to fix GUI script * Fri Mar 1 2019 Dave Love - 5.4.1-1 - New version * Mon Sep 3 2018 Dave Love - 5.4.0-1 - New version, with el6 changes * Tue Jul 10 2018 Dave Love - 5.3.3-1 - New version - Modify commons-io dependencies - Fix el6 build - Install example as doc * Mon Mar 16 2015 Dave Love - 5.2.12-2 - Avoid bundled commons-io * Sun Mar 8 2015 Dave Love - 5.2.12-1 - New version * Thu Feb 26 2015 Dave Love - 5.2.11-1 - New Version - Modify patch and .jar installation * Thu Oct 9 2014 Dave Love - 5.2.9-1 - Initial version