From 8d809faf8cdd4f06ebfbce7d466d67d00ad12869 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 26 Nov 2014 13:22:00 -0600 Subject: [PATCH] gnu: Add delta. * gnu/packages/debug.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/debug.scm | 73 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 gnu/packages/debug.scm diff --git a/gnu-system.am b/gnu-system.am index ab62510159..1ff234550d 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -72,6 +72,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/databases.scm \ gnu/packages/datamash.scm \ gnu/packages/dc.scm \ + gnu/packages/debug.scm \ gnu/packages/dejagnu.scm \ gnu/packages/dictionaries.scm \ gnu/packages/disk.scm \ diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm new file mode 100644 index 0000000000..37697cc2c6 --- /dev/null +++ b/gnu/packages/debug.scm @@ -0,0 +1,73 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Eric Bavier +;;; +;;; 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 debug) + #:use-module (guix packages) + #:use-module (guix licenses) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages perl)) + +(define-public delta + (package + (name "delta") + (version "2006.08.03") + (source + (origin + (method url-fetch) + (uri (list + (string-append "http://ftp.de.debian.org/debian/pool/main/d/delta/" + "delta_" version ".orig.tar.gz") + ;; This uri seems to send guix download into an infinite loop + (string-append "http://delta.tigris.org/files/documents/3103/" + "33566/delta-" version ".tar.gz"))) + (sha256 + (base32 + "184wh35pf2ddx97319s6sgkzpz48xxkbwzcjpycv009bm53lh61q")))) + (build-system gnu-build-system) + (inputs ;Installed programs are perl scripts + `(("perl" ,perl))) + (arguments + `(#:phases + (alist-replace + 'install + (lambda* (#:key outputs #:allow-other-keys) + ;; Makefile contains no install target + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (doc (string-append out "/share/doc/delta-" ,version))) + (begin + (mkdir-p bin) + (mkdir-p doc) + (for-each (lambda (h) + (copy-file h (string-append doc "/" (basename h)))) + `("License.txt" ,@(find-files "www" ".*\\.html"))) + (for-each (lambda (b) + (copy-file b (string-append bin "/" b))) + `("delta" "multidelta" "topformflat"))))) + (alist-delete 'configure %standard-phases)))) + (home-page "http://delta.tigris.org/") + (synopsis "Heuristical file minimizer") + (description + "Delta assists you in minimizing \"interesting\" files subject to a test +of their interestingness. A common such situation is when attempting to +isolate a small failure-inducing substring of a large input that causes your +program to exhibit a bug.") + ;; See License.txt, which is a bsd-3 license, despite the project's + ;; home-page pointing to a bsd-2 license. + (license bsd-3)))