Skip to content

Commit 47a05d1

Browse files
committed
Update gdrcopy building block
Add targets option Bump default version to 2.4.4
1 parent 65e02c4 commit 47a05d1

File tree

3 files changed

+26
-19
lines changed

3 files changed

+26
-19
lines changed

docs/building_blocks.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -840,12 +840,15 @@ default values are `make` and `wget`.
840840
- __prefix__: The top level install location. The default value is
841841
`/usr/local/gdrcopy`.
842842

843+
- __targets__: List of make targets to build. The default values are
844+
`lib` and `lib_install`.
845+
843846
- __toolchain__: The toolchain object. This should be used if
844847
non-default compilers or other toolchain options are needed. The
845848
default is empty.
846849

847850
- __version__: The version of gdrcopy source to download. The default
848-
value is `2.2`.
851+
value is `2.4.4`.
849852

850853
__Examples__
851854

hpccm/building_blocks/gdrcopy.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,15 @@ class gdrcopy(bb_base, hpccm.templates.envvars, hpccm.templates.ldconfig):
5959
prefix: The top level install location. The default value is
6060
`/usr/local/gdrcopy`.
6161
62+
targets: List of make targets to build. The default values are
63+
`lib` and `lib_install`.
64+
6265
toolchain: The toolchain object. This should be used if
6366
non-default compilers or other toolchain options are needed. The
6467
default is empty.
6568
6669
version: The version of gdrcopy source to download. The default
67-
value is `2.2`.
70+
value is `2.4.4`.
6871
6972
# Examples
7073
@@ -83,8 +86,9 @@ def __init__(self, **kwargs):
8386
self.__baseurl = kwargs.pop('baseurl', 'https://github.com/NVIDIA/gdrcopy/archive')
8487
self.__ospackages = kwargs.pop('ospackages', ['make', 'wget'])
8588
self.__prefix = kwargs.pop('prefix', '/usr/local/gdrcopy')
89+
self.__targets = kwargs.pop('targets', ['lib', 'lib_install'])
8690
self.__toolchain = kwargs.pop('toolchain', toolchain())
87-
self.__version = kwargs.pop('version', '2.2')
91+
self.__version = kwargs.pop('version', '2.4.4')
8892

8993

9094
# Since gdrcopy does not use autotools or CMake, the toolchain
@@ -122,7 +126,7 @@ def __init__(self, **kwargs):
122126
base_annotation=self.__class__.__name__,
123127
# Work around "install -D" issue on CentOS
124128
build=['mkdir -p {0}/include {0}/{1}'.format(self.__prefix, libdir),
125-
'make {} lib lib_install'.format(make_opts_str)],
129+
'make {0} {1}'.format(make_opts_str, ' '.join(self.__targets))],
126130
comment=False,
127131
devel_environment=self.environment_variables,
128132
directory='gdrcopy-{}'.format(self.__version),

