Package Details: qv2ray-git 3.0.0.rc1.r24.g2aec20c6-1

Git Clone URL: https://aur.archlinux.org/qv2ray-git.git (read-only, click to copy)
Package Base: qv2ray-git
Description: A cross platform connection manager for V2Ray and other backends
Upstream URL: https://github.com/Shadowsocks-NET/Qv2ray
Keywords: qt qv2ray v2ray
Licenses: GPL3
Conflicts: qv2ray, xray
Provides: qv2ray
Submitter: database64128
Maintainer: None
Last Packager: SamLukeYes
Votes: 6
Popularity: 0.054198
First Submitted: 2021-06-03 17:26 (UTC)
Last Updated: 2022-02-13 16:10 (UTC)

Latest Comments

Firestar commented on 2022-07-12 01:35 (UTC) (edited on 2022-07-12 01:35 (UTC) by Firestar)

[18/25] Building CXX object CMakeFiles/Qv2rayBase.dir/src/private/Plugin/LatencyTestThread_p.cpp.o
FAILED: CMakeFiles/Qv2rayBase.dir/src/private/Plugin/LatencyTestThread_p.cpp.o 
/usr/bin/c++ -DQT_CORE_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQV2RAY_BASELIB_VERSION=\"3.0.0.0\" -DQV2RAY_BASELIB_VERSION_MAJOR=3 -DQV2RAY_BASELIB_VERSION_MINOR=0 -DQV2RAY_BASELIB_VERSION_PATCH=0 -DQV2RAY_BASELIB_VERSION_TWEAK=0 -DQv2rayBase_EXPORTS -I/var/tmp/pamac-build-firestar/libqv2ray-git/src/libqv2ray-git/build -I/var/tmp/pamac-build-firestar/libqv2ray-git/src/libqv2ray-git -I/var/tmp/pamac-build-firestar/libqv2ray-git/src/libqv2ray-git/build/Qv2rayBase_autogen/include -I/var/tmp/pamac-build-firestar/libqv2ray-git/src/libqv2ray-git/include -isystem /usr/include/qt6/QtCore -isystem /usr/include/qt6 -isystem /usr/lib/qt6/mkspecs/linux-g++ -isystem /usr/include/qt6/QtNetwork -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -O3 -DNDEBUG -fPIC -fvisibility=hidden -fPIC -std=gnu++17 -MD -MT CMakeFiles/Qv2rayBase.dir/src/private/Plugin/LatencyTestThread_p.cpp.o -MF CMakeFiles/Qv2rayBase.dir/src/private/Plugin/LatencyTestThread_p.cpp.o.d -o CMakeFiles/Qv2rayBase.dir/src/private/Plugin/LatencyTestThread_p.cpp.o -c /var/tmp/pamac-build-firestar/libqv2ray-git/src/libqv2ray-git/src/private/Plugin/LatencyTestThread_p.cpp
In file included from /usr/include/uvw/util.h:855,
                 from /usr/include/uvw/loop.h:15,
                 from /usr/include/uvw/underlying_type.hpp:7,
                 from /usr/include/uvw/resource.hpp:7,
                 from /usr/include/uvw/handle.hpp:8,
                 from /usr/include/uvw/async.h:5,
                 from /usr/include/uvw.hpp:1,
                 from /var/tmp/pamac-build-firestar/libqv2ray-git/src/libqv2ray-git/src/private/Plugin/LatencyTestThread_p.cpp:25:
/usr/include/uvw/util.cpp: 在静态成员函数‘static unsigned int uvw::Utilities::availableParallelism()’中:
/usr/include/uvw/util.cpp:299:12: 错误:‘uv_available_parallelism’ was not declared in this scope; did you mean ‘availableParallelism’?
  299 |     return uv_available_parallelism();
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
      |            availableParallelism
[19/25] Building CXX object CMakeFiles/Qv2rayBase.dir/src/Profile/ProfileManager.cpp.o
ninja: build stopped: subcommand failed.
==> 错误: 在 build() 中发生一个错误。
    正在放弃...

SamLukeYes commented on 2022-01-15 09:09 (UTC)

@database64128 OK, I can co-maintain this package.

database64128 commented on 2022-01-15 04:41 (UTC)

@SamLukeYes LGTM. Are you interested in co-maintaining this package? I can add you as a co-maintainer, and then you can apply your changes.

SamLukeYes commented on 2022-01-15 04:37 (UTC)

There are many submodules required to build qv2ray. It would be better add them to sources, so that users don't have to re-clone them on every rebuild.

Here's my PKGBUILD:

# Maintainer: database64128 <free122448@hotmail.com>
# Contributor: Sam L. Yes <samlukeyes123 at gmail dot com>

