diff --git a/devel/arcanist-lib/Makefile b/devel/arcanist-lib/Makefile index 3be58fea6b70..3f2065d8d138 100644 --- a/devel/arcanist-lib/Makefile +++ b/devel/arcanist-lib/Makefile @@ -1,91 +1,92 @@ PORTNAME?= arcanist PORTVERSION?= 20220518 +PORTREVISION?= 1 CATEGORIES?= devel PKGNAMESUFFIX= ${SLAVE_PKGNAMESUFFIX}${PHP_PKGNAMESUFFIX} MAINTAINER= grembo@FreeBSD.org COMMENT?= Libraries for the command line interface for Phabricator WWW= https://secure.phabricator.com/book/arcanist/ SLAVEPORT?= lib LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE PHP_DESTDIR= lib/php/arcanist USES= php:cli,flavors python:env shebangfix SHEBANG_FILES= bin/arc \ bin/phage \ scripts/*.php \ scripts/hgdaemon/*.php \ src/parser/*.php \ support/arcanoid/arcanoid.py \ support/lib/*.php \ support/unit/*.php \ support/xhpast/*.php \ support/xhpast/bin/*.php USE_PHP= curl dom hash json simplexml zlib USE_GITHUB= yes NO_BUILD= yes NO_ARCH= yes PORTSCOUT= ignore:1 GH_ACCOUNT= phacility GH_TAGNAME= 85c953e PLIST= ${.CURDIR}/pkg-plist .if ${SLAVEPORT} == lib SLAVE_PKGNAMESUFFIX= -${SLAVEPORT} RUN_DEPENDS= ca_root_nss>0:security/ca_root_nss OPTIONS_DEFINE= ENCODINGS OPTIONS_DEFAULT=ENCODINGS ENCODINGS_DESC= Support for encodings other than utf-8 ENCODINGS_USE= PHP=mbstring .else # link only RUN_DEPENDS= arcanist-lib${PHP_PKGNAMESUFFIX}>0:devel/arcanist-lib@${PHP_FLAVOR} CONFLICTS= arc arcanist-php?? PLIST_FILES= bin/arc .endif do-install: .if ${SLAVEPORT} == bin ${RLN} ../${PHP_DESTDIR}/bin/arc ${STAGEDIR}${PREFIX}/bin/arc .else @${MKDIR} ${STAGEDIR}${PREFIX}/${PHP_DESTDIR} cd ${WRKSRC} ; ${PAX} -rw * ${STAGEDIR}${PREFIX}/${PHP_DESTDIR} @${MKDIR} ${STAGEDIR}${PREFIX}/share/bash-completion/completions/ @${REINPLACE_CMD} \ 's|%%PREFIX%%|${PREFIX}|g; \ s|%%PHP_DESTDIR%%|${PHP_DESTDIR}|g' \ ${STAGEDIR}${PREFIX}/${PHP_DESTDIR}/support/shell/hooks/bash-completion.sh @${REINPLACE_CMD} \ 's|%%PKGNAME%%|${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}|g; \ s|%%PKGVERSION%%|${PKGVERSION}|g; \ s|%%PKGORIGIN%%|${PKGORIGIN}|g' \ ${STAGEDIR}${PREFIX}/${PHP_DESTDIR}/src/toolset/workflow/ArcanistVersionWorkflow.php @${REINPLACE_CMD} \ 's|%%PHP_CMD%%|${PREFIX}/bin/php|g' \ ${STAGEDIR}${PREFIX}/${PHP_DESTDIR}/src/lint/linter/ArcanistPhpLinter.php \ ${STAGEDIR}${PREFIX}/${PHP_DESTDIR}/src/moduleutils/PhutilLibraryMapBuilder.php \ ${STAGEDIR}${PREFIX}/${PHP_DESTDIR}/src/phage/bootloader/PhagePHPAgentBootloader.php \ ${STAGEDIR}${PREFIX}/${PHP_DESTDIR}/src/runtime/ArcanistRuntime.php \ ${STAGEDIR}${PREFIX}/${PHP_DESTDIR}/src/utils/PhutilExecutionEnvironment.php \ ${STAGEDIR}${PREFIX}/${PHP_DESTDIR}/src/workflow/ArcanistLiberateWorkflow.php @${REINPLACE_CMD} \ 's|%%PYTHON_CMD%%|${PYTHON_CMD}|g' \ ${STAGEDIR}${PREFIX}/${PHP_DESTDIR}/src/workflow/ArcanistAnoidWorkflow.php ${LN} -sf ${LOCALBASE}/share/certs/ca-root-nss.crt \ ${STAGEDIR}${PREFIX}/${PHP_DESTDIR}/resources/ssl/default.pem ${RLN} ${STAGEDIR}${PREFIX}/${PHP_DESTDIR}/support/shell/hooks/bash-completion.sh \ ${STAGEDIR}${PREFIX}/share/bash-completion/completions/arc ${STAGEDIR}${PREFIX}/${PHP_DESTDIR}/bin/arc shell-complete --generate .endif .include diff --git a/devel/arcanist-lib/files/patch-src_parser_ArcanistBundle.php b/devel/arcanist-lib/files/patch-src_parser_ArcanistBundle.php new file mode 100644 index 000000000000..095e1b24ee81 --- /dev/null +++ b/devel/arcanist-lib/files/patch-src_parser_ArcanistBundle.php @@ -0,0 +1,20 @@ +--- src/parser/ArcanistBundle.php.orig 2022-09-08 16:04:09 UTC ++++ src/parser/ArcanistBundle.php +@@ -762,7 +762,7 @@ final class ArcanistBundle extends Phobject { + $old_data = $this->getBlob($old_phid, $name); + } + +- $old_length = strlen($old_data); ++ $old_length = strlen($old_data ?? ''); + + // Here, and below, the binary will be emitted with base85 encoding. This + // encoding encodes each 4 bytes of input in 5 bytes of output, so we may +@@ -795,7 +795,7 @@ final class ArcanistBundle extends Phobject { + $new_data = $this->getBlob($new_phid, $name); + } + +- $new_length = strlen($new_data); ++ $new_length = strlen($new_data ?? ''); + $this->reserveBytes($new_length * 5 / 4); + + if ($new_data === null) { diff --git a/devel/arcanist-lib/files/patch-src-toolset-workflow-ArcanistVersionWorkflow.php b/devel/arcanist-lib/files/patch-src_toolset_workflow_ArcanistVersionWorkflow.php similarity index 100% rename from devel/arcanist-lib/files/patch-src-toolset-workflow-ArcanistVersionWorkflow.php rename to devel/arcanist-lib/files/patch-src_toolset_workflow_ArcanistVersionWorkflow.php