aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Robin Templeton <robin@igalia.com>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; 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 <http://www.gnu.org/licenses/>.

(define-module (gnu packages phabricator)
  #:use-module (gnu packages bash)
  #: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 arcanist
  (let ((commit "ceb082ef6b2919d76a90d4a53ca84f5b1e0c2c06")
        (revision "2"))
    (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")
                      (commit commit)))
                (file-name (git-file-name name version))
                (sha256
                 (base32
                  "16590nywh3cpm2yq4igw3nfa8g84kwza215mrnqr2k6b2cqzjak3"))))
      (build-system gnu-build-system)
      ;; TODO: Unbundle jsonlint
      (arguments
       '(#:tests? #f
         #:phases
         (modify-phases %standard-phases
           (delete 'configure)
           (delete 'build)
           (replace 'install
             (lambda* (#:key outputs #:allow-other-keys)
               (let* ((out (assoc-ref outputs "out"))
                      (bin (string-append out "/bin"))
                      (lib (string-append out "/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")
                   `("PATH" ":" prefix
                     (,@(map (lambda (i)
                               (string-append (assoc-ref %build-inputs i) "/bin"))
                             '("php" "git" "mercurial" "subversion")))))))))))
      (inputs
       (list bash-minimal php git mercurial subversion))
      (home-page "https://github.com/phacility/arcanist")
      (synopsis "Command-line interface for Phabricator")
      (description
       "Arcanist is the command-line tool for the Phabricator software
development service.  It allows you to interact with Phabricator installs to
send code for review, download patches, transfer files, view status, make API
calls, and various other things.")
      ;; Bundled libraries are expat-licensed.
      (license (list license:asl2.0 license:expat)))))
88 due to inactivity....* .guix-authorizations: Remove lsl88. Leo Famulari 2021-04-07.guix-authorizations: Remove benwoodcroft due to inactivity....* .guix-authorizations: Remove benwoodcroft. Leo Famulari 2021-04-07.guix-authorizations: Remove alexvong1995 due to inactivity....* .guix-authorizations: Remove alexvong1995. Leo Famulari 2021-04-06.guix-authorizations: Remove taylanub....This is a followup to the events discussed here: https://lists.gnu.org/archive/html/guix-devel/2021-03/msg00195.html Taylan was already removed from the Guix project on Savannah on March 10, 2021. * .guix-authorizations: Remove taylanub from the committers. Leo Famulari 2021-04-06.guix-authorizations: Remove thomasd....* .guix-authorizations: Remove thomasd from the committers. Leo Famulari 2021-03-08.guix-authorizations: Add lbraun....* .guix-authorizations: Add lbraun and "lbraun (professional)" to the committers. Leo Famulari 2021-02-18.guix-authorizations: Add lle_bout....* .guix-authorizations: Add lle_bout to the committers. Tobias Geerinckx-Rice 2020-12-28.guix-authorizations: Add leoprikler....* .guix-authorizations: Add leoprikler to the committers. Ludovic Courtès 2020-11-15.guix-authorizations: Add jonsger....* .guix-authorizations: Add jonsger to the committers. Marius Bakke 2020-10-16.guix-authorizations: Add m1gu3l....* .guix-authorizations: Add m1gu3l to the committers. Ludovic Courtès 2020-09-04.guix-authorizations: Add planglois to the committers....* .guix-authorizations: Add planglois. Ludovic Courtès 2020-07-18.guix-authorizations: Add brettgilio (back) to the committers....* .guix-authorizations: Add fingerprint for brettgilio. Tobias Geerinckx-Rice 2020-07-01.guix-authorizations: Remove keys of two former contributors....* .guix-authorizations: Remove key of David Craven, who left the project in 2017, and Federico Beffa, whose last commit was in Feb. 2017. Ludovic Courtès 2020-07-01.guix-authorizations: Remove former keys that are no longer used....* .guix-authorizations: Remove old keys of dvc, efraim, and janneke. Ludovic Courtès 2020-07-01.guix-authorizations: Remove brettgilio's old key....* .guix-authorizations: Remove key "DFC0 C7F7 9EE6 0CA7 AE55 5E19 6722 43C4 A03F 0EEE" (Brett Gilio). See <https://lists.gnu.org/archive/html/guix-devel/2020-06/msg00323.html>. Ludovic Courtès 2020-05-04.guix-authorizations: Add bricewge to the committers....* .guix-authorizations: Add fingerprint for bricewge. Ludovic Courtès 2020-05-04.guix-authorizations: Augment....* .guix-authorizations: Add all the currently authorized committers. Ludovic Courtès 2020-05-04Add '.guix-authorizations'....* .guix-authorizations: New file. Ludovic Courtès