diff --git a/x11-packages/tigervnc/build.sh b/x11-packages/tigervnc/build.sh index dae85ab0ed..9ef3d24e72 100644 --- a/x11-packages/tigervnc/build.sh +++ b/x11-packages/tigervnc/build.sh @@ -2,21 +2,26 @@ TERMUX_PKG_HOMEPAGE=https://tigervnc.org/ TERMUX_PKG_DESCRIPTION="Suite of VNC servers. Based on the VNC 4 branch of TightVNC." TERMUX_PKG_LICENSE="GPL-2.0" TERMUX_PKG_MAINTAINER="@termux" -TERMUX_PKG_VERSION=(1.15.0 +TERMUX_PKG_VERSION=(1.16.0 # Align the version with `xorg-server` package. 21.1.16) -TERMUX_PKG_SRCURL=(https://github.com/TigerVNC/tigervnc/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz - https://xorg.freedesktop.org/releases/individual/xserver/xorg-server-${TERMUX_PKG_VERSION[1]}.tar.xz) -TERMUX_PKG_SHA256=(7f231906801e89f09a212e86701f3df1722e36767d6055a4e619390570548537 +TERMUX_PKG_SRCURL=("https://github.com/TigerVNC/tigervnc/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz" + "https://xorg.freedesktop.org/releases/individual/xserver/xorg-server-${TERMUX_PKG_VERSION[1]}.tar.xz") +TERMUX_PKG_SHA256=(10512fc0254ae3bde41c19d18c15f7ebd8cd476261afe0611c41965d635d46e8 b14a116d2d805debc5b5b2aac505a279e69b217dae2fae2dfcb62400471a9970) -TERMUX_PKG_REVISION=2 TERMUX_PKG_DEPENDS="libandroid-shmem, libc++, libgmp, libgnutls, libjpeg-turbo, libnettle, libpixman, libx11, libxau, libxdamage, libxdmcp, libxext, libxfixes, libxfont2, libxrandr, libxshmfence, libxtst, opengl, openssl, perl, xkeyboard-config, xorg-xauth, xorg-xkbcomp, zlib" TERMUX_PKG_BUILD_DEPENDS="xorg-font-util, xorg-server, xorg-util-macros, xorgproto, xtrans" TERMUX_PKG_SUGGESTS="aterm, xorg-twm" -TERMUX_PKG_FOLDERNAME=tigervnc-${TERMUX_PKG_VERSION} +TERMUX_PKG_FOLDERNAME="tigervnc-${TERMUX_PKG_VERSION}" # Viewer has a separate package tigervnc-viewer. Do not build viewer here. -TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DBUILD_VIEWER=OFF -DENABLE_NLS=OFF -DENABLE_PAM=OFF -DENABLE_GNUTLS=ON -DFLTK_MATH_LIBRARY=" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" +-DBUILD_VIEWER=OFF +-DENABLE_NLS=OFF +-DENABLE_PAM=OFF +-DENABLE_GNUTLS=ON +-DFLTK_MATH_LIBRARY= +" TERMUX_PKG_BUILD_IN_SRC=true termux_step_post_get_source() { diff --git a/x11-packages/tigervnc/disable-pam.patch b/x11-packages/tigervnc/disable-pam.patch index e5bd9f0fd8..2c1fccb7bc 100644 --- a/x11-packages/tigervnc/disable-pam.patch +++ b/x11-packages/tigervnc/disable-pam.patch @@ -1,13 +1,13 @@ +++ ./CMakeLists.txt 2018-09-12 11:14:21.772989769 +0300 -@@ -288,7 +288,7 @@ +@@ -341,7 +341,7 @@ if (ENABLE_NETTLE) endif() # Check for PAM library -if(UNIX AND NOT APPLE) +if(FALSE) - check_include_files(security/pam_appl.h HAVE_PAM_H) - set(CMAKE_REQUIRED_LIBRARIES -lpam) - check_function_exists(pam_start HAVE_PAM_START) + find_package(PAM REQUIRED) + endif() + @@ -351,7 +351,6 @@ add_subdirectory(media) endif() @@ -17,15 +17,15 @@ if(BUILD_VIEWER) +++ ./common/rfb/CMakeLists.txt -@@ -92,7 +92,7 @@ +@@ -76,7 +76,7 @@ if(WIN32) target_sources(rfb PRIVATE WinPasswdValidator.cxx) endif(WIN32) -if(UNIX AND NOT APPLE) +if(FALSE) - target_sources(rfb PRIVATE UnixPasswordValidator.cxx pam.c) - target_link_libraries(rfb ${PAM_LIBS}) - endif() + target_sources(rfb PRIVATE UnixPasswordValidator.cxx) + target_include_directories(rfb SYSTEM PRIVATE ${PAM_INCLUDE_DIRS}) + target_link_libraries(rfb ${PAM_LIBRARIES}) +++ ./unix/CMakeLists.txt @@ -6,5 +6,4 @@ add_subdirectory(common) @@ -35,14 +35,46 @@ add_subdirectory(x0vncserver) +++ ./common/rfb/UnixPasswordValidator.h -@@ -28,7 +28,7 @@ - class UnixPasswordValidator: public PasswordValidator { - protected: - bool validateInternal(SConnection * sc, const char *username, -- const char *password) override; -+ const char *password) override { return false; } - }; - } +@@ -35,7 +35,7 @@ namespace rfb + bool validateInternal(SConnection *sc, + const char *username, + const char *password, +- std::string &msg) override; ++ std::string &msg) override { return false; } - - + private: + static std::string displayName; +--- a/unix/x0vncserver/x0vncserver.cxx ++++ b/unix/x0vncserver/x0vncserver.cxx +@@ -39,7 +39,6 @@ + #include + #include + +-#include + #include + + #include +@@ -343,7 +342,6 @@ int main(int argc, char** argv) + programName, displayName); + exit(1); + } +- rfb::UnixPasswordValidator::setDisplayName(displayName); + + signal(SIGHUP, CleanupSignalHandler); + signal(SIGINT, CleanupSignalHandler); +--- a/unix/xserver/hw/vnc/RFBGlue.cc ++++ b/unix/xserver/hw/vnc/RFBGlue.cc +@@ -32,7 +32,6 @@ + + #include + +-#include + + #include "RFBGlue.h" + +@@ -241,5 +240,4 @@ void vncSetDisplayName(const char *displayNumStr) + { + std::string displayName(":"); + displayName += displayNumStr; +- rfb::UnixPasswordValidator::setDisplayName(displayName); + } diff --git a/x11-packages/tigervnc/tigervnc-1.9.0_common_os_Thread.cxx.patch b/x11-packages/tigervnc/tigervnc-1.9.0_common_os_Thread.cxx.patch deleted file mode 100644 index aab162ad62..0000000000 --- a/x11-packages/tigervnc/tigervnc-1.9.0_common_os_Thread.cxx.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff -uNr tigervnc-1.9.0/common/os/Thread.cxx tigervnc-1.9.0.mod/common/os/Thread.cxx ---- tigervnc-1.9.0/common/os/Thread.cxx 2018-07-16 17:08:55.000000000 +0300 -+++ tigervnc-1.9.0.mod/common/os/Thread.cxx 2018-09-12 11:14:21.776323226 +0300 -@@ -29,6 +29,14 @@ - #include - #include - -+#ifdef __ANDROID__ -+#include -+static void threadSignalHandler(int signum) -+{ -+ pthread_exit(0); -+} -+#endif -+ - using namespace os; - - Thread::Thread() : running(false), threadId(NULL) -@@ -48,7 +56,11 @@ - delete (HANDLE*)threadId; - #else - if (isRunning()) -+#ifdef __ANDROID__ -+ pthread_kill(*(pthread_t*)threadId, SIGUSR2); -+#else - pthread_cancel(*(pthread_t*)threadId); -+#endif - delete (pthread_t*)threadId; - #endif - -@@ -148,6 +160,15 @@ - void* Thread::startRoutine(void* data) - #endif - { -+#ifdef __ANDROID__ -+ struct sigaction actions; -+ memset(&actions, 0, sizeof(actions)); -+ sigemptyset(&actions.sa_mask); -+ actions.sa_flags = 0; -+ actions.sa_handler = threadSignalHandler; -+ sigaction(SIGUSR2, &actions, NULL); -+#endif -+ - Thread *self; - - self = (Thread*)data;