gnu: Add reposurgeon.

* gnu/packages/version-control.scm (reposurgeon): New variable.
This commit is contained in:
Mathieu Lirzin 2016-04-08 00:16:37 +02:00
parent 4c48bf5502
commit 62063d8546

View file

@ -3,7 +3,7 @@
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org> ;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
@ -27,7 +27,7 @@
(define-module (gnu packages version-control) (define-module (gnu packages version-control)
#:use-module ((guix licenses) #:use-module ((guix licenses)
#:select (asl2.0 bsd-2 #:select (asl2.0 bsd-2 bsd-3
gpl1+ gpl2 gpl2+ gpl3+ lgpl2.1 gpl1+ gpl2 gpl2+ gpl3+ lgpl2.1
public-domain x11-style)) public-domain x11-style))
#:use-module (guix utils) #:use-module (guix utils)
@ -1012,6 +1012,58 @@ (define-public aegis
any project with more than one developer, is one of Aegis's major functions.") any project with more than one developer, is one of Aegis's major functions.")
(license gpl3+))) (license gpl3+)))
(define-public reposurgeon
(package
(name "reposurgeon")
(version "3.37")
(source (origin
(method url-fetch)
(uri (string-append "http://www.catb.org/~esr/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32
"14asjg4xy3mhh5z0r3k7c1wv9y803j2zfq32g5q5m95sf7yzygan"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no test suite distributed
#:make-flags
(list (string-append "target=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'fix-docbook
(lambda* (#:key inputs #:allow-other-keys)
(substitute* (find-files "." "\\.xml$")
(("docbook/docbookx.dtd")
(string-append (assoc-ref inputs "docbook-xml")
"/xml/dtd/docbook/docbookx.dtd")))
#t))
(add-after 'install 'install-emacs-data
(lambda* (#:key outputs #:allow-other-keys)
(install-file "reposurgeon-mode.el"
(string-append (assoc-ref outputs "out")
"/share/emacs/site-lisp")))))))
(inputs
`(("python" ,python-wrapper)))
(native-inputs
`(("asciidoc" ,asciidoc)
("docbook-xml" ,docbook-xml-4.1.2)
("docbook-xsl" ,docbook-xsl)
("libxml2" ,libxml2)
("xmlto" ,xmlto)))
(home-page "http://www.catb.org/~esr/reposurgeon/")
(synopsis "Edit version-control repository history")
(description "Reposurgeon enables risky operations that version-control
systems don't want to let you do, such as editing past comments and metadata
and removing commits. It works with any version control system that can
export and import Git fast-import streams, including Git, Mercurial, Fossil,
Bazaar, CVS, RCS, and Src. It can also read Subversion dump files directly
and can thus be used to script production of very high-quality conversions
from Subversion to any supported Distributed Version Control System (DVCS).")
;; Most files are distributed under bsd-2, except 'repocutter' which is
;; under bsd-3.
(license (list bsd-2 bsd-3))))
(define-public tig (define-public tig
(package (package
(name "tig") (name "tig")