From d5d51844f27793d927368fc1e595d994c7518581 Mon Sep 17 00:00:00 2001 From: George Gorohoff Date: Sun, 23 Aug 2020 20:55:09 -0700 Subject: [PATCH 1/3] generic_cmake: allow copying from local dir use package and set unpack_download to False. --- hpccm/building_blocks/generic_cmake.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/hpccm/building_blocks/generic_cmake.py b/hpccm/building_blocks/generic_cmake.py index 47519852..664cda21 100644 --- a/hpccm/building_blocks/generic_cmake.py +++ b/hpccm/building_blocks/generic_cmake.py @@ -196,6 +196,7 @@ def __init__(self, **kwargs): self.__run_arguments = kwargs.get('_run_arguments', None) self.runtime_environment_variables = kwargs.get('runtime_environment', {}) self.__toolchain = kwargs.get('toolchain', toolchain()) + self.__unpack_download = kwargs.get('unpack_download', True) self.__commands = [] # Filled in by __setup() self.__wd = '/var/tmp' # working directory @@ -230,8 +231,14 @@ def __setup(self): self.__commands""" # Get source - self.__commands.append(self.download_step(recursive=self.__recursive, - wd=self.__wd)) + if self.repository or self.package or self.url: + self.__commands.append( + self.download_step( + recursive=self.__recursive, + wd=self.__wd, + unpack=self.__unpack_download + ) + ) # directory containing the unarchived package if self.__directory: From 93655df93a26a9b1537d00281dd5776346930109 Mon Sep 17 00:00:00 2001 From: George Gorohoff Date: Sun, 23 Aug 2020 21:01:35 -0700 Subject: [PATCH 2/3] update docstring, manually updated pydocmd --- docs/building_blocks.md | 5 +++-- hpccm/building_blocks/generic_cmake.py | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/building_blocks.md b/docs/building_blocks.md index e4664c0b..e609cecc 100644 --- a/docs/building_blocks.md +++ b/docs/building_blocks.md @@ -1152,6 +1152,9 @@ default is empty. - __url__: The URL of the package to build. One of this parameter or the `repository` or `package` parameters must be specified. +- __unpack_download__: if the `url` or `package` specified needs to be unpacked. +The default is True + __Examples__ @@ -4546,5 +4549,3 @@ __Examples__ ```python yum(ospackages=['make', 'wget']) ``` - - diff --git a/hpccm/building_blocks/generic_cmake.py b/hpccm/building_blocks/generic_cmake.py index 664cda21..fddd6d57 100644 --- a/hpccm/building_blocks/generic_cmake.py +++ b/hpccm/building_blocks/generic_cmake.py @@ -136,6 +136,9 @@ class generic_cmake(bb_base, hpccm.templates.CMakeBuild, url: The URL of the package to build. One of this parameter or the `repository` or `package` parameters must be specified. + unpack_download: if the URL or package specified needs to be unpacked. + The default is True + # Examples ```python From 4f92be3c8f167fc126cf06f79c61b0e4f63d6818 Mon Sep 17 00:00:00 2001 From: George Gorohoff Date: Sun, 23 Aug 2020 21:13:14 -0700 Subject: [PATCH 3/3] simplify --- hpccm/building_blocks/generic_cmake.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/hpccm/building_blocks/generic_cmake.py b/hpccm/building_blocks/generic_cmake.py index fddd6d57..b942160a 100644 --- a/hpccm/building_blocks/generic_cmake.py +++ b/hpccm/building_blocks/generic_cmake.py @@ -234,14 +234,13 @@ def __setup(self): self.__commands""" # Get source - if self.repository or self.package or self.url: - self.__commands.append( - self.download_step( - recursive=self.__recursive, - wd=self.__wd, - unpack=self.__unpack_download - ) + self.__commands.append( + self.download_step( + recursive=self.__recursive, + wd=self.__wd, + unpack=self.__unpack_download ) + ) # directory containing the unarchived package if self.__directory: