Compare commits

...

4 Commits

Author SHA1 Message Date
yp
e38a233904 fix: fix link RemoteObjects for linux (#2884) 2026-07-31 14:27:50 +08:00
Yaroslav Gurov
9b0495f5e1 fix: proper linking of openssl and other libraries on linux (#2910) 2026-07-31 10:18:20 +08:00
NickVs2015
30ec46a567 fix: openvpn runtime futex error (#2894)
* fix: pin go/1.23.12 for openvpn-pt-android to avoid android/arm crash

* chore: add fixme annotation

---------

Co-authored-by: Yaroslav Gurov <ygurov@proton.me>
2026-07-29 21:21:15 +08:00
NickVs2015
4055e1b05e fix: amnezia-libxray apply patch to all release (#2885)
* fix: amnezia-libxray apply patch to all releases

* chore: bump version to 2138
2026-07-29 21:20:42 +08:00
10 changed files with 55 additions and 10 deletions

View File

@@ -28,7 +28,7 @@ jobs:
- 'cmake/recipes_bootstrap.cmake'
Bake-Prebuilts-Linux:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
needs: Detect-Changes
if: needs.Detect-Changes.outputs.recipes_changed == 'true'
@@ -63,7 +63,7 @@ jobs:
# ------------------------------------------------------
Build-Linux-Ubuntu:
runs-on: android-runner
runs-on: ubuntu-22.04
needs: Bake-Prebuilts-Linux
if: ${{ always() }}

View File

@@ -28,7 +28,7 @@ string(TIMESTAMP CURRENT_DATE "%Y-%m-%d")
set(RELEASE_DATE "${CURRENT_DATE}")
set(APP_MAJOR_VERSION ${CMAKE_PROJECT_VERSION_MAJOR}.${CMAKE_PROJECT_VERSION_MINOR}.${CMAKE_PROJECT_VERSION_PATCH})
set(APP_ANDROID_VERSION_CODE 2136)
set(APP_ANDROID_VERSION_CODE 2138)
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
set(MZ_PLATFORM_NAME "linux")

View File

@@ -39,6 +39,7 @@ if(WIN32 OR (APPLE AND NOT IOS) OR (LINUX AND NOT ANDROID))
endif()
find_package(Qt6 REQUIRED COMPONENTS ${PACKAGES})
find_package(OpenSSL REQUIRED)
set(LIBS ${LIBS}
Qt6::Core Qt6::Gui
@@ -174,6 +175,7 @@ endif()
if(LINUX AND NOT ANDROID)
set(LIBS ${LIBS} -static-libstdc++ -static-libgcc -ldl)
link_directories(${CMAKE_CURRENT_LIST_DIR}/platforms/linux)
set(LIBS ${LIBS} -Wl,--no-as-needed $<TARGET_LINKER_FILE:Qt6::RemoteObjects> -Wl,--as-needed)
endif()
if(WIN32 OR (APPLE AND NOT IOS AND NOT MACOS_NE) OR (LINUX AND NOT ANDROID))
@@ -231,7 +233,7 @@ install(RUNTIME_DEPENDENCY_SET client_deps
[[hvsifiletrust\.dll]]
[[libc\.so\..*]] [[libgcc_s\.so\..*]] [[libm\.so\..*]] [[libstdc\+\+\.so\..*]]
[[.*\.framework]]
[[^[Qq]t.*]]
[[^(lib)?[Qq]t.*]]
POST_EXCLUDE_REGEXES
[[^.*[\\/]system32[\\/].*\.dll$]]
[[^/lib.*]]

View File

@@ -1,12 +1,19 @@
#include <QDebug>
#include <QTimer>
#include <libssh/libssh.h>
#include <openssl/ssl.h>
#include "amneziaApplication.h"
#include "core/utils/osSignalHandler.h"
#include "core/utils/migrations.h"
#include "version.h"
// use openssl symbols to prevent linker throwing-off the OpenSSL dependency
void anchorOpenSSL() {
SSL_CTX_free(SSL_CTX_new(TLS_method()));
}
#ifdef Q_OS_WIN
#include "Windows.h"
#endif
@@ -46,6 +53,8 @@ int main(int argc, char *argv[])
AmneziaApplication app(argc, argv);
OsSignalHandler::setup();
anchorOpenSSL();
ssh_init();
QObject::connect(&app, &QCoreApplication::aboutToQuit, []() {
ssh_finalize();

View File

@@ -5,6 +5,7 @@ find_program(CONAN_COMMAND "conan" REQUIRED
)
file(GLOB_RECURSE LOCAL_RECIPES "${CMAKE_SOURCE_DIR}/recipes/*/conanfile.py")
list(REMOVE_ITEM LOCAL_RECIPES "${CMAKE_SOURCE_DIR}/recipes/go/conanfile.py")
foreach(RECIPE ${LOCAL_RECIPES})
get_filename_component(RECIPE_DIR ${RECIPE} DIRECTORY)
execute_process(
@@ -12,6 +13,14 @@ foreach(RECIPE ${LOCAL_RECIPES})
)
endforeach()
# FIXME(ygurov): export all versions declared on recipies_bootstrap call
execute_process(
COMMAND ${CONAN_COMMAND} export "${CMAKE_SOURCE_DIR}/recipes/go" --version 1.26.0
)
execute_process(
COMMAND ${CONAN_COMMAND} export "${CMAKE_SOURCE_DIR}/recipes/go" --version 1.23.12
)
execute_process(
COMMAND ${CONAN_COMMAND} remote add amnezia "https://artifactory.amnezia.org/artifactory/api/conan/client-prebuilts" --force
)

View File

@@ -1,3 +1,2 @@
patches:
"1.0.1":
- patch_file: "patches/0001-add-16kb-page-support-amnezia-libxray.patch"
- patch_file: "patches/0001-add-16kb-page-support-amnezia-libxray.patch"

View File

@@ -1,4 +1,29 @@
sources:
"1.23.12":
Macos:
x86_64:
url: "https://go.dev/dl/go1.23.12.darwin-amd64.tar.gz"
sha256: "0f6efdc3ffc6f03b230016acca0aef43c229de022d0ff401e7aa4ad4862eca8e"
armv8:
url: "https://go.dev/dl/go1.23.12.darwin-arm64.tar.gz"
sha256: "5bfa117e401ae64e7ffb960243c448b535fe007e682a13ff6c7371f4a6f0ccaa"
Linux:
x86:
url: "https://go.dev/dl/go1.23.12.linux-386.tar.gz"
sha256: "3b2fd446e26642555d1446a38ccbefb2a30bba3179d3ef132ed64d3c63b0c42a"
x86_64:
url: "https://go.dev/dl/go1.23.12.linux-amd64.tar.gz"
sha256: "d3847fef834e9db11bf64e3fb34db9c04db14e068eeb064f49af747010454f90"
armv8:
url: "https://go.dev/dl/go1.23.12.linux-arm64.tar.gz"
sha256: "52ce172f96e21da53b1ae9079808560d49b02ac86cecfa457217597f9bc28ab3"
Windows:
x86:
url: "https://go.dev/dl/go1.23.12.windows-386.zip"
sha256: "9be6415e04270cdd35761f97bcab6506feb421715dc6453dd1322c8e7bcde67a"
x86_64:
url: "https://go.dev/dl/go1.23.12.windows-amd64.zip"
sha256: "07c35866cdd864b81bb6f1cfbf25ac7f87ddc3a976ede1bf5112acbb12dfe6dc"
"1.26.0":
Macos:
x86_64:

View File

@@ -6,8 +6,9 @@ import os
class Golang(ConanFile):
name = "go"
version = "1.26.0"
# No fixed version: openvpn-pt-android pins go/1.23.x (android/arm futex_time64
# regression in go>=1.24, golang/go#77930) — versions are exported explicitly
# in recipes_bootstrap.cmake.
settings = "os", "arch"
def layout(self):

View File

@@ -20,7 +20,7 @@ class OpenvpnPtAndroid(ConanFile):
def build_requirements(self):
self.tool_requires("swig/4.1.1")
self.tool_requires("go/1.26.0")
self.tool_requires("go/1.23.12")
self.tool_requires("cmake/[>=3.4.1 <4]")
def validate(self):

View File

@@ -437,7 +437,7 @@ install(RUNTIME_DEPENDENCY_SET service_deps
[[hvsifiletrust\.dll]]
[[libc\.so\..*]] [[libgcc_s\.so\..*]] [[libm\.so\..*]] [[libstdc\+\+\.so\..*]]
[[.*\.framework]]
[[^[Qq]t.*]]
[[^(lib)?[Qq]t.*]]
POST_EXCLUDE_REGEXES
[[^.*[\\/]system32[\\/].*\.dll$]]
[[^/lib.*]]