diff options
6 files changed, 228 insertions, 13 deletions
diff --git a/www-apps/phabricator/Manifest b/www-apps/phabricator/Manifest index 4e87e1a7..883fcf54 100644 --- a/www-apps/phabricator/Manifest +++ b/www-apps/phabricator/Manifest @@ -1,5 +1,6 @@ AUX 20160709-MEDIUM-Get-VERSION-for-files-in-usr-share-PN-GIT_COM.patch 1382 SHA256 9de5d736b21c96eeca547ced5b90837f82f45a83279327cc9b12ee7a41ba79cb WHIRLPOOL 7d6953fdab3f614dbf7e7a224ae75561b817559edd6a0da28bd13cc71cfccf14c665029a3ad8e30742e092cca0d36074c1e2b4be18c2277c8ddd3d6c8d8226a9 -AUX 9999-MEDIUM-Get-VERSION-for-files-in-usr-share-PN-GIT_COM.patch 1382 SHA256 d874803d023afe0616bb92540c4d13e4d88adb77d6dd073b046f620a5e71bbe5 WHIRLPOOL 7766af83202834ec42ceae6763b5f6ada2f73ac1786906fc1caa3706341f2fd1a2b5b007b0531c08f68bec980ba6547d2a1aed9ff3bfbbe86eebbf623ab05b35 +AUX 20161213-MEDIUM-Get-VERSION-for-files-in-usr-share-PN-GIT_COM.patch 1423 SHA256 9d34660077cc1f93cde9ec121f13a1c4a948cd233d777bf3d2a738686e51e355 WHIRLPOOL 432e24ad5b824301ad43127da5e3a0f861c61efebcd16b3ec9b67b55a2b3b19ac4228f45882c6a1d79c3b1613573eeb53ae130fdce07040e9e43c4beb8b519a3 +AUX 9999-MEDIUM-Get-VERSION-for-files-in-usr-share-PN-GIT_COM.patch 1423 SHA256 1f6b54a1ea847d70d81af4c7b51140b220cd2685f6bc107238de86cdeb45ce60 WHIRLPOOL 7dd32f2fd6a702890ffc7cfcf83c841ea7ffbbcac0bbe796ad4d305b7a1341ed04ea091b585cd188ae8166a4cc69fb60a2ce60706d04fe325b4ae76ceba26a06 AUX aphlict.confd 269 SHA256 c40eb50ecebecb4a4b5ff641d098a7a8fc65ef3c64b899499c2a768e5b7e47a1 WHIRLPOOL e03498542aeaf10846ba0fecae285b9ccf9bebc39faaa2f675cac1cd2948132a242e34b70031b14e09a1e2ef99523e657fc95fb391541d42872766245d5dbb93 AUX aphlict.initd 1663 SHA256 7c8f02d02e0854e5b43e51ed5b0d1369d4aff4ddec8ac7ee29327e9c6ecfb190 WHIRLPOOL 57d86f49e9b1888ac1c116c73a7cbca4843d4afe05ef2bfe3875fa1a15ff6ce96ff1f06c25d2ce9ad91076992663aa58496ca9863fde4d37c3657a1022e1bc73 AUX htaccess 475 SHA256 90b7245b7518f5b3e56bae9d574a530e3cd47808ef937bdc78ea4288eaff0c6a WHIRLPOOL fc9123f3d40affe53314a25c2649a5b2f47640131c9bc5a6dd0c55ac36e0a205f392b403fcbce93daffceaf427c7146b7a091115a8260c7551a3bfe8069ad88e @@ -7,6 +8,7 @@ AUX phabricator.logrotate 56 SHA256 e63141278776888c1a3f8e841b0d263efe2beb6c9dbe AUX phd.confd 215 SHA256 80ddbf586f38cc600d06e524f7e85c3258bd563696fa2e41e1ea19268da8079b WHIRLPOOL 0f1a587c755994c410b62da6b897ca8684d584b9f01956359e078429fc7ec7642561dc3e3c306bbb24753e3a68ef5f088a5709706143b6154aa085ac2dfa52ad AUX phd.initd 2435 SHA256 80bcf67fa7c8ada594113246abe19e1b420319ce976c0b2e90e20afcd67d688c WHIRLPOOL a1f8c061cc896703c4cc64c7273242b60eba865f4125c35700b82bad2d37a3c355957363d7d27411576bc304de5bf948b3c0d47702af26072fcbaedfd91c7fb1 AUX webapp-hook 3544 SHA256 9d5858a801b13d3bb9b45a05eb2ba055e2967b03238aa8901262369de4cf8d65 WHIRLPOOL 6bfb35e7960015029f7fb9c73350aed34de483ae632fb0f6e08087cea65158c821cb3ef65bd1d367103b3939061ac39e8ad962e9d2152f0c635c14cb60560383 -EBUILD phabricator-20160709.ebuild 4832 SHA256 f210b8e6fa5bfa6f428763f8efe698096185579c7c3ccc1158e3497842752342 WHIRLPOOL a315dca883f3e7a0a8458889c9554dcaeb3d5e5dfa07ca05d24f815512649b27b04fbe5ea39e1ba886eab095dc1b5e49d7f1ad1d80c9112709860d0e4b39d041 -EBUILD phabricator-9999.ebuild 4748 SHA256 c0c133baffb64ce3ea9ed568ec55d3dfe8e69319d428b8233fabc6d35c0b5cf0 WHIRLPOOL e73e5adc31811e0843ac1087020bb6d070d4839665bd02ea1bd7e394706841b80650b27be8945fb6fc5d05d5d29fc64f44da39099c9524b28487eeb6ab06ff6f +EBUILD phabricator-20160709.ebuild 4818 SHA256 8a0420d8ace13fd8392a23bb644020b941192a5b080ee47cac1a667110df426a WHIRLPOOL 85f7e8f089ca4b583bdbca76b96a67ac793a6d16ca99b5becb1aec7f597a787b375822f2306f220e88db4c6c35e4034d285b66a3ca3d119470e64f23d3342e1c +EBUILD phabricator-20161213.ebuild 4818 SHA256 198d3113619e481702e295e14a96f6f43fa8e99a9da9cd0a54c33c49eb94c4be WHIRLPOOL ebd4401886ec1d2658409801c5eb958529c29421053d6135efc2d17978e80e27dae6fa9f1ea8e3e54b005a02102b314dd72919f3793ae5b38ebeb8021d4f9aed +EBUILD phabricator-9999.ebuild 4731 SHA256 85c9656a48d180fffd97a07f8b0ff423c34b6bdb2ea0c2b4f94d69a55b176d40 WHIRLPOOL 26ac98305e9c391f7faaf3e885571cdcb1d513d44dd8c625f2d8afd92c5343065d9dfd4120707bf11b9d34c548bc95a649bf82ef887d579ed7ea26a3a5718f3c MISC metadata.xml 814 SHA256 b60b7f5f56a5ea70c07d40b8b245b159c11977aba064002dc46787fc67b7cd8d WHIRLPOOL 939566913599e4c6f3f1ca506cd5b4dea5406a339927ee7241b0635181f39805b8f79808ebdf08f33b706235da77ae5af51d20094617b1769bc794acb10d06d7 diff --git a/www-apps/phabricator/files/20161213-MEDIUM-Get-VERSION-for-files-in-usr-share-PN-GIT_COM.patch b/www-apps/phabricator/files/20161213-MEDIUM-Get-VERSION-for-files-in-usr-share-PN-GIT_COM.patch new file mode 100644 index 00000000..75675d80 --- /dev/null +++ b/www-apps/phabricator/files/20161213-MEDIUM-Get-VERSION-for-files-in-usr-share-PN-GIT_COM.patch @@ -0,0 +1,37 @@ +From 9c9d6d9a42c8980de7631211a02b66b7d20ce831 Mon Sep 17 00:00:00 2001 +From: Bertrand Jacquin <bertrand@jacquin.bzh> +Date: Sat, 22 Feb 2014 18:31:14 +0100 +Subject: [PATCH] MEDIUM: Get VERSION for files in + /usr/share/<PN>/GIT_COMMIT_INFO rather than from git + +--- + .../controller/PhabricatorConfigVersionController.php | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +diff --git a/src/applications/config/controller/PhabricatorConfigVersionController.php b/src/applications/config/controller/PhabricatorConfigVersionController.php +index 15877ddbd7bb..cd69a8d4e309 100644 +--- a/src/applications/config/controller/PhabricatorConfigVersionController.php ++++ b/src/applications/config/controller/PhabricatorConfigVersionController.php +@@ -69,10 +69,19 @@ final class PhabricatorConfigVersionController + + $futures = array(); + foreach ($specs as $lib) { +- $root = dirname(phutil_get_library_root($lib)); ++ switch ($lib) { ++ case "phutil": ++ $_dir = "libphutil"; ++ break; ++ case "sprint": ++ $_dir = "phabricator-extensions-Sprint"; ++ break; ++ default: ++ $_dir = $lib; ++ } ++ + $futures[$lib] = +- id(new ExecFuture('git log --format=%s -n 1 --', '%H %ct')) +- ->setCWD($root); ++ id(new ExecFuture('cat -- %s', "/usr/share/" . $_dir . "/GIT_COMMIT_INFO")); + } + + $results = array(); diff --git a/www-apps/phabricator/files/9999-MEDIUM-Get-VERSION-for-files-in-usr-share-PN-GIT_COM.patch b/www-apps/phabricator/files/9999-MEDIUM-Get-VERSION-for-files-in-usr-share-PN-GIT_COM.patch index 13c4cbca..43984000 100644 --- a/www-apps/phabricator/files/9999-MEDIUM-Get-VERSION-for-files-in-usr-share-PN-GIT_COM.patch +++ b/www-apps/phabricator/files/9999-MEDIUM-Get-VERSION-for-files-in-usr-share-PN-GIT_COM.patch @@ -1,18 +1,18 @@ -From e2582e7559586c939bc0f47e22087c8c58b80163 Mon Sep 17 00:00:00 2001 +From 606e878a7f164cbde01d49a11b7e7563662ade4e Mon Sep 17 00:00:00 2001 From: Bertrand Jacquin <bertrand@jacquin.bzh> Date: Sat, 22 Feb 2014 18:31:14 +0100 Subject: [PATCH] MEDIUM: Get VERSION for files in /usr/share/<PN>/GIT_COMMIT_INFO rather than from git --- - .../config/module/PhabricatorConfigVersionsModule.php | 15 ++++++++++++--- + .../controller/PhabricatorConfigVersionController.php | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) -diff --git a/src/applications/config/module/PhabricatorConfigVersionsModule.php b/src/applications/config/module/PhabricatorConfigVersionsModule.php -index 9a6292a..8278881 100644 ---- a/src/applications/config/module/PhabricatorConfigVersionsModule.php -+++ b/src/applications/config/module/PhabricatorConfigVersionsModule.php -@@ -51,10 +51,19 @@ final class PhabricatorConfigVersionsModule +diff --git a/src/applications/config/controller/PhabricatorConfigVersionController.php b/src/applications/config/controller/PhabricatorConfigVersionController.php +index 15877ddbd7bb..cd69a8d4e309 100644 +--- a/src/applications/config/controller/PhabricatorConfigVersionController.php ++++ b/src/applications/config/controller/PhabricatorConfigVersionController.php +@@ -69,10 +69,19 @@ final class PhabricatorConfigVersionController $futures = array(); foreach ($specs as $lib) { diff --git a/www-apps/phabricator/phabricator-20160709.ebuild b/www-apps/phabricator/phabricator-20160709.ebuild index dabe20ee..f5af781d 100644 --- a/www-apps/phabricator/phabricator-20160709.ebuild +++ b/www-apps/phabricator/phabricator-20160709.ebuild @@ -15,7 +15,7 @@ EGIT_COMMIT="9da15fd7ab7071e3b7361463229abd4e918d9d94" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64 x86" IUSE="extension-sprint git highlight mail mercurial subversion ssl test" REQUIRED_USE="test? ( git mercurial subversion )" @@ -32,7 +32,6 @@ RDEPEND=">=app-admin/webapp-config-1.51-r1:0 ) app-misc/jq:0 >=dev-lang/php-5.2.3:*[cli,curl,gd,iconv,json,mysql,mysqli,pcntl,simplexml,ssl?,unicode] - <dev-lang/php-7 dev-php/pecl-apcu virtual/mysql =dev-php/libphutil-20160709:0 diff --git a/www-apps/phabricator/phabricator-20161213.ebuild b/www-apps/phabricator/phabricator-20161213.ebuild new file mode 100644 index 00000000..097a2804 --- /dev/null +++ b/www-apps/phabricator/phabricator-20161213.ebuild @@ -0,0 +1,178 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 +WEBAPP_NO_AUTO_INSTALL=yes +WEBAPP_MANUAL_SLOT=yes +inherit git-r3 webapp + +DESCRIPTION="Collection of web applications which makes it easier to scale software companies" +HOMEPAGE="https://www.phacility.com" +EGIT_REPO_URI="git://github.com/phacility/phabricator.git" +EGIT_BRANCH="stable" +EGIT_COMMIT="1cd64f9975d66a5fff516cd064cd076b0eb7b07f" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="extension-sprint git highlight mail mercurial subversion ssl test" +REQUIRED_USE="test? ( git mercurial subversion )" + +DEPEND="virtual/awk:0 + test? ( + =www-client/arcanist-20161021:0[test] + )" +RDEPEND=">=app-admin/webapp-config-1.51-r1:0 + sys-apps/gentoo-functions + || ( + >=www-servers/apache-2.2.7:2[apache2_modules_rewrite] + www-servers/nginx:0 + www-servers/lighttpd:0 + ) + app-misc/jq:0 + >=dev-lang/php-5.2.3:*[cli,curl,gd,iconv,json,mysql,mysqli,pcntl,simplexml,ssl?,unicode] + dev-php/pecl-apcu + virtual/mysql + =dev-php/libphutil-20161209:0 + net-libs/nodejs:0 + =www-client/arcanist-20161021:0[git?,mercurial?,subversion?] + git? ( dev-vcs/git:0 ) + mercurial? ( >dev-vcs/mercurial-2.2:0 ) + subversion? ( >dev-vcs/subversion-1.7.1:0 ) + highlight? ( dev-python/pygments:0 ) + mail? ( dev-php/pecl-mailparse:0 )" +PDEPEND="extension-sprint? ( www-apps/phabricator-extensions-Sprint )" + +pkg_setup() { + webapp_pkg_setup + + if use test ; then + einfo "Environnement variables you can tweak for database tests" + einfo " PHABRICATOR_MYSQL_HOST (default my.cnf[client].host || my.cnf[client].socket)" + einfo " PHABRICATOR_MYSQL_USER (default my.cnf[client].user || current user)" + einfo " PHABRICATOR_MYSQL_PASS (default my.cnf[client].password || empty)" + einfo + einfo "src_test() may fail if such variable are not defined" + fi +} + +src_prepare() { + default + + git log --format='%H %ct' -n 1 > "${S}/GIT_COMMIT_INFO" + + epatch "${FILESDIR}/${PV}-MEDIUM-Get-VERSION-for-files-in-usr-share-PN-GIT_COM.patch" + + find -type f -name .gitignore -print0 \ + | xargs -0 --no-run-if-empty -- \ + rm + + rm -r scripts/install + + # Replace 'env' shebang to files it point to + find -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 "Changing ${REPLY} shebang to #!${path} ${args}" + sed -i \ + -e "1 s:^#!.*:#!${path} ${args}:" \ + "${REPLY}" + eend $? + done +} + +src_test() { + local BASE_URI="http://localhost.localdomain" + + einfo "Setting phabricator.base-uri='${BASE_URI}'" + bin/config set phabricator.base-uri "${BASE_URI}" > /dev/null + eend $? + + if [[ -n "${PHABRICATOR_MYSQL_HOST}" ]] ; then + einfo "Setting mysql.host='${PHABRICATOR_MYSQL_HOST}'" + bin/config set mysql.host "${PHABRICATOR_MYSQL_HOST}" > /dev/null + eend $? + fi + + if [[ -n "${PHABRICATOR_MYSQL_USER}" ]] ; then + einfo "Setting mysql.user='${PHABRICATOR_MYSQL_USER}'" + bin/config set mysql.user "${PHABRICATOR_MYSQL_USER}" > /dev/null + eend $? + fi + + if [[ -n "${PHABRICATOR_MYSQL_PASS}" ]] ; then + einfo "Setting mysql.pass='${PHABRICATOR_MYSQL_PASS}'" + bin/config set mysql.pass "${PHABRICATOR_MYSQL_PASS}" > /dev/null + eend $? + fi + + arc unit --everything --no-coverage || die "arc unit failed" + + # Cleanup tests only config files + rm conf/local/local.json +} + +src_install() { + insinto "/usr/share/${PN}" + doins GIT_COMMIT_INFO + + webapp_src_preinst + + # All directories must be private (ie accessible in hostroot), + # expect webroot that will become htdocs + insinto "${MY_HOSTROOTDIR}" + doins -r bin conf externals resources scripts src support + + # All files and directories present in webroot/ will be + # installed in htdocs + insinto "${MY_HTDOCSDIR}" + doins -r webroot/* + + newins "${FILESDIR}/htaccess" .htaccess + + # 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 + + webapp_configfile "${MY_HTDOCSDIR}/.htaccess" + webapp_hook_script "${FILESDIR}/webapp-hook" + + webapp_src_install + + newinitd "${FILESDIR}/phd.initd" phd + newconfd "${FILESDIR}/phd.confd" phd + + newinitd "${FILESDIR}/aphlict.initd" aphlict + newconfd "${FILESDIR}/aphlict.confd" aphlict + + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}.logrotate" "${PN}" + + dodoc NOTICE README.md +} + +pkg_postinst() { + webapp_pkg_postinst + + elog + elog "For more info about how to configure, see" + elog " http://www.phabricator.com/docs/phabricator/article/Configuration_Guide.html" +} diff --git a/www-apps/phabricator/phabricator-9999.ebuild b/www-apps/phabricator/phabricator-9999.ebuild index 23f95741..285d4449 100644 --- a/www-apps/phabricator/phabricator-9999.ebuild +++ b/www-apps/phabricator/phabricator-9999.ebuild @@ -30,7 +30,6 @@ RDEPEND=">=app-admin/webapp-config-1.51-r1:0 ) app-misc/jq:0 >=dev-lang/php-5.2.3:*[cli,curl,gd,iconv,json,mysql,mysqli,pcntl,simplexml,ssl?,unicode] - <dev-lang/php-7 dev-php/pecl-apcu virtual/mysql =dev-php/libphutil-${PV}:0 |