From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35883) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gRojs-0007Hn-PH for guix-patches@gnu.org; Tue, 27 Nov 2018 20:34:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gRojq-0007QU-5I for guix-patches@gnu.org; Tue, 27 Nov 2018 20:34:04 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:48426) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gRojq-0007PZ-1S for guix-patches@gnu.org; Tue, 27 Nov 2018 20:34:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gRojp-0007tI-Sk for guix-patches@gnu.org; Tue, 27 Nov 2018 20:34:01 -0500 Subject: [bug#33534] [PATCH] gnu: Add arcanist. Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35566) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gRoj3-0007DC-TT for guix-patches@gnu.org; Tue, 27 Nov 2018 20:33:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gRoj1-0006SW-9y for guix-patches@gnu.org; Tue, 27 Nov 2018 20:33:13 -0500 Received: from fanzine.igalia.com ([91.117.99.155]:49768) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gRoj0-0005WJ-T6 for guix-patches@gnu.org; Tue, 27 Nov 2018 20:33:11 -0500 Received: from cpe-98-27-52-219.nc.res.rr.com ([98.27.52.219] helo=cervus) by fanzine.igalia.com with esmtpsa (Cipher TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim) id 1gRoiO-0004EU-Q8 for ; Wed, 28 Nov 2018 02:32:33 +0100 From: Robin Templeton Date: Tue, 27 Nov 2018 20:32:21 -0500 Message-ID: <87zhtuc7h6.fsf@igalia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 33534@debbugs.gnu.org * gnu/packages/phabricator.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. --- gnu/local.mk | 1 + gnu/packages/phabricator.scm | 123 +++++++++++++++++++++++++++++++++++ 2 files changed, 124 insertions(+) create mode 100644 gnu/packages/phabricator.scm diff --git a/gnu/local.mk b/gnu/local.mk index 772002c9c..23268b73b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -348,6 +348,7 @@ GNU_SYSTEM_MODULES =3D \ %D%/packages/perl-check.scm \ %D%/packages/perl-web.scm \ %D%/packages/photo.scm \ + %D%/packages/phabricator.scm \ %D%/packages/php.scm \ %D%/packages/pkg-config.scm \ %D%/packages/plotutils.scm \ diff --git a/gnu/packages/phabricator.scm b/gnu/packages/phabricator.scm new file mode 100644 index 000000000..6834373fb --- /dev/null +++ b/gnu/packages/phabricator.scm @@ -0,0 +1,123 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2018 Robin Templeton +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages phabricator) + #:use-module (gnu packages php) + #:use-module (gnu packages version-control) + #:use-module (guix build-system gnu) + #:use-module (guix git-download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages)) + +(define-public libphutil + (let ((commit "b29d76e1709ef018cc5edc7c03033fd9fdebc578") + (revision "1")) + (package + (name "libphutil") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/phacility/libphutil.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "06j84721r9r8624fmil62b5crs2qs0v6rr3cvv2zvkvwhxwrwv1l"))= )) + (build-system gnu-build-system) + ;; TODO: Unbundle jsonlint and porter-stemmer. + (arguments + '(#:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda _ + (let ((lib (string-append %output "/lib/libphutil"))) + (mkdir-p lib) + (copy-recursively "." lib)) + #t))))) + (inputs + `(("php" ,php))) + (home-page "https://github.com/phacility/libphutil") + (synopsis "PHP utility library") + (description + "@code{libphutil} is a collection of utility classes and functions = for +PHP.") + ;; Bundled libraries are expat-licensed. + (license (list license:asl2.0 license:expat))))) + +(define-public arcanist + (let ((commit "45a8d22c74a62624e69f5cd6ce901c9ab2658904") + (revision "1")) + (package + (name "arcanist") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/phacility/arcanist.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "13vswhqy9sap6841y93j4mj71dl27vhcivcn3rzyi0cchkhg2ac9"))= )) + (build-system gnu-build-system) + (arguments + '(#:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda _ + (let ((bin (string-append %output "/bin")) + (lib (string-append %output "/lib/arcanist"))) + (mkdir-p lib) + (copy-recursively "." lib) + (mkdir-p bin) + (symlink (string-append lib "/bin/arc") + (string-append bin "/arc")) + (wrap-program (string-append bin "/arc") + `("ARC_PHUTIL_PATH" =3D + (,(string-append (assoc-ref %build-inputs "libphutil") + "/lib/libphutil"))) + `("PATH" ":" prefix + (,@(map (lambda (i) + (string-append (assoc-ref %build-inputs i) = "/bin")) + '("git" "mercurial" "subversion")))))) + #t)) + (add-before 'reset-gzip-timestamps 'make-compressed-files-writa= ble + (lambda _ + (for-each make-file-writable + (find-files %output ".*\\.t?gz$")) + #t))))) + (inputs + `(("php" ,php) + ("libphutil" ,libphutil) + ("git" ,git) + ("mercurial" ,mercurial) + ("subversion" ,subversion))) + (home-page "https://github.com/phacility/arcanist") + (synopsis "Command-line interface for Phabricator") + (description + "Arcanist is the command-line tool for Phabricator. It allows you = to +interact with Phabricator installs to send code for review, download patch= es, +transfer files, view status, make API calls, and various other things.") + (license license:asl2.0)))) --=20 2.19.2