From 5515e1c5a1910db5ccca773c0512a15009a7bff0 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com> Date: Wed, 17 Mar 2021 16:51:36 -0400 Subject: [PATCH] packaging/fedora: Add a jami-qt package. A new spec file is added, and the Fedora Docker images are augmented with the required Qt dependencies. The client-qt submodule is now also included in the release tarball. GitLab: #264 Change-Id: I2f25fdc3270a7fed13b9b0714d01feb37f270077 --- docker/Dockerfile_fedora_32 | 19 +++++--- docker/Dockerfile_fedora_33 | 19 +++++--- docker/Dockerfile_fedora_34 | 19 +++++--- packaging/rules/fedora/jami-qt.spec | 69 +++++++++++++++++++++++++++++ scripts/build-package-fedora.sh | 4 +- 5 files changed, 107 insertions(+), 23 deletions(-) create mode 100644 packaging/rules/fedora/jami-qt.spec diff --git a/docker/Dockerfile_fedora_32 b/docker/Dockerfile_fedora_32 index 71d59e5f..26abf528 100644 --- a/docker/Dockerfile_fedora_32 +++ b/docker/Dockerfile_fedora_32 @@ -1,13 +1,11 @@ FROM fedora:32 RUN dnf clean all -RUN dnf install -y dnf-command\(builddep\) rpmdevtools -RUN dnf clean all -RUN dnf upgrade -y && \ - dnf install -y mesa-libgbm-devel mesa-dri-drivers && \ - dnf install -y libinput-devel && \ - dnf install -y \ +RUN dnf install -y dnf-command\(builddep\) rpmdevtools && \ + dnf install -y mock + +RUN dnf install -y \ git \ rpm-build \ tar \ @@ -21,11 +19,12 @@ RUN dnf upgrade -y && \ libcanberra-devel \ libcurl-devel \ libtool \ + mesa-libgbm-devel \ + mesa-dri-drivers \ dbus-devel \ expat-devel \ pcre-devel \ yaml-cpp-devel \ - boost-devel \ dbus-c++-devel \ dbus-devel \ libXext-devel \ @@ -66,6 +65,12 @@ RUN dnf upgrade -y && \ 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 \ sqlite-devel ADD scripts/build-package-fedora.sh /opt/build-package-fedora.sh diff --git a/docker/Dockerfile_fedora_33 b/docker/Dockerfile_fedora_33 index 0cb5e777..364e04a7 100644 --- a/docker/Dockerfile_fedora_33 +++ b/docker/Dockerfile_fedora_33 @@ -1,13 +1,11 @@ FROM fedora:33 RUN dnf clean all -RUN dnf install -y dnf-command\(builddep\) rpmdevtools -RUN dnf clean all -RUN dnf upgrade -y && \ - dnf install -y mesa-libgbm-devel mesa-dri-drivers && \ - dnf install -y libinput-devel && \ - dnf install -y \ +RUN dnf install -y dnf-command\(builddep\) rpmdevtools && \ + dnf install -y mock + +RUN dnf install -y \ git \ rpm-build \ tar \ @@ -21,11 +19,12 @@ RUN dnf upgrade -y && \ libcanberra-devel \ libcurl-devel \ libtool \ + mesa-libgbm-devel \ + mesa-dri-drivers \ dbus-devel \ expat-devel \ pcre-devel \ yaml-cpp-devel \ - boost-devel \ dbus-c++-devel \ dbus-devel \ libXext-devel \ @@ -66,6 +65,12 @@ RUN dnf upgrade -y && \ 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 \ sqlite-devel ADD scripts/build-package-fedora.sh /opt/build-package-fedora.sh diff --git a/docker/Dockerfile_fedora_34 b/docker/Dockerfile_fedora_34 index 578d05fc..9f2576b5 100644 --- a/docker/Dockerfile_fedora_34 +++ b/docker/Dockerfile_fedora_34 @@ -1,13 +1,11 @@ FROM fedora:34 RUN dnf clean all -RUN dnf install -y dnf-command\(builddep\) rpmdevtools -RUN dnf clean all -RUN dnf upgrade -y && \ - dnf install -y mesa-libgbm-devel mesa-dri-drivers && \ - dnf install -y libinput-devel && \ - dnf install -y \ +RUN dnf install -y dnf-command\(builddep\) rpmdevtools && \ + dnf install -y mock + +RUN dnf install -y \ git \ rpm-build \ tar \ @@ -21,11 +19,12 @@ RUN dnf upgrade -y && \ libcanberra-devel \ libcurl-devel \ libtool \ + mesa-libgbm-devel \ + mesa-dri-drivers \ dbus-devel \ expat-devel \ pcre-devel \ yaml-cpp-devel \ - boost-devel \ dbus-c++-devel \ dbus-devel \ libXext-devel \ @@ -66,6 +65,12 @@ RUN dnf upgrade -y && \ 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 \ sqlite-devel ADD scripts/build-package-fedora.sh /opt/build-package-fedora.sh diff --git a/packaging/rules/fedora/jami-qt.spec b/packaging/rules/fedora/jami-qt.spec new file mode 100644 index 00000000..3ecc8b85 --- /dev/null +++ b/packaging/rules/fedora/jami-qt.spec @@ -0,0 +1,69 @@ +%define name jami-qt +%define version RELEASE_VERSION +%define release 0 + +Name: %{name} +Version: %{version} +Release: %{release}%{?dist} +Summary: Qt client for Jami +Group: Applications/Internet +License: GPLv3+ +Vendor: Savoir-faire Linux +URL: https://jami.net/ +Source: jami_%{version}.tar.gz +Requires: jami-libclient = %{version} +Provides: jami +Obsoletes: jami < %{version}-%{release} + +# Build dependencies. +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: make +BuildRequires: qt5-qttools-devel + +# Build and runtime dependencies. +BuildRequires: qrencode-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 + +%description +This package contains the Qt desktop client of Jami. Jami is a free +software for universal communication which respects freedoms and +privacy of its users. + +%prep +%setup -n ring-project + +%build +cd %{_builddir}/ring-project/client-qt && \ + mkdir build && cd build && \ + cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \ + -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ + -DCMAKE_BUILD_TYPE=Debug \ + .. + +make -C %{_builddir}/ring-project/client-qt/build %{_smp_mflags} V=1 + +%install +DESTDIR=%{buildroot} make -C %{_builddir}/ring-project/client-qt/build install + +%files +%defattr(-,root,root,-) +%{_bindir}/jami +%{_bindir}/jami-qt +%{_datadir}/applications/jami-qt.desktop +%{_datadir}/jami-qt/jami-qt.desktop +%{_datadir}/icons/hicolor/scalable/apps/jami.svg +%{_datadir}/icons/hicolor/48x48/apps/jami.png +%{_datadir}/pixmaps/jami.xpm +%{_datadir}/metainfo/jami-qt.appdata.xml +%{_datadir}/ring/translations/* diff --git a/scripts/build-package-fedora.sh b/scripts/build-package-fedora.sh index 17cb3c90..64242a81 100755 --- a/scripts/build-package-fedora.sh +++ b/scripts/build-package-fedora.sh @@ -52,8 +52,8 @@ rpm --install /root/rpmbuild/RPMS/x86_64/jami-daemon-* rpmbuild -ba jami-libclient.spec rpm --install /root/rpmbuild/RPMS/x86_64/jami-libclient-* -# Build the GNOME client. -rpmbuild -ba jami-gnome.spec +# Build the GNOME and Qt clients. +rpmbuild -ba jami-gnome.spec jami-qt.spec # Move the built packages to the output directory. mv /root/rpmbuild/RPMS/*/* /opt/output -- GitLab