mirror of
https://github.com/Qv2ray/Qv2ray.git
synced 2025-05-20 02:40:20 +08:00

* Optimize "BuildRequires" * Update qv2ray.spec.in 1. Minor optimize "%description" 2. Optimize spec structure 3. Disable TLO and optimize cmake macros 4. Append "%check" phase * Update qv2ray.spec.in 1. Fix package meta macro for qv2ray-plugin-builtin-protocol-support 2. Append qv2ray-plugin-builtin-subscription-support * Fix "BuildRequires" for check phase * Update qv2ray.spec.in Fix a little typo * Update qv2ray.spec.in Fix 2 typo for rpmlint * Update qv2ray.spec.in Fix typo for rpmlint * Maybe this summary is better? * Update qv2ray.spec.in Fix a missing dir
116 lines
3.2 KiB
RPMSpec
116 lines
3.2 KiB
RPMSpec
%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
|