diff --git a/docker/Dockerfile_fedora_33 b/docker/Dockerfile_fedora_33
index 633b855ba2794ac078f8fa51e67c96d91a2e1b31..6a918fc21958507d09d7ff961dc7ba08e766e2c6 100644
--- a/docker/Dockerfile_fedora_33
+++ b/docker/Dockerfile_fedora_33
@@ -5,6 +5,8 @@ RUN dnf clean all
 RUN dnf install -y dnf-command\(builddep\) rpmdevtools && \
     dnf install -y mock
 
+RUN dnf groupinstall -y "X Software Development"
+
 RUN dnf install -y \
         git \
         rpm-build \
@@ -63,15 +65,27 @@ RUN dnf install -y \
         libnotify-devel \
         libupnp-devel \
         qrencode-devel \
-        qt5-qtbase-devel \
-        qt5-qttools-devel \
-        qt5-qtdeclarative-devel \
-        qt5-qtquickcontrols \
-        qt5-qtquickcontrols2-devel \
-        qt5-qtmultimedia-devel \
-        qt5-qtsvg-devel \
-        qt5-qtwebengine-devel \
         libargon2-devel \
+        libsndfile-devel \
+        libdrm \
+        gperf \
+        clang \
+        clang-devel \
+        nodejs \
+        bison \
+        flex \
+        nss-devel \
+        libxcb* \
+        libxkb* \
+        libXrender-devel \
+        xcb-util-* \
+        libX11-devel \
+        python2.7 \
+        xz \
+        xkeyboard-config \
+        libnotify \
+        wget \
+        libstdc++-static \
         sqlite-devel
 
 ADD scripts/build-package-rpm.sh /opt/build-package-rpm.sh
diff --git a/docker/Dockerfile_fedora_34 b/docker/Dockerfile_fedora_34
index 23a0ccf35eaf632822f529821418a649cbd05978..b2529035d591bf5f300a1a416c0b050903046e9d 100644
--- a/docker/Dockerfile_fedora_34
+++ b/docker/Dockerfile_fedora_34
@@ -5,6 +5,8 @@ RUN dnf clean all
 RUN dnf install -y dnf-command\(builddep\) rpmdevtools && \
     dnf install -y mock
 
+RUN dnf groupinstall -y "X Software Development"
+
 RUN dnf install -y \
         git \
         rpm-build \
@@ -63,15 +65,27 @@ RUN dnf install -y \
         libnotify-devel \
         libupnp-devel \
         qrencode-devel \
-        qt5-qtbase-devel \
-        qt5-qttools-devel \
-        qt5-qtdeclarative-devel \
-        qt5-qtquickcontrols \
-        qt5-qtquickcontrols2-devel \
-        qt5-qtmultimedia-devel \
-        qt5-qtsvg-devel \
-        qt5-qtwebengine-devel \
         libargon2-devel \
+        libsndfile-devel \
+        libdrm \
+        gperf \
+        bison \
+        clang \
+        clang-devel \
+        nodejs \
+        flex \
+        nss-devel \
+        libxcb* \
+        libxkb* \
+        libX11-devel \
+        libXrender-devel \
+        xcb-util-* \
+        python2.7 \
+        xz \
+        xkeyboard-config \
+        libnotify \
+        wget \
+        libstdc++-static \
         sqlite-devel
 
 ADD scripts/build-package-rpm.sh /opt/build-package-rpm.sh
diff --git a/packaging/rules/rpm/jami-libclient.spec b/packaging/rules/rpm/jami-libclient.spec
index aa54c06f25797bbb29cdd514c695213bc1796c98..55556bc31728f93a56deca1e7b75fdbbff9283da 100644
--- a/packaging/rules/rpm/jami-libclient.spec
+++ b/packaging/rules/rpm/jami-libclient.spec
@@ -20,8 +20,6 @@ BuildRequires: jami-daemon-devel = %{version}
 BuildRequires: make
 %if 0%{?fedora} >= 32
 BuildRequires: NetworkManager-libnm-devel
-BuildRequires: qt5-qtbase-devel
-BuildRequires: qt5-qttools-devel
 %endif
 
 %description
diff --git a/packaging/rules/rpm/jami-libqt.spec b/packaging/rules/rpm/jami-libqt.spec
index dc7aca83dc182ba3e19f559a52337fef6b2b90fe..0bd11578e63e7f089d6a10778712228a296b93fe 100644
--- a/packaging/rules/rpm/jami-libqt.spec
+++ b/packaging/rules/rpm/jami-libqt.spec
@@ -47,6 +47,15 @@ This package contains Qt libraries for Jami.
 
 %build
 echo "Building Qt using %{job_count} parallel jobs"
