89 lines
3.2 KiB
Makefile
89 lines
3.2 KiB
Makefile
COMMENT = Android debugging tools
|
|
|
|
V = 35.0.1
|
|
DISTNAME = android-tools-${V}
|
|
PKGNAME = adb-${V}
|
|
|
|
CATEGORIES = devel
|
|
|
|
HOMEPAGE = https://developer.android.com/tools/help/adb.html
|
|
|
|
SITES = https://github.com/nmeum/android-tools/releases/download/${V}/
|
|
|
|
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
|
|
|
|
LIB_DEPENDS = archivers/brotli \
|
|
archivers/lz4 \
|
|
archivers/zstd \
|
|
devel/libusb1 \
|
|
devel/pcre2 \
|
|
devel/protobuf
|
|
|
|
MODULES = devel/cmake
|
|
|
|
BUILD_DEPENDS = lang/go
|
|
|
|
RUN_DEPENDS = lang/python/3
|
|
|
|
CONFIGURE_ARGS = -DANDROID_TOOLS_PATCH_VENDOR=OFF \
|
|
-DCMAKE_INSTALL_PREFIX=${PREFIX}
|
|
|
|
# Go (boringssl err_data_generate.go) needs a writable cache dir
|
|
MAKE_ENV += GOCACHE=/tmp/adb-gocache
|
|
|
|
NO_TEST = Yes
|
|
|
|
# Create 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 <sys/types.h>\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 <stdint.h>\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 <string.h>\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}/fastboot_usb_libusb.cpp \
|
|
${WRKSRC}/vendor/core/fastboot/usb_libusb.cpp
|
|
cp ${FILESDIR}/adb_usb_openbsd.cpp \
|
|
${WRKSRC}/vendor/adb/client/usb_openbsd.cpp
|
|
|
|
.include <bsd.port.mk>
|