Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Oct 2015 14:29:52 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r400394 - in head/devel: . fb-adb fb-adb/files
Message-ID:  <201510281429.t9SETqKg090604@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Wed Oct 28 14:29:52 2015
New Revision: 400394
URL: https://svnweb.freebsd.org/changeset/ports/400394

Log:
  devel/fb-adb: add new port
  
  Differential Revision:	https://reviews.freebsd.org/D3930
  
  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
  
  https://github.com/facebook/fb-adb

Added:
  head/devel/fb-adb/
  head/devel/fb-adb/Makefile   (contents, props changed)
  head/devel/fb-adb/distinfo   (contents, props changed)
  head/devel/fb-adb/files/
  head/devel/fb-adb/files/patch-util.c   (contents, props changed)
  head/devel/fb-adb/pkg-descr   (contents, props changed)
Modified:
  head/devel/Makefile   (contents, props changed)

Modified: head/devel/Makefile
==============================================================================
--- head/devel/Makefile	Wed Oct 28 14:27:28 2015	(r400393)
+++ head/devel/Makefile	Wed Oct 28 14:29:52 2015	(r400394)
@@ -499,6 +499,7 @@
     SUBDIR += f77flow
     SUBDIR += fam
     SUBDIR += fastcrc
+    SUBDIR += fb-adb
     SUBDIR += fb303
     SUBDIR += fc++
     SUBDIR += ffcall

Added: head/devel/fb-adb/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/fb-adb/Makefile	Wed Oct 28 14:29:52 2015	(r400394)
@@ -0,0 +1,78 @@
+# $FreeBSD$
+
+PORTNAME=	fb-adb
+DISTVERSION=	1.4.4-109
+DISTVERSIONSUFFIX=	-g930ba5f
+CATEGORIES=	devel
+
+MAINTAINER=	jbeich@FreeBSD.org
+COMMENT=	Better shell for Android devices
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	xxd:${PORTSDIR}/editors/vim-lite \
+		${LOCALBASE}/android/ARMv7/bin/arm-aux-linux-androideabi-gcc:${PORTSDIR}/lang/gnatdroid-armv7 \
+		${BASH_CMD}:${PORTSDIR}/shells/${BASH_CMD:T}
+RUN_DEPENDS=	adb:${PORTSDIR}/devel/android-tools-adb
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	facebook
+
+USES=		autoreconf:outsource gmake ncurses perl5 python:3,build
+USE_PERL5=	build # pod2man
+BASH_CMD?=	bash # can be zsh
+GNU_CONFIGURE=	yes
+CONFIGURE_ENV=	PATH="${BUILD_DEPENDS:M*android*:C/:.*//:H}:$$PATH" \
+		PYTHON3="${PYTHON_CMD}"
+# XXX --mandir as SET_LATE_CONFIGURE_ARGS doesn't respect CONFIGURE_CMD
+CONFIGURE_ARGS=	--mandir="${MANPREFIX}/man" --with-android-ndk=system
+INSTALL_TARGET=	install-strip
+PLIST_FILES=	bin/${PORTNAME} \
+		man/man1/${PORTNAME}.1.gz
+
+# 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=""
+
+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
+
+post-patch:
+# XXX Decouple -Werror from --enable-checking (ASSERT=on)
+# XXX lang/gnatdroid-x86 doesn't exist yet
+	@${REINPLACE_CMD} -e '/CPPFLAGS.*-Werror/d' \
+		-e 's/stub-x86[^,]*, //g' \
+		${WRKSRC}/configure.ac
+	@${REINPLACE_CMD} -e 's/linux-android/aux-&/' \
+		${WRKSRC}/stub-*/configure
+
+# 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>

Added: head/devel/fb-adb/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/fb-adb/distinfo	Wed Oct 28 14:29:52 2015	(r400394)
@@ -0,0 +1,6 @@
+SHA256 (facebook-fb-adb-1.4.4-109-g930ba5f_GH0.tar.gz) = e93ca8163fa42d3fc10888231bb7cc9fedbff809171f9b6745ca04da7a082b6d
+SIZE (facebook-fb-adb-1.4.4-109-g930ba5f_GH0.tar.gz) = 248393
+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

Added: head/devel/fb-adb/files/patch-util.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/fb-adb/files/patch-util.c	Wed Oct 28 14:29:52 2015	(r400394)
@@ -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

Added: head/devel/fb-adb/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/fb-adb/pkg-descr	Wed Oct 28 14:29:52 2015	(r400394)
@@ -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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201510281429.t9SETqKg090604>