amnezia-vpn: 4.8.6.0 -> 4.8.8.3

This commit is contained in:
sund3RRR 2025-07-14 09:15:49 +03:00
parent d6d5e9a7c6
commit b9fa2c7516

View File

@ -16,6 +16,7 @@
wireguard-tools, wireguard-tools,
libssh, libssh,
zlib, zlib,
openssl,
tun2socks, tun2socks,
xray, xray,
nix-update-script, nix-update-script,
@ -41,16 +42,16 @@ let
amnezia-xray = xray.overrideAttrs ( amnezia-xray = xray.overrideAttrs (
finalAttrs: prevAttrs: { finalAttrs: prevAttrs: {
pname = "amnezia-xray"; pname = "amnezia-xray";
version = "1.8.13"; version = "1.8.15";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "amnezia-vpn"; owner = "amnezia-vpn";
repo = "amnezia-xray-core"; repo = "amnezia-xray-core";
tag = "v${finalAttrs.version}"; tag = "v${finalAttrs.version}";
hash = "sha256-7XYdogoUEv3kTPTOQwRCohsPtfSDf+aRdI28IkTjvPk="; hash = "sha256-3ZGkfGxYl9/yE7Q2CsJkFJ6xSGybBdq3DztQ0f4VsnY=";
}; };
vendorHash = "sha256-zArdGj5yeRxU0X4jNgT5YBI9SJUyrANDaqNPAPH3d5M="; vendorHash = "sha256-AimQsuBRhgpTY5rW8WRejCkx4s9Q9n+OuTf4XCrgpnE=";
} }
); );
@ -64,56 +65,50 @@ let
in in
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "amnezia-vpn"; pname = "amnezia-vpn";
version = "4.8.6.0"; version = "4.8.8.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "amnezia-vpn"; owner = "amnezia-vpn";
repo = "amnezia-client"; repo = "amnezia-client";
tag = finalAttrs.version; tag = finalAttrs.version;
hash = "sha256-WQbay3dtGNPPpcK1O7bfs/HKO4ytfmQo60firU/9o28="; hash = "sha256-hDbrp6eT+avFepJL55Vl2alOD+IMnyy8MPXZQTEmLJo=";
fetchSubmodules = true; fetchSubmodules = true;
}; };
# Temporary patch header file to fix build with QT 6.9 postPatch = ''
patches = [ substituteInPlace client/platforms/linux/daemon/wireguardutilslinux.cpp \
(fetchpatch { --replace-fail 'm_tunnel.start(appPath.filePath("../../client/bin/wireguard-go"), wgArgs);' 'm_tunnel.start("${amneziawg-go}/bin/amneziawg-go", wgArgs);'
name = "add-missing-include.patch"; substituteInPlace client/utilities.cpp \
url = "https://github.com/amnezia-vpn/amnezia-client/commit/c44ce0d77cc3acdf1de48a12459a1a821d404a1c.patch"; --replace-fail 'return Utils::executable("../../client/bin/openvpn", true);' 'return Utils::executable("${openvpn}/bin/openvpn", false);' \
hash = "sha256-Q6UMD8PlKAcI6zNolT5+cULECnxNrYrD7cifvNg1ZrY="; --replace-fail 'return Utils::executable("../../client/bin/tun2socks", true);' 'return Utils::executable("${amnezia-tun2socks}/bin/amnezia-tun2socks", false);' \
}) --replace-fail 'return Utils::usrExecutable("wg-quick");' 'return Utils::executable("${wireguard-tools}/bin/wg-quick", false);'
]; substituteInPlace client/protocols/xrayprotocol.cpp \
--replace-fail 'return Utils::executable(QString("xray"), true);' 'return Utils::executable(QString("${amnezia-xray}/bin/xray"), false);'
postPatch = substituteInPlace client/protocols/openvpnovercloakprotocol.cpp \
'' --replace-fail 'return Utils::executable(QString("/ck-client"), true);' 'return Utils::executable(QString("${cloak-pt}/bin/ck-client"), false);'
substituteInPlace client/platforms/linux/daemon/wireguardutilslinux.cpp \ substituteInPlace client/protocols/shadowsocksvpnprotocol.cpp \
--replace-fail 'm_tunnel.start(appPath.filePath("../../client/bin/wireguard-go"), wgArgs);' 'm_tunnel.start("${amneziawg-go}/bin/amneziawg-go", wgArgs);' --replace-fail 'return Utils::executable(QString("/ss-local"), true);' 'return Utils::executable(QString("${shadowsocks-rust}/bin/sslocal"), false);'
substituteInPlace client/utilities.cpp \ substituteInPlace client/configurators/openvpn_configurator.cpp \
--replace-fail 'return Utils::executable("../../client/bin/openvpn", true);' 'return Utils::executable("${openvpn}/bin/openvpn", false);' \ --replace-fail ".arg(qApp->applicationDirPath());" ".arg(\"$out/libexec\");"
--replace-fail 'return Utils::executable("../../client/bin/tun2socks", true);' 'return Utils::executable("${amnezia-tun2socks}/bin/amnezia-tun2socks", false);' \ substituteInPlace client/ui/qautostart.cpp \
--replace-fail 'return Utils::usrExecutable("wg-quick");' 'return Utils::executable("${wireguard-tools}/bin/wg-quick", false);' --replace-fail "/usr/share/pixmaps/AmneziaVPN.png" "AmneziaVPN"
substituteInPlace client/protocols/xrayprotocol.cpp \ substituteInPlace deploy/installer/config/AmneziaVPN.desktop.in \
--replace-fail 'return Utils::executable(QString("xray"), true);' 'return Utils::executable(QString("${amnezia-xray}/bin/xray"), false);' --replace-fail "/usr/share/pixmaps/AmneziaVPN.png" "$out/share/pixmaps/AmneziaVPN.png"
substituteInPlace client/protocols/openvpnovercloakprotocol.cpp \ substituteInPlace deploy/data/linux/AmneziaVPN.service \
--replace-fail 'return Utils::executable(QString("/ck-client"), true);' 'return Utils::executable(QString("${cloak-pt}/bin/ck-client"), false);' --replace-fail "ExecStart=/opt/AmneziaVPN/service/AmneziaVPN-service.sh" "ExecStart=$out/bin/AmneziaVPN-service" \
substituteInPlace client/protocols/shadowsocksvpnprotocol.cpp \ --replace-fail "Environment=LD_LIBRARY_PATH=/opt/AmneziaVPN/client/lib" ""
--replace-fail 'return Utils::executable(QString("/ss-local"), true);' 'return Utils::executable(QString("${shadowsocks-rust}/bin/sslocal"), false);' substituteInPlace client/cmake/3rdparty.cmake \
substituteInPlace client/configurators/openvpn_configurator.cpp \ --replace-fail 'set(LIBSSH_LIB_PATH "''${LIBSSH_ROOT_DIR}/linux/x86_64/libssh.a")' 'set(LIBSSH_LIB_PATH "${libssh}/lib/libssh.so")' \
--replace-fail ".arg(qApp->applicationDirPath());" ".arg(\"$out/libexec\");" --replace-fail 'set(ZLIB_LIB_PATH "''${LIBSSH_ROOT_DIR}/linux/x86_64/libz.a")' 'set(ZLIB_LIB_PATH "${zlib}/lib/libz.so")' \
substituteInPlace client/ui/qautostart.cpp \ --replace-fail 'set(OPENSSL_INCLUDE_DIR "''${OPENSSL_ROOT_DIR}/linux/include")' 'set(OPENSSL_INCLUDE_DIR "${openssl.dev}/include")' \
--replace-fail "/usr/share/pixmaps/AmneziaVPN.png" "AmneziaVPN" --replace-fail 'set(OPENSSL_LIB_SSL_PATH "''${OPENSSL_ROOT_DIR}/linux/x86_64/libssl.a")' 'set(OPENSSL_LIB_SSL_PATH "${openssl.out}/lib/libssl.so")' \
substituteInPlace deploy/installer/config/AmneziaVPN.desktop.in \ --replace-fail 'set(OPENSSL_LIB_CRYPTO_PATH "''${OPENSSL_ROOT_DIR}/linux/x86_64/libcrypto.a")' 'set(OPENSSL_LIB_CRYPTO_PATH "${openssl.out}/lib/libcrypto.so")' \
--replace-fail "/usr/share/pixmaps/AmneziaVPN.png" "$out/share/pixmaps/AmneziaVPN.png" --replace-fail 'set(OPENSSL_USE_STATIC_LIBS TRUE)' 'set(OPENSSL_USE_STATIC_LIBS FALSE)'
substituteInPlace deploy/data/linux/AmneziaVPN.service \ substituteInPlace service/server/CMakeLists.txt \
--replace-fail "ExecStart=/opt/AmneziaVPN/service/AmneziaVPN-service.sh" "ExecStart=$out/bin/AmneziaVPN-service" \ --replace-fail 'set(OPENSSL_INCLUDE_DIR "''${OPENSSL_ROOT_DIR}/linux/include")' 'set(OPENSSL_INCLUDE_DIR "${openssl.dev}/include")' \
--replace-fail "Environment=LD_LIBRARY_PATH=/opt/AmneziaVPN/client/lib" "" --replace-fail 'set(OPENSSL_LIB_CRYPTO_PATH "''${OPENSSL_ROOT_DIR}/linux/x86_64/libcrypto.a")' 'set(OPENSSL_LIB_CRYPTO_PATH "${openssl.out}/lib/libcrypto.so")' \
'' --replace-fail 'set(OPENSSL_USE_STATIC_LIBS TRUE)' 'set(OPENSSL_USE_STATIC_LIBS FALSE)'
+ (lib.optionalString (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isLinux) '' '';
substituteInPlace client/cmake/3rdparty.cmake \
--replace-fail 'set(LIBSSH_LIB_PATH "''${LIBSSH_ROOT_DIR}/linux/x86_64/libssh.a")' 'set(LIBSSH_LIB_PATH "${libssh}/lib/libssh.so")' \
--replace-fail 'set(ZLIB_LIB_PATH "''${LIBSSH_ROOT_DIR}/linux/x86_64/libz.a")' 'set(ZLIB_LIB_PATH "${zlib}/lib/libz.so")' \
--replace-fail 'set(OPENSSL_LIB_SSL_PATH "''${OPENSSL_ROOT_DIR}/linux/x86_64/libssl.a")' 'set(OPENSSL_LIB_SSL_PATH "''${OPENSSL_ROOT_DIR}/linux/arm64/libssl.a")' \
--replace-fail 'set(OPENSSL_LIB_CRYPTO_PATH "''${OPENSSL_ROOT_DIR}/linux/x86_64/libcrypto.a")' 'set(OPENSSL_LIB_CRYPTO_PATH "''${OPENSSL_ROOT_DIR}/linux/arm64/libcrypto.a")'
'');
strictDeps = true; strictDeps = true;