From db096e2e340a3b36a1730f183913dd59b192bc66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Blin?= <sebastien.blin@savoirfairelinux.com> Date: Tue, 2 Nov 2021 15:49:28 -0400 Subject: [PATCH] build: add fedora 35 Change-Id: I54ef1d4adc7823fe3a38cd9ff7e7ee9af6a774bb --- Makefile | 1 + docker/Dockerfile_fedora_35 | 93 +++++++++++++++++++++++++++++ packaging/rules/rpm/jami-libqt.spec | 2 + scripts/build-package-rpm.sh | 11 ++-- 4 files changed, 103 insertions(+), 4 deletions(-) create mode 100644 docker/Dockerfile_fedora_35 diff --git a/Makefile b/Makefile index 67915118..9ddfba7c 100644 --- a/Makefile +++ b/Makefile @@ -177,6 +177,7 @@ DISTRIBUTIONS := \ ubuntu_21.10 \ fedora_33 \ fedora_34 \ + fedora_35 \ opensuse-leap_15.2 \ opensuse-leap_15.3 \ opensuse-tumbleweed \ diff --git a/docker/Dockerfile_fedora_35 b/docker/Dockerfile_fedora_35 new file mode 100644 index 00000000..60a57889 --- /dev/null +++ b/docker/Dockerfile_fedora_35 @@ -0,0 +1,93 @@ +FROM fedora:35 + +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 \ + tar \ + make \ + autoconf \ + automake \ + nasm \ + cmake \ + speexdsp-devel \ + pulseaudio-libs-devel \ + libcanberra-devel \ + libcurl-devel \ + libtool \ + mesa-libgbm-devel \ + mesa-dri-drivers \ + dbus-devel \ + expat-devel \ + pcre-devel \ + yaml-cpp-devel \ + dbus-c++-devel \ + dbus-devel \ + libXext-devel \ + libXfixes-devel \ + yasm \ + speex-devel \ + gsm-devel \ + chrpath \ + check \ + astyle \ + uuid-c++-devel \ + gettext-devel \ + gcc-c++ \ + which \ + alsa-lib-devel \ + systemd-devel \ + libuuid-devel \ + uuid-devel \ + gnutls-devel \ + nettle-devel \ + opus-devel \ + patch \ + jsoncpp-devel \ + libnatpmp-devel \ + webkitgtk4-devel \ + cryptopp-devel \ + libva-devel \ + libvdpau-devel \ + msgpack-devel \ + NetworkManager-libnm-devel \ + openssl-devel \ + openssl-static \ + clutter-devel \ + clutter-gtk-devel \ + libappindicator-gtk3-devel \ + libnotify-devel \ + libupnp-devel \ + qrencode-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 + +CMD ["/opt/build-package-rpm.sh"] diff --git a/packaging/rules/rpm/jami-libqt.spec b/packaging/rules/rpm/jami-libqt.spec index 0bd11578..1951a59d 100644 --- a/packaging/rules/rpm/jami-libqt.spec +++ b/packaging/rules/rpm/jami-libqt.spec @@ -50,6 +50,8 @@ 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 +# else, break build for fedora 35 +sed -i 's/static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);/static const size_t kSigStackSize = std::max(size_t(16384), size_t(SIGSTKSZ));/g' qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc # 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 diff --git a/scripts/build-package-rpm.sh b/scripts/build-package-rpm.sh index fd8226a7..c7c84fe3 100755 --- a/scripts/build-package-rpm.sh +++ b/scripts/build-package-rpm.sh @@ -97,7 +97,8 @@ if [[ "${DISTRIBUTION}" != "opensuse-tumbleweed" ]]; then rpmdev-bumpspec --comment="Automatic nightly release" \ --userstring="Jenkins <jami@lists.savoirfairelinux.net>" jami-libqt.spec - rpmbuild -ba jami-libqt.spec + QA_RPATHS=$(( 0x0008 )) rpmbuild -ba jami-libqt.spec + # Note: try to remove QA_RPATHS=$(( 0x0008 )) with Qt > 6. Else we have a problem with $ORIGIN mkdir -p "$TARBALLS/${DISTRIBUTION}" # Cache the built Qt RPM package. @@ -107,6 +108,8 @@ if [[ "${DISTRIBUTION}" != "opensuse-tumbleweed" ]]; 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}" + elif [[ "${DISTRIBUTION}" == "fedora_35" ]]; then + cp "/root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-1.fc35.x86_64.rpm" "${RPM_PATH}" else cp /root/rpmbuild/RPMS/x86_64/jami-libqt-*.rpm "${RPM_PATH}" fi @@ -123,15 +126,15 @@ rpmdev-bumpspec --comment="Automatic nightly release" \ --userstring="Jenkins <jami@lists.savoirfairelinux.net>" ./*.spec # Build the daemon and install it. -rpmbuild -ba jami-daemon.spec +QA_RPATHS=$(( 0x0008 )) rpmbuild -ba jami-daemon.spec rpm --install /root/rpmbuild/RPMS/x86_64/jami-daemon-* # Build the client library and install it. -rpmbuild -ba jami-libclient.spec +QA_RPATHS=$(( 0x0008 )) rpmbuild -ba jami-libclient.spec rpm --install /root/rpmbuild/RPMS/x86_64/jami-libclient-* # Build the GNOME and Qt clients. -rpmbuild -ba jami-gnome.spec jami-qt.spec +QA_RPATHS=$(( 0x0008 )) rpmbuild -ba jami-gnome.spec jami-qt.spec # Move the built packages to the output directory. mv /root/rpmbuild/RPMS/*/* /opt/output -- GitLab