mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 05:18:07 -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/geoclue-config.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-homedir.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 ncurses)
|
||||
#:use-module (gnu packages openssl)
|
||||
#:use-module (gnu packages ssh)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#: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.")
|
||||
(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
|
||||
(package
|
||||
(name "mercurial")
|
||||
|
|
Loading…
Reference in a new issue