diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 11a3b78d47ff08979c9e6e19ab5891e892ef3ec5..42cd589819d629e6f296bb017c72901b15e876c3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -19,7 +19,7 @@ variables:
   # CI runs, for example when adding new packages to FDO_DISTRIBUTION_PACKAGES.
   # The tag is an arbitrary string that identifies the exact container
   # contents.
-  BASE_TAG: '2020-11-27.1'
+  BASE_TAG: '2020-12-10.1'
   FDO_DISTRIBUTION_VERSION: '20.10'
   FDO_UPSTREAM_REPO: 'pulseaudio/webrtc-audio-processing'
 
@@ -43,6 +43,7 @@ include:
     FDO_DISTRIBUTION_PACKAGES: >-
       g++
       gcc
+      cmake
       libabsl-dev
       meson
       ninja-build
diff --git a/meson.build b/meson.build
index bae155e1cada923603648ff3f1d544474621dc5f..96d84d79b9d4146d926d1ded51caef8eb4a682a8 100644
--- a/meson.build
+++ b/meson.build
@@ -40,19 +40,14 @@ os_deps = []
 have_posix = false
 have_win = false
 
-absl_dep = [
-  cpp.find_library('absl_base'),
-  cpp.find_library('absl_bad_optional_access'),
-  cpp.find_library('absl_flags_internal'),
-  cpp.find_library('absl_flags_marshalling'),
-  cpp.find_library('absl_flags_parse'),
-  cpp.find_library('absl_flags_registry'),
-  cpp.find_library('absl_flags_usage_internal'),
-  cpp.find_library('absl_raw_logging_internal'),
-  cpp.find_library('absl_strings'),
-  cpp.find_library('absl_synchronization'),
-  cpp.find_library('absl_throw_delegate'),
-]
+absl_dep = dependency('absl', method : 'cmake',
+  modules : [
+    'absl::base',
+    'absl::flags_parse',
+    'absl::strings',
+    'absl::synchronization',
+  ]
+)
 
 if ['darwin', 'ios'].contains(host_system)
   os_cflags = ['-DWEBRTC_MAC']