From b25055c7e8a82ea526f45eb7c083d9c44d6e7302 Mon Sep 17 00:00:00 2001 From: Harsh Bhatia Date: Sun, 2 Aug 2020 14:40:44 -0700 Subject: [PATCH] new package: ibm databroker (#17591) --- .../ibm-databroker/fixes_in_v0.6.1.patch | 39 ++++++++++++++++ .../ibm-databroker/fixes_in_v0.7.0.patch | 25 ++++++++++ .../packages/ibm-databroker/package.py | 46 +++++++++++++++++++ 3 files changed, 110 insertions(+) create mode 100644 var/spack/repos/builtin/packages/ibm-databroker/fixes_in_v0.6.1.patch create mode 100644 var/spack/repos/builtin/packages/ibm-databroker/fixes_in_v0.7.0.patch create mode 100644 var/spack/repos/builtin/packages/ibm-databroker/package.py diff --git a/var/spack/repos/builtin/packages/ibm-databroker/fixes_in_v0.6.1.patch b/var/spack/repos/builtin/packages/ibm-databroker/fixes_in_v0.6.1.patch new file mode 100644 index 0000000000..d2922d2710 --- /dev/null +++ b/var/spack/repos/builtin/packages/ibm-databroker/fixes_in_v0.6.1.patch @@ -0,0 +1,39 @@ +From f89161c15d3c84cd9b661740aaf803cc9acbb1a2 Mon Sep 17 00:00:00 2001 +From: Harsh Bhatia +Date: Thu, 16 Jul 2020 14:57:37 -0700 +Subject: [PATCH] small fixes + +--- + bindings/python/CMakeLists.txt | 2 +- + bindings/python/setup.py.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/bindings/python/CMakeLists.txt b/bindings/python/CMakeLists.txt +index 6a203ce..7e61668 100644 +--- a/bindings/python/CMakeLists.txt ++++ b/bindings/python/CMakeLists.txt +@@ -45,7 +45,7 @@ if (PYTHON) + COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT} + DEPENDS ${DEPS}) + +- set( INSTALL_CMD "${PYTHON} ${CMAKE_CURRENT_BINARY_DIR}/${SETUP_PY} install") ++ set( INSTALL_CMD "${PYTHON} ${CMAKE_CURRENT_BINARY_DIR}/${SETUP_PY} install --prefix ${CMAKE_INSTALL_PREFIX}") + + add_custom_target(pydbr ALL DEPENDS ${OUTPUT}) + FILE(COPY examples DESTINATION .) +diff --git a/bindings/python/setup.py.in b/bindings/python/setup.py.in +index 0d61f1d..3501c78 100644 +--- a/bindings/python/setup.py.in ++++ b/bindings/python/setup.py.in +@@ -17,7 +17,7 @@ from setuptools import setup, find_packages + import os, sys + + setup(name='PyDBR', +- version='0.5.1', ++ version='0.6.1', + description='Python wrapper to the Data Broker C API', + author='Claudia Misale', + author_email='c.misale@ibm.com', +-- +1.8.3.1 + diff --git a/var/spack/repos/builtin/packages/ibm-databroker/fixes_in_v0.7.0.patch b/var/spack/repos/builtin/packages/ibm-databroker/fixes_in_v0.7.0.patch new file mode 100644 index 0000000000..9ec35ae2de --- /dev/null +++ b/var/spack/repos/builtin/packages/ibm-databroker/fixes_in_v0.7.0.patch @@ -0,0 +1,25 @@ +From e4367787e3ae712217a231c9d4866e89005f053c Mon Sep 17 00:00:00 2001 +From: Harsh Bhatia +Date: Fri, 17 Jul 2020 09:01:50 -0700 +Subject: [PATCH] fix 0.7.0 + +--- + bindings/python/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/bindings/python/CMakeLists.txt b/bindings/python/CMakeLists.txt +index 6a203ce..7e61668 100644 +--- a/bindings/python/CMakeLists.txt ++++ b/bindings/python/CMakeLists.txt +@@ -45,7 +45,7 @@ if (PYTHON) + COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT} + DEPENDS ${DEPS}) + +- set( INSTALL_CMD "${PYTHON} ${CMAKE_CURRENT_BINARY_DIR}/${SETUP_PY} install") ++ set( INSTALL_CMD "${PYTHON} ${CMAKE_CURRENT_BINARY_DIR}/${SETUP_PY} install --prefix ${CMAKE_INSTALL_PREFIX}") + + add_custom_target(pydbr ALL DEPENDS ${OUTPUT}) + FILE(COPY examples DESTINATION .) +-- +1.8.3.1 + diff --git a/var/spack/repos/builtin/packages/ibm-databroker/package.py b/var/spack/repos/builtin/packages/ibm-databroker/package.py new file mode 100644 index 0000000000..898179253c --- /dev/null +++ b/var/spack/repos/builtin/packages/ibm-databroker/package.py @@ -0,0 +1,46 @@ +# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + + +from spack import * + + +class IbmDatabroker(CMakePackage, PythonPackage): + """The Data Broker (DBR) is a distributed, in-memory container of key-value + stores enabling applications in a workflow to exchange data through one or + more shared namespaces. Thanks to a small set of primitives, applications + in a workflow deployed in a (possibly) shared nothing distributed cluster, + can easily share and exchange data and messages with applications.""" + + homepage = "https://github.com/IBM/data-broker" + git = "https://github.com/IBM/data-broker" + url = 'https://github.com/IBM/data-broker/archive/0.6.1.tar.gz' + + # IBM dev team should take over + maintainers = ['bhatiaharsh'] + + version('master', branch='master') + version('0.7.0', sha256='5460fa1c5c05ad25c759b2ee4cecee92980d4dde5bc7c5f6da9242806cf22bb8') + version('0.6.1', sha256='2c7d6c6a269d4ae97aad4d770533e742f367da84758130c283733f25df83e535') + version('0.6.0', sha256='5856209d965c923548ebb69119344f1fc596d4c0631121b230448cc91bac4290') + + variant('python', default=False, description='Build Python bindings') + + depends_on('cmake@2.8:', type='build') + depends_on('redis@5.0.2:', type='run') + depends_on('libevent@2.1.8', type=('build', 'run')) + + extends('python@3.7:', when='+python') + depends_on('py-setuptools', when='+python') + + patch('fixes_in_v0.6.1.patch', when='@0.6.1') + patch('fixes_in_v0.7.0.patch', when='@0.7.0') + + def cmake_args(self): + args = [] + args.append('-DDEFAULT_BE=redis') + if '+python' in self.spec: + args.append('-DPYDBR=1') + return args