Index: head/devel/android-tools-adb/Makefile =================================================================== --- head/devel/android-tools-adb/Makefile (revision 399204) +++ head/devel/android-tools-adb/Makefile (revision 399205) @@ -1,94 +1,95 @@ # $FreeBSD$ PORTNAME= android-tools-adb DISTVERSIONPREFIX= android- DISTVERSION?= 6.0.0_r1 PORTREVISION?= 0 CATEGORIES= devel MASTER_SITES= https://anonscm.debian.org/cgit/android-tools/android-tools.git/plain/debian/:bashcomp DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \ bash_completion.d/adb?id=2b8cfec:bashcomp EXTRACT_ONLY= ${DISTFILES:N*\:bashcomp:C/:.*//} MAINTAINER= jbeich@FreeBSD.org COMMENT= Android debug bridge command line tool LICENSE= APACHE20 USE_GITHUB= yes GH_ACCOUNT= android GH_PROJECT= platform_system_core # Emulate GH_COMMIT without causing desync .ifdef DISTVERSIONSUFFIX GH_REVISION= ${DISTVERSIONSUFFIX:S/-g//} # snapshot .else GH_REVISION= bb0c180e6270 # generated by: make update-revision .endif CONFLICTS_INSTALL?= ${PORTNAME}-devel-* .ifndef EXTRA_PATCHES EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-base_file__test.cpp .endif USES= compiler:c++11-lib uidfix USE_OPENSSL= yes BUILD_WRKSRC= ${WRKSRC}/adb INSTALL_WRKSRC= ${BUILD_WRKSRC} +TEST_WRKSRC= ${BUILD_WRKSRC} MAKEFILE= ${FILESDIR}/Makefile -MAKE_ENV= BINDIR="${PREFIX}/bin" FILESDIR="${FILESDIR}" +MAKE_ENV= BINDIR="${PREFIX}/bin" EXTRADIR="${FILESDIR}" \ + FILESDIR="${DOCSDIR}" REVISION="${GH_REVISION}" ALL_TARGET= all -CPPFLAGS+= -DADB_REVISION='\"${GH_REVISION}-android\"' +TEST_TARGET= test PLIST_FILES= bin/adb \ %%BASH%%etc/bash_completion.d/adb -PORTDOCS= *.txt *.TXT +PORTDOCS= * OPTIONS_DEFINE+=BASH DOCS TEST OPTIONS_SUB= yes BASH_VARS= LICENSE+=MIT LICENSE_COMB=multi # debian/copyright +DOCS_MAKE_ARGS_OFF= FILES="" FILESDIR="" + TEST_BUILD_DEPENDS= googletest>=1.6.0:${PORTSDIR}/devel/googletest TEST_ALL_TARGET= adb_test -pre-install-TEST-on: - ${BUILD_WRKSRC}/adb_test +pre-install-TEST-on: do-test post-patch: # XXX C++ exception with description "regex_error" thrown in the test body. @if [ ${OPSYS} = FreeBSD -a ${OSREL:R} -lt 10 ]; then \ ${REINPLACE_CMD} -Ee '/^TEST/\ s/ (LOG|PLOG|UNIMPLEMENTED)/ DISABLED_\1/' \ ${WRKSRC}/base/logging_test.cpp; \ fi # XXX Hidden by poudriere/tinderbox, see lindev(4) for FreeBSD < 11.0 @if [ ! -e /dev/full ]; then \ ${REINPLACE_CMD} -e '/^TEST/s/[^ ]*ENOSPC/DISABLED_&/' \ ${WRKSRC}/adb/adb_io_test.cpp; \ fi post-install: ${MKDIR} ${STAGEDIR}${PREFIX}/${PLIST_FILES:M%%BASH%%*:C/%%.*%%//:H} ${INSTALL_DATA} ${_DISTDIR}/${DISTFILES:M*\:bashcomp:C/:.*//} \ ${STAGEDIR}${PREFIX}/${PLIST_FILES:M%%BASH%%*:C/%%.*%%//} - (cd ${INSTALL_WRKSRC} && ${COPYTREE_SHARE} \ - "${PORTDOCS}" ${STAGEDIR}${DOCSDIR}) update-revision: # https://developer.github.com/v3/repos/commits/#get-a-single-commit # Pretend to be curl(1) for pretty-printed JSON to help parse with sed(1) @${REINPLACE_CMD} -i '' -e "/^GH_REVISION.*$@/s/=.*/= $$(\ ${SETENV} HTTP_USER_AGENT=curl ${FETCH_CMD} -qo- \ https://api.github.com/repos/${GH_ACCOUNT}/${GH_PROJECT}/commits/${GH_TAGNAME} | \ ${SED} -n '/sha/ { s/.*\"\([0-9a-f]\{12\}\).*/\1/p; q; }' \ ) # generated by: make $@/" \ ${.CURDIR}/Makefile .include # XXX Work around !target(makesum) .ifndef DISTVERSIONSUFFIX makesum: update-revision .endif Index: head/devel/android-tools-adb/files/Makefile =================================================================== --- head/devel/android-tools-adb/files/Makefile (revision 399204) +++ head/devel/android-tools-adb/files/Makefile (revision 399205) @@ -1,92 +1,113 @@ # $FreeBSD$ PROG_CXX=adb NO_MAN= BINDIR?=/usr/bin +FILESDIR?=${DOCDIR}/${PROG} +FILES= *.[Tt][Xx][Tt] + SRCS+= adb.cpp SRCS+= adb_auth.cpp SRCS+= adb_auth_host.cpp SRCS+= adb_client.cpp SRCS+= adb_io.cpp SRCS+= adb_listeners.cpp SRCS+= adb_main.cpp SRCS+= adb_utils.cpp SRCS+= commandline.cpp SRCS+= console.cpp SRCS+= fdevent.cpp SRCS+= file_sync_client.cpp SRCS+= services.cpp SRCS+= sockets.cpp SRCS+= transport.cpp SRCS+= transport_local.cpp SRCS+= transport_usb.cpp TEST_SRCS+= adb_io_test.cpp TEST_SRCS+= adb_utils_test.cpp TEST_SRCS+= transport_test.cpp -.PATH: ${FILESDIR} +.PATH: ${EXTRADIR} SRCS+= get_my_path_freebsd.cpp SRCS+= usb_libusb.cpp .PATH: ${.CURDIR}/../base SRCS+= file.cpp SRCS+= logging.cpp SRCS+= strings.cpp SRCS+= stringprintf.cpp TEST_SRCS+= file_test.cpp TEST_SRCS+= logging_test.cpp TEST_SRCS+= stringprintf_test.cpp TEST_SRCS+= strings_test.cpp TEST_SRCS+= test_main.cpp TEST_SRCS+= test_utils.cpp .PATH: ${.CURDIR}/../libcutils SRCS+= socket_inaddr_any_server.c SRCS+= socket_local_client.c SRCS+= socket_local_server.c SRCS+= socket_loopback_client.c SRCS+= socket_loopback_server.c SRCS+= socket_network_client.c SRCS+= load_file.c SRCS+= threads.c # required by base/file.cpp .PATH: ${.CURDIR}/../liblog SRCS+= fake_log_device.c SRCS+= logd_write.c CPPFLAGS.logd_write.c+= -DFAKE_LOG_DEVICE=1 +REVISION?= $$(${GIT} rev-parse --short=12 HEAD 2>/dev/null || echo unknown) + +CPPFLAGS+= -DADB_REVISION="\"${REVISION}-android\"" CPPFLAGS+= -DADB_HOST=1 CPPFLAGS+= -DHAVE_FORKEXEC=1 CPPFLAGS+= -DHAVE_SYMLINKS CPPFLAGS+= -DHAVE_TERMIO_H CPPFLAGS+= -DHAVE_SYS_SOCKET_H CPPFLAGS+= -D_FILE_OFFSET_BITS=64 CPPFLAGS+= -I${.CURDIR} CPPFLAGS+= -I${.CURDIR}/../include CPPFLAGS+= -I${.CURDIR}/../base/include CPPFLAGS+= ${CPPFLAGS.${.IMPSRC:T}} +CPPFLAGS+= $$(${PKG_CONFIG} libcrypto --cflags 2>/dev/null) +CPPFLAGS+= $$(${PKG_CONFIG} libusb-1.0 --cflags 2>/dev/null) CXXFLAGS+= -std=gnu++11 .ifndef COMPILE.c CFLAGS+= ${CPPFLAGS} CXXFLAGS+= ${CPPFLAGS} .endif TEST_CPPFLAGS+= $$(${GTEST_CONFIG} --cppflags) .for f in ${TEST_SRCS} CPPFLAGS.${f}+= ${TEST_CPPFLAGS} .endfor -LDADD+= -lcrypto -lpthread -lusb -lz +LDADD+= $$(${PKG_CONFIG} libcrypto --libs 2>/dev/null || echo -lcrypto) +LDADD+= $$(${PKG_CONFIG} libusb-1.0 --libs 2>/dev/null || echo -lusb) +LDADD+= -lz \-lpthread DPADD+= ${LIBCRYPTO} ${LIBPTHREAD} ${LIBUSB} ${LIBZ} TEST_LDADD+= $$(${GTEST_CONFIG} --libs --ldflags) +TEST_OBJS+= ${TEST_SRCS:R:S/$/.o/} +CLEANFILES+= ${PROG}_test ${TEST_OBJS} + +GIT?= git GTEST_CONFIG?= gtest-config +PKG_CONFIG?= pkg-config -adb_test: ${SRCS:R:S/$/.o/:Nadb_main.o:Ncommandline.o} ${TEST_SRCS:R:S/$/.o/} - ${CXX} ${CPPFLAGS} ${CXXFLAGS} ${LDFLAGS} -o $@ $> ${LDADD} ${TEST_LDADD} +beforeinstall: + ${INSTALL} -d ${DESTDIR}${FILESDIR} .include + +test: ${PROG}_test + @for f in ${.ALLSRC}; do ./$$f; done + +${PROG}_test: ${OBJS:Nadb_main.o:Ncommandline.o} ${TEST_OBJS} + ${CXX} ${CPPFLAGS} ${CXXFLAGS} ${LDFLAGS} -o $@ $> ${LDADD} ${TEST_LDADD} Index: head/devel/android-tools-adb-devel/files/Makefile =================================================================== --- head/devel/android-tools-adb-devel/files/Makefile (revision 399204) +++ head/devel/android-tools-adb-devel/files/Makefile (revision 399205) @@ -1,99 +1,120 @@ # $FreeBSD$ PROG_CXX=adb NO_MAN= BINDIR?=/usr/bin +FILESDIR?=${DOCDIR}/${PROG} +FILES= *.[Tt][Xx][Tt] + SRCS+= adb.cpp SRCS+= adb_auth.cpp SRCS+= adb_auth_host.cpp SRCS+= adb_client.cpp SRCS+= adb_io.cpp SRCS+= adb_listeners.cpp SRCS+= adb_trace.cpp SRCS+= adb_utils.cpp SRCS+= commandline.cpp SRCS+= console.cpp SRCS+= fdevent.cpp SRCS+= file_sync_client.cpp SRCS+= services.cpp SRCS+= shell_service_protocol.cpp SRCS+= sockets.cpp SRCS+= transport.cpp SRCS+= transport_local.cpp SRCS+= transport_usb.cpp TEST_SRCS+= adb_io_test.cpp TEST_SRCS+= adb_utils_test.cpp TEST_SRCS+= fdevent_test.cpp TEST_SRCS+= shell_service_protocol_test.cpp TEST_SRCS+= socket_test.cpp TEST_SRCS+= transport_test.cpp .PATH: ${.CURDIR}/client SRCS+= main.cpp -.PATH: ${FILESDIR} +.PATH: ${EXTRADIR} SRCS+= get_my_path_freebsd.cpp SRCS+= usb_libusb.cpp .PATH: ${.CURDIR}/../base SRCS+= file.cpp SRCS+= logging.cpp SRCS+= strings.cpp SRCS+= stringprintf.cpp TEST_SRCS+= file_test.cpp TEST_SRCS+= logging_test.cpp TEST_SRCS+= stringprintf_test.cpp TEST_SRCS+= strings_test.cpp TEST_SRCS+= test_main.cpp TEST_SRCS+= test_utils.cpp .PATH: ${.CURDIR}/../libcutils SRCS+= socket_inaddr_any_server.c SRCS+= socket_local_client.c SRCS+= socket_local_server.c SRCS+= socket_loopback_client.c SRCS+= socket_loopback_server.c SRCS+= socket_network_client.c SRCS+= load_file.c SRCS+= threads.c # required by base/file.cpp .PATH: ${.CURDIR}/../liblog SRCS+= fake_log_device.c SRCS+= logd_write.c CPPFLAGS.logd_write.c+= -DFAKE_LOG_DEVICE=1 +REVISION?= $$(${GIT} rev-parse --short=12 HEAD 2>/dev/null || echo unknown) + +CPPFLAGS+= -DADB_REVISION="\"${REVISION}-android\"" CPPFLAGS+= -DADB_HOST=1 CPPFLAGS+= -DHAVE_FORKEXEC=1 CPPFLAGS+= -DHAVE_SYMLINKS CPPFLAGS+= -DHAVE_TERMIO_H CPPFLAGS+= -DHAVE_SYS_SOCKET_H CPPFLAGS+= -D_FILE_OFFSET_BITS=64 CPPFLAGS+= -I${.CURDIR} CPPFLAGS+= -I${.CURDIR}/../include CPPFLAGS+= -I${.CURDIR}/../base/include CPPFLAGS+= ${CPPFLAGS.${.IMPSRC:T}} +CPPFLAGS+= $$(${PKG_CONFIG} libcrypto --cflags 2>/dev/null) +CPPFLAGS+= $$(${PKG_CONFIG} libusb-1.0 --cflags 2>/dev/null) CXXFLAGS+= -std=gnu++11 .ifndef COMPILE.c CFLAGS+= ${CPPFLAGS} CXXFLAGS+= ${CPPFLAGS} .endif TEST_CPPFLAGS+= $$(${GTEST_CONFIG} --cppflags) .for f in ${TEST_SRCS} CPPFLAGS.${f}+= ${TEST_CPPFLAGS} .endfor -LDADD+= -lcrypto -lpthread -lusb -lz +LDADD+= $$(${PKG_CONFIG} libcrypto --libs 2>/dev/null || echo -lcrypto) +LDADD+= $$(${PKG_CONFIG} libusb-1.0 --libs 2>/dev/null || echo -lusb) +LDADD+= -lz \-lpthread DPADD+= ${LIBCRYPTO} ${LIBPTHREAD} ${LIBUSB} ${LIBZ} TEST_LDADD+= $$(${GTEST_CONFIG} --libs --ldflags) +TEST_OBJS+= ${TEST_SRCS:R:S/$/.o/} +CLEANFILES+= ${PROG}_test ${TEST_OBJS} + +GIT?= git GTEST_CONFIG?= gtest-config +PKG_CONFIG?= pkg-config -adb_test: ${SRCS:R:S/$/.o/:Nmain.o:Ncommandline.o} ${TEST_SRCS:R:S/$/.o/} - ${CXX} ${CPPFLAGS} ${CXXFLAGS} ${LDFLAGS} -o $@ $> ${LDADD} ${TEST_LDADD} +beforeinstall: + ${INSTALL} -d ${DESTDIR}${FILESDIR} .include + +test: ${PROG}_test + @for f in ${.ALLSRC}; do ./$$f; done + +${PROG}_test: ${OBJS:Nmain.o:Ncommandline.o} ${TEST_OBJS} + ${CXX} ${CPPFLAGS} ${CXXFLAGS} ${LDFLAGS} -o $@ $> ${LDADD} ${TEST_LDADD} Index: head/devel/android-tools-fastboot/Makefile =================================================================== --- head/devel/android-tools-fastboot/Makefile (revision 399204) +++ head/devel/android-tools-fastboot/Makefile (revision 399205) @@ -1,86 +1,86 @@ # $FreeBSD$ PORTNAME= android-tools-fastboot DISTVERSIONPREFIX= android- DISTVERSION?= 6.0.0_r1 PORTREVISION?= 0 CATEGORIES= devel MASTER_SITES= https://anonscm.debian.org/cgit/android-tools/android-tools.git/plain/debian/:bashcomp,manpage DISTFILES= bash_completion.d/fastboot?id=2b8cfec:bashcomp \ fastboot.1?id=706e754:manpage EXTRACT_ONLY= ${DISTFILES:N*\:bashcomp:N*\:manpage:C/:.*//} MAINTAINER= jbeich@FreeBSD.org COMMENT= Android Fastboot protocol CLI tool LICENSE= APACHE20 BSD2CLAUSE PUBLIC_DOMAIN LICENSE_COMB= multi LICENSE_NAME_PUBLIC_DOMAIN= Public Domain LICENSE_FILE_PUBLIC_DOMAIN= ${WRKSRC}/libselinux/NOTICE LICENSE_PERMS_PUBLIC_DOMAIN= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept LIB_DEPENDS= libpcre.so:${PORTSDIR}/devel/pcre USE_GITHUB= yes GH_ACCOUNT= android jbeich:extras,libselinux GH_PROJECT= platform_system_core platform_system_extras:extras \ platform_external_libselinux:libselinux # Emulate GH_COMMIT without causing desync .ifdef DISTVERSIONSUFFIX GH_REVISION= ${DISTVERSIONSUFFIX:S/-g//} # snapshot .else GH_REVISION= bb0c180e6270 # generated by: make update-revision .endif CONFLICTS_INSTALL?= ${PORTNAME}-devel-* -USES= compiler:c++11-lib localbase uidfix +USES= compiler:c++11-lib pkgconfig uidfix BUILD_WRKSRC= ${WRKSRC}/fastboot INSTALL_WRKSRC= ${BUILD_WRKSRC} MAKEFILE= ${.CURDIR}/files/Makefile # XXX ?= when bmake-only -MAKE_ENV= FILESDIR="${FILESDIR}" BINDIR="${PREFIX}/bin" \ +MAKE_ENV= BINDIR="${PREFIX}/bin" EXTRADIR="${FILESDIR}" \ + FILESDIR="${DOCSDIR}" REVISION="${GH_REVISION}" \ MANDIR="${PREFIX}/man/man" \ LIBPCRE="${LOCALBASE}/lib/libpcre.a" -CPPFLAGS+= -DFASTBOOT_REVISION='\"${GH_REVISION}-android\"' PLIST_FILES= bin/fastboot \ %%BASH%%etc/bash_completion.d/fastboot \ man/man1/fastboot.1.gz -PORTDOCS= fastboot_protocol.txt +PORTDOCS= * SUB_FILES= pkg-message OPTIONS_DEFINE= BASH DOCS OPTIONS_SUB= yes BASH_VARS= LICENSE+=MIT # debian/copyright +DOCS_MAKE_ARGS_OFF= FILES="" FILESDIR="" + post-extract: @${CP} ${_DISTDIR}/${DISTFILES:M*\:manpage:C/:.*//} \ ${BUILD_WRKSRC}/${DISTFILES:M*\:manpage:C/\?.*//} # Adjust paths relative to core @(cd ${WRKSRC_extras} && ${COPYTREE_SHARE} . ${WRKSRC}) @${MV} ${WRKSRC_libselinux} ${WRKSRC}/libselinux post-install: ${MKDIR} ${STAGEDIR}${PREFIX}/${PLIST_FILES:M%%BASH%%*:C/%%.*%%//:H} ${INSTALL_DATA} ${_DISTDIR}/${DISTFILES:M*\:bashcomp:C/:.*//} \ ${STAGEDIR}${PREFIX}/${PLIST_FILES:M%%BASH%%*:C/%%.*%%//} - (cd ${INSTALL_WRKSRC} && ${COPYTREE_SHARE} \ - "${PORTDOCS}" ${STAGEDIR}${DOCSDIR}) update-revision: # https://developer.github.com/v3/repos/commits/#get-a-single-commit # Pretend to be curl(1) for pretty-printed JSON to help parse with sed(1) @${REINPLACE_CMD} -i '' -e "/^GH_REVISION.*$@/s/=.*/= $$(\ ${SETENV} HTTP_USER_AGENT=curl ${FETCH_CMD} -qo- \ https://api.github.com/repos/${GH_ACCOUNT}/${GH_PROJECT}/commits/${GH_TAGNAME} | \ ${SED} -n '/sha/ { s/.*\"\([0-9a-f]\{12\}\).*/\1/p; q; }' \ ) # generated by: make $@/" \ ${.CURDIR}/Makefile .include # XXX Work around !target(makesum) .ifndef DISTVERSIONSUFFIX makesum: update-revision .endif Index: head/devel/android-tools-fastboot/files/Makefile =================================================================== --- head/devel/android-tools-fastboot/files/Makefile (revision 399204) +++ head/devel/android-tools-fastboot/files/Makefile (revision 399205) @@ -1,94 +1,110 @@ # $FreeBSD$ PROG_CXX=fastboot BINDIR?=/usr/bin +FILESDIR?=${DOCDIR}/${PROG} +FILES= *.[Tt][Xx][Tt] + SRCS+= bootimg_utils.cpp SRCS+= engine.c SRCS+= fastboot.cpp SRCS+= fs.c SRCS+= protocol.c SRCS+= util.c -.PATH: ${FILESDIR} +.PATH: ${EXTRADIR} SRCS+= usb_freebsd.cpp SRCS+= util_freebsd.cpp # required by libziparchive .PATH: ${.CURDIR}/../base SRCS+= file.cpp # required by fastboot .PATH: ${.CURDIR}/../ext4_utils SRCS+= allocate.c SRCS+= contents.c SRCS+= crc16.c SRCS+= ext4_sb.c SRCS+= ext4_utils.c SRCS+= ext4fixup.c SRCS+= extent.c SRCS+= indirect.c SRCS+= make_ext4fs.c SRCS+= sha1.c SRCS+= wipe.c # required by base and libutils .PATH: ${.CURDIR}/../liblog SRCS+= fake_log_device.c SRCS+= logd_write.c CPPFLAGS.logd_write.c+= -DFAKE_LOG_DEVICE=1 # required by ext4_utils .PATH: ${.CURDIR}/../libselinux/src SRCS+= callbacks.c SRCS+= check_context.c SRCS+= freecon.c SRCS+= init.c SRCS+= label.c SRCS+= label_android_property.c SRCS+= label_file.c CPPFLAGS.init.c+= -DDARWIN # statfs # required by fastboot and ext4_utils .PATH: ${.CURDIR}/../libsparse SRCS+= backed_block.c SRCS+= output_file.c SRCS+= sparse.c SRCS+= sparse_crc32.c SRCS+= sparse_err.c SRCS+= sparse_read.c # required by libziparchive .PATH: ${.CURDIR}/../libutils SRCS+= FileMap.cpp # required by fastboot .PATH: ${.CURDIR}/../libziparchive SRCS+= zip_archive.cc +REVISION?= $$(${GIT} rev-parse --short=12 HEAD 2>/dev/null || echo unknown) + +CPPFLAGS+= -DFASTBOOT_REVISION="\"${REVISION}-android\"" CPPFLAGS+= -Doff64_t=off_t CPPFLAGS+= -Dftruncate64=ftruncate CPPFLAGS+= -Dlseek64=lseek CPPFLAGS+= -Dmmap64=mmap CPPFLAGS+= -Dpread64=pread CPPFLAGS+= -I${.CURDIR} CPPFLAGS+= -I${.CURDIR}/../include CPPFLAGS+= -I${.CURDIR}/../mkbootimg CPPFLAGS+= -I${.CURDIR}/../base/include CPPFLAGS+= -I${.CURDIR}/../ext4_utils CPPFLAGS+= -I${.CURDIR}/../f2fs_utils CPPFLAGS+= -I${.CURDIR}/../libselinux/include CPPFLAGS+= -I${.CURDIR}/../libsparse/include CPPFLAGS+= ${CPPFLAGS.${.IMPSRC:T}} +CPPFLAGS+= $$(${PKG_CONFIG} libpcre --cflags 2>/dev/null) +CPPFLAGS+= $$(${PKG_CONFIG} libusb-1.0 --cflags 2>/dev/null) CXXFLAGS+= -D__STDC_LIMIT_MACROS # DragonFly CXXFLAGS+= -std=gnu++11 .ifndef COMPILE.c CFLAGS+= ${CPPFLAGS} CXXFLAGS+= ${CPPFLAGS} .endif -LDADD+= -lpcre -lusb -lz +LDADD+= $$(${PKG_CONFIG} libpcre --libs 2>/dev/null || echo -lpcre) +LDADD+= $$(${PKG_CONFIG} libusb-1.0 --libs 2>/dev/null || echo -lusb) +LDADD+= -lz DPADD+= ${LIBPCRE} ${LIBUSB} ${LIBZ} + +GIT?= git +PKG_CONFIG?= pkg-config + +beforeinstall: + ${INSTALL} -d ${DESTDIR}${FILESDIR} .include Index: head/devel/android-tools-fastboot-devel/files/Makefile =================================================================== --- head/devel/android-tools-fastboot-devel/files/Makefile (revision 399204) +++ head/devel/android-tools-fastboot-devel/files/Makefile (revision 399205) @@ -1,96 +1,112 @@ # $FreeBSD$ PROG_CXX=fastboot BINDIR?=/usr/bin +FILESDIR?=${DOCDIR}/${PROG} +FILES= *.[Tt][Xx][Tt] + SRCS+= bootimg_utils.cpp SRCS+= engine.cpp SRCS+= fastboot.cpp SRCS+= fs.cpp SRCS+= protocol.cpp SRCS+= util.cpp -.PATH: ${FILESDIR} +.PATH: ${EXTRADIR} SRCS+= usb_freebsd.cpp SRCS+= util_freebsd.cpp # required by libziparchive .PATH: ${.CURDIR}/../base SRCS+= file.cpp # required by fastboot .PATH: ${.CURDIR}/../ext4_utils SRCS+= allocate.c SRCS+= contents.c SRCS+= crc16.c SRCS+= ext4_sb.c SRCS+= ext4_utils.c SRCS+= ext4fixup.c SRCS+= extent.c SRCS+= indirect.c SRCS+= make_ext4fs.c SRCS+= sha1.c SRCS+= wipe.c # required by base and libutils .PATH: ${.CURDIR}/../liblog SRCS+= fake_log_device.c SRCS+= logd_write.c CPPFLAGS.logd_write.c+= -DFAKE_LOG_DEVICE=1 # required by ext4_utils .PATH: ${.CURDIR}/../libselinux/src SRCS+= callbacks.c SRCS+= check_context.c SRCS+= freecon.c SRCS+= init.c SRCS+= label.c SRCS+= label_android_property.c SRCS+= label_file.c SRCS+= label_support.c CPPFLAGS.init.c+= -DDARWIN # statfs CPPFLAGS.label_file.c+= -D_WITH_GETLINE # required by fastboot and ext4_utils .PATH: ${.CURDIR}/../libsparse SRCS+= backed_block.c SRCS+= output_file.c SRCS+= sparse.c SRCS+= sparse_crc32.c SRCS+= sparse_err.c SRCS+= sparse_read.c # required by libziparchive .PATH: ${.CURDIR}/../libutils SRCS+= FileMap.cpp # required by fastboot .PATH: ${.CURDIR}/../libziparchive SRCS+= zip_archive.cc +REVISION?= $$(${GIT} rev-parse --short=12 HEAD 2>/dev/null || echo unknown) + +CPPFLAGS+= -DFASTBOOT_REVISION="\"${REVISION}-android\"" CPPFLAGS+= -Doff64_t=off_t CPPFLAGS+= -Dftruncate64=ftruncate CPPFLAGS+= -Dlseek64=lseek CPPFLAGS+= -Dmmap64=mmap CPPFLAGS+= -Dpread64=pread CPPFLAGS+= -I${.CURDIR} CPPFLAGS+= -I${.CURDIR}/../include CPPFLAGS+= -I${.CURDIR}/../mkbootimg CPPFLAGS+= -I${.CURDIR}/../base/include CPPFLAGS+= -I${.CURDIR}/../ext4_utils CPPFLAGS+= -I${.CURDIR}/../f2fs_utils CPPFLAGS+= -I${.CURDIR}/../libselinux/include CPPFLAGS+= -I${.CURDIR}/../libsparse/include CPPFLAGS+= ${CPPFLAGS.${.IMPSRC:T}} +CPPFLAGS+= $$(${PKG_CONFIG} libpcre --cflags 2>/dev/null) +CPPFLAGS+= $$(${PKG_CONFIG} libusb-1.0 --cflags 2>/dev/null) CXXFLAGS+= -D__STDC_LIMIT_MACROS # DragonFly CXXFLAGS+= -std=gnu++11 .ifndef COMPILE.c CFLAGS+= ${CPPFLAGS} CXXFLAGS+= ${CPPFLAGS} .endif -LDADD+= -lpcre -lusb -lz +LDADD+= $$(${PKG_CONFIG} libpcre --libs 2>/dev/null || echo -lpcre) +LDADD+= $$(${PKG_CONFIG} libusb-1.0 --libs 2>/dev/null || echo -lusb) +LDADD+= -lz DPADD+= ${LIBPCRE} ${LIBUSB} ${LIBZ} + +GIT?= git +PKG_CONFIG?= pkg-config + +beforeinstall: + ${INSTALL} -d ${DESTDIR}${FILESDIR} .include Index: head/devel/android-tools-simpleperf/Makefile =================================================================== --- head/devel/android-tools-simpleperf/Makefile (revision 399204) +++ head/devel/android-tools-simpleperf/Makefile (revision 399205) @@ -1,55 +1,56 @@ # $FreeBSD$ PORTNAME= android-tools-simpleperf DISTVERSIONPREFIX= android- DISTVERSION= m-preview-219 DISTVERSIONSUFFIX= -gaf995fe CATEGORIES= devel MAINTAINER= jbeich@FreeBSD.org COMMENT= Android simpleperf tool LICENSE= APACHE20 BUILD_DEPENDS= llvm-config${LLVM_VER}:${PORTSDIR}/devel/llvm${LLVM_VER} USE_GITHUB= yes GH_ACCOUNT= android:bionic,core jbeich GH_PROJECT= platform_bionic:bionic platform_system_core:core \ platform_system_extras GH_TAGNAME= ${DISTVERSIONFULL:C/-[0-9].*//}-357-g55f87a0:bionic \ ${DISTVERSIONFULL:C/-[0-9].*//}-1254-gfca4821:core USES= compiler:c++11-lib uidfix BUILD_WRKSRC= ${WRKSRC}/simpleperf INSTALL_WRKSRC= ${BUILD_WRKSRC} +TEST_WRKSRC= ${BUILD_WRKSRC} MAKEFILE= ${FILESDIR}/Makefile MAKE_ENV= BINDIR="${PREFIX}/bin" LLVM_CONFIG="llvm-config${LLVM_VER}" ALL_TARGET= all +TEST_TARGET= test LDFLAGS+= -Wl,--as-needed # avoid overlinking (llvm deps) PLIST_FILES= bin/simpleperf LLVM_VER?= 36 # XXX Move to DEFAULT_VERSIONS OPTIONS_DEFINE= TEST -TEST_BUILD_DEPENDS=googletest>=1.6.0:${PORTSDIR}/devel/googletest -TEST_ALL_TARGET=simpleperf_unit_test +TEST_BUILD_DEPENDS= googletest>=1.6.0:${PORTSDIR}/devel/googletest +TEST_ALL_TARGET= simpleperf_test post-extract: # Adjust paths relative to extras @(cd ${WRKSRC_core} && ${COPYTREE_SHARE} . ${WRKSRC}) @${MV} ${WRKSRC_bionic} ${WRKSRC}/bionic post-patch: # XXX C++ exception with description "regex_error" thrown in the test body. @if [ ${OPSYS} = FreeBSD -a ${OSREL:R} -lt 10 ]; then \ ${REINPLACE_CMD} -Ee '/^TEST/\ s/ (LOG|PLOG|UNIMPLEMENTED)/ DISABLED_\1/' \ ${WRKSRC}/base/logging_test.cpp; \ fi -pre-install-TEST-on: - ${BUILD_WRKSRC}/simpleperf_unit_test +pre-install-TEST-on: do-test .include Index: head/devel/android-tools-simpleperf/files/Makefile =================================================================== --- head/devel/android-tools-simpleperf/files/Makefile (revision 399204) +++ head/devel/android-tools-simpleperf/files/Makefile (revision 399205) @@ -1,84 +1,90 @@ # $FreeBSD$ PROG_CXX=simpleperf NO_MAN= BINDIR?=/usr/bin SRCS+= callchain.cpp SRCS+= cmd_dumprecord.cpp SRCS+= cmd_help.cpp SRCS+= cmd_report.cpp SRCS+= command.cpp SRCS+= dso.cpp SRCS+= event_attr.cpp SRCS+= event_type.cpp SRCS+= main.cpp SRCS+= perf_regs.cpp SRCS+= read_elf.cpp SRCS+= record.cpp SRCS+= record_file_reader.cpp SRCS+= sample_tree.cpp SRCS+= thread_tree.cpp SRCS+= utils.cpp TEST_SRCS+= command_test.cpp TEST_SRCS+= record_test.cpp TEST_SRCS+= sample_tree_test.cpp .PATH: ${.CURDIR}/darwin_support SRCS+= darwin_support.cpp # required by simpleperf .PATH: ${.CURDIR}/../base SRCS+= file.cpp SRCS+= logging.cpp SRCS+= stringprintf.cpp SRCS+= strings.cpp TEST_SRCS+= file_test.cpp TEST_SRCS+= logging_test.cpp TEST_SRCS+= stringprintf_test.cpp TEST_SRCS+= strings_test.cpp TEST_SRCS+= test_main.cpp TEST_SRCS+= test_utils.cpp # required by base .PATH: ${.CURDIR}/../liblog SRCS+= fake_log_device.c SRCS+= logd_write.c CPPFLAGS.logd_write.c+= -DFAKE_LOG_DEVICE=1 # required by base .PATH: ${.CURDIR}/../libcutils SRCS+= threads.c CPPFLAGS+= -D_WITH_GETLINE CPPFLAGS+= -DUSE_BIONIC_UAPI_HEADERS CPPFLAGS+= -I${.CURDIR} CPPFLAGS+= -I${.CURDIR}/darwin_support/include CPPFLAGS+= -I${.CURDIR}/../include CPPFLAGS+= -I${.CURDIR}/../base/include CPPFLAGS+= -I${.CURDIR}/../bionic/libc/kernel CPPFLAGS+= $$(${LLVM_CONFIG} --cppflags) CPPFLAGS+= ${CPPFLAGS.${.IMPSRC:T}} CXXFLAGS+= -std=gnu++11 .ifndef COMPILE.c CFLAGS+= ${CPPFLAGS} CXXFLAGS+= ${CPPFLAGS} .endif TEST_CPPFLAGS+= $$(${GTEST_CONFIG} --cppflags) .for f in ${TEST_SRCS} CPPFLAGS.${f}+= ${TEST_CPPFLAGS} .endfor LDADD+= $$(${LLVM_CONFIG} --system-libs --libs --ldflags) TEST_LDADD+= $$(${GTEST_CONFIG} --libs --ldflags) +TEST_OBJS+= ${TEST_SRCS:R:S/$/.o/} +CLEANFILES+= ${PROG}_test ${TEST_OBJS} + LLVM_CONFIG?= llvm-config GTEST_CONFIG?= gtest-config -simpleperf_unit_test: ${SRCS:R:S/$/.o/:Nmain.o} ${TEST_SRCS:R:S/$/.o/} - ${CXX} ${CPPFLAGS} ${CXXFLAGS} ${LDFLAGS} -o $@ $> ${LDADD} ${TEST_LDADD} - .include + +test: ${PROG}_test + @for f in ${.ALLSRC}; do ./$$f; done + +${PROG}_test: ${OBJS:Nmain.o} ${TEST_OBJS} + ${CXX} ${CPPFLAGS} ${CXXFLAGS} ${LDFLAGS} -o $@ $> ${LDADD} ${TEST_LDADD}