2021-01-02 22:36:53 -05:00
|
|
|
# $FreeBSD$
|
|
|
|
|
|
|
|
|
|
PORTNAME= photoprism
|
2021-12-02 09:33:48 -05:00
|
|
|
DISTVERSION= g20211130
|
2021-01-02 22:36:53 -05:00
|
|
|
CATEGORIES= www
|
|
|
|
|
|
|
|
|
|
MAINTAINER= huoju@devep.net
|
|
|
|
|
COMMENT= Personal Photo Management powered by Go and Google TensorFlow
|
|
|
|
|
|
|
|
|
|
LICENSE= AGPLv3
|
|
|
|
|
|
2021-07-28 10:13:30 -04:00
|
|
|
RUN_DEPENDS= ffmpeg:multimedia/ffmpeg \
|
|
|
|
|
exiftool:graphics/p5-Image-ExifTool
|
2021-05-20 11:40:21 +10:00
|
|
|
EXTRACT_DEPENDS= ${RUN_DEPENDS} \
|
2021-01-02 22:36:53 -05:00
|
|
|
bash:shells/bash \
|
2021-05-20 15:31:59 +10:00
|
|
|
bazel:devel/bazel029 \
|
2021-05-20 11:40:21 +10:00
|
|
|
git:devel/git \
|
2021-05-20 15:31:59 +10:00
|
|
|
gmake:devel/gmake \
|
2021-01-29 23:55:41 -05:00
|
|
|
go:lang/go \
|
2021-05-20 15:31:59 +10:00
|
|
|
npm:www/npm-node14 \
|
|
|
|
|
wget:ftp/wget
|
2021-01-02 22:36:53 -05:00
|
|
|
|
2021-05-20 11:40:21 +10:00
|
|
|
USES= gmake python:3.6+,build
|
2021-01-02 22:36:53 -05:00
|
|
|
|
|
|
|
|
USE_GITHUB= yes
|
|
|
|
|
GH_ACCOUNT= photoprism
|
|
|
|
|
GH_PROJECT= photoprism
|
2021-12-02 09:33:48 -05:00
|
|
|
GH_TAGNAME= 13cfcf6d2081045dd236db56ee842edce8332cca
|
2021-01-02 22:36:53 -05:00
|
|
|
|
|
|
|
|
USE_RC_SUBR= photoprism
|
2021-01-31 22:06:49 -05:00
|
|
|
PHOTOPRISM_DATA_DIR= /var/db/photoprism
|
2021-01-02 22:36:53 -05:00
|
|
|
SUB_LIST+= PHOTOPRISM_DATA_DIR=${PHOTOPRISM_DATA_DIR}
|
|
|
|
|
SUB_FILES+= pkg-install pkg-message
|
|
|
|
|
|
2021-12-02 09:33:48 -05:00
|
|
|
FLAVORS= default notf
|
|
|
|
|
notf_PKGNAMESUFFIX= -notf
|
|
|
|
|
notf_PLIST= pkg-plist-notf
|
|
|
|
|
|
2021-01-02 22:36:53 -05:00
|
|
|
TF_VERSION = 1.15.2
|
|
|
|
|
|
2021-01-03 03:31:37 -05:00
|
|
|
OPTIONS_SINGLE= CPUFEATURE
|
|
|
|
|
OPTIONS_SINGLE_CPUFEATURE= NONE AVX AVX2
|
2021-05-20 11:41:12 +10:00
|
|
|
OPTIONS_DEFAULT = AVX
|
|
|
|
|
CPUFEATURE_DESC= Enable AVX CPU extensions for Tensorflow
|
2021-01-03 03:31:37 -05:00
|
|
|
NONE_VARS= BAZEL_COPT=""
|
|
|
|
|
AVX_VARS= BAZEL_COPT="--copt=-march=core-avx-i --host_copt=-march=core-avx-i"
|
|
|
|
|
AVX2_VARS= BAZEL_COPT="--copt=-march=core-avx2 --host_copt=-march=core-avx2"
|
|
|
|
|
|
2021-06-06 00:21:53 -04:00
|
|
|
|
|
|
|
|
TF_ENV= TF_DOWNLOAD_CLANG=0 TF_NEED_MPI=0 TF_SET_ANDROID_WORKSPACE=0 CC_OPT_FLAGS="-march=native -Wno-sign-compare"
|
|
|
|
|
OPTIONS_DEFINE= TF_NEED_OPENCL_SYCL TF_NEED_ROCM TF_NEED_CUDA
|
|
|
|
|
TF_NEED_OPENCL_SYCL_DESC= OpenCL SYCL
|
|
|
|
|
TF_NEED_OPENCL_SYCL_VARS= TF_ENV+="TF_NEED_OPENCL_SYCL=1"
|
|
|
|
|
TF_NEED_OPENCL_SYCL_VARS_OFF= TF_ENV+="TF_NEED_OPENCL_SYCL=0"
|
|
|
|
|
TF_NEED_ROCM_DESC= ROCm
|
|
|
|
|
TF_NEED_ROCM_VARS= TF_ENV+="TF_NEED_ROCM=1"
|
|
|
|
|
TF_NEED_ROCM_VARS_OFF= TF_ENV+="TF_NEED_ROCM=0"
|
|
|
|
|
TF_NEED_CUDA_DESC= CUDA
|
|
|
|
|
TF_NEED_CUDA_VARS= TF_ENV+="TF_NEED_CUDA=1"
|
|
|
|
|
TF_NEED_CUDA_VARS_OFF= TF_ENV+="TF_NEED_CUDA=0"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-01-29 23:55:41 -05:00
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
|
.if ${OPSYS} == FreeBSD && ${OSVERSION} > 1100000 && ${OSVERSION} < 1200000
|
2021-01-30 12:05:53 -05:00
|
|
|
EXTRA_PATCHES= ${PATCHDIR}/extra-patch-docker_tensorflow_tensorflow-1.15.2_tensorflow_core_protobuf_autotuning.proto
|
2021-01-29 23:55:41 -05:00
|
|
|
.endif
|
|
|
|
|
|
2021-09-12 01:12:22 -04:00
|
|
|
.if ${OPSYS} == FreeBSD && ${OSVERSION} > 1200000 && ${OSVERSION} < 1300000
|
2021-09-22 14:33:30 -04:00
|
|
|
EXTRA_PATCHES= ${PATCHDIR}/extra-patch-docker_tensorflow_tensorflow-1.15.2_third_party_repo.bzl
|
2021-09-12 01:12:22 -04:00
|
|
|
.endif
|
|
|
|
|
|
2021-12-02 09:33:48 -05:00
|
|
|
|
2021-01-02 22:36:53 -05:00
|
|
|
post-extract:
|
2021-10-03 12:39:50 -04:00
|
|
|
@${REINPLACE_CMD} -e 's|sha1sum|shasum|g' ${WRKSRC}/scripts/download-facenet.sh
|
2021-01-02 22:36:53 -05:00
|
|
|
@${REINPLACE_CMD} -e 's|sha1sum|shasum|g' ${WRKSRC}/scripts/download-nasnet.sh
|
|
|
|
|
@${REINPLACE_CMD} -e 's|sha1sum|shasum|g' ${WRKSRC}/scripts/download-nsfw.sh
|
2021-12-02 09:33:48 -05:00
|
|
|
|
|
|
|
|
.if ${FLAVOR:U} != notf
|
2021-01-29 23:55:41 -05:00
|
|
|
cd ${WRKSRC}/docker/tensorflow && gmake download
|
2021-12-02 09:33:48 -05:00
|
|
|
.endif
|
2021-01-29 23:55:41 -05:00
|
|
|
|
2021-01-02 22:36:53 -05:00
|
|
|
pre-build:
|
2021-12-02 09:33:48 -05:00
|
|
|
.if ${FLAVOR:U} != notf
|
2021-05-20 11:40:21 +10:00
|
|
|
@${REINPLACE_CMD} -e "s|\$$PYTHON_BIN_PATH|$(PYTHON_CMD)|" ${WRKSRC}/docker/tensorflow/tensorflow-$(TF_VERSION)/configure
|
2021-01-15 23:45:55 -05:00
|
|
|
@${REINPLACE_CMD} -e 's|0\.26\.1|0\.29\.0|g' ${WRKSRC}/docker/tensorflow/tensorflow-$(TF_VERSION)/configure.py
|
2021-05-20 11:40:21 +10:00
|
|
|
@${REINPLACE_CMD} -e "s|'--batch'|\'--batch\', \'--output_user_root=\"${WRKDIR}/.bazel\"\'|" ${WRKSRC}/docker/tensorflow/tensorflow-$(TF_VERSION)/configure.py
|
2021-06-06 00:21:53 -04:00
|
|
|
cd ${WRKSRC}/docker/tensorflow/tensorflow-${TF_VERSION} && PYTHON_BIN_PATH="$(PYTHON_CMD)" PYTHON_LIB_PATH="$(PYTHON_CMD)/site-packages" TF_ENABLE_XLA="False" ${TF_ENV} ./configure
|
2021-05-20 15:31:59 +10:00
|
|
|
cd ${WRKSRC}/docker/tensorflow/tensorflow-${TF_VERSION} && bazel --output_user_root="${WRKDIR}/.bazel" build --config=opt //tensorflow:libtensorflow.so ${BAZEL_COPT}
|
2021-05-20 11:40:21 +10:00
|
|
|
cd ${WRKSRC}/docker/tensorflow/tensorflow-${TF_VERSION} && ./create_archive.sh freebsd-cpu ${TF_VERSION}
|
2021-01-15 23:45:55 -05:00
|
|
|
@${REINPLACE_CMD} -e 's| go build -v ./...| CGO_CFLAGS="-I${WRKSRC}/docker/tensorflow/tensorflow-$(TF_VERSION)/tmp/include" CGO_LDFLAGS="-L${WRKSRC}/docker/tensorflow/tensorflow-$(TF_VERSION)/tmp/lib" go build -v ./cmd/... ./internal/... ./pkg/...|g' ${WRKSRC}/Makefile
|
|
|
|
|
@${REINPLACE_CMD} -e 's| scripts/build.sh debug| CGO_CFLAGS="-I${WRKSRC}/docker/tensorflow/tensorflow-$(TF_VERSION)/tmp/include" CGO_LDFLAGS="-L${WRKSRC}/docker/tensorflow/tensorflow-$(TF_VERSION)/tmp/lib" scripts/build.sh debug|g' ${WRKSRC}/Makefile
|
2021-12-02 09:33:48 -05:00
|
|
|
.else
|
|
|
|
|
@${REINPLACE_CMD} -e 's| go build -v ./...| CGO_LDFLAGS="-L/usr/local/lib" go build -v ./cmd/... ./internal/... ./pkg/...|g' ${WRKSRC}/Makefile
|
|
|
|
|
@${REINPLACE_CMD} -e 's| scripts/build.sh debug| CGO_LDFLAGS="-L/usr/local/lib" scripts/build.sh debug|g' ${WRKSRC}/Makefile
|
|
|
|
|
.endif
|
2021-01-02 22:36:53 -05:00
|
|
|
@${REINPLACE_CMD} -e 's|PHOTOPRISM_VERSION=.*|PHOTOPRISM_VERSION=${GH_TAGNAME}|' ${WRKSRC}/scripts/build.sh
|
|
|
|
|
|
|
|
|
|
do-install:
|
|
|
|
|
${INSTALL_PROGRAM} ${WRKSRC}/photoprism ${STAGEDIR}${PREFIX}/bin
|
2021-12-02 09:33:48 -05:00
|
|
|
|
|
|
|
|
.if ${FLAVOR:U} != notf
|
2021-01-15 23:45:55 -05:00
|
|
|
${INSTALL_LIB} ${WRKSRC}/docker/tensorflow/tensorflow-$(TF_VERSION)/tmp/lib/libtensorflow.so ${STAGEDIR}${PREFIX}/lib/libtensorflow.so.1.15.2
|
|
|
|
|
${INSTALL_LIB} ${WRKSRC}/docker/tensorflow/tensorflow-$(TF_VERSION)/tmp/lib/libtensorflow_framework.so ${STAGEDIR}${PREFIX}/lib/libtensorflow_framework.so.1.15.2
|
2021-01-02 22:36:53 -05:00
|
|
|
${LN} -fs libtensorflow_framework.so.1.15.2 ${STAGEDIR}${PREFIX}/lib/libtensorflow_framework.so.1
|
|
|
|
|
${LN} -fs libtensorflow.so.1.15.2 ${STAGEDIR}${PREFIX}/lib/libtensorflow.so.1
|
2021-06-06 00:21:53 -04:00
|
|
|
${LN} -fs libtensorflow_framework.so.1.15.2 ${STAGEDIR}${PREFIX}/lib/libtensorflow_framework.so
|
|
|
|
|
${LN} -fs libtensorflow.so.1.15.2 ${STAGEDIR}${PREFIX}/lib/libtensorflow.so
|
2021-12-02 09:33:48 -05:00
|
|
|
.endif
|
2021-01-02 22:36:53 -05:00
|
|
|
${MKDIR} ${STAGEDIR}${PHOTOPRISM_DATA_DIR}
|
|
|
|
|
${CP} -r ${WRKSRC}/assets ${STAGEDIR}${PHOTOPRISM_DATA_DIR}/assets
|
|
|
|
|
|
|
|
|
|
pre-install:
|
2021-05-20 11:40:21 +10:00
|
|
|
${MKDIR} ${STAGEDIR}${PHOTOPRISM_DATA_DIR}
|
2021-01-02 22:36:53 -05:00
|
|
|
|
|
|
|
|
.include <bsd.port.mk>
|