freebsd-ports/devel/fb-adb/Makefile
Mathieu Arnold 551be3c723 Convert Python ports to FLAVORS.
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
2017-11-30 15:50:30 +00:00

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>