ci: add CentOS 8 support; drop CentOS 7

Refs: #5040, #5087
Change-Id: I8a52e02801b8e313d1a7531228616526b0f3cc94
diff --git a/.jenkins.d/00-deps.sh b/.jenkins.d/00-deps.sh
index 633c56f..742fa8b 100755
--- a/.jenkins.d/00-deps.sh
+++ b/.jenkins.d/00-deps.sh
@@ -33,17 +33,9 @@
         sudo apt-get -qy install gcovr lcov libgd-perl
     fi
 
-elif has CentOS-7 $NODE_LABELS; then
-    sudo yum -y install yum-utils pkgconfig \
-                        openssl-devel libtranslit-icu \
-                        python-devel sqlite-devel \
-                        libpcap-devel systemd-devel \
-                        devtoolset-7-libasan-devel \
-                        devtoolset-7-liblsan-devel
-    sudo yum -y groupinstall 'Development Tools'
-
-    svn checkout https://github.com/cmscaltech/sandie-ndn/trunk/packaging/RPMS/x86_64/boost1_58_0
-    pushd boost1_58_0 >/dev/null
-    sudo rpm -Uv --replacepkgs --replacefiles boost-devel* boost-license* libboost_*
-    popd >/dev/null
+elif has CentOS-8 $NODE_LABELS; then
+    sudo dnf config-manager --enable PowerTools
+    sudo dnf -y install gcc-c++ libasan pkgconf-pkg-config python3 \
+                        boost-devel openssl-devel sqlite-devel \
+                        libpcap-devel systemd-devel
 fi
diff --git a/.jenkins.d/01-ndn-cxx.sh b/.jenkins.d/01-ndn-cxx.sh
index 4f19833..4e0e154 100755
--- a/.jenkins.d/01-ndn-cxx.sh
+++ b/.jenkins.d/01-ndn-cxx.sh
@@ -35,13 +35,21 @@
 
 pushd ndn-cxx >/dev/null
 
-./waf --color=yes configure --disable-static --enable-shared --without-osx-keychain
+if has CentOS-8 $NODE_LABELS; then
+    # https://bugzilla.redhat.com/show_bug.cgi?id=1721553
+    PCH="--without-pch"
+fi
+
+./waf --color=yes configure --disable-static --enable-shared --without-osx-keychain $PCH
 ./waf --color=yes build -j$WAF_JOBS
 sudo_preserve_env PATH -- ./waf --color=yes install
 
 popd >/dev/null
 popd >/dev/null
 
+if has CentOS-8 $NODE_LABELS; then
+    sudo tee /etc/ld.so.conf.d/ndn.conf >/dev/null <<< /usr/local/lib64
+fi
 if has Linux $NODE_LABELS; then
     sudo ldconfig
 fi
diff --git a/.jenkins.d/10-build.sh b/.jenkins.d/10-build.sh
index 854c4ed..58c8b06 100755
--- a/.jenkins.d/10-build.sh
+++ b/.jenkins.d/10-build.sh
@@ -10,6 +10,10 @@
 if [[ $JOB_NAME == *"code-coverage" ]]; then
     COVERAGE="--with-coverage"
 fi
+if has CentOS-8 $NODE_LABELS; then
+    # https://bugzilla.redhat.com/show_bug.cgi?id=1721553
+    PCH="--without-pch"
+fi
 
 if [[ $JOB_NAME != *"code-coverage" && $JOB_NAME != *"limited-build" ]]; then
     # Build in release mode with tests and without precompiled headers
@@ -20,7 +24,7 @@
     ./waf --color=yes distclean
 
     # Build in release mode without tests, but with "other tests"
-    ./waf --color=yes configure --with-other-tests
+    ./waf --color=yes configure --with-other-tests $PCH
     ./waf --color=yes build -j$WAF_JOBS
 
     # Cleanup
@@ -28,7 +32,7 @@
 fi
 
 # Build in debug mode with tests
-./waf --color=yes configure --debug --with-tests $ASAN $COVERAGE
+./waf --color=yes configure --debug --with-tests $ASAN $COVERAGE $PCH
 ./waf --color=yes build -j$WAF_JOBS
 
 # (tests will be run against the debug version)