summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Heiko Becker <heirecka@exherbo.org> 2016-11-21 23:48:40 +0100
committerAvatar Heiko Becker <heirecka@exherbo.org> 2016-12-13 21:02:03 +0100
commitd8794152272bf7a23a263f786a7fa05cea733e4c (patch)
treee133116e79480d4ac4ad27b816bff2ccbaed8f21
parent3d714ebcd536a62c3a5834bce6b421a0a7fcdd11 (diff)
downloadscientific-d8794152272bf7a23a263f786a7fa05cea733e4c.tar.gz
scientific-d8794152272bf7a23a263f786a7fa05cea733e4c.tar.xz
molequeue: Initial exheres
Change-Id: Ic0c9f0505245d67a22686a74bda68d26b801584e Reviewed-on: https://galileo.mailstation.de/gerrit/7770 Reviewed-by: Jenkins <wk@mailstation.de> Reviewed-by: Heiko Becker <heirecka@exherbo.org>
-rw-r--r--packages/sci-libs/molequeue/files/molequeue-0.8.0-Added-a-needed-Qt-header-file-to-testserver.h.patch29
-rw-r--r--packages/sci-libs/molequeue/files/molequeue-0.8.0-Fix-for-GCC-6-compatibility.patch33
-rw-r--r--packages/sci-libs/molequeue/molequeue-0.8.0.exheres-012
-rw-r--r--packages/sci-libs/molequeue/molequeue.exlib67
4 files changed, 141 insertions, 0 deletions
diff --git a/packages/sci-libs/molequeue/files/molequeue-0.8.0-Added-a-needed-Qt-header-file-to-testserver.h.patch b/packages/sci-libs/molequeue/files/molequeue-0.8.0-Added-a-needed-Qt-header-file-to-testserver.h.patch
new file mode 100644
index 0000000..79142ba
--- /dev/null
+++ b/packages/sci-libs/molequeue/files/molequeue-0.8.0-Added-a-needed-Qt-header-file-to-testserver.h.patch
@@ -0,0 +1,29 @@
+Upstream: yes
+
+From 5be612f92e0ca644159caf43340df8a94d0ded9a Mon Sep 17 00:00:00 2001
+From: Patrick Avery <psavery@buffalo.edu>
+Date: Fri, 3 Jun 2016 14:21:04 -0400
+Subject: [PATCH] Added a needed Qt header file to testserver.h
+
+Perhaps this is only with more recent versions of Qt,
+but the tests wouldn't compile because QDataStream was
+not defined. Adding this header file fixed the problem.
+---
+ molequeue/app/testing/testserver.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/molequeue/app/testing/testserver.h b/molequeue/app/testing/testserver.h
+index 040e4b6..30acac8 100644
+--- a/molequeue/app/testing/testserver.h
++++ b/molequeue/app/testing/testserver.h
+@@ -23,6 +23,7 @@
+
+ #include <QtGlobal>
+
++#include <QtCore/QDataStream>
+ #include <QtCore/QDateTime>
+ #include <QtCore/QThread>
+ #include <QtCore/QTimer>
+--
+2.11.0
+
diff --git a/packages/sci-libs/molequeue/files/molequeue-0.8.0-Fix-for-GCC-6-compatibility.patch b/packages/sci-libs/molequeue/files/molequeue-0.8.0-Fix-for-GCC-6-compatibility.patch
new file mode 100644
index 0000000..62043a3
--- /dev/null
+++ b/packages/sci-libs/molequeue/files/molequeue-0.8.0-Fix-for-GCC-6-compatibility.patch
@@ -0,0 +1,33 @@
+Upstream: yes
+
+From a983ff617eb9d074ed7e5138bdd31eaec7a0828e Mon Sep 17 00:00:00 2001
+From: Eric Berquist <eric.berquist@gmail.com>
+Date: Mon, 10 Oct 2016 11:15:20 -0400
+Subject: [PATCH] Fix for GCC 6 compatibility.
+
+---
+ cmake/GenerateExportHeader.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/GenerateExportHeader.cmake b/cmake/GenerateExportHeader.cmake
+index a91da06..3dd14ed 100644
+--- a/cmake/GenerateExportHeader.cmake
++++ b/cmake/GenerateExportHeader.cmake
+@@ -164,12 +164,12 @@ macro(_test_compiler_hidden_visibility)
+ if(CMAKE_COMPILER_IS_GNUCXX)
+ exec_program(${CMAKE_C_COMPILER} ARGS --version
+ OUTPUT_VARIABLE _gcc_version_info)
+- string(REGEX MATCH "[345]\\.[0-9]\\.[0-9]"
++ string(REGEX MATCH "[3456]\\.[0-9]\\.[0-9]"
+ _gcc_version "${_gcc_version_info}")
+ # gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the
+ # patch level, handle this here:
+ if(NOT _gcc_version)
+- string(REGEX REPLACE ".*\\(GCC\\).* ([34]\\.[0-9]) .*" "\\1.0"
++ string(REGEX REPLACE ".*\\(GCC\\).* ([3456]\\.[0-9]) .*" "\\1.0"
+ _gcc_version "${_gcc_version_info}")
+ endif()
+
+--
+2.11.0
+
diff --git a/packages/sci-libs/molequeue/molequeue-0.8.0.exheres-0 b/packages/sci-libs/molequeue/molequeue-0.8.0.exheres-0
new file mode 100644
index 0000000..ece5313
--- /dev/null
+++ b/packages/sci-libs/molequeue/molequeue-0.8.0.exheres-0
@@ -0,0 +1,12 @@
+# Copyright 2016 Heiko Becker <heirecka@exherbo.org>
+# Distributed under the terms of the GNU General Public License v2
+
+require molequeue
+
+PLATFORMS="~amd64"
+
+DEFAULT_SRC_PREPARE_PATCHES+=(
+ "${FILES}"/${PNV}-Fix-for-GCC-6-compatibility.patch
+ "${FILES}"/${PNV}-Added-a-needed-Qt-header-file-to-testserver.h.patch
+)
+
diff --git a/packages/sci-libs/molequeue/molequeue.exlib b/packages/sci-libs/molequeue/molequeue.exlib
new file mode 100644
index 0000000..013fa96
--- /dev/null
+++ b/packages/sci-libs/molequeue/molequeue.exlib
@@ -0,0 +1,67 @@
+# Copyright 2016 Heiko Becker <heirecka@exherbo.org>
+# Distributed under the terms of the GNU General Public License v2
+
+require github [ user=OpenChemistry ]
+require cmake [ api=2 cmake_minimum_version=2.8.8 ]
+
+export_exlib_phases src_compile src_install
+
+SUMMARY="Desktop integration of high performance computing resources"
+DESCRIPTION="
+MoleQueue is an open-source, cross-platform, system-tray resident desktop
+application for abstracting, managing, and coordinating the execution of tasks
+both locally and on remote computational resources. Users can set up local and
+remote queues that describe where the task will be executed. Each queue can
+have programs, with templates to facilitate the execution of the program. Input
+files can be staged, and output files collected using a standard interface."
+
+HOMEPAGE=" http://www.openchemistry.org/"
+
+LICENCES="BSD-3"
+SLOT="0"
+MYOPTIONS="doc"
+
+DEPENDENCIES="
+ build:
+ doc? ( app-doc/doxygen )
+ build+run:
+ x11-libs/qtbase:5[gui]
+ test:
+ dev-lang/python:2.7
+"
+
+BUGS_TO="heirecka@exherbo.org"
+
+# 14 of 14 tests need a running X server
+RESTRICT="test"
+
+CMAKE_SRC_CONFIGURE_PARAMS+=(
+ -DBUILD_SHARED_LIBS:BOOL=TRUE
+ # Needs KDSoap, https://www.kdab.com/development-resources/qt-tools/kd-soap/
+ -DMoleQueue_USE_EZHPC_UIT:BOOL=FALSE
+ # Needs C++ bindings for ZeroMQ from https://github.com/zeromq/cppzmq,
+ # which a) nobody packaged and b) has no tagged releases
+ -DUSE_ZERO_MQ:BOOL=FALSE
+)
+
+CMAKE_SRC_CONFIGURE_OPTION_BUILDS+=( 'doc DOCUMENTATION' )
+CMAKE_SRC_CONFIGURE_TESTS=(
+ '-DENABLE_TESTING:BOOL=TRUE -DENABLE_TESTING:BOOL=FALSE'
+)
+
+molequeue_src_compile() {
+ default
+
+ option doc && emake documentation
+}
+
+molequeue_src_install() {
+ cmake_src_install
+
+ if option doc ; then
+ pushd "${WORK}"/docs
+ dodoc -r html
+ popd
+ fi
+}
+