pkgname=qv2ray-git
pkgver=3.0.0.rc1.r19.g7898f0e2
pkgrel=1
pkgdesc="A cross platform connection manager for V2Ray and other backends"
arch=(x86_64)
url="https://github.com/Shadowsocks-NET/Qv2ray"
license=('GPL3')
depends=('grpc' 'hicolor-icon-theme' 'libqv2ray-git' 'protobuf' 'qt6-base' 'qt6-svg')
makedepends=('cmake' 'gcc' 'git' 'grpc-cli' 'make' 'ninja' 'qt6-declarative' 'qt6-tools' 'which')
optdepends=('qt6-wayland: Wayland support (experimental)' 'v2ray: use packaged v2ray')
provides=('qv2ray')
conflicts=('qv2ray' 'xray')
source=(
    "$pkgname::git+$url.git"
    "git+https://github.com/itay-grudev/SingleApplication.git"
    "git+https://github.com/cpeditor/QCodeEditor.git"
    "git+https://github.com/danielsanfr/qt-qrcode.git"
    "git+https://github.com/xiaokangwang/v2ray-core-1.git"
    "git+https://github.com/moodyhunter/libRoutingA.git"
    "git+https://github.com/fukuchi/libqrencode.git"
)
sha512sums=(
    'SKIP'
    'SKIP'
    'SKIP'
    'SKIP'
    'SKIP'
    'SKIP'
    'SKIP'
)

pkgver() {
    cd "$srcdir/$pkgname"
    git describe --long | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
}

patch_gitmodules() {
    sed -i "s|https://github.com/.*/|${srcdir}/|;s|\.git||" .gitmodules
}

prepare() {
    cd "$srcdir/$pkgname"
    patch_gitmodules
    git submodule update --init \
        3rdparty/SingleApplication \
        3rdparty/QCodeEditor \
        3rdparty/qt-qrcode \
        src/plugins/v2ray/3rdparty/v2ray-core \
        src/plugins/routingA/core
    cd 3rdparty/qt-qrcode
    patch_gitmodules
    git submodule update --init
}

build() {
    cd "$srcdir/$pkgname"
    mkdir -p build && cd build
    cmake .. \
        -DBUILD_TESTING=OFF \
        -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_INSTALL_PREFIX=${pkgdir}/usr \
        -DQV2RAY_AUTO_UPDATE=OFF \
        -DQV2RAY_BUILD_INFO="qv2ray-git AUR package" \
        -DQV2RAY_BUILD_EXTRA_INFO="r$(git rev-list --count HEAD).$(git rev-parse --short HEAD)" \
        -DQV2RAY_DEFAULT_VASSETS_PATH="/usr/share/v2ray" \
        -DQV2RAY_DEFAULT_VCORE_PATH="/usr/bin/v2ray" \
        -DQV2RAY_QV2RAYBASE_PROVIDER=package \
        -GNinja
    cmake --build . --parallel
}

package() {
    cd "$srcdir/$pkgname/build"
    cmake --install .
}

database64128 commented on 2022-01-14 19:37 (UTC) (edited on 2022-01-17 09:29 (UTC) by database64128)

Updated to use packaged libqv2ray-git. Note that until uvw updates to 2.11.0_libuv_v1.43, you have to use uvw-git as the dependency of libqv2ray-git.

Update 2022-01-17: I have taken over and updated uvw to 2.11.0_libuv_v1.43.

database64128 commented on 2022-01-14 11:24 (UTC)

This package has been updated. Everything should work now.

database64128 commented on 2021-10-05 06:42 (UTC)

@SamLukeYes It's still not possible to make a clean source build package for Qv2ray, unless we statically link libuv and uvw into the binary. Let me check with the developer to see if anything can be done about it. In the meantime, stick to qv2ray-static-bin-nightly.

SamLukeYes commented on 2021-10-05 06:33 (UTC)

Failed in build():

-- Configuring done
CMake Error at cmake/qrencode.cmake:36 (add_library):
  Cannot find source file:

    /var/tmp/pamac-build-yes/qv2ray-git/src/qv2ray-git/3rdparty/qt-qrcode/lib/libqrencode/bitstream.c

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .mpp .m .M .mm .ixx .cppm .h
  .hh .h++ .hm .hpp .hxx .in .txx .f .F .for .f77 .f90 .f95 .f03 .hip .ispc
Call Stack (most recent call first):
  CMakeLists.txt:117 (include)


CMake Error at src/Qv2rayBase/src/PluginInterface/cmake/QvPluginInterfaceMacros.cmake:135 (add_library):
  Cannot find source file:

    /var/tmp/pamac-build-yes/qv2ray-git/src/qv2ray-git/src/plugins/routingA/core/libRoutingA-ActionTable.cpp

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .mpp .m .M .mm .ixx .cppm .h
  .hh .h++ .hm .hpp .hxx .in .txx .f .F .for .f77 .f90 .f95 .f03 .hip .ispc
Call Stack (most recent call first):
  src/plugins/routingA/CMakeLists.txt:3 (qv2ray_add_plugin)


-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    QV2RAY_DISABLE_AUTO_UPDATE

database64128 commented on 2021-08-01 09:07 (UTC)

This package cannot be updated for the following reasons:

  • Qt 6.2 is still in beta.
  • Using system uvw is blocked by skypjack/uvw#246.
  • Building Qv2rayBase with uvw supplied by the submodules causes uvw to be included in the package.

For now, please use https://aur.archlinux.org/packages/qv2ray-static-bin-nightly/.