nheko/nheko.spec

135 lines
4.1 KiB
RPMSpec

Name: nheko
Version: 0.11.3
Release: %autorelease
# Main source - GPL-3.0-or-later.
# cpp-httplib - bundled - MIT.
# qtsingleapplication-qt5 - bundled - MIT.
License: GPL-3.0-or-later AND MIT
Summary: Desktop client for the Matrix protocol
URL: https://github.com/Nheko-Reborn/%{name}
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
# https://github.com/Nheko-Reborn/nheko/commit/d7c10ae90417fcbb7f81edd4e40d89e91436244b
Patch100: %{name}-0.11.3-gcc13-fix.patch
# https://github.com/Nheko-Reborn/nheko/commit/e89e65dc17020772eb057414b4f0c5d6f4ad98d0
Patch101: %{name}-0.11.3-fmt10-fix.patch
# https://github.com/Nheko-Reborn/nheko/commit/871e403f6799df48cfbbe08eba56d473a0c34216
Patch102: %{name}-0.11.3-fmt10.1-fix.patch
BuildRequires: cmake(MatrixClient) >= 0.9.2
BuildRequires: cmake(Olm) >= 3.2.12
BuildRequires: cmake(Qt5Concurrent)
BuildRequires: cmake(Qt5Core)
BuildRequires: cmake(Qt5DBus)
BuildRequires: cmake(Qt5Keychain)
BuildRequires: cmake(Qt5LinguistTools)
BuildRequires: cmake(Qt5Multimedia)
BuildRequires: cmake(Qt5Network)
BuildRequires: cmake(Qt5Qml)
BuildRequires: cmake(Qt5QuickCompiler)
BuildRequires: cmake(Qt5QuickControls2)
BuildRequires: cmake(Qt5QuickWidgets)
BuildRequires: cmake(Qt5Svg)
BuildRequires: cmake(Qt5Widgets)
BuildRequires: cmake(fmt) >= 9.1.0
BuildRequires: cmake(httplib) >= 0.5.12
BuildRequires: cmake(mpark_variant)
BuildRequires: cmake(nlohmann_json) >= 3.2.0
BuildRequires: cmake(spdlog) >= 1.0.0
BuildRequires: pkgconfig(blurhash) >= 0.2.0
BuildRequires: pkgconfig(coeurl) >= 0.3.0
BuildRequires: pkgconfig(gstreamer-1.0)
BuildRequires: pkgconfig(gstreamer-app-1.0)
BuildRequires: pkgconfig(gstreamer-audio-1.0)
BuildRequires: pkgconfig(gstreamer-base-1.0)
BuildRequires: pkgconfig(gstreamer-sdp-1.0)
BuildRequires: pkgconfig(gstreamer-video-1.0)
BuildRequires: pkgconfig(gstreamer-webrtc-1.0)
BuildRequires: pkgconfig(libcmark) >= 0.29.0
BuildRequires: pkgconfig(libcrypto)
BuildRequires: pkgconfig(libevent)
BuildRequires: pkgconfig(lmdb)
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(re2)
BuildRequires: pkgconfig(xcb)
BuildRequires: pkgconfig(xcb-ewmh)
BuildRequires: pkgconfig(zlib)
BuildRequires: asciidoc
BuildRequires: cmake
BuildRequires: desktop-file-utils
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: libappstream-glib
BuildRequires: lmdbxx-devel >= 1.0.0
BuildRequires: ninja-build
Requires: hicolor-icon-theme
Requires: qt-jdenticon%{?_isa}
Requires: qt5-qtquickcontrols2%{?_isa}
Recommends: google-noto-emoji-color-fonts
Recommends: google-noto-emoji-fonts
# https://github.com/Nheko-Reborn/nheko/issues/391
Provides: bundled(qtsingleapplication-qt5) = 3.3.2
%description
The motivation behind the project is to provide a native desktop app
for Matrix that feels more like a mainstream chat app.
%prep
%autosetup -p1
rm -rf third_party/{blurhash,cpp-httplib*}
%build
%cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON \
-DCOMPILE_QML:BOOL=OFF \
-DHUNTER_ENABLED:BOOL=OFF \
-DCI_BUILD:BOOL=OFF \
-DASAN:BOOL=OFF \
-DQML_DEBUGGING:BOOL=OFF \
-DBUILD_DOCS:BOOL=OFF \
-DVOIP:BOOL=ON \
-DMAN:BOOL=ON \
-DUSE_BUNDLED_BLURHASH:BOOL=OFF \
-DUSE_BUNDLED_CMARK:BOOL=OFF \
-DUSE_BUNDLED_COEURL:BOOL=OFF \
-DUSE_BUNDLED_CPPHTTPLIB:BOOL=OFF \
-DUSE_BUNDLED_GTEST:BOOL=OFF \
-DUSE_BUNDLED_JSON:BOOL=OFF \
-DUSE_BUNDLED_LIBEVENT:BOOL=OFF \
-DUSE_BUNDLED_LMDB:BOOL=OFF \
-DUSE_BUNDLED_LMDBXX:BOOL=OFF \
-DUSE_BUNDLED_MTXCLIENT:BOOL=OFF \
-DUSE_BUNDLED_OLM:BOOL=OFF \
-DUSE_BUNDLED_OPENSSL:BOOL=OFF \
-DUSE_BUNDLED_QTKEYCHAIN:BOOL=OFF \
-DUSE_BUNDLED_SPDLOG:BOOL=OFF
%cmake_build
%install
%cmake_install
%check
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/%{name}.appdata.xml
desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
%files
%doc README.md CHANGELOG.md
%license COPYING
%dir %{_datadir}/zsh/site-functions
%{_bindir}/%{name}
%{_metainfodir}/%{name}.appdata.xml
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/%{name}.*
%{_datadir}/zsh/site-functions/_%{name}
%{_mandir}/man1/%{name}.1*
%changelog
%autochangelog