mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 13:58:15 -05:00
gnu: Add gitolite.
* gnu/packages/version-control.scm (gitolite): New variable. * gnu/packages/patches/gitolite-openssh-6.8-compat.patch: New file. * gnu-system.am (dist_patch_DATA): Add it.
This commit is contained in:
parent
f93b916c3d
commit
378b01dc09
3 changed files with 86 additions and 0 deletions
|
@ -422,6 +422,7 @@ dist_patch_DATA = \
|
||||||
gnu/packages/patches/gcc-cross-environment-variables.patch \
|
gnu/packages/patches/gcc-cross-environment-variables.patch \
|
||||||
gnu/packages/patches/geoclue-config.patch \
|
gnu/packages/patches/geoclue-config.patch \
|
||||||
gnu/packages/patches/ghostscript-runpath.patch \
|
gnu/packages/patches/ghostscript-runpath.patch \
|
||||||
|
gnu/packages/patches/gitolite-openssh-6.8-compat.patch \
|
||||||
gnu/packages/patches/glib-tests-desktop.patch \
|
gnu/packages/patches/glib-tests-desktop.patch \
|
||||||
gnu/packages/patches/glib-tests-homedir.patch \
|
gnu/packages/patches/glib-tests-homedir.patch \
|
||||||
gnu/packages/patches/glib-tests-prlimit.patch \
|
gnu/packages/patches/glib-tests-prlimit.patch \
|
||||||
|
|
25
gnu/packages/patches/gitolite-openssh-6.8-compat.patch
Normal file
25
gnu/packages/patches/gitolite-openssh-6.8-compat.patch
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
From ed807a40c6683960e357bc995b3acf721ec088b4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Sitaram Chamarty <sitaram@atc.tcs.com>
|
||||||
|
Date: Thu, 19 Mar 2015 05:17:59 +0530
|
||||||
|
Subject: [PATCH] openssh 6.8 compat
|
||||||
|
|
||||||
|
---
|
||||||
|
src/triggers/post-compile/ssh-authkeys | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/triggers/post-compile/ssh-authkeys b/src/triggers/post-compile/ssh-authkeys
|
||||||
|
index 84dda73..d5f5d8b 100755
|
||||||
|
--- a/src/triggers/post-compile/ssh-authkeys
|
||||||
|
+++ b/src/triggers/post-compile/ssh-authkeys
|
||||||
|
@@ -115,7 +115,7 @@ sub fp_file {
|
||||||
|
my $f = shift;
|
||||||
|
my $fp = `ssh-keygen -l -f '$f'`;
|
||||||
|
chomp($fp);
|
||||||
|
- _die "fingerprinting failed for '$f'" unless $fp =~ /([0-9a-f][0-9a-f](:[0-9a-f][0-9a-f])+)/;
|
||||||
|
+ _die "fingerprinting failed for '$f'" unless $fp =~ /([0-9a-f][0-9a-f](:[0-9a-f][0-9a-f])+)/ or $fp =~ m(SHA256:([A-ZA-z0-9+/]+));
|
||||||
|
$fp = $1;
|
||||||
|
return $fp;
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.2.1
|
||||||
|
|
|
@ -48,6 +48,7 @@ (define-module (gnu packages version-control)
|
||||||
#:use-module (gnu packages nano)
|
#:use-module (gnu packages nano)
|
||||||
#:use-module (gnu packages ncurses)
|
#:use-module (gnu packages ncurses)
|
||||||
#:use-module (gnu packages openssl)
|
#:use-module (gnu packages openssl)
|
||||||
|
#:use-module (gnu packages ssh)
|
||||||
#:use-module (gnu packages perl)
|
#:use-module (gnu packages perl)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
|
@ -401,6 +402,65 @@ (define-public git-test-sequence
|
||||||
also walk each side of a merge and test those changes individually.")
|
also walk each side of a merge and test those changes individually.")
|
||||||
(license (x11-style "file://LICENSE")))))
|
(license (x11-style "file://LICENSE")))))
|
||||||
|
|
||||||
|
(define-public gitolite
|
||||||
|
(package
|
||||||
|
(name "gitolite")
|
||||||
|
(version "3.6.2")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"https://github.com/sitaramc/gitolite/archive/v"
|
||||||
|
version ".tar.gz"))
|
||||||
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
|
;; Commit ed807a4 upstream
|
||||||
|
(patches
|
||||||
|
(list (search-patch "gitolite-openssh-6.8-compat.patch")))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1gsgzi9ayb4rablki3mqr11b0h8db4xg43df660marfpacmkfb01"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
'(#:tests? #f ; no tests
|
||||||
|
#:phases (modify-phases %standard-phases
|
||||||
|
(delete 'configure)
|
||||||
|
(delete 'build)
|
||||||
|
(add-before 'install 'patch-scripts
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(let ((perl (string-append (assoc-ref inputs "perl")
|
||||||
|
"/bin/perl")))
|
||||||
|
;; This seems to take care of every shell script that
|
||||||
|
;; invokes Perl.
|
||||||
|
(substitute* (find-files "." ".*")
|
||||||
|
((" perl -")
|
||||||
|
(string-append " " perl " -"))))))
|
||||||
|
(replace 'install
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(let* ((output (assoc-ref outputs "out"))
|
||||||
|
(sharedir (string-append output "/share/gitolite"))
|
||||||
|
(bindir (string-append output "/bin")))
|
||||||
|
(mkdir-p sharedir)
|
||||||
|
(mkdir-p bindir)
|
||||||
|
(system* "./install" "-to" sharedir)
|
||||||
|
;; Create symlinks for executable scripts in /bin.
|
||||||
|
(for-each (lambda (script)
|
||||||
|
(symlink (string-append sharedir "/" script)
|
||||||
|
(string-append bindir "/" script)))
|
||||||
|
'("gitolite" "gitolite-shell"))
|
||||||
|
#t))))))
|
||||||
|
(inputs
|
||||||
|
`(("perl" ,perl)))
|
||||||
|
;; git and openssh are propagated because trying to patch the source via
|
||||||
|
;; regexp matching is too brittle and prone to false positives.
|
||||||
|
(propagated-inputs
|
||||||
|
`(("git" ,git)
|
||||||
|
("openssh" ,openssh)))
|
||||||
|
(home-page "http://gitolite.com")
|
||||||
|
(synopsis "Git access control layer")
|
||||||
|
(description
|
||||||
|
"Gitolite is an access control layer on top of Git, providing fine access
|
||||||
|
control to Git repositories.")
|
||||||
|
(license gpl2)))
|
||||||
|
|
||||||
(define-public mercurial
|
(define-public mercurial
|
||||||
(package
|
(package
|
||||||
(name "mercurial")
|
(name "mercurial")
|
||||||
|
|
Loading…
Reference in a new issue