Page MenuHomeFreeBSD

D3930.id9489.diff
No OneTemporary

D3930.id9489.diff

Index: devel/Makefile
===================================================================
--- devel/Makefile
+++ devel/Makefile
@@ -496,6 +496,7 @@
SUBDIR += f77flow
SUBDIR += fam
SUBDIR += fastcrc
+ SUBDIR += fb-adb
SUBDIR += fb303
SUBDIR += fc++
SUBDIR += ffcall
Index: devel/fb-adb/Makefile
===================================================================
--- /dev/null
+++ devel/fb-adb/Makefile
@@ -0,0 +1,124 @@
+# $FreeBSD$
+
+PORTNAME= fb-adb
+DISTVERSION= 1.4.4-106
+DISTVERSIONSUFFIX= -g7bb68d5
+CATEGORIES= devel
+# XXX Move NDK into a separate port once more ports depend on it
+MASTER_SITES= https://dl.google.com/android/ndk/:ndk
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
+ ${DISTNAME_ndk}.bin:ndk,p7zip
+DISTNAME_ndk= android-ndk-r10e-linux-${LINUX_RPM_ARCH:C/i.86/x86/}
+
+MAINTAINER= jbeich@FreeBSD.org
+COMMENT= Better shell for Android devices
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${LINUX_BASE_PORT} \
+ xxd:${PORTSDIR}/editors/vim-lite \
+ ${BASH_CMD}:${PORTSDIR}/shells/${BASH_CMD:T}
+RUN_DEPENDS= adb:${PORTSDIR}/devel/android-tools-adb
+
+ONLY_FOR_ARCHS= amd64 i386
+ONLY_FOR_ARCHS_REASON= requires linuxulator to use Android NDK in order \
+ to cross-build target stubs
+
+USE_GITHUB= yes
+GH_ACCOUNT= facebook
+
+USES= autoreconf:outsource gmake ncurses perl5 python:3,build
+USE_LINUX= yes # build
+USE_PERL5= build # pod2man
+WRKSRC_ndk= ${WRKDIR}/${DISTNAME_ndk:C/(-[^-]+){2}$//}
+BASH_CMD?= bash # can be zsh
+NDK_SHELL= ${SETENV} UNAME_s=Linux UNAME_m=${LINUX_RPM_ARCH} ${SH}
+GNU_CONFIGURE= yes
+CONFIGURE_ENV= ANDROID_NDK="${WRKSRC_ndk}" \
+ ANDROID_NDK_SHELL="${NDK_SHELL}" \
+ NDK_TMPDIR="${WRKDIR}" \
+ PYTHON3="${PYTHON_CMD}"
+# Cross-build sanitization
+CONFIG_SITE= /dev/null # XXX Only for AC_CONFIG_SUBDIRS
+CONFIGURE_ENV+= HOST_CFLAGS="${CPPFLAGS} ${CFLAGS:N-[Og]*:N-pipe}" \
+ STUB_CFLAGS="${STUB_CFLAGS}" \
+ CPPFLAGS="" CFLAGS="${CFLAGS:M-[Og]*} ${CFLAGS:M-pipe}" \
+ HOST_LDFLAGS="${LDFLAGS} ${LIBS}" \
+ STUB_LDFLAGS="${STUB_LDFLAGS}" \
+ LDFLAGS="" LIBS=""
+# XXX SET_LATE_CONFIGURE_ARGS doesn't respect CONFIGURE_CMD
+CONFIGURE_ARGS= --mandir="${MANPREFIX}/man"
+INSTALL_TARGET= install-strip
+PLIST_FILES= bin/${PORTNAME} \
+ man/man1/${PORTNAME}.1.gz
+
+OPTIONS_DEFINE= ASSERT BASH DEBUG
+
+ASSERT_CONFIGURE_ENABLE=checking
+BASH_DESC= Install JSON parser used by bash-completion
+BASH_RUN_DEPENDS= jq:${PORTSDIR}/textproc/jq
+DEBUG_CONFIGURE_ENABLE= debuggable-stubs
+
+.include <bsd.port.options.mk>
+
+post-extract:
+# XXX gold: fatal error: a.out: Invalid argument
+ @for f in $$(${FIND} ${WRKSRC_ndk} -type l -name '*-ld'); do \
+ (cd $${f%/*} && ${LN} -sf $${f##*/}.bfd $${f##*/}); \
+ done
+
+post-patch:
+# XXX Decouple -Werror from --enable-checking (ASSERT=on)
+ @${REINPLACE_CMD} -e '/CPPFLAGS.*-Werror/d' ${WRKSRC}/configure.ac
+
+.if ${OPSYS} == DragonFly
+IGNORE= ${ONLY_FOR_ARCHS_REASON}
+.endif
+
+# Extract :p7zip files with 7z(1) if libarchive cannot handle x86_64 sfx
+# or is too old to have 7zip reader
+.if defined(OVERRIDE_LINUX_BASE_PORT) || \
+ (${OPSYS} == FreeBSD && ${OSVERSION} < 1000009)
+EXTRACT_ONLY+= ${DISTFILES:N*\:*p7zip*:C/:.*//}
+EXTRACT_DEPENDS+=${P7ZIP_CMD}:${PORTSDIR}/archivers/p7zip
+
+P7ZIP_CMD?= 7z
+P7ZIP_ARGS?= x -bd -y -o${WRKDIR} >/dev/null
+
+_OPTIONS_extract+= 520:do-p7zip-extract
+do-p7zip-extract:
+ @for f in ${DISTFILES:M*\:*p7zip*:C/:.*//}; do \
+ if ! ${P7ZIP_CMD} ${P7ZIP_ARGS} ${_DISTDIR}/$$f; then \
+ return 1; \
+ fi; \
+ done
+.endif
+
+# XXX Similar to USES=qmake:outsource, merge into Mk/Uses/autoreconf.mk
+.if defined(USES) && ${USES:Mautoreconf\:outsource}
+USES:= autoreconf:build ${USES:Nautoreconf*}
+CONFIGURE_CMD= ${AUTORECONF_WRKSRC}/${CONFIGURE_SCRIPT}
+CONFIGURE_WRKSRC= ${WRKDIR}/.build
+BUILD_WRKSRC= ${CONFIGURE_WRKSRC}
+INSTALL_WRKSRC= ${CONFIGURE_WRKSRC}
+AUTORECONF_WRKSRC?= ${WRKSRC}
+
+_USES_configure+= 470:do-autoreconf
+do-autoreconf:
+.for f in AUTHORS ChangeLog INSTALL NEWS README
+# Don't modify time stamps if the files already exist
+ @test -e ${AUTORECONF_WRKSRC}/${f} || ${TOUCH} ${AUTORECONF_WRKSRC}/${f}
+.endfor
+ @(cd ${AUTORECONF_WRKSRC} && ${LOCALBASE}/bin/autoreconf -f -i)
+ @${MKDIR} ${CONFIGURE_WRKSRC}
+.endif
+
+.include <bsd.port.mk>
+
+# XXX Teach USE_LINUX about build-only deps
+.if defined(.PARSEDIR)
+RUN_DEPENDS:= ${RUN_DEPENDS:N${LINUX_BASE_PORT}}
+.else
+RUN_DEPENDS:= ${RUN_DEPENDS:N*linux_base*}
+.endif
Index: devel/fb-adb/distinfo
===================================================================
--- /dev/null
+++ devel/fb-adb/distinfo
@@ -0,0 +1,6 @@
+SHA256 (facebook-fb-adb-1.4.4-106-g7bb68d5_GH0.tar.gz) = 761aae97f4ae9273d4de95e01104315a5022b3eff10a6f11533f2620f0b9c2e4
+SIZE (facebook-fb-adb-1.4.4-106-g7bb68d5_GH0.tar.gz) = 248384
+SHA256 (android-ndk-r10e-linux-x86.bin) = 92b07d25aaad9b341a7f2b2a62402d508e948bf2dea3ee7b65a6aeb18bca7df5
+SIZE (android-ndk-r10e-linux-x86.bin) = 394281908
+SHA256 (android-ndk-r10e-linux-x86_64.bin) = 102d6723f67ff1384330d12c45854315d6452d6510286f4e5891e00a5a8f1d5a
+SIZE (android-ndk-r10e-linux-x86_64.bin) = 401522849
Index: devel/fb-adb/files/patch-util.c
===================================================================
--- /dev/null
+++ devel/fb-adb/files/patch-util.c
@@ -0,0 +1,12 @@
+--- util.c.orig 2015-10-09 22:02:18 UTC
++++ util.c
+@@ -1563,3 +1563,9 @@ xregerror(int errcode, const regex_t* pr
+ reslist_xfer(rl->parent, rl);
+ return (char*) gb.buf;
+ }
++
++#ifndef __linux__
++// XXX For GCC 4.4 or older
++__weak_reference(my_unreachable, __builtin_unreachable);
++void my_unreachable() { abort(); }
++#endif
Index: devel/fb-adb/pkg-descr
===================================================================
--- /dev/null
+++ devel/fb-adb/pkg-descr
@@ -0,0 +1,16 @@
+fb-adb is a tool for interacting with Android systems. It does much of
+what adb does, but with better remote shell support and, hopefully,
+fewer bugs. Differences between adb and fb-adb are that fb-adb:
+
+ * is binary clean (no LF -> CRLF mangling)
+ * transmits and updates window size
+ * distinguishes standard output and standard error
+ * properly muxes streams with independent flow control
+ * allows for ssh-like pty allocation control
+ * propagates program exit status instead of always exiting
+ with status 0
+ * properly escapes program arguments
+ * kills remote program
+ * provides a generic facility to elevate to root without re-escaping
+
+WWW: https://github.com/facebook/fb-adb

File Metadata

Mime Type
text/plain
Expires
Wed, May 20, 2:29 AM (19 h, 38 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33335571
Default Alt Text
D3930.id9489.diff (6 KB)

Event Timeline