summaryrefslogtreecommitdiff
path: root/www-client
diff options
context:
space:
mode:
Diffstat (limited to 'www-client')
-rw-r--r--www-client/arcanist/Manifest1
-rw-r--r--www-client/arcanist/arcanist-20160408.ebuild141
2 files changed, 142 insertions, 0 deletions
diff --git a/www-client/arcanist/Manifest b/www-client/arcanist/Manifest
index f4c8c2f9..bb71e9df 100644
--- a/www-client/arcanist/Manifest
+++ b/www-client/arcanist/Manifest
@@ -4,5 +4,6 @@ EBUILD arcanist-20150815.ebuild 3741 SHA256 e79eabd7a58c5ae7863428450575e2757c61
EBUILD arcanist-20151003.ebuild 3741 SHA256 ffa375220af18f6dd98609eaa3f27fa0f073186d703e4f927a085382f56e5dcd WHIRLPOOL d6d593db896282e9b11a90b10e268736bcda9fc11c2197c7db04ad6696dec68f1f73a1d01574b0d5c2a12d58de1d4d60c69688f09e63e725d1cc3eec4da6f19b
EBUILD arcanist-20151024.ebuild 3741 SHA256 275fe84278206f7c8641206e9d23929a1274fe702f2cc0372fdfb67e4a3e868b WHIRLPOOL b37793513f3fc3b2a7274e403dd47d8b0c6168aebd7322e8b9d11971244775d7952f9cca230ae33f3a88832539f02451eadd885215ed9c8b6982ccc9db8829f3
EBUILD arcanist-20160212.ebuild 3765 SHA256 9fa39235b5109ae32007b907afca95be3699d3fd341edb378bf45c8c30107f27 WHIRLPOOL ff23191616a40bb5b34b1536d2fe9680a5f124449628b9ef4a4f7c37c73368af4daafdb1a7307c261821f683fa4e33cd354fd536b83c31eb049503ed1ab94344
+EBUILD arcanist-20160408.ebuild 3765 SHA256 f805a1a57b2c4c90c1a3d3ba161d30819089527a509b8a30abf8ec30b896f929 WHIRLPOOL 5d2d833ded9a2786d480470517363e1cee07ffc1b521f1c831cdfa1765c504e90b71c3de9ac016854da143c30bc421f33cd0a15123a6834ee725f70c20c33596
EBUILD arcanist-9999.ebuild 3677 SHA256 6a73ee3683e7a90c8e027445730c0afa562cc6d06e8baa2d8f02874e64139fb3 WHIRLPOOL 99c92f647ccc4de6ece4fc8167f74aaf575515572d1ec8c75da2357993017613de4e5fb850deb8f0b53b25fc39e94d0d3a2a66fe940af04df48ec6ac53b80ef4
MISC metadata.xml 452 SHA256 2e925bb81450c955ffb47c6af0cfccff61d103c2622101ee5fc225eac0407d59 WHIRLPOOL 757211efd5b90e2c231b585b3b06e5399fa5407bddcf80cd457796a09239c88a48313a5d75ea98ad538ed3aa73bfa080676570f42ea92817c2a4183526006045
diff --git a/www-client/arcanist/arcanist-20160408.ebuild b/www-client/arcanist/arcanist-20160408.ebuild
new file mode 100644
index 00000000..173d025d
--- /dev/null
+++ b/www-client/arcanist/arcanist-20160408.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="ncurses"
+
+inherit bash-completion-r1 python-single-r1 git-r3
+
+DESCRIPTION="Command-line tool for Phabricator"
+HOMEPAGE="http://www.phabricator.org"
+EGIT_REPO_URI="git://github.com/phacility/arcanist.git"
+EGIT_BRANCH="stable"
+EGIT_COMMIT="68f4a77d42c5c570176fa7420aa655a4760de2c6"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="git lint mercurial subversion ssl test"
+REQUIRED_USE="test? ( lint )"
+
+DEPEND="virtual/awk:0
+ test? (
+ >=dev-lang/php-5.2.3[xmlwriter]
+ =dev-php/libphutil-20160408:0[test]
+ )"
+RDEPEND=">=dev-lang/php-5.2.3[cli,curl,json,ssl?]
+ =dev-php/libphutil-20160408:0[ssl?]
+ git? ( dev-vcs/git:0 )
+ mercurial? ( dev-vcs/mercurial:0 )
+ subversion? ( dev-vcs/subversion:0 )
+ lint? (
+ app-admin/puppet-lint:0
+ dev-haskell/hlint:0
+ dev-php/PEAR-PHP_CodeSniffer:0
+ dev-python/pylint:0[${PYTHON_USEDEP}]
+ dev-python/flake8:0[${PYTHON_USEDEP}]
+ dev-util/cppcheck:0
+ dev-util/cpplint:0
+ net-libs/nodejs:0[npm]
+ )"
+
+src_test() {
+ einfo "Note that you need to install some Node JS script manually:"
+ einfo " npm install -g coffeelint"
+ einfo " npm install -g csslint"
+ einfo " npm install -g jscs"
+ einfo " npm install -g jshint"
+ einfo " npm install -g jsonlint"
+ einfo " npm install -g less"
+
+ local GIT_NAME="${FUNCNAME} for ${CATEGORY}/${PF}"
+ local GIT_EMAIL="portage@localhost"
+
+ export GIT_AUTHOR_NAME="${GIT_NAME}"
+ export GIT_AUTHOR_EMAIL="${GIT_EMAIL}"
+
+ export GIT_COMMITTER_NAME="${GIT_NAME}"
+ export GIT_COMMITTER_EMAIL="${GIT_EMAIL}"
+
+ # Unable to locate binary "golint" to run linter ArcanistGoLintLinter. You may need to install the binary, or adjust your linter configuration.
+ # TO INSTALL: Install Golint using `go get github.com/golang/lint/golint`.
+
+ # Set config in .git/arc/config for ArcanistPyLintLinter
+ bin/arc set-config --local lint.pylint.codes.advice '^(C|R).*' > /dev/null
+ bin/arc set-config --local lint.pylint.codes.error '^(E|F).*' > /dev/null
+ bin/arc set-config --local lint.pylint.codes.warning '^W.*' > /dev/null
+
+ # + https://secure.phabricator.com/T7170
+
+ bin/arc unit --everything --no-coverage || die "arc unit failed"
+}
+
+src_prepare() {
+ git log --format='%H %ct' -n 1 > "${S}/GIT_COMMIT_INFO"
+
+ find "${S}" -type f -name .gitignore -print0 \
+ | xargs -0 --no-run-if-empty -- \
+ rm
+
+ rm bin/*.bat
+
+ # Replace 'env' shebang to files it point to
+ find "${S}" -type f \
+ | sort \
+ | xargs -n 1 --no-run-if-empty -- \
+ awk 'NR == 1 && /^#!\/usr\/bin\/env/ {print FILENAME}' \
+ | while read ; do
+ set -- $(sed -ne '1 s:^#!\([^ ]*\) ::p;q' ${REPLY})
+ cmd="$1" ; shift ; args="$@"
+
+ case "${cmd}" in
+ bash|php) ;;
+ *) continue ;;
+ esac
+
+ path="$(type -p ${cmd})" || continue
+ [[ -z "${path}" ]] && continue
+
+ einfo "Replace ${REPLY/#${S}\/} shebang to #!${path} ${args}"
+ sed -i \
+ -e "1 s:^#!.*:#!${path} ${args}:" \
+ "${REPLY}"
+ eend $?
+ done
+}
+
+src_install() {
+ newbashcomp resources/shell/bash-completion "arc"
+
+ insinto "/usr/share/${PN}"
+ doins GIT_COMMIT_INFO
+
+ insinto "/usr/share/php/${PN}"
+ doins -r bin externals resources scripts src
+
+ python_scriptinto "/usr/share/php/${PN}/scripts"
+ python_doscript scripts/breakout.py
+
+ # Make executable all shebanged files
+ find "${ED}" -type f \
+ | xargs -n 1 --no-run-if-empty -- \
+ awk 'NR == 1 && /^#!/ {print FILENAME}' \
+ | sed -e "s:${ED}:/:" \
+ | xargs --no-run-if-empty -- \
+ fperms 755
+
+ dosym "/usr/share/php/${PN}/bin/arc" /usr/bin/arc
+
+ dodoc NOTICE README.md
+}
+
+pkg_postinst() {
+ if use lint; then
+ elog
+ elog "Some linter need external NodeJS script. To install them, use:"
+ elog " npm install -g csslint"
+ fi
+}