Unverified Commit 5515e1c5 authored by Maxim Cournoyer's avatar Maxim Cournoyer
Browse files

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
parent 94cf1f8b
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
......
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
......
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
......
%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/*
......@@ -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
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment