packaging: use cmake to build daemon

Follow-up to commit 22be4be.

Change-Id: I0192390fb48c884ac193839b5440dd1dc3dad4b5
This commit is contained in:
François-Simon Fauteux-Chapleau
2025-11-04 14:15:01 -05:00
parent 331b5b9c3d
commit 8fc7ab1e85
4 changed files with 26 additions and 72 deletions

2
daemon

Submodule daemon updated: e2ab19cdd9...6ca057454b

View File

@@ -58,33 +58,16 @@ OCI_INSTALL_DIR = $(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME)
override_dh_auto_configure:
override_dh_auto_build:
# Daemon contribs build + configure
mkdir -p daemon/contrib/native
cd daemon/contrib/native && \
../bootstrap \
--host=${HOST_ARCH} \
--disable-downloads \
--no-checksums \
--disable-ogg \
--disable-flac \
--disable-vorbis \
--disable-vorbisenc \
--disable-speex \
--disable-sndfile \
--disable-gsm \
--disable-speexdsp \
--disable-natpmp \
$(BUNDLED_PKGS) && \
make list && \
make -j$(NO_CPUS) V=1
cd daemon && \
./autogen.sh && \
./configure \
--prefix=/usr \
--host=${HOST_ARCH}
# Daemon build
make -C daemon -j$(NO_CPUS) V=1
mkdir -p daemon/build
cd daemon/build && \
cmake \
-DCMAKE_INSTALL_PREFIX=/usr \
-DJAMI_DBUS=On \
-DBUILD_SHARED_LIBS=On \
-DBUILD_TESTING=Off \
$(CMAKE_OPTIONS) ..
make -C daemon/build -j$(NO_CPUS) VERBOSE=1
pod2man daemon/man/jamid.pod > daemon/jamid.1
# Qt client configure and build
@@ -101,9 +84,7 @@ override_dh_auto_build:
override_dh_auto_clean:
# Daemon clean
[ -f daemon/contrib/native/Makefile ] && \
make -C daemon/contrib/native distclean || true
rm -rfv daemon/contrib/native
rm -rfv daemon/contrib/native*
rm -rfv daemon/jamid.1
# Qt client clean
@@ -113,7 +94,7 @@ override_dh_auto_clean:
override_dh_auto_install:
# Daemon install
cd daemon && make DESTDIR=$(CURDIR)/debian/$(JAMI_DAEMON_PKG_NAME) install
cd daemon/build && make DESTDIR=$(CURDIR)/debian/$(JAMI_DAEMON_PKG_NAME) install
rm -rfv $(CURDIR)/debian/$(JAMI_DAEMON_PKG_NAME)/usr/include
rm -rfv $(CURDIR)/debian/$(JAMI_DAEMON_PKG_NAME)/usr/lib/*.a
rm -rfv $(CURDIR)/debian/$(JAMI_DAEMON_PKG_NAME)/usr/lib/*.la
@@ -132,7 +113,7 @@ override_dh_auto_install:
# Jami all-in-one install
# Daemon
cd daemon && make DESTDIR=$(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME) install
cd daemon/build && make DESTDIR=$(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME) install
rm -rfv $(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME)/usr/include
rm -rfv $(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME)/usr/lib/*.a
rm -rfv $(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME)/usr/lib/*.la

View File

@@ -65,36 +65,23 @@ users.
%build
CFLAGS="${CFLAGS} -fno-lto"
CXXFLAGS="${CXXFLAGS} -fno-lto"
# Configure the Jami bundled libraries (ffmpeg & pjproject).
mkdir -p daemon/contrib/native
cd %{_builddir}/jami-%{version}/daemon/contrib/native && \
../bootstrap \
--no-checksums \
--disable-ogg \
--disable-flac \
--disable-vorbis \
--disable-vorbisenc \
--disable-speex \
--disable-sndfile \
--disable-gsm \
--disable-speexdsp \
--disable-natpmp && \
make list && \
make fetch && \
make %{_smp_mflags} V=1 && \
# Configure the daemon.
cd %{_builddir}/jami-%{version}/daemon && \
./autogen.sh && \
./configure \
--prefix=%{_prefix} \
--libdir=%{_libdir}
# Build the daemon.
make -C %{_builddir}/jami-%{version}/daemon %{_smp_mflags} V=1
mkdir -p %{_builddir}/jami-%{version}/daemon/build
cd %{_builddir}/jami-%{version}/daemon/build && \
cmake \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DCMAKE_BUILD_TYPE=Release \
-DJAMI_DBUS=On \
-DBUILD_SHARED_LIBS=On \
-DBUILD_TESTING=Off \
..
make -C %{_builddir}/jami-%{version}/daemon/build %{_smp_mflags} V=1
pod2man %{_builddir}/jami-%{version}/daemon/man/jamid.pod \
> %{_builddir}/jami-%{version}/daemon/jamid.1
%install
DESTDIR=%{buildroot} make -C daemon install
DESTDIR=%{buildroot} make -C daemon/build install
mkdir -p %{buildroot}/%{_mandir}/man1
cp %{_builddir}/jami-%{version}/daemon/jamid.1 \
%{buildroot}/%{_mandir}/man1/jamid.1
rm -rfv %{buildroot}/%{_libdir}/*.a
@@ -102,7 +89,7 @@ rm -rfv %{buildroot}/%{_libdir}/*.la
%files
%defattr(-,root,root,-)
%{_libdir}/libjami.so*
%{_libdir}/libjami-core.*
%{_libdir}/pkgconfig/jami.pc
# XXX: Use %%{_libexecdir}/jamid after there's no more OpenSUSE Leap
# < 16 (see https://en.opensuse.org/openSUSE:Specfile_guidelines).

View File

@@ -283,20 +283,6 @@ parts:
sed -i -E 's|(tmpName) << (PACKAGE_NAME << "_shm_")|\1 << "snap.jami." << \2|' ./daemon/src/media/video/sinkclient.cpp
sed -i -E 's|^Icon=.*|Icon=${SNAP}/usr/share/icons/hicolor/scalable/apps/net.jami.Jami.svg|' extras/data/net.jami.Jami.desktop
override-build: |
cd $CRAFT_PART_BUILD/daemon/contrib
mkdir -p native
cd native
../bootstrap
make .ffmpeg
make
cd $CRAFT_PART_BUILD/daemon
./autogen.sh
./configure --prefix=/usr --without-dbus
make -j$CRAFT_PARALLEL_BUILD_COUNT
DESTDIR=$CRAFT_PART_INSTALL make install
cd $CRAFT_PART_BUILD/
mkdir -p build
cd build
cmake .. -DENABLE_LIBWRAP=true \