test/test_gdrcopy.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -38,18 +38,18 @@ def test_defaults_ubuntu_default(self):
3838
"""Default gdrcopy building block"""
3939
g = gdrcopy()
4040
self.assertEqual(str(g),
41-
r'''# GDRCOPY version 2.2
41+
r'''# GDRCOPY version 2.4.4
4242
RUN apt-get update -y && \
4343
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
4444
make \
4545
wget && \
4646
rm -rf /var/lib/apt/lists/*
47-
RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://github.com/NVIDIA/gdrcopy/archive/v2.2.tar.gz && \
48-
mkdir -p /var/tmp && tar -x -f /var/tmp/v2.2.tar.gz -C /var/tmp -z && \
49-
cd /var/tmp/gdrcopy-2.2 && \
47+
RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://github.com/NVIDIA/gdrcopy/archive/v2.4.4.tar.gz && \
48+
mkdir -p /var/tmp && tar -x -f /var/tmp/v2.4.4.tar.gz -C /var/tmp -z && \
49+
cd /var/tmp/gdrcopy-2.4.4 && \
5050
mkdir -p /usr/local/gdrcopy/include /usr/local/gdrcopy/lib && \
5151
make prefix=/usr/local/gdrcopy lib lib_install && \
52-
rm -rf /var/tmp/gdrcopy-2.2 /var/tmp/v2.2.tar.gz
52+
rm -rf /var/tmp/gdrcopy-2.4.4 /var/tmp/v2.4.4.tar.gz
5353
ENV CPATH=/usr/local/gdrcopy/include:$CPATH \
5454
LD_LIBRARY_PATH=/usr/local/gdrcopy/lib:$LD_LIBRARY_PATH \
5555
LIBRARY_PATH=/usr/local/gdrcopy/lib:$LIBRARY_PATH''')
@@ -60,17 +60,17 @@ def test_defaults_centos_default(self):
6060
"""Default gdrcopy building block"""
6161
g = gdrcopy()
6262
self.assertEqual(str(g),
63-
r'''# GDRCOPY version 2.2
63+
r'''# GDRCOPY version 2.4.4
6464
RUN yum install -y \
6565
make \
6666
wget && \
6767
rm -rf /var/cache/yum/*
68-
RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://github.com/NVIDIA/gdrcopy/archive/v2.2.tar.gz && \
69-
mkdir -p /var/tmp && tar -x -f /var/tmp/v2.2.tar.gz -C /var/tmp -z && \
70-
cd /var/tmp/gdrcopy-2.2 && \
68+
RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://github.com/NVIDIA/gdrcopy/archive/v2.4.4.tar.gz && \
69+
mkdir -p /var/tmp && tar -x -f /var/tmp/v2.4.4.tar.gz -C /var/tmp -z && \
70+
cd /var/tmp/gdrcopy-2.4.4 && \
7171
mkdir -p /usr/local/gdrcopy/include /usr/local/gdrcopy/lib && \
7272
make prefix=/usr/local/gdrcopy lib lib_install && \
73-
rm -rf /var/tmp/gdrcopy-2.2 /var/tmp/v2.2.tar.gz
73+
rm -rf /var/tmp/gdrcopy-2.4.4 /var/tmp/v2.4.4.tar.gz
7474
ENV CPATH=/usr/local/gdrcopy/include:$CPATH \
7575
LD_LIBRARY_PATH=/usr/local/gdrcopy/lib:$LD_LIBRARY_PATH \
7676
LIBRARY_PATH=/usr/local/gdrcopy/lib:$LIBRARY_PATH''')
@@ -170,18 +170,18 @@ def test_toolchain_default(self):
170170
tc = toolchain(CC='gcc', CFLAGS='-O2')
171171
g = gdrcopy(toolchain=tc)
172172
self.assertEqual(str(g),
173-
r'''# GDRCOPY version 2.2
173+
r'''# GDRCOPY version 2.4.4
174174
RUN apt-get update -y && \
175175
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
176176
make \
177177
wget && \
178178
rm -rf /var/lib/apt/lists/*
179-
RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://github.com/NVIDIA/gdrcopy/archive/v2.2.tar.gz && \
180-
mkdir -p /var/tmp && tar -x -f /var/tmp/v2.2.tar.gz -C /var/tmp -z && \
181-
cd /var/tmp/gdrcopy-2.2 && \
179+
RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://github.com/NVIDIA/gdrcopy/archive/v2.4.4.tar.gz && \
180+
mkdir -p /var/tmp && tar -x -f /var/tmp/v2.4.4.tar.gz -C /var/tmp -z && \
181+
cd /var/tmp/gdrcopy-2.4.4 && \
182182
mkdir -p /usr/local/gdrcopy/include /usr/local/gdrcopy/lib && \
183183
make CC=gcc COMMONCFLAGS=-O2 prefix=/usr/local/gdrcopy lib lib_install && \
184-
rm -rf /var/tmp/gdrcopy-2.2 /var/tmp/v2.2.tar.gz
184+
rm -rf /var/tmp/gdrcopy-2.4.4 /var/tmp/v2.4.4.tar.gz
185185
ENV CPATH=/usr/local/gdrcopy/include:$CPATH \
186186
LD_LIBRARY_PATH=/usr/local/gdrcopy/lib:$LD_LIBRARY_PATH \
187187
LIBRARY_PATH=/usr/local/gdrcopy/lib:$LIBRARY_PATH''')

0 commit comments

Comments
 (0)