diff options
Diffstat (limited to 'gnu/packages/version-control.scm')
-rw-r--r-- | gnu/packages/version-control.scm | 63 |
1 files changed, 62 insertions, 1 deletions
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index a41ddf8da3..cbf5ce7d87 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2017 André <eu@euandre.org> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at> +;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -50,6 +51,7 @@ #:use-module (gnu packages documentation) #:use-module (gnu packages base) #:use-module (gnu packages bison) + #:use-module (gnu packages boost) #:use-module (gnu packages cook) #:use-module (gnu packages curl) #:use-module (gnu packages docbook) @@ -57,18 +59,22 @@ #:use-module (gnu packages file) #:use-module (gnu packages flex) #:use-module (gnu packages gettext) + #:use-module (gnu packages gl) #:use-module (gnu packages groff) #:use-module (gnu packages haskell) #:use-module (gnu packages haskell-check) #:use-module (gnu packages haskell-crypto) #:use-module (gnu packages haskell-web) + #:use-module (gnu packages image) #:use-module (gnu packages java) #:use-module (gnu packages linux) + #:use-module (gnu packages maths) #:use-module (gnu packages nano) #:use-module (gnu packages ncurses) #:use-module (gnu packages ssh) #:use-module (gnu packages web) #:use-module (gnu packages openstack) + #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (gnu packages pkg-config) @@ -80,6 +86,7 @@ #:use-module (gnu packages xml) #:use-module (gnu packages emacs) #:use-module (gnu packages compression) + #:use-module (gnu packages sdl) #:use-module (gnu packages swig) #:use-module (gnu packages tcl) #:use-module (gnu packages time) @@ -532,6 +539,18 @@ collaboration using typical untrusted file hosts or services.") (zero? (system* "tar" "--strip-components=1" "-C" "git" "-xf" (assoc-ref inputs "git:src"))))) + (add-after 'unpack 'patch-absolute-file-names + (lambda* (#:key inputs #:allow-other-keys) + (define (quoted-file-name input path) + (string-append "\"" input path "\"")) + (substitute* "ui-snapshot.c" + (("\"gzip\"") + (quoted-file-name (assoc-ref inputs "gzip") "/bin/gzip")) + (("\"bzip2\"") + (quoted-file-name (assoc-ref inputs "bzip2") "/bin/bzip2")) + (("\"xz\"") + (quoted-file-name (assoc-ref inputs "xz") "/bin/xz"))) + #t)) (delete 'configure) ; no configure script (add-after 'build 'build-man (lambda* (#:key make-flags #:allow-other-keys) @@ -552,7 +571,10 @@ collaboration using typical untrusted file hosts or services.") #t))))))) (native-inputs ;; For building manpage. - `(("asciidoc" ,asciidoc))) + `(("asciidoc" ,asciidoc) + ("gzip" ,gzip) + ("bzip2" ,bzip2) + ("xz" ,xz))) (inputs `(;; Cgit directly accesses some internal Git interfaces that changed in ;; Git 2.12. Try removing this special input and using the source of the @@ -1723,3 +1745,42 @@ network protocols, and core version control algorithms.") `(("java-javaewah" ,java-javaewah) ("java-jsch" ,java-jsch) ("java-slf4j-api" ,java-slf4j-api))))) + +(define-public gource + (package + (name "gource") + (version "0.47") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/acaudwell/Gource/archive/" + "gource-" version ".tar.gz")) + (sha256 + (base32 + "1llqwdnfa1pff8bxk27qsqff1fcg0a9kfdib0rn7p28vl21n1cgj")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list (string-append "--with-boost-libdir=" + (assoc-ref %build-inputs "boost") + "/lib")))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("boost" ,boost) + ("ftgl" ,ftgl) + ("glew" ,glew) + ("glm" ,glm) + ("glu" ,glu) + ("libpng" ,libpng) + ("mesa" ,mesa) + ("pcre" ,pcre) + ("sdl-union" ,(sdl-union (list sdl2 sdl2-image))))) + (home-page "http://gource.io/") + (synopsis "3D visualisation tool for source control repositories") + (description "@code{gource} provides a software version control +visualization. The repository is displayed as a tree where the root of the +repository is the centre, directories are branches and files are leaves. +Contributors to the source code appear and disappear as they contribute to +specific files and directories.") + (license license:gpl3+))) |