From 373f4c382454f70ba51dc19cac145342c5629d1b Mon Sep 17 00:00:00 2001 From: c0dev0id Date: Sun, 22 Mar 2026 00:32:45 +0100 Subject: [PATCH] adb: simplify --- devel/adb/Makefile | 81 ++++++++++---------- devel/adb/files/compat-capability.h | 20 +++++ devel/adb/files/compat-string.h | 8 ++ devel/adb/files/compat-sysmacros.h | 3 + devel/adb/patches/patch-vendor_adb_sysdeps_h | 5 +- 5 files changed, 73 insertions(+), 44 deletions(-) create mode 100644 devel/adb/files/compat-capability.h create mode 100644 devel/adb/files/compat-string.h create mode 100644 devel/adb/files/compat-sysmacros.h diff --git a/devel/adb/Makefile b/devel/adb/Makefile index 0a49ca4..e985aaf 100644 --- a/devel/adb/Makefile +++ b/devel/adb/Makefile @@ -15,8 +15,42 @@ EXTRACT_SUFX = .tar.xz # Apache License v2.0 PERMIT_PACKAGE = Yes -WANTLIB += c brotlicommon brotlidec brotlienc lz4 pcre2-8 -WANTLIB += pthread protobuf usb-1.0 z zstd +WANTLIB = ${COMPILER_LIBCXX} absl_base absl_borrowed_fixup_buffer +WANTLIB += absl_city absl_civil_time absl_cord absl_cord_internal +WANTLIB += absl_cordz_functions absl_cordz_handle absl_cordz_info +WANTLIB += absl_crc32c absl_crc_cord_state absl_crc_cpu_detect +WANTLIB += absl_crc_internal absl_debugging_internal +WANTLIB += absl_decode_rust_punycode absl_demangle_internal +WANTLIB += absl_demangle_rust absl_die_if_null absl_examine_stack +WANTLIB += absl_exponential_biased absl_flags_commandlineflag +WANTLIB += absl_flags_commandlineflag_internal absl_flags_config +WANTLIB += absl_flags_internal absl_flags_marshalling +WANTLIB += absl_flags_private_handle_accessor absl_flags_program_name +WANTLIB += absl_flags_reflection absl_graphcycles_internal absl_hash +WANTLIB += absl_hashtablez_sampler absl_int128 +WANTLIB += absl_kernel_timeout_internal absl_leak_check absl_log_entry +WANTLIB += absl_log_globals absl_log_initialize +WANTLIB += absl_log_internal_check_op absl_log_internal_conditions +WANTLIB += absl_log_internal_fnmatch absl_log_internal_format +WANTLIB += absl_log_internal_globals absl_log_internal_log_sink_set +WANTLIB += absl_log_internal_message absl_log_internal_nullguard +WANTLIB += absl_log_internal_proto absl_log_internal_structured_proto +WANTLIB += absl_log_severity absl_log_sink absl_malloc_internal +WANTLIB += absl_random_distributions absl_random_internal_entropy_pool +WANTLIB += absl_random_internal_platform absl_random_internal_randen +WANTLIB += absl_random_internal_randen_hwaes +WANTLIB += absl_random_internal_randen_hwaes_impl +WANTLIB += absl_random_internal_randen_slow +WANTLIB += absl_random_internal_seed_material +WANTLIB += absl_random_seed_gen_exception absl_random_seed_sequences +WANTLIB += absl_raw_hash_set absl_raw_logging_internal +WANTLIB += absl_spinlock_wait absl_stacktrace absl_status absl_statusor +WANTLIB += absl_str_format_internal absl_strerror absl_strings +WANTLIB += absl_strings_internal absl_symbolize absl_synchronization +WANTLIB += absl_throw_delegate absl_time absl_time_zone +WANTLIB += absl_tracing_internal absl_utf8_for_code_point +WANTLIB += absl_vlog_config_internal brotlicommon brotlidec brotlienc c +WANTLIB += lz4 m pcre2-8 protobuf pthread usb-1.0 utf8_validity z zstd LIB_DEPENDS = archivers/brotli \ archivers/lz4 \ @@ -39,47 +73,12 @@ MAKE_ENV += GOCACHE=/tmp/adb-gocache NO_TEST = Yes -# Create OpenBSD compat stubs for Linux-specific headers not in the tarball. +# Copy OpenBSD compat stubs for Linux-specific headers not in the tarball. post-patch: mkdir -p ${WRKSRC}/vendor/compat/sys ${WRKSRC}/vendor/compat/linux - printf '/* OpenBSD stub: major/minor/makedev are in sys/types.h */\n' \ - > ${WRKSRC}/vendor/compat/sys/sysmacros.h - printf '#pragma once\n#include \n' \ - >> ${WRKSRC}/vendor/compat/sys/sysmacros.h - printf '/* OpenBSD stub for linux/capability.h */\n#pragma once\n' \ - > ${WRKSRC}/vendor/compat/linux/capability.h - printf '#include \ntypedef uint32_t __u32;\n' \ - >> ${WRKSRC}/vendor/compat/linux/capability.h - printf '#define _LINUX_CAPABILITY_VERSION_3 0x20080522\n' \ - >> ${WRKSRC}/vendor/compat/linux/capability.h - printf '#define _LINUX_CAPABILITY_U32S_3 2\n' \ - >> ${WRKSRC}/vendor/compat/linux/capability.h - printf '#define VFS_CAP_REVISION_1 0x01000000\n' \ - >> ${WRKSRC}/vendor/compat/linux/capability.h - printf '#define VFS_CAP_REVISION_2 0x02000000\n' \ - >> ${WRKSRC}/vendor/compat/linux/capability.h - printf '#define VFS_CAP_REVISION_3 0x03000000\n' \ - >> ${WRKSRC}/vendor/compat/linux/capability.h - printf '#define VFS_CAP_REVISION_MASK 0xff000000\n' \ - >> ${WRKSRC}/vendor/compat/linux/capability.h - printf '#define VFS_CAP_FLAGS_EFFECTIVE 0x000001\n' \ - >> ${WRKSRC}/vendor/compat/linux/capability.h - printf 'struct vfs_cap_data { __u32 magic_etc; struct { __u32 permitted, inheritable; } data[2]; };\n' \ - >> ${WRKSRC}/vendor/compat/linux/capability.h - printf 'struct vfs_ns_cap_data { __u32 magic_etc; struct { __u32 permitted, inheritable; } data[2]; __u32 rootid; };\n' \ - >> ${WRKSRC}/vendor/compat/linux/capability.h - printf '/* OpenBSD compat: add mempcpy (GNU extension) via #include_next wrapper */\n' \ - > ${WRKSRC}/vendor/compat/string.h - printf '#pragma once\n#include_next \n' \ - >> ${WRKSRC}/vendor/compat/string.h - printf '#ifndef mempcpy\n' \ - >> ${WRKSRC}/vendor/compat/string.h - printf 'static inline void *mempcpy(void *dst, const void *src, size_t n) {\n' \ - >> ${WRKSRC}/vendor/compat/string.h - printf '\treturn (char *)memcpy(dst, src, n) + n;\n' \ - >> ${WRKSRC}/vendor/compat/string.h - printf '}\n#endif\n' \ - >> ${WRKSRC}/vendor/compat/string.h + cp ${FILESDIR}/compat-sysmacros.h ${WRKSRC}/vendor/compat/sys/sysmacros.h + cp ${FILESDIR}/compat-capability.h ${WRKSRC}/vendor/compat/linux/capability.h + cp ${FILESDIR}/compat-string.h ${WRKSRC}/vendor/compat/string.h cp ${FILESDIR}/fastboot_usb_libusb.cpp \ ${WRKSRC}/vendor/core/fastboot/usb_libusb.cpp cp ${FILESDIR}/adb_usb_openbsd.cpp \ diff --git a/devel/adb/files/compat-capability.h b/devel/adb/files/compat-capability.h new file mode 100644 index 0000000..eecf506 --- /dev/null +++ b/devel/adb/files/compat-capability.h @@ -0,0 +1,20 @@ +/* OpenBSD stub for linux/capability.h */ +#pragma once +#include +typedef uint32_t __u32; +#define _LINUX_CAPABILITY_VERSION_3 0x20080522 +#define _LINUX_CAPABILITY_U32S_3 2 +#define VFS_CAP_REVISION_1 0x01000000 +#define VFS_CAP_REVISION_2 0x02000000 +#define VFS_CAP_REVISION_3 0x03000000 +#define VFS_CAP_REVISION_MASK 0xff000000 +#define VFS_CAP_FLAGS_EFFECTIVE 0x000001 +struct vfs_cap_data { + __u32 magic_etc; + struct { __u32 permitted, inheritable; } data[2]; +}; +struct vfs_ns_cap_data { + __u32 magic_etc; + struct { __u32 permitted, inheritable; } data[2]; + __u32 rootid; +}; diff --git a/devel/adb/files/compat-string.h b/devel/adb/files/compat-string.h new file mode 100644 index 0000000..c83e1fd --- /dev/null +++ b/devel/adb/files/compat-string.h @@ -0,0 +1,8 @@ +/* OpenBSD compat: add mempcpy (GNU extension) via #include_next wrapper */ +#pragma once +#include_next +#ifndef mempcpy +static inline void *mempcpy(void *dst, const void *src, size_t n) { + return (char *)memcpy(dst, src, n) + n; +} +#endif diff --git a/devel/adb/files/compat-sysmacros.h b/devel/adb/files/compat-sysmacros.h new file mode 100644 index 0000000..df4d30f --- /dev/null +++ b/devel/adb/files/compat-sysmacros.h @@ -0,0 +1,3 @@ +/* OpenBSD stub: major/minor/makedev are in sys/types.h */ +#pragma once +#include diff --git a/devel/adb/patches/patch-vendor_adb_sysdeps_h b/devel/adb/patches/patch-vendor_adb_sysdeps_h index 4c2030a..8037c68 100644 --- a/devel/adb/patches/patch-vendor_adb_sysdeps_h +++ b/devel/adb/patches/patch-vendor_adb_sysdeps_h @@ -11,14 +11,13 @@ Index: vendor/adb/sysdeps.h #include #include #include -@@ -652,6 +655,12 @@ inline int adb_socket_get_local_port(borrowed_fd fd) { +@@ -652,6 +655,11 @@ inline int adb_socket_get_local_port(borrowed_fd fd) { static inline int adb_thread_setname(const std::string& name) { #ifdef __APPLE__ return pthread_setname_np(name.c_str()); +#elif defined(__OpenBSD__) + char buf[16]; -+ strncpy(buf, name.c_str(), sizeof(buf) - 1); -+ buf[sizeof(buf) - 1] = 0; ++ strlcpy(buf, name.c_str(), sizeof(buf)); + pthread_set_name_np(pthread_self(), buf); + return 0; #else