Changeset View
Changeset View
Standalone View
Standalone View
head/devel/fb-adb/Makefile
# $FreeBSD$ | # $FreeBSD$ | ||||
PORTNAME= fb-adb | PORTNAME= fb-adb | ||||
DISTVERSION= 1.4.4-109 | DISTVERSION= 1.4.4-109 | ||||
DISTVERSIONSUFFIX= -g930ba5f | DISTVERSIONSUFFIX= -g930ba5f | ||||
PORTREVISION= 1 | |||||
CATEGORIES= devel | CATEGORIES= devel | ||||
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} | |||||
MAINTAINER= jbeich@FreeBSD.org | MAINTAINER= jbeich@FreeBSD.org | ||||
COMMENT= Better shell for Android devices | COMMENT= Better shell for Android devices | ||||
LICENSE= BSD3CLAUSE | LICENSE= BSD3CLAUSE | ||||
LICENSE_FILE= ${WRKSRC}/LICENSE | LICENSE_FILE= ${WRKSRC}/LICENSE | ||||
BUILD_DEPENDS= xxd:${PORTSDIR}/editors/vim-lite \ | 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} | ${BASH_CMD}:${PORTSDIR}/shells/${BASH_CMD:T} | ||||
RUN_DEPENDS= adb:${PORTSDIR}/devel/android-tools-adb | RUN_DEPENDS= adb:${PORTSDIR}/devel/android-tools-adb | ||||
USE_GITHUB= yes | USE_GITHUB= yes | ||||
GH_ACCOUNT= facebook | GH_ACCOUNT= facebook | ||||
USES= autoreconf:outsource gmake ncurses perl5 python:3,build | USES= autoreconf:outsource gmake ncurses perl5 python:3,build | ||||
USE_PERL5= build # pod2man | USE_PERL5= build # pod2man | ||||
BASH_CMD?= bash # can be zsh | BASH_CMD?= bash # can be zsh | ||||
GNU_CONFIGURE= yes | GNU_CONFIGURE= yes | ||||
CONFIGURE_ENV= PATH="${BUILD_DEPENDS:M*android*:C/:.*//:H}:$$PATH" \ | CONFIGURE_ENV= PYTHON3="${PYTHON_CMD}" | ||||
PYTHON3="${PYTHON_CMD}" | |||||
# XXX --mandir as SET_LATE_CONFIGURE_ARGS doesn't respect CONFIGURE_CMD | # XXX --mandir as SET_LATE_CONFIGURE_ARGS doesn't respect CONFIGURE_CMD | ||||
CONFIGURE_ARGS= --mandir="${MANPREFIX}/man" --with-android-ndk=system | CONFIGURE_ARGS= --mandir="${MANPREFIX}/man" | ||||
INSTALL_TARGET= install-strip | INSTALL_TARGET= install-strip | ||||
PLIST_FILES= bin/${PORTNAME} \ | PLIST_FILES= bin/${PORTNAME} \ | ||||
man/man1/${PORTNAME}.1.gz | man/man1/${PORTNAME}.1.gz | ||||
# Cross-build sanitization | # Cross-build sanitization | ||||
CONFIG_SITE= /dev/null # XXX Only for AC_CONFIG_SUBDIRS | CONFIG_SITE= /dev/null # XXX Only for AC_CONFIG_SUBDIRS | ||||
CONFIGURE_ENV+= HOST_CFLAGS="${CPPFLAGS} ${CFLAGS:N-[Og]*:N-pipe}" \ | CONFIGURE_ENV+= HOST_CFLAGS="${CPPFLAGS} ${CFLAGS:N-[Og]*:N-pipe}" \ | ||||
STUB_CFLAGS="${STUB_CFLAGS}" \ | STUB_CFLAGS="${STUB_CFLAGS}" \ | ||||
CPPFLAGS="" CFLAGS="${CFLAGS:M-[Og]*} ${CFLAGS:M-pipe}" \ | CPPFLAGS="" CFLAGS="${CFLAGS:M-[Og]*} ${CFLAGS:M-pipe}" \ | ||||
HOST_LDFLAGS="${LDFLAGS} ${LIBS}" \ | HOST_LDFLAGS="${LDFLAGS} ${LIBS}" \ | ||||
STUB_LDFLAGS="${STUB_LDFLAGS}" \ | STUB_LDFLAGS="${STUB_LDFLAGS}" \ | ||||
LDFLAGS="" LIBS="" | LDFLAGS="" LIBS="" | ||||
OPTIONS_DEFINE= ASSERT BASH DEBUG | OPTIONS_DEFINE= ASSERT BASH DEBUG | ||||
OPTIONS_DEFINE_amd64= NDK | |||||
OPTIONS_DEFINE_i386= NDK | |||||
OPTIONS_DEFAULT_amd64= NDK | |||||
OPTIONS_DEFAULT_i386= NDK | |||||
OPTIONS_EXCLUDE_DragonFly=NDK | |||||
ASSERT_CONFIGURE_ENABLE=checking | ASSERT_CONFIGURE_ENABLE=checking | ||||
BASH_DESC= Install JSON parser used by bash-completion | BASH_DESC= Install JSON parser used by bash-completion | ||||
BASH_RUN_DEPENDS= jq:${PORTSDIR}/textproc/jq | BASH_RUN_DEPENDS= jq:${PORTSDIR}/textproc/jq | ||||
DEBUG_CONFIGURE_ENABLE= debuggable-stubs | DEBUG_CONFIGURE_ENABLE= debuggable-stubs | ||||
# XXX Convert into USES=android once more things depend on it | |||||
NDK_DESC= Build target stubs using Android NDK | |||||
NDK_MASTER_SITES= https://dl.google.com/android/ndk/:ndk | |||||
.if defined(ANDROID_NDK) | |||||
# Prefer NDK from environment | |||||
WRKSRC_ndk= ${ANDROID_NDK} | |||||
.else | |||||
NDK_DISTFILES= ${DISTNAME_ndk}.bin:ndk,p7zip | |||||
DISTNAME_ndk= android-ndk-r10e-linux-${LINUX_RPM_ARCH:C/i.86/x86/} | |||||
WRKSRC_ndk= ${WRKDIR}/${DISTNAME_ndk:C/(-[^-]+){2}$//} | |||||
.endif | |||||
NDK_BUILD_DEPENDS= ${LINUX_BASE_PORT} | |||||
NDK_USE= LINUX=yes # build | |||||
NDK_SHELL= ${SETENV} UNAME_s=Linux UNAME_m=${LINUX_RPM_ARCH} ${SH} | |||||
NDK_CONFIGURE_ENV= ANDROID_NDK="${WRKSRC_ndk}" \ | |||||
ANDROID_NDK_SHELL="${NDK_SHELL}" \ | |||||
NDK_TMPDIR="${WRKDIR}" | |||||
NDK_BUILD_DEPENDS_OFF= ${LOCALBASE}/android/ARMv7/bin/arm-aux-linux-androideabi-gcc:${PORTSDIR}/lang/gnatdroid-armv7 | |||||
NDK_CONFIGURE_ENV_OFF= PATH="${NDK_BUILD_DEPENDS_OFF:C/:.*//:H}:$$PATH" | |||||
NDK_CONFIGURE_OFF= --with-android-ndk=system | |||||
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: | post-patch: | ||||
# XXX Decouple -Werror from --enable-checking (ASSERT=on) | # XXX Decouple -Werror from --enable-checking (ASSERT=on) | ||||
@${REINPLACE_CMD} -e '/CPPFLAGS.*-Werror/d' ${WRKSRC}/configure.ac | |||||
post-patch-NDK-off: | |||||
# XXX lang/gnatdroid-x86 doesn't exist yet | # XXX lang/gnatdroid-x86 doesn't exist yet | ||||
@${REINPLACE_CMD} -e '/CPPFLAGS.*-Werror/d' \ | @${REINPLACE_CMD} -i '.x86-off.bak' -e 's/stub-x86[^,]*, //g' \ | ||||
-e 's/stub-x86[^,]*, //g' \ | |||||
${WRKSRC}/configure.ac | ${WRKSRC}/configure.ac | ||||
@${REINPLACE_CMD} -e 's/linux-android/aux-&/' \ | @${REINPLACE_CMD} -i '.aux.bak' -e 's/linux-androideabi/aux-&/' \ | ||||
${WRKSRC}/stub-*/configure | ${WRKSRC}/stub-*/configure | ||||
# XXX Similar to USES=qmake:outsource, merge into Mk/Uses/autoreconf.mk | # XXX Similar to USES=qmake:outsource, merge into Mk/Uses/autoreconf.mk | ||||
.if defined(USES) && ${USES:Mautoreconf\:outsource} | .if defined(USES) && ${USES:Mautoreconf\:outsource} | ||||
USES:= autoreconf:build ${USES:Nautoreconf*} | USES:= autoreconf:build ${USES:Nautoreconf*} | ||||
CONFIGURE_CMD= ${AUTORECONF_WRKSRC}/${CONFIGURE_SCRIPT} | CONFIGURE_CMD= ${AUTORECONF_WRKSRC}/${CONFIGURE_SCRIPT} | ||||
CONFIGURE_WRKSRC= ${WRKDIR}/.build | CONFIGURE_WRKSRC= ${WRKDIR}/.build | ||||
BUILD_WRKSRC= ${CONFIGURE_WRKSRC} | BUILD_WRKSRC= ${CONFIGURE_WRKSRC} | ||||
INSTALL_WRKSRC= ${CONFIGURE_WRKSRC} | INSTALL_WRKSRC= ${CONFIGURE_WRKSRC} | ||||
AUTORECONF_WRKSRC?= ${WRKSRC} | AUTORECONF_WRKSRC?= ${WRKSRC} | ||||
_USES_configure+= 470:do-autoreconf | _USES_configure+= 470:do-autoreconf | ||||
do-autoreconf: | do-autoreconf: | ||||
.for f in AUTHORS ChangeLog INSTALL NEWS README | .for f in AUTHORS ChangeLog INSTALL NEWS README | ||||
# Don't modify time stamps if the files already exist | # Don't modify time stamps if the files already exist | ||||
@test -e ${AUTORECONF_WRKSRC}/${f} || ${TOUCH} ${AUTORECONF_WRKSRC}/${f} | @test -e ${AUTORECONF_WRKSRC}/${f} || ${TOUCH} ${AUTORECONF_WRKSRC}/${f} | ||||
.endfor | .endfor | ||||
@(cd ${AUTORECONF_WRKSRC} && ${LOCALBASE}/bin/autoreconf -f -i) | @(cd ${AUTORECONF_WRKSRC} && ${LOCALBASE}/bin/autoreconf -f -i) | ||||
@${MKDIR} ${CONFIGURE_WRKSRC} | @${MKDIR} ${CONFIGURE_WRKSRC} | ||||
.endif | .endif | ||||
.include <bsd.port.options.mk> | |||||
# XXX Make _EXCLUDE behave like _SLAVE by triggering _OFF helpers | |||||
.for opt in ${OPTIONS_EXCLUDE_${OPSYS}} | |||||
. if ! ${PORT_OPTIONS:M${opt}} | |||||
BUILD_DEPENDS+= ${${opt}_BUILD_DEPENDS_OFF} | |||||
CONFIGURE_ENV+= ${${opt}_CONFIGURE_ENV_OFF} | |||||
CONFIGURE_ARGS+= ${${opt}_CONFIGURE_OFF} | |||||
. endif | |||||
.endfor | |||||
# 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 | |||||
.include <bsd.port.mk> | .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 |