new package: waypipe
This commit is contained in:
parent
3362326d7e
commit
2d1c3223f9
21
packages/waypipe/build.sh
Normal file
21
packages/waypipe/build.sh
Normal file
@ -0,0 +1,21 @@
|
||||
TERMUX_PKG_HOMEPAGE=https://gitlab.freedesktop.org/mstoeckl/waypipe
|
||||
TERMUX_PKG_DESCRIPTION="A proxy for Wayland clients"
|
||||
TERMUX_PKG_LICENSE="MIT"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
TERMUX_PKG_VERSION=0.8.2
|
||||
TERMUX_PKG_SRCURL=https://gitlab.freedesktop.org/mstoeckl/waypipe/-/archive/v${TERMUX_PKG_VERSION}/waypipe-v${TERMUX_PKG_VERSION}.tar.bz2
|
||||
TERMUX_PKG_SHA256=599ebe409516ced32679d3325ee17a1bc4da614f2636472d9138e39def6ad6b4
|
||||
TERMUX_PKG_DEPENDS="libandroid-spawn, liblz4, zstd"
|
||||
TERMUX_PKG_BUILD_DEPENDS="ffmpeg"
|
||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
|
||||
-Dwith_video=enabled
|
||||
-Dwith_dmabuf=disabled
|
||||
-Dwith_lz4=enabled
|
||||
-Dwith_zstd=enabled
|
||||
-Dwith_vaapi=disabled
|
||||
-Dwith_systemtap=false
|
||||
"
|
||||
|
||||
termux_step_pre_configure() {
|
||||
LDFLAGS+=" -landroid-spawn"
|
||||
}
|
19
packages/waypipe/meson.build.patch
Normal file
19
packages/waypipe/meson.build.patch
Normal file
@ -0,0 +1,19 @@
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -58,8 +58,6 @@
|
||||
else
|
||||
has_dmabuf = false
|
||||
endif
|
||||
-pthreads = dependency('threads')
|
||||
-rt = cc.find_library('rt')
|
||||
# XXX dtrace -G (Solaris, FreeBSD, NetBSD) isn't supported yet
|
||||
is_linux = host_machine.system() == 'linux'
|
||||
is_darwin = host_machine.system() == 'darwin'
|
||||
@@ -92,7 +90,6 @@
|
||||
|
||||
subdir('protocols')
|
||||
subdir('src')
|
||||
-subdir('test')
|
||||
|
||||
scdoc = dependency('scdoc', version: '>=1.9.4', native: true, required: get_option('man-pages'))
|
||||
if scdoc.found()
|
11
packages/waypipe/src-meson.build.patch
Normal file
11
packages/waypipe/src-meson.build.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/src/meson.build
|
||||
+++ b/src/meson.build
|
||||
@@ -1,8 +1,6 @@
|
||||
|
||||
waypipe_source_files = ['dmabuf.c', 'handlers.c', 'kernel.c', 'mainloop.c', 'parsing.c', 'platform.c', 'shadow.c', 'interval.c', 'util.c', 'video.c']
|
||||
waypipe_deps = [
|
||||
- pthreads, # To run expensive computations in parallel
|
||||
- rt, # For shared memory
|
||||
]
|
||||
if config_data.has('HAS_DMABUF')
|
||||
# General GPU buffer creation, aligned with dmabuf proto
|
13
packages/waypipe/src-platform.c.patch
Normal file
13
packages/waypipe/src-platform.c.patch
Normal file
@ -0,0 +1,13 @@
|
||||
--- a/src/platform.c
|
||||
+++ b/src/platform.c
|
||||
@@ -50,6 +50,10 @@
|
||||
#if defined(__linux__)
|
||||
/* memfd_create was introduced in glibc 2.27 */
|
||||
#if !defined(__GLIBC__) || (__GLIBC__ >= 2 && __GLIBC_MINOR__ >= 27)
|
||||
+#if defined __ANDROID__ && __ANDROID_API__ < 30
|
||||
+#include <syscall.h>
|
||||
+#define memfd_create(name,flags) syscall(SYS_memfd_create,name,flags)
|
||||
+#endif
|
||||
#define HAS_MEMFD 1
|
||||
#endif
|
||||
#endif
|
13
packages/waypipe/src-util.c.patch
Normal file
13
packages/waypipe/src-util.c.patch
Normal file
@ -0,0 +1,13 @@
|
||||
--- a/src/util.c
|
||||
+++ b/src/util.c
|
||||
@@ -255,8 +255,8 @@
|
||||
i, i);
|
||||
} else {
|
||||
link[len] = '\0';
|
||||
- if (!strcmp(link, "/var/lib/sss/mc/passwd")) {
|
||||
- wp_debug("Known issue, leaked fd %d to /var/lib/sss/mc/passwd",
|
||||
+ if (!strcmp(link, "@TERMUX_PREFIX@/var/lib/sss/mc/passwd")) {
|
||||
+ wp_debug("Known issue, leaked fd %d to @TERMUX_PREFIX@/var/lib/sss/mc/passwd",
|
||||
i);
|
||||
} else {
|
||||
wp_error("Unexpected open fd %d: %s", i,
|
40
packages/waypipe/src-waypipe.c.patch
Normal file
40
packages/waypipe/src-waypipe.c.patch
Normal file
@ -0,0 +1,40 @@
|
||||
--- a/src/waypipe.c
|
||||
+++ b/src/waypipe.c
|
||||
@@ -79,8 +79,8 @@
|
||||
" -n, --no-gpu disable protocols which would use GPU resources\n"
|
||||
" -o, --oneshot only permit one connected application\n"
|
||||
" -s, --socket S set the socket path to either create or connect to:\n"
|
||||
- " server default: /tmp/waypipe-server.sock\n"
|
||||
- " client default: /tmp/waypipe-client.sock\n"
|
||||
+ " server default: @TERMUX_PREFIX@/tmp/waypipe-server.sock\n"
|
||||
+ " client default: @TERMUX_PREFIX@/tmp/waypipe-client.sock\n"
|
||||
" ssh: sets the prefix for the socket path\n"
|
||||
" --version print waypipe version and exit\n"
|
||||
" --allow-tiled allow gpu buffers (DMABUFs) with format modifiers\n"
|
||||
@@ -743,7 +743,7 @@
|
||||
} else {
|
||||
strcpy(sockaddr.sun_path,
|
||||
socketpath ? socketpath
|
||||
- : "/tmp/waypipe-client.sock");
|
||||
+ : "@TERMUX_PREFIX@/tmp/waypipe-client.sock");
|
||||
int nmaxclients = oneshot ? 1 : 128;
|
||||
int channelsock =
|
||||
setup_nb_socket(&sockaddr, nmaxclients);
|
||||
@@ -776,7 +776,7 @@
|
||||
} else {
|
||||
strcpy(sockaddr.sun_path,
|
||||
socketpath ? socketpath
|
||||
- : "/tmp/waypipe-server.sock");
|
||||
+ : "@TERMUX_PREFIX@/tmp/waypipe-server.sock");
|
||||
|
||||
ret = run_server(&sockaddr, wayland_display,
|
||||
control_path, &config, oneshot,
|
||||
@@ -784,7 +784,7 @@
|
||||
}
|
||||
} else {
|
||||
if (!socketpath) {
|
||||
- socketpath = "/tmp/waypipe";
|
||||
+ socketpath = "@TERMUX_PREFIX@/tmp/waypipe";
|
||||
}
|
||||
const size_t spsz =
|
||||
sizeof(((struct sockaddr_un *)NULL)->sun_path);
|
Loading…
Reference in New Issue
Block a user