boinc: update to 7.16.11 (#5795)
* boinc: update to 7.16.11 * boinc: update patches for 7.16.11 * boinc: disable switcher termux/termux-packages#5668 * boinc: add oobe improvement patches * boinc: simplify disable-whetneon.patch termux/termux-packages#5795 The old patch is getting hard to maintain because someone think it is a good idea to support non-NEON Android devices in 2020. The new patch simplify things by only disable 32bit ARM host detection so that whetneon and whetvfp will not be built which can make the client too complex. Apply this patch and please dont use "-DANDROID" and "--host arm-linux*" * boinc: fix 32bit compatibility on 64bit Termux Remove blocking request 32bit executables and fix it instead. Add patch that unset LD_PRELOAD environment variable before running 32bit BOINC executables. This is applicable for 64bit Android devices running BOINC on Termux. No manual unset from user is needed. * boinc: simplify disable-whetneon.patch v2
This commit is contained in:
parent
831e8bb971
commit
95d0149704
@ -1,22 +1,23 @@
|
||||
TERMUX_PKG_HOMEPAGE=https://boinc.berkeley.edu/
|
||||
TERMUX_PKG_DESCRIPTION="Open-source software for volunteer computing"
|
||||
TERMUX_PKG_LICENSE="GPL-3.0"
|
||||
TERMUX_PKG_VERSION=7.16.7
|
||||
TERMUX_PKG_VERSION=7.16.11
|
||||
TERMUX_PKG_SRCURL=https://github.com/BOINC/boinc/archive/client_release/${TERMUX_PKG_VERSION:0:4}/${TERMUX_PKG_VERSION}.tar.gz
|
||||
TERMUX_PKG_SHA256=38130d532031e75701eee910da64b9eb837e5bfeff9979dbb200c37146be3fed
|
||||
TERMUX_PKG_SHA256=8a3f9453b16acfd8c636d18b4939c461c751aa1dd9e108cf60b90a3909bfa0a9
|
||||
TERMUX_PKG_DEPENDS="libandroid-shmem, libc++, libcurl, openssl, zlib"
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
TERMUX_PKG_NO_STATICSPLIT=true
|
||||
|
||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
|
||||
--disable-server
|
||||
--enable-client
|
||||
--disable-manager
|
||||
"
|
||||
|
||||
TERMUX_PKG_CONFFILES="etc/boinc-client.conf"
|
||||
|
||||
termux_step_pre_configure() {
|
||||
CFLAGS="${CFLAGS/-Oz/-O2}"
|
||||
CXXFLAGS="${CXXFLAGS/-Oz/-O2}"
|
||||
LDFLAGS+=" -landroid-shmem"
|
||||
./_autosetup
|
||||
}
|
||||
|
12
packages/boinc/disable-switcher.patch
Normal file
12
packages/boinc/disable-switcher.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -uNr boinc-client_release-7.16-7.16.11/client/Makefile.am boinc-client_release-7.16-7.16.11.mod/client/Makefile.am
|
||||
--- boinc-client_release-7.16-7.16.11/client/Makefile.am 2020-08-30 16:04:59.000000000 +0800
|
||||
+++ boinc-client_release-7.16-7.16.11.mod/client/Makefile.am 2020-09-11 11:31:44.280000000 +0800
|
||||
@@ -25,7 +23,7 @@
|
||||
endif
|
||||
|
||||
bin_PROGRAMS = boinc_client boinccmd
|
||||
-if !OS_WIN32
|
||||
+if OS_DARWIN
|
||||
bin_PROGRAMS += switcher
|
||||
endif
|
||||
|
@ -1,32 +1,12 @@
|
||||
diff -uNr boinc-client_release-7.14-7.14.3/client/cs_benchmark.cpp boinc-client_release-7.14-7.14.3.mod/client/cs_benchmark.cpp
|
||||
--- boinc-client_release-7.14-7.14.3/client/cs_benchmark.cpp 2020-03-10 03:47:48.000000000 +0200
|
||||
+++ boinc-client_release-7.14-7.14.3.mod/client/cs_benchmark.cpp 2020-03-20 14:06:28.788417500 +0200
|
||||
@@ -177,7 +177,7 @@
|
||||
bdp->error_str[0] = '\0';
|
||||
host_info.clear_host_info();
|
||||
diff -uNr boinc-client_release-7.16-7.16.11/configure.ac boinc-client_release-7.16-7.16.11.mod/configure.ac
|
||||
--- boinc-client_release-7.16-7.16.11/configure.ac 2020-08-30 16:04:59.000000000 +0800
|
||||
+++ boinc-client_release-7.16-7.16.11.mod/configure.ac 2020-09-13 16:36:05.730000000 +0800
|
||||
@@ -1051,7 +1051,7 @@
|
||||
AM_CONDITIONAL(OS_WIN32_MINGW, [echo $host_os | grep '^mingw' > /dev/null])
|
||||
dnl or OS2
|
||||
AM_CONDITIONAL(OS_OS2, [echo $host_os | grep '^os2' > /dev/null])
|
||||
-AM_CONDITIONAL(OS_ARM_LINUX, [echo $host_alias | grep '^arm-linux' > /dev/null])
|
||||
+AM_CONDITIONAL(OS_ARM_LINUX, [echo $host_alias | grep '^arm-linux-skip' > /dev/null])
|
||||
|
||||
-#if defined(ANDROID) && defined(__arm__)
|
||||
+#if defined(ANDROID) && defined(__arm__) && !defined(__TERMUX__)
|
||||
// check for FP accelerator: VFP, Neon, or none;
|
||||
// run the appropriate version of Whetstone
|
||||
// (separated using namespaces)
|
||||
diff -uNr boinc-client_release-7.14-7.14.3/client/Makefile.am boinc-client_release-7.14-7.14.3.mod/client/Makefile.am
|
||||
--- boinc-client_release-7.14-7.14.3/client/Makefile.am 2020-03-10 03:47:48.000000000 +0200
|
||||
+++ boinc-client_release-7.14-7.14.3.mod/client/Makefile.am 2020-03-20 14:01:33.838804535 +0200
|
||||
@@ -113,16 +113,6 @@
|
||||
|
||||
boinc_clientdir = $(bindir)
|
||||
|
||||
-if OS_ARM_LINUX
|
||||
-boinc_client_LDADD += libwhetneon.a libwhetvfp.a
|
||||
-noinst_LIBRARIES = libwhetneon.a libwhetvfp.a
|
||||
-libwhetneon_a_SOURCES = whetstone.cpp
|
||||
-libwhetneon_a_CXXFLAGS = $(boinc_client_CXXFLAGS) -DANDROID_NEON -mfloat-abi=softfp -mfpu=neon
|
||||
-
|
||||
-libwhetvfp_a_SOURCES = whetstone.cpp
|
||||
-libwhetvfp_a_CXXFLAGS = $(boinc_client_CXXFLAGS) -DANDROID_VFP -mfloat-abi=softfp -mfpu=vfp
|
||||
-endif
|
||||
-
|
||||
switcher_SOURCES = switcher.cpp
|
||||
switcher_LDFLAGS = $(AM_LDFLAGS) -L../lib
|
||||
switcher_LDADD = $(LIBBOINC)
|
||||
dnl Whether to build fcgi components
|
||||
AM_CONDITIONAL(ENABLE_FCGI,[test "${enable_fcgi}" = yes])
|
||||
|
17
packages/boinc/hostinfo_unix.cpp.patch
Normal file
17
packages/boinc/hostinfo_unix.cpp.patch
Normal file
@ -0,0 +1,17 @@
|
||||
diff -uNr boinc-client_release-7.16-7.16.11/client/hostinfo_unix.cpp boinc-client_release-7.16-7.16.11.mod/client/hostinfo_unix.cpp
|
||||
--- boinc-client_release-7.16-7.16.11/client/hostinfo_unix.cpp 2020-08-30 16:04:59.000000000 +0800
|
||||
+++ boinc-client_release-7.16-7.16.11.mod/client/hostinfo_unix.cpp 2020-09-11 11:47:27.990000000 +0800
|
||||
@@ -1414,11 +1414,11 @@
|
||||
#if HAVE_SYS_UTSNAME_H
|
||||
struct utsname u;
|
||||
uname(&u);
|
||||
-#ifdef ANDROID
|
||||
+#ifdef __ANDROID__
|
||||
safe_strcpy(os_name, "Android");
|
||||
#else
|
||||
safe_strcpy(os_name, u.sysname);
|
||||
-#endif //ANDROID
|
||||
+#endif // __ANDROID__
|
||||
#if defined(__EMX__) // OS2: version is in u.version
|
||||
safe_strcpy(os_version, u.version);
|
||||
#elif defined(__HAIKU__)
|
37
packages/boinc/termux-boinc-compat.patch
Normal file
37
packages/boinc/termux-boinc-compat.patch
Normal file
@ -0,0 +1,37 @@
|
||||
diff -uNr boinc-client_release-7.16-7.16.11/client/app_start.cpp boinc-client_release-7.16-7.16.11.mod/client/app_start.cpp
|
||||
--- boinc-client_release-7.16-7.16.11/client/app_start.cpp 2020-08-30 16:04:59.000000000 +0800
|
||||
+++ boinc-client_release-7.16-7.16.11.mod/client/app_start.cpp 2020-09-13 21:35:44.960942100 +0800
|
||||
@@ -94,6 +94,9 @@
|
||||
|
||||
#include "app.h"
|
||||
|
||||
+#ifdef __ANDROID__
|
||||
+#include <stdlib.h> // getenv(), setenv(), unsetenv()
|
||||
+#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
// Dynamically link to these functions at runtime;
|
||||
@@ -1143,6 +1146,23 @@
|
||||
//
|
||||
umask(2);
|
||||
retval = execv(switcher_path, argv);
|
||||
+#ifdef __ANDROID__
|
||||
+#if defined(__aarch64__)
|
||||
+ } else if (strstr(exec_name, "arm-android-linux-gnu")) {
|
||||
+#elif defined(__x86_64__)
|
||||
+ } else if (strstr(exec_name, "x86-android-linux-gnu")) {
|
||||
+#endif
|
||||
+ // Fix Termux 32bit compatibility on 64bit devices
|
||||
+ argv[0] = buf;
|
||||
+ parse_command_line(cmdline, argv+1);
|
||||
+ // backup and unset LD_PRELOAD var
|
||||
+ char *old_env = getenv("LD_PRELOAD");
|
||||
+ unsetenv("LD_PRELOAD");
|
||||
+ retval = execv(buf, argv);
|
||||
+ // set LD_PRELOAD var back
|
||||
+ setenv("LD_PRELOAD", old_env, 1);
|
||||
+ free(old_env);
|
||||
+#endif // __ANDROID__
|
||||
} else {
|
||||
argv[0] = buf;
|
||||
parse_command_line(cmdline, argv+1);
|
Loading…
Reference in New Issue
Block a user