551be3c723
Ports using USE_PYTHON=distutils are now flavored. They will automatically get flavors (py27, py34, py35, py36) depending on what versions they support. There is also a USE_PYTHON=flavors for ports that do not use distutils but need FLAVORS to be set. A USE_PYTHON=noflavors can be set if using distutils but flavors are not wanted. A new USE_PYTHON=optsuffix that will add PYTHON_PKGNAMESUFFIX has been added to cope with Python ports that did not have the Python PKGNAMEPREFIX but are flavored. USES=python now also exports a PY_FLAVOR variable that contains the current python flavor. It can be used in dependency lines when the port itself is not python flavored. For example, deskutils/calibre. By default, all the flavors are generated. To only generate flavors for the versions in PYTHON2_DEFAULT and PYTHON3_DEFAULT, define BUILD_DEFAULT_PYTHON_FLAVORS in your make.conf. In all the ports with Python dependencies, the *_DEPENDS entries MUST end with the flavor so that the framework knows which to build/use. This is done by appending '@${PY_FLAVOR}' after the origin (or @${FLAVOR} if in a Python module with Python flavors, as the content will be the same). For example: RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR} PR: 223071 Reviewed by: portmgr, python Sponsored by: Absolight Differential Revision: https://reviews.freebsd.org/D12464
104 lines
3.2 KiB
Makefile
104 lines
3.2 KiB
Makefile
# $FreeBSD$
|
|
|
|
PORTNAME= fb-adb
|
|
DISTVERSION= 1.4.4-126
|
|
DISTVERSIONSUFFIX= -g6fd78ae
|
|
PORTREVISION= 2
|
|
CATEGORIES= devel comms
|
|
|
|
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
|
|
PATCHFILES= 1b5524282981.patch:-p1 \
|
|
8f532a9ee3a3.patch:-p1 \
|
|
a25602788c1b.patch:-p1 \
|
|
3a3a52355a39.patch:-p1 \
|
|
281df4766b82.patch:-p1 \
|
|
723148059ce2.patch:-p1 \
|
|
${NULL}
|
|
|
|
MAINTAINER= jbeich@FreeBSD.org
|
|
COMMENT= Better shell for Android devices
|
|
|
|
LICENSE= BSD3CLAUSE
|
|
LICENSE_FILE= ${WRKSRC}/LICENSE
|
|
|
|
BUILD_DEPENDS= xxd:editors/vim-lite \
|
|
${BASH_CMD}:shells/${BASH_CMD:T}
|
|
RUN_DEPENDS= adb:devel/android-tools-adb
|
|
|
|
USE_GITHUB= yes
|
|
GH_ACCOUNT= facebook
|
|
|
|
USES= autoreconf gmake ncurses perl5 python:3.4+,build
|
|
USE_PERL5= build # pod2man
|
|
BASH_CMD?= bash # can be zsh
|
|
GNU_CONFIGURE= yes
|
|
CONFIGURE_OUTSOURCE= yes
|
|
CONFIGURE_ENV= PYTHON3="${PYTHON_CMD}"
|
|
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 NDK
|
|
OPTIONS_DEFAULT=NDK
|
|
OPTIONS_EXCLUDE=${ARCH:Namd64:Ni386:C/.+/NDK/}
|
|
OPTIONS_EXCLUDE_DragonFly=NDK
|
|
|
|
ASSERT_CONFIGURE_ENABLE=checking
|
|
BASH_DESC= Install JSON parser used by bash-completion
|
|
BASH_RUN_DEPENDS= jq:textproc/jq
|
|
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/:7z \
|
|
https://dl.google.com/android/repository/:zip
|
|
.if defined(ANDROID_NDK)
|
|
# Prefer NDK from environment
|
|
WRKSRC_ndk= ${ANDROID_NDK}
|
|
.else
|
|
NDK_DISTFILES= ${NDK_DISTFILES_${LINUX_ARCH}}
|
|
NDK_DISTFILES_i386= android-ndk-r10e-linux-x86.bin:7z
|
|
NDK_DISTFILES_x86_64= android-ndk-r12b-linux-x86_64.zip:zip
|
|
WRKSRC_ndk= ${WRKDIR}/${NDK_DISTFILES:R:C/(-[^-]+){2}$//}
|
|
.endif
|
|
NDK_USES= 7z:partial linux
|
|
NDK_USE= LINUX=base:build
|
|
NDK_SHELL= ${LINUXBASE}/bin/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:lang/gnatdroid-armv7 \
|
|
${LOCALBASE}/android-x86/x86_32/bin/i686-aux-linux-android-gcc:lang/gnatdroid-x86
|
|
NDK_CONFIGURE_ENV_OFF= PATH="${NDK_BUILD_DEPENDS_OFF:C/:.*//:H:ts:}:$$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:
|
|
# XXX Decouple -Werror from --enable-checking (ASSERT=on)
|
|
@${REINPLACE_CMD} -e '/CPPFLAGS.*-Werror/d' ${WRKSRC}/configure.ac
|
|
|
|
post-patch-NDK-on:
|
|
@${REINPLACE_CMD} 's,mkdir,/compat/linux/../../bin/mkdir,' \
|
|
${WRKSRC_ndk}/build/tools/make-standalone-toolchain.sh \
|
|
${WRKSRC_ndk}/build/tools/ndk-common.sh
|
|
|
|
post-patch-NDK-off:
|
|
@${REINPLACE_CMD} -i '.aux.bak' -e 's/linux-android/aux-&/' \
|
|
${WRKSRC}/stub-*/configure
|
|
|
|
.include <bsd.port.mk>
|