diff --git a/Jenkinsfile b/Jenkinsfile index 888bb7a9e1fc5bc73a321a5f8999c2c7d3575ccf..5db8a85b8b8840b930e74b78e82ea5b5ed088f0f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,4 +1,4 @@ -// Copyright (C) 2021 Savoir-faire Linux Inc. +// Copyright (C) 2021-2022 Savoir-faire Linux Inc. // // Author: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com> // diff --git a/docker/Dockerfile_fedora_33 b/docker/Dockerfile_fedora_33 index 83c4080cb3edf00df76d73594a982983c08c19ce..03a641bd33982e2a70731ef076d8bd8c29887fde 100644 --- a/docker/Dockerfile_fedora_33 +++ b/docker/Dockerfile_fedora_33 @@ -75,6 +75,10 @@ RUN dnf install -y \ nodejs \ bison \ flex \ + gstreamer1 gstreamer1-devel \ + gstreamer1-plugins-base-devel \ + gstreamer1-plugins-good \ + gstreamer1-plugins-bad-free-devel \ nss-devel \ libxcb* \ libxkb* \ diff --git a/docker/Dockerfile_fedora_34 b/docker/Dockerfile_fedora_34 index f0587d1480fe01d7577af0ad998479b99dca9d06..316834aff7694dbab3d9d71d5d04820f2d4792a0 100644 --- a/docker/Dockerfile_fedora_34 +++ b/docker/Dockerfile_fedora_34 @@ -75,6 +75,10 @@ RUN dnf install -y \ llvm-devel \ nodejs \ flex \ + gstreamer1 gstreamer1-devel \ + gstreamer1-plugins-base-devel \ + gstreamer1-plugins-good \ + gstreamer1-plugins-bad-free-devel \ nss-devel \ libxcb* \ libxkb* \ diff --git a/docker/Dockerfile_fedora_35 b/docker/Dockerfile_fedora_35 index 1d0e9d73105f86b01f8646ddfcb344b711c9a617..f22812e5ab86e2bc92187984f3aed821d0a71126 100644 --- a/docker/Dockerfile_fedora_35 +++ b/docker/Dockerfile_fedora_35 @@ -75,6 +75,10 @@ RUN dnf install -y \ llvm-devel \ nodejs \ flex \ + gstreamer1 gstreamer1-devel \ + gstreamer1-plugins-base-devel \ + gstreamer1-plugins-good \ + gstreamer1-plugins-bad-free-devel \ nss-devel \ libxcb* \ libxkb* \ diff --git a/docker/Dockerfile_opensuse-leap_15.3 b/docker/Dockerfile_opensuse-leap_15.3 index c8e0d267e6eb6f1dc429a89e8ac95de3922f16d3..03c2586bcd4c0ac986087f097354d523abbb9d9e 100644 --- a/docker/Dockerfile_opensuse-leap_15.3 +++ b/docker/Dockerfile_opensuse-leap_15.3 @@ -66,6 +66,7 @@ RUN zypper --non-interactive install -y \ gperf \ bison \ flex \ + ffmpeg ffmpeg-devel \ nodejs12 \ mozilla-nss-devel \ python-xml \ diff --git a/packaging/rules/rpm/jami-daemon.spec b/packaging/rules/rpm/jami-daemon.spec index 1e92ae2aa59477c0a35fcfb2f609ca52f0432aee..f28fd2b08867ba903b8583e8adf8e1c98029224e 100644 --- a/packaging/rules/rpm/jami-daemon.spec +++ b/packaging/rules/rpm/jami-daemon.spec @@ -79,14 +79,12 @@ cd %{_builddir}/jami-project/daemon/contrib/native && \ make fetch && \ make %{_smp_mflags} V=1 && \ make %{_smp_mflags} V=1 .ffmpeg - # Configure the daemon. cd %{_builddir}/jami-project/daemon && \ ./autogen.sh && \ ./configure \ --prefix=%{_prefix} \ --libdir=%{_libdir} - # Build the daemon. make -C %{_builddir}/jami-project/daemon %{_smp_mflags} V=1 pod2man %{_builddir}/jami-project/daemon/man/jamid.pod \ diff --git a/packaging/rules/rpm/jami-gnome.spec b/packaging/rules/rpm/jami-gnome.spec index 62bd90792003a582d5bd7122bbff01e8e2e4d9e6..b7b3f8c1a75ddfc5551e3050b8984ba38bad466c 100644 --- a/packaging/rules/rpm/jami-gnome.spec +++ b/packaging/rules/rpm/jami-gnome.spec @@ -48,7 +48,6 @@ cd %{_builddir}/jami-project/client-gnome && \ -DCMAKE_BUILD_TYPE=Debug \ -DGSETTINGS_LOCALCOMPILE=OFF \ .. - make -C %{_builddir}/jami-project/client-gnome/build \ LDFLAGS="-lpthread" %{_smp_mflags} V=1 diff --git a/packaging/rules/rpm/jami-libclient.spec b/packaging/rules/rpm/jami-libclient.spec index 3ba7979450d6909fc8cb30c1e1bb56b52b44383b..5826c10e1299ee00bc54086eea6f37cf40284662 100644 --- a/packaging/rules/rpm/jami-libclient.spec +++ b/packaging/rules/rpm/jami-libclient.spec @@ -32,7 +32,6 @@ users. %setup -n jami-project %build - # Qt-related variables cd %{_builddir}/jami-project/lrc && \ mkdir build && cd build && \ @@ -42,7 +41,6 @@ cd %{_builddir}/jami-project/lrc && \ -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ -DCMAKE_BUILD_TYPE=Release \ .. - make -C %{_builddir}/jami-project/lrc/build %{_smp_mflags} V=1 %install diff --git a/packaging/rules/rpm/jami-libqt.spec b/packaging/rules/rpm/jami-libqt.spec index 717248e4f2cd2d368be832f107f16ae86a5508cd..a66a5bacdc6440327632f566dfc7d37bf34f5a38 100644 --- a/packaging/rules/rpm/jami-libqt.spec +++ b/packaging/rules/rpm/jami-libqt.spec @@ -1,6 +1,6 @@ %define name jami-libqt %define version RELEASE_VERSION -%define release 0 +%define release 2 # qtwebengine (aka chromium) takes a ton of memory per build process, # up to 2.3 GiB. Cap the number of jobs based on the amount of @@ -27,6 +27,11 @@ Vendor: Savoir-faire Linux URL: https://jami.net/ Source: jami-qtlib_%{version}.tar.xz +%global gst 0.10 +%if 0%{?fedora} || 0%{?rhel} > 7 +%global gst 1.0 +%endif + # Build dependencies BuildRequires: autoconf BuildRequires: make @@ -36,8 +41,18 @@ BuildRequires: gperf BuildRequires: flex BuildRequires: vulkan-devel %if %{defined suse_version} +BuildRequires: ffmpeg-devel +BuildRequires: ffmpeg BuildRequires: python-xml BuildRequires: mozilla-nss-devel +%else +BuildRequires: pkgconfig(gstreamer-%{gst}) +BuildRequires: pkgconfig(gstreamer-app-%{gst}) +BuildRequires: pkgconfig(gstreamer-audio-%{gst}) +BuildRequires: pkgconfig(gstreamer-base-%{gst}) +BuildRequires: pkgconfig(gstreamer-pbutils-%{gst}) +BuildRequires: pkgconfig(gstreamer-plugins-bad-%{gst}) +BuildRequires: pkgconfig(gstreamer-video-%{gst}) %endif %description @@ -68,7 +83,6 @@ sed -i 's,#include <QtCore/qbytearray.h>,#include <QtCore/qbytearray.h>\n#includ -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. cmake --build . --parallel diff --git a/packaging/rules/rpm/jami-qt.spec b/packaging/rules/rpm/jami-qt.spec index c46ade17058b38561312c0a96738e01495bdd1ac..4af924b388858461ba0425f326650dc2fad2e097 100644 --- a/packaging/rules/rpm/jami-qt.spec +++ b/packaging/rules/rpm/jami-qt.spec @@ -38,7 +38,6 @@ privacy of its users. %setup -n jami-project %build - # Qt-related variables cd %{_builddir}/jami-project/client-qt && \ mkdir build && cd build && \ @@ -46,7 +45,6 @@ cd %{_builddir}/jami-project/client-qt && \ -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ -DCMAKE_BUILD_TYPE=Release \ .. - make -C %{_builddir}/jami-project/client-qt/build %{_smp_mflags} V=1 %install diff --git a/scripts/build-package-rpm.sh b/scripts/build-package-rpm.sh index 97d00208506f2559cd24ab5a903fffff8756b62f..e4212289b1f5993361b1e606742bcdbe3ad91e1c 100755 --- a/scripts/build-package-rpm.sh +++ b/scripts/build-package-rpm.sh @@ -44,6 +44,7 @@ CMAKE_PREFIX_PATH="${QT_JAMI_PREFIX}/lib/cmake:${CMAKE_PREFIX_PATH}" QT_MAJOR=6 QT_MINOR=2 QT_PATCH=3 +QT_RELEASE_PATCH=3 QT_MAJOR_MINOR=${QT_MAJOR}.${QT_MINOR} QT_MAJOR_MINOR_PATCH=${QT_MAJOR}.${QT_MINOR}.${QT_PATCH} @@ -56,9 +57,9 @@ QT_TARBALL_FILE_NAME=$(basename "$QT_TARBALL_URL") CACHED_QT_TARBALL=$TARBALLS/$QT_TARBALL_FILE_NAME mkdir -p "$TARBALLS/$DISTRIBUTION" -RPM_PATH=$TARBALLS/$DISTRIBUTION/jami-libqt-$QT_MAJOR_MINOR_PATCH-1.x86_64.rpm +RPM_PATH=$TARBALLS/$DISTRIBUTION/jami-libqt-$QT_MAJOR_MINOR_PATCH-${QT_RELEASE_PATCH}.x86_64.rpm if [[ "${DISTRIBUTION:0:4}" == "rhel" ]]; then - RPM_PATH=$TARBALLS/${DISTRIBUTION}/jami-libqt-$QT_MAJOR_MINOR_PATCH-1.el8.x86_64.rpm + RPM_PATH=$TARBALLS/${DISTRIBUTION}/jami-libqt-$QT_MAJOR_MINOR_PATCH-${QT_RELEASE_PATCH}.el8.x86_64.rpm fi if [ ! -f "${RPM_PATH}" ]; then @@ -101,13 +102,13 @@ if [ ! -f "${RPM_PATH}" ]; then # Cache the built Qt RPM package. if [[ "${DISTRIBUTION:0:4}" == "rhel" ]]; then - cp "/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-*.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}" + cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.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}" + cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.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}" + cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.fc35.x86_64.rpm "${RPM_PATH}" else cp /root/rpmbuild/RPMS/x86_64/jami-libqt-*.rpm "${RPM_PATH}" fi