Repository: NVIDIA/hpc-container-maker

Issue:
Boost URL outdated?
I try to build boost with the building block but I get an error code 8.
I found out, that wget fails:
```
wget -nc --no-check-certificate -P /tmp https://dl.bintray.com/boostorg/release/1.74.0/source/boost_1_74_0.tar.bz2
--2021-06-14 11:43:32--  https://dl.bintray.com/boostorg/release/1.74.0/source/boost_1_74_0.tar.bz2
Resolving dl.bintray.com (dl.bintray.com)... 3.127.93.119, 18.196.33.98
Connecting to dl.bintray.com (dl.bintray.com)|3.127.93.119|:443... connected.
HTTP request sent, awaiting response... 403 Forbidden
2021-06-14 11:43:32 ERROR 403: Forbidden.
```

If I go to the [boost site](https://www.boost.org/users/download/) and copy the download link I get another one, which is working:
```
wget https://boostorg.jfrog.io/artifactory/main/release/1.74.0/source/boost_1_74_0.tar.bz2
--2021-06-14 11:47:22--  https://boostorg.jfrog.io/artifactory/main/release/1.74.0/source/boost_1_74_0.tar.bz2
Resolving boostorg.jfrog.io (boostorg.jfrog.io)... 35.80.249.196, 54.148.141.177, 52.43.90.32, ...
Connecting to boostorg.jfrog.io (boostorg.jfrog.io)|35.80.249.196|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://jfrog-prod-usw2-shared-oregon-main.s3.amazonaws.com/aol-boostorg/filestore/f8/f82c0d8685b4d0e3971e8e2a8f9ef1551412c125?x-jf-traceId=49786281f31d0f64&response-content-disposition=attachment%3Bfilename%3D%22boost_1_74_0.tar.bz2%22&response-content-type=application%2Fx-bzip2&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20210614T094723Z&X-Amz-SignedHeaders=host&X-Amz-Expires=60&X-Amz-Credential=AKIASG3IHPL63WBBRCUD%2F20210614%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Signature=226ca0520d266f89c911b5be749c29fac47a8106a33ee4efc0e4b8b00517a364 [following]
--2021-06-14 11:47:23--  https://jfrog-prod-usw2-shared-oregon-main.s3.amazonaws.com/aol-boostorg/filestore/f8/f82c0d8685b4d0e3971e8e2a8f9ef1551412c125?x-jf-traceId=49786281f31d0f64&response-content-disposition=attachment%3Bfilename%3D%22boost_1_74_0.tar.bz2%22&response-content-type=application%2Fx-bzip2&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20210614T094723Z&X-Amz-SignedHeaders=host&X-Amz-Expires=60&X-Amz-Credential=AKIASG3IHPL63WBBRCUD%2F20210614%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Signature=226ca0520d266f89c911b5be749c29fac47a8106a33ee4efc0e4b8b00517a364
Resolving jfrog-prod-usw2-shared-oregon-main.s3.amazonaws.com (jfrog-prod-usw2-shared-oregon-main.s3.amazonaws.com)... 52.218.169.83
Connecting to jfrog-prod-usw2-shared-oregon-main.s3.amazonaws.com (jfrog-prod-usw2-shared-oregon-main.s3.amazonaws.com)|52.218.169.83|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 109600630 (105M) [application/x-bzip2]
Saving to: ‘boost_1_74_0.tar.bz2’

boost_1_74_0.tar.bz2                                                   100%[============================================================================================================================================================================>] 104,52M  9,49MB/s    in 13s     

2021-06-14 11:47:36 (8,09 MB/s) - ‘boost_1_74_0.tar.bz2’ saved [109600630/109600630]
```

Discussion:

Patch:
diff --git a/docs/building_blocks.md b/docs/building_blocks.md
index 3a9d023..12e9734 100644
--- a/docs/building_blocks.md
+++ b/docs/building_blocks.md
@@ -245,7 +245,7 @@ repository.  For versions of Boost older than 1.63.0, the
 SourceForge repository should be used.  The default is False.
 
 - __version__: The version of Boost source to download.  The default
-value is `1.74.0`.
+value is `1.76.0`.
 
 __Examples__
 
diff --git a/hpccm/building_blocks/boost.py b/hpccm/building_blocks/boost.py
index 2b16ebb..72f26b8 100644
--- a/hpccm/building_blocks/boost.py
+++ b/hpccm/building_blocks/boost.py
@@ -82,7 +82,7 @@ class boost(bb_base, hpccm.templates.envvars, hpccm.templates.ldconfig,
     SourceForge repository should be used.  The default is False.
 
     version: The version of Boost source to download.  The default
-    value is `1.74.0`.
+    value is `1.76.0`.
 
     # Examples
 
@@ -103,14 +103,14 @@ class boost(bb_base, hpccm.templates.envvars, hpccm.templates.ldconfig,
 
         self.__b2_opts = kwargs.get('b2_opts', [])
         self.__baseurl = kwargs.get('baseurl',
-                                    'https://dl.bintray.com/boostorg/release/__version__/source')
+                                    'https://boostorg.jfrog.io/artifactory/main/release/__version__/source')
         self.__bootstrap_opts = kwargs.get('bootstrap_opts', [])
         self.__ospackages = kwargs.get('ospackages', [])
         self.__parallel = kwargs.get('parallel', '$(nproc)')
         self.__prefix = kwargs.get('prefix', '/usr/local/boost')
         self.__python = kwargs.get('python', False)
         self.__sourceforge = kwargs.get('sourceforge', False)
-        self.__version = kwargs.get('version', '1.74.0')
+        self.__version = kwargs.get('version', '1.76.0')
 
         self.__commands = [] # Filled in by __setup()
         self.__wd = kwargs.get('wd', hpccm.config.g_wd) # working directory


Test patch:
diff --git a/test/test_boost.py b/test/test_boost.py
index ef46126..c82a89c 100644
--- a/test/test_boost.py
+++ b/test/test_boost.py
@@ -37,7 +37,7 @@ class Test_boost(unittest.TestCase):
         """Default boost building block"""
         b = boost()
         self.assertEqual(str(b),
-r'''# Boost version 1.74.0
+r'''# Boost version 1.76.0
 RUN apt-get update -y && \
     DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
         bzip2 \
@@ -46,11 +46,11 @@ RUN apt-get update -y && \
         wget \
         zlib1g-dev && \
     rm -rf /var/lib/apt/lists/*
-RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://dl.bintray.com/boostorg/release/1.74.0/source/boost_1_74_0.tar.bz2 && \
-    mkdir -p /var/tmp && tar -x -f /var/tmp/boost_1_74_0.tar.bz2 -C /var/tmp -j && \
-    cd /var/tmp/boost_1_74_0 && ./bootstrap.sh --prefix=/usr/local/boost --without-libraries=python && \
+RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2 && \
+    mkdir -p /var/tmp && tar -x -f /var/tmp/boost_1_76_0.tar.bz2 -C /var/tmp -j && \
+    cd /var/tmp/boost_1_76_0 && ./bootstrap.sh --prefix=/usr/local/boost --without-libraries=python && \
     ./b2 -j$(nproc) -q install && \
-    rm -rf /var/tmp/boost_1_74_0.tar.bz2 /var/tmp/boost_1_74_0
+    rm -rf /var/tmp/boost_1_76_0.tar.bz2 /var/tmp/boost_1_76_0
 ENV LD_LIBRARY_PATH=/usr/local/boost/lib:$LD_LIBRARY_PATH''')
 
     @centos
@@ -59,7 +59,7 @@ ENV LD_LIBRARY_PATH=/usr/local/boost/lib:$LD_LIBRARY_PATH''')
         """Default boost building block"""
         b = boost()
         self.assertEqual(str(b),
-r'''# Boost version 1.74.0
+r'''# Boost version 1.76.0
 RUN yum install -y \
         bzip2 \
         bzip2-devel \
@@ -68,11 +68,11 @@ RUN yum install -y \
         which \
         zlib-devel && \
     rm -rf /var/cache/yum/*
-RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://dl.bintray.com/boostorg/release/1.74.0/source/boost_1_74_0.tar.bz2 && \
-    mkdir -p /var/tmp && tar -x -f /var/tmp/boost_1_74_0.tar.bz2 -C /var/tmp -j && \
-    cd /var/tmp/boost_1_74_0 && ./bootstrap.sh --prefix=/usr/local/boost --without-libraries=python && \
+RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2 && \
+    mkdir -p /var/tmp && tar -x -f /var/tmp/boost_1_76_0.tar.bz2 -C /var/tmp -j && \
+    cd /var/tmp/boost_1_76_0 && ./bootstrap.sh --prefix=/usr/local/boost --without-libraries=python && \
     ./b2 -j$(nproc) -q install && \
-    rm -rf /var/tmp/boost_1_74_0.tar.bz2 /var/tmp/boost_1_74_0
+    rm -rf /var/tmp/boost_1_76_0.tar.bz2 /var/tmp/boost_1_76_0
 ENV LD_LIBRARY_PATH=/usr/local/boost/lib:$LD_LIBRARY_PATH''')
 
     @ubuntu
@@ -90,7 +90,7 @@ RUN apt-get update -y && \
         wget \
         zlib1g-dev && \
     rm -rf /var/lib/apt/lists/*
-RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.bz2 && \
+RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://boostorg.jfrog.io/artifactory/main/release/1.72.0/source/boost_1_72_0.tar.bz2 && \
     mkdir -p /var/tmp && tar -x -f /var/tmp/boost_1_72_0.tar.bz2 -C /var/tmp -j && \
     cd /var/tmp/boost_1_72_0 && ./bootstrap.sh --prefix=/usr/local/boost  && \
     ./b2 -j$(nproc) -q install && \
@@ -134,7 +134,7 @@ RUN apt-get update -y && \
         wget \
         zlib1g-dev && \
     rm -rf /var/lib/apt/lists/*
-RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.tar.bz2 && \
+RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://boostorg.jfrog.io/artifactory/main/release/1.68.0/source/boost_1_68_0.tar.bz2 && \
     mkdir -p /var/tmp && tar -x -f /var/tmp/boost_1_68_0.tar.bz2 -C /var/tmp -j && \
     cd /var/tmp/boost_1_68_0 && ./bootstrap.sh --prefix=/usr/local/boost --without-libraries=python && \
     ./b2 -j$(nproc) -q install && \
@@ -156,7 +156,7 @@ RUN apt-get update -y && \
         wget \
         zlib1g-dev && \
     rm -rf /var/lib/apt/lists/*
-RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.bz2 && \
+RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://boostorg.jfrog.io/artifactory/main/release/1.72.0/source/boost_1_72_0.tar.bz2 && \
     mkdir -p /var/tmp && tar -x -f /var/tmp/boost_1_72_0.tar.bz2 -C /var/tmp -j && \
     cd /var/tmp/boost_1_72_0 && ./bootstrap.sh --prefix=/usr/local/boost --with-libraries=atomic,chrono && \
     ./b2 -j$(nproc) -q install && \
@@ -177,7 +177,7 @@ RUN apt-get update -y && \
         wget \
         zlib1g-dev && \
     rm -rf /var/lib/apt/lists/*
-RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.bz2 && \
+RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://boostorg.jfrog.io/artifactory/main/release/1.72.0/source/boost_1_72_0.tar.bz2 && \
     mkdir -p /var/tmp && tar -x -f /var/tmp/boost_1_72_0.tar.bz2 -C /var/tmp -j && \
     cd /var/tmp/boost_1_72_0 && ./bootstrap.sh --prefix=/usr/local/boost --without-libraries=python && \
     ./b2 cxxflags="-std=c++14" -j$(nproc) -q install && \