commit:     6eb34bd2c020880f2b386d59c697ddd5919a66e4
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Tue Jun  7 11:31:18 2022 +0000
Commit:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
CommitDate: Tue Jun  7 12:01:46 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=6eb34bd2

sys-cluster/dimemas: new package, add 5.4.2_p20220601

Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>

 sys-cluster/dimemas/Manifest                       |  1 +
 sys-cluster/dimemas/dimemas-5.4.2_p20220601.ebuild | 76 ++++++++++++++++++++++
 sys-cluster/dimemas/files/dimemas-5.4.2-gui.patch  | 35 ++++++++++
 sys-cluster/dimemas/metadata.xml                   | 24 +++++++
 4 files changed, 136 insertions(+)

diff --git a/sys-cluster/dimemas/Manifest b/sys-cluster/dimemas/Manifest
new file mode 100644
index 000000000..bdcf56b47
--- /dev/null
+++ b/sys-cluster/dimemas/Manifest
@@ -0,0 +1 @@
+DIST dimemas-5.4.2_p20220601.gh.tar.gz 802490 BLAKE2B 
d43829ba082c914fe37d0a5388578c5f77d102e1b5b412194b5b34ac9c830290f342ace3334bc97468c16ff58a89d1aef44956d703d68ca87d55e8abe7ec92c7
 SHA512 
54e6a8325ae7397fd2fae3f47e7b6cae9d9ea1aeaf6340b07e1ea04c26e8420c2a575498a6f33cf4a9c0ab3614756a23631316c5968fea2656166f40de5d7218

diff --git a/sys-cluster/dimemas/dimemas-5.4.2_p20220601.ebuild 
b/sys-cluster/dimemas/dimemas-5.4.2_p20220601.ebuild
new file mode 100644
index 000000000..cbb0a15a3
--- /dev/null
+++ b/sys-cluster/dimemas/dimemas-5.4.2_p20220601.ebuild
@@ -0,0 +1,76 @@
+# Copyright 2019-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT="0dc28fafb8a917cee8d6ffd4a037cdc1f8755101"
+PYTHON_COMPAT=( pypy3 python3_{8..11} )
+
+inherit autotools java-pkg-opt-2 python-any-r1
+
+DESCRIPTION="High-abstracted network simulator for message-passing programs"
+HOMEPAGE="https://github.com/bsc-performance-tools/dimemas";
+SRC_URI="https://github.com/bsc-performance-tools/dimemas/archive/${COMMIT}.tar.gz
 -> ${PF}.gh.tar.gz"
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="idle-accounting irecv-startup original-links wait-logical-recv"
+
+CDEPEND="
+       dev-libs/boost:=
+       sys-libs/zlib
+       java? ( dev-java/commons-io:1 )
+"
+DEPEND="
+       ${CDEPEND}
+       ${PYTHON_DEPS}
+       java? ( virtual/jdk:1.8 )
+"
+RDEPEND="
+       ${CDEPEND}
+       java? ( virtual/jre:1.8 )
+"
+
+PATCHES=( "${FILESDIR}/${PN}-5.4.2-gui.patch" )
+
+src_prepare() {
+       default
+       java-pkg_clean
+       if use java; then
+               pushd ./GUI/lib || die
+               java-pkg_jar-from commons-io-1 commons-io.jar commons-io-2.4.jar
+               popd || die
+       fi
+       eautoreconf
+}
+
+src_configure() {
+       local myconf=(
+               --with-boost="${EPREFIX}/usr"
+               --with-boost-libdir="${EPREFIX}/usr/$(get_libdir)"
+
+               $(use_enable idle-accounting)
+               $(use_enable irecv-startup)
+               $(use_enable original-links)
+               $(use_enable wait-logical-recv)
+       )
+       econf "${myconf[@]}"
+}
+
+src_install() {
+       default
+       dodoc README.md ChangeLog
+       mkdir -p "${ED}/usr/share/doc/${PF}/examples" || die
+       mv "${ED}/usr/share/lib_extern_model_example" 
"${ED}/usr/share/doc/${PF}/examples/" || die
+       docompress -x "${ED}/usr/share/doc/${PF}/examples"
+       mkdir -p "${ED}/usr/share/${PN}" || die
+       mv "${ED}/usr/share/cfgs" "${ED}/usr/share/${PN}/" || die
+       if use java; then
+               java-pkg_newjar 
"${ED}/usr/$(get_libdir)/GUI/dimemas-gui-5.4.2.jar" "dimemas-gui.jar"
+               rm -r "${ED}/usr/$(get_libdir)/GUI" || die
+       fi
+       find "${ED}" -name '*.la' -delete || die
+}

