Changeset View
Changeset View
Standalone View
Standalone View
devel/fb-adb/Makefile
- This file was added.
# $FreeBSD$ | |||||
PORTNAME= fb-adb | |||||
DISTVERSION= 1.4.4-101 | |||||
DISTVERSIONSUFFIX= -g31eb7b3 # has non-upstreamed patches (pull #35) | |||||
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 | |||||
CONFIG_SITE= # partial cross-build | |||||
CONFIGURE_ENV= ANDROID_NDK="${WRKSRC_ndk}" \ | |||||
ANDROID_NDK_SHELL="${NDK_SHELL}" \ | |||||
NDK_TMPDIR="${WRKDIR}" \ | |||||
PYTHON3="${PYTHON_CMD}" \ | |||||
HOST_CFLAGS="${CPPFLAGS} ${CFLAGS:N-[Og][0-9]:N-pipe}" \ | |||||
STUB_CFLAGS="${STUB_CFLAGS}" \ | |||||
CPPFLAGS="" CFLAGS="${CFLAGS:M-[Og][0-9]} ${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= BASH | |||||
BASH_DESC= Install JSON parser used by bash-completion | |||||
BASH_RUN_DEPENDS= jq:${PORTSDIR}/textproc/jq | |||||
.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 | |||||
.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 cross-builds | |||||
.if defined(.PARSEDIR) | |||||
RUN_DEPENDS:= ${RUN_DEPENDS:N${LINUX_BASE_PORT}} | |||||
.else | |||||
RUN_DEPENDS:= ${RUN_DEPENDS:N*linux_base*} | |||||
.endif |