build: support CentOS Stream 9, drop CentOS 8

Refs: #5181
Change-Id: I289930c9658137e1637357f81c762ebb331474c8
diff --git a/.jenkins.d/00-deps.sh b/.jenkins.d/00-deps.sh
index 25961a1..5a9c2f3 100755
--- a/.jenkins.d/00-deps.sh
+++ b/.jenkins.d/00-deps.sh
@@ -41,8 +41,7 @@
             ;;
     esac
 
-elif has CentOS-8 $NODE_LABELS; then
-    sudo dnf config-manager --enable powertools
+elif has CentOS $NODE_LABELS; then
     sudo dnf -y install gcc-c++ libasan pkgconf-pkg-config python3 \
                         boost-devel openssl-devel sqlite-devel \
                         libpcap-devel
diff --git a/.jenkins.d/01-ndn-cxx.sh b/.jenkins.d/01-ndn-cxx.sh
index 4e0e154..5da6d35 100755
--- a/.jenkins.d/01-ndn-cxx.sh
+++ b/.jenkins.d/01-ndn-cxx.sh
@@ -35,19 +35,14 @@
 
 pushd ndn-cxx >/dev/null
 
-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 configure --disable-static --enable-shared --without-osx-keychain
 ./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
+if has CentOS $NODE_LABELS; then
     sudo tee /etc/ld.so.conf.d/ndn.conf >/dev/null <<< /usr/local/lib64
 fi
 if has Linux $NODE_LABELS; then
diff --git a/INSTALL.md b/INSTALL.md
index fdd94e5..369fd9c 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -16,13 +16,12 @@
 
   Comes with the base system on macOS.
 
-  On Ubuntu:
+  On Debian and Ubuntu:
 
       sudo apt install libpcap-dev
 
   On CentOS and Fedora:
 
-      sudo dnf config-manager --enable powertools  # CentOS only
       sudo dnf install libpcap-devel
 
 ## Build Steps
diff --git a/wscript b/wscript
index 0bfb7f6..e699fd3 100644
--- a/wscript
+++ b/wscript
@@ -27,6 +27,11 @@
 
     conf.env.WITH_TESTS = conf.options.with_tests
 
+    # Prefer pkgconf if it's installed, because it gives more correct results
+    # on Fedora/CentOS/RHEL/etc. See https://bugzilla.redhat.com/show_bug.cgi?id=1953348
+    # Store the result in env.PKGCONFIG, which is the variable used inside check_cfg()
+    conf.find_program(['pkgconf', 'pkg-config'], var='PKGCONFIG')
+
     pkg_config_path = os.environ.get('PKG_CONFIG_PATH', f'{conf.env.LIBDIR}/pkgconfig')
     conf.check_cfg(package='libndn-cxx', args=['libndn-cxx >= 0.8.0', '--cflags', '--libs'],
                    uselib_store='NDN_CXX', pkg_config_path=pkg_config_path)