diff --git a/sys-cluster/dimemas/files/dimemas-5.4.2-gui.patch 
b/sys-cluster/dimemas/files/dimemas-5.4.2-gui.patch
new file mode 100644
index 000000000..4cd05cd95
--- /dev/null
+++ b/sys-cluster/dimemas/files/dimemas-5.4.2-gui.patch
@@ -0,0 +1,35 @@
+--- a/GUI/src/DimemasGUI.in
++++ b/GUI/src/DimemasGUI.in
+@@ -1,29 +1,9 @@
+ #!/bin/sh
+ 
+-DIMEMAS_HOME=$(dirname $(readlink -f $0))/..
+-if [ -d "$DIMEMAS_HOME/lib" ]; then
+-    LIBDIR="/lib"
+-elif [ -d "$DIMEMAS_HOME/lib64" ]; then
+-    LIBDIR="/lib64"
+-else
+-    echo "$DIMEMAS_HOME/{lib|lib64} not found"
+-    exit 1
+-fi
++DIMEMAS_HOME=/usr
+ 
+-DIMEMAS_GUI_JAR=$DIMEMAS_HOME/$LIBDIR/GUI/@@JARFILE@@
++DIMEMAS_GUI_JAR="${DIMEMAS_HOME}/share/dimemas/lib/dimemas-gui.jar"
+ 
+-if ! [ -e $DIMEMAS_GUI_JAR ]; then
+-    echo "Dimemas GUI 'jar' file (@@JARFILE@@) not found"
+-    echo "Check your Dimemas instalation."
+-    exit 1
+-fi
+-
+-if  which java >/dev/null 2>&1  ; then
+-    JAVA_BIN=`which java`
+-else
+-    echo "No Java Runtime found on your path."
+-    echo "Please check the JRE installation"
+-    exit 1
+-fi
++JAVA_BIN=`java-config -J`
+ 
+ $JAVA_BIN @@JVMFLAGS@@ -DDIMEMAS_HOME=$DIMEMAS_HOME -jar $DIMEMAS_GUI_JAR $@ 

diff --git a/sys-cluster/dimemas/metadata.xml b/sys-cluster/dimemas/metadata.xml
new file mode 100644
index 000000000..c3e18465a
--- /dev/null
+++ b/sys-cluster/dimemas/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <name>Alessandro Barbieri</name>
+       </maintainer>
+       <longdescription lang="en">
+This package contains the source code of Dimemas simulator, its graphical 
+user interface and the Paraver to Dimemas trace translator, 'prv2dim'.
+You can find the old Dimemas trace format (.trf) to new format (.dim) 
translator 
+'trf2dim' until Dimemas package version 5.3.0
+       </longdescription>
+       <upstream>
+               
<bugs-to>https://github.com/bsc-performance-tools/dimemas/issues</bugs-to>
+               <remote-id 
type="github">bsc-performance-tools/dimemas</remote-id>
+       </upstream>
+       <use>
+               <flag name="idle-accounting">if enabled, idle CPU regions are 
computed as CPU consumption in the accouting stats</flag>
+               <flag name="irecv-startup">if enabled defined Dimemas considers 
initial startups on MPI_Irecv functions</flag>
+               <flag name="original-links">if enabled Dimemas uses the 
original protocol to manage links</flag>
+               <flag name="wait-logical-recv">if enabled Dimemas puts logical 
receive time when MPI_Wait is called (not on MPI_Irecv)</flag>
+       </use>
+</pkgmetadata>

Reply via email to