+# https://bugs.gentoo.org/768261 (Qt 5.15)
+sed -i 's,#include "absl/base/internal/spinlock.h"1,#include "absl/base/internal/spinlock.h"1\n#include <limits>,g' qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc
+sed -i 's,#include <stdint.h>,#include <stdint.h>\n#include <limits>,g' qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.h
+# https://bugreports.qt.io/browse/QTBUG-93452 (Qt 5.15)
+sed -i 's,#  include <utility>,#  include <utility>\n#  include <limits>,g' qtbase/src/corelib/global/qglobal.h
+sed -i 's,#include <string.h>,#include <string.h>\n#include <limits>,g' qtbase/src/corelib/global/qendian.h
+cat qtbase/src/corelib/global/qendian.h
+sed -i 's,#include <string.h>,#include <string.h>\n#include <limits>,g' qtbase/src/corelib/global/qfloat16.h
+sed -i 's,#include <QtCore/qbytearray.h>,#include <QtCore/qbytearray.h>\n#include <limits>,g' qtbase/src/corelib/text/qbytearraymatcher.h
 ./configure \
   -opensource \
   -confirm-license \
@@ -54,6 +63,7 @@ echo "Building Qt using %{job_count} parallel jobs"
   -nomake tests \
   -prefix "%{_libdir}/qt-jami"
 sed -i 's,bin/python,bin/env python3,g' qtbase/mkspecs/features/uikit/devices.py
+
 # Chromium is built using Ninja, which doesn't honor MAKEFLAGS.
 make -j%{job_count} V=1 NINJAFLAGS="-j%{job_count}"
 
diff --git a/packaging/rules/rpm/jami-qt.spec b/packaging/rules/rpm/jami-qt.spec
index 92f5d471873c16bcc3ad76fd97fc447588929a81..b8d9fd06beafde642cfd5a6ce88c5f72f989bb08 100644
--- a/packaging/rules/rpm/jami-qt.spec
+++ b/packaging/rules/rpm/jami-qt.spec
@@ -22,19 +22,6 @@ BuildRequires: make
 
 # Build and runtime dependencies.
 BuildRequires: qrencode-devel
-%if 0%{?fedora} >= 32
-BuildRequires: qt5-qttools-devel
-BuildRequires: qt5-qtbase-devel
-BuildRequires: qt5-qtdeclarative-devel
-BuildRequires: qt5-qtmultimedia-devel
-BuildRequires: qt5-qtquickcontrols
-BuildRequires: qt5-qtquickcontrols2-devel
-BuildRequires: qt5-qtsvg-devel
-BuildRequires: qt5-qtwebengine-devel
-# Runtime dependencies not automatically registered by RPM.
-Requires: qt5-qtquickcontrols
-Requires: qt5-qtgraphicaleffects
-%endif
 
 %description
 This package contains the Qt desktop client of Jami. Jami is a free
diff --git a/scripts/build-package-rpm.sh b/scripts/build-package-rpm.sh
index 3197fcfa173ff441744c4f5e4574bef0c0597111..fd8226a7c93c29cd925d28fb2b25a4974dd6b274 100755
--- a/scripts/build-package-rpm.sh
+++ b/scripts/build-package-rpm.sh
@@ -55,8 +55,7 @@ QT_TARBALL_SHA256="3a530d1b243b5dec00bc54937455471aaa3e56849d2593edb8ded07228202
 QT_TARBALL_FILE_NAME=$(basename "$QT_TARBALL_URL")
 CACHED_QT_TARBALL=$TARBALLS/$QT_TARBALL_FILE_NAME
 
-if [[ "${DISTRIBUTION:0:4}" == "rhel" \
-   || "${DISTRIBUTION:0:13}" == "opensuse-leap" ]]; then
+if [[ "${DISTRIBUTION}" != "opensuse-tumbleweed" ]]; then
 
     mkdir -p "$TARBALLS/$DISTRIBUTION"
     RPM_PATH=$TARBALLS/$DISTRIBUTION/jami-libqt-$QT_MAJOR_MINOR_PATCH-1.x86_64.rpm
@@ -103,9 +102,13 @@ if [[ "${DISTRIBUTION:0:4}" == "rhel" \
 
             # Cache the built Qt RPM package.
             if [[ "${DISTRIBUTION:0:4}" == "rhel" ]]; then
-                mv "/root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-1.el8.x86_64.rpm" "${RPM_PATH}"
+                cp "/root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-1.el8.x86_64.rpm" "${RPM_PATH}"
+            elif [[ "${DISTRIBUTION}" == "fedora_33" ]]; then
+                cp "/root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-1.fc33.x86_64.rpm" "${RPM_PATH}"
+            elif [[ "${DISTRIBUTION}" == "fedora_34" ]]; then
+                cp "/root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-1.fc34.x86_64.rpm" "${RPM_PATH}"
             else
-                mv /root/rpmbuild/RPMS/x86_64/jami-libqt-*.rpm "${RPM_PATH}"
+                cp /root/rpmbuild/RPMS/x86_64/jami-libqt-*.rpm "${RPM_PATH}"
             fi
         ) 9>"${RPM_PATH}.lock"
     fi