%bcond_with test Name: @NAME@ Version: @VERSION@ Release: @RELEASE@ Summary: A full-featured cross-platform GUI for V2Ray License: GPLv3 URL: https://github.com/Qv2ray/Qv2ray Source0: @SOURCE0@ %if 0%{?rhel} BuildRequires: epel-rpm-macros %endif BuildRequires: cmake >= 3.10.1 BuildRequires: cmake(Qt5) BuildRequires: cmake(Qt5LinguistTools) BuildRequires: cmake(Qt5Svg) BuildRequires: pkgconfig(libcurl) BuildRequires: gcc-c++ BuildRequires: grpc-devel BuildRequires: grpc-plugins BuildRequires: desktop-file-utils BuildRequires: libappstream-glib Requires: openssl Requires: grpc Recommends: %{name}-plugin-builtin-protocol-support%{?_isa} = %{version}-%{release} Recommends: %{name}-plugin-builtin-subscription-support%{?_isa} = %{version}-%{release} %package plugin-builtin-protocol-support Summary: Qv2ray Builtin Protocol Support Requires: %{name}%{?_isa} = %{version}-%{release} %package plugin-builtin-subscription-support Summary: Qv2ray Builtin Subscription Support Requires: %{name}%{?_isa} = %{version}-%{release} %description Qv2ray is a cross-platform v2ray graphical front-end written in Qt. Features: * Cross-platform, multi-distribution support * Versatile Host Importing * Subscriptions * Built-in Host Editors * (Almost) Full Functionality Support * Real-time Speed & Data Usage Monitoring * Latency Testing (TCP) More detail Please check https://qv2ray.net/ %description plugin-builtin-protocol-support VMess, VLESS, SOCKS, HTTP, Shadowsocks, DNS, Dokodemo-door editor support. %description plugin-builtin-subscription-support Basic subscription support for Qv2ray. %prep %setup -q -n @NAME_VERSION@ %build # build info export _QV2RAY_BUILD_INFO_="Qv2ray built by Fedora Copr" export _QV2RAY_BUILD_EXTRA_INFO_="(Unofficial Build) $(uname -a | cut -d ' ' -f3,13), Qt $(pkg-config --modversion Qt5Core)" # build # Like https://bugzilla.redhat.com/show_bug.cgi?id=1873903 # And https://src.fedoraproject.org/rpms/clementine/c/adc754c0da013db875db9d8f8934f31403cbf624 # But can't fix by -fPIC, so disable LTO is the only way %define _lto_cflags %{nil} %cmake -DQV2RAY_DEFAULT_VCORE_PATH="/usr/bin/v2ray" \ -DQV2RAY_DEFAULT_VASSETS_PATH="/usr/share/v2ray/" \ -DQV2RAY_DISABLE_AUTO_UPDATE=ON \ -DCMAKE_BUILD_TYPE=Release \ %if %{with test} -DBUILD_TESTING=ON %endif %cmake_build %install rm -rf "$RPM_BUILD_ROOT" %cmake_install %find_lang %{name} --with-qt --all-name %check desktop-file-validate %{buildroot}%{_datadir}/applications/qv2ray.desktop appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/qv2ray.metainfo.xml %if %{with test} %ctest %endif %files -f %{name}.lang %license LICENSE %doc README.md %{_bindir}/qv2ray %{_datadir}/applications/qv2ray.desktop %{_metainfodir}/qv2ray.metainfo.xml %{_datadir}/icons/* %dir %{_datadir}/qv2ray/ %dir %{_datadir}/qv2ray/lang/ %dir %{_datadir}/qv2ray/plugins/ %files plugin-builtin-protocol-support %{_datadir}/qv2ray/plugins/libQvPlugin-BuiltinProtocolSupport.so %files plugin-builtin-subscription-support %{_datadir}/qv2ray/plugins/libQvPlugin-BuiltinSubscriptionSupport.so %changelog