guix: svn: Allow dropping externals.
* guix/build/svn.scm (svn-fetch): Allow to ignore externals. * guix/svn-download.scm (svn-reference, svn-multi-reference): Add recursive? field.
This commit is contained in:
parent
934b83e45a
commit
277ba1d4f8
|
@ -31,6 +31,7 @@
|
||||||
|
|
||||||
(define* (svn-fetch url revision directory
|
(define* (svn-fetch url revision directory
|
||||||
#:key (svn-command "svn")
|
#:key (svn-command "svn")
|
||||||
|
(recursive? #t)
|
||||||
(user-name #f)
|
(user-name #f)
|
||||||
(password #f))
|
(password #f))
|
||||||
"Fetch REVISION from URL into DIRECTORY. REVISION must be an integer, and a
|
"Fetch REVISION from URL into DIRECTORY. REVISION must be an integer, and a
|
||||||
|
@ -45,6 +46,9 @@ valid Subversion revision. Return #t on success, #f otherwise."
|
||||||
(list (string-append "--username=" user-name)
|
(list (string-append "--username=" user-name)
|
||||||
(string-append "--password=" password))
|
(string-append "--password=" password))
|
||||||
'())
|
'())
|
||||||
|
,@(if recursive?
|
||||||
|
'()
|
||||||
|
(list "--ignore-externals"))
|
||||||
,url ,directory))
|
,url ,directory))
|
||||||
#t)
|
#t)
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
svn-reference?
|
svn-reference?
|
||||||
svn-reference-url
|
svn-reference-url
|
||||||
svn-reference-revision
|
svn-reference-revision
|
||||||
|
svn-reference-recursive?
|
||||||
svn-fetch
|
svn-fetch
|
||||||
download-svn-to-store
|
download-svn-to-store
|
||||||
|
|
||||||
|
@ -39,6 +40,7 @@
|
||||||
svn-multi-reference-url
|
svn-multi-reference-url
|
||||||
svn-multi-reference-revision
|
svn-multi-reference-revision
|
||||||
svn-multi-reference-locations
|
svn-multi-reference-locations
|
||||||
|
svn-multi-reference-recursive?
|
||||||
svn-multi-fetch))
|
svn-multi-fetch))
|
||||||
|
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
|
@ -52,10 +54,11 @@
|
||||||
(define-record-type* <svn-reference>
|
(define-record-type* <svn-reference>
|
||||||
svn-reference make-svn-reference
|
svn-reference make-svn-reference
|
||||||
svn-reference?
|
svn-reference?
|
||||||
(url svn-reference-url) ; string
|
(url svn-reference-url) ; string
|
||||||
(revision svn-reference-revision) ; number
|
(revision svn-reference-revision) ; number
|
||||||
(user-name svn-reference-user-name (default #f))
|
(recursive? svn-reference-recursive? (default #t))
|
||||||
(password svn-reference-password (default #f)))
|
(user-name svn-reference-user-name (default #f))
|
||||||
|
(password svn-reference-password (default #f)))
|
||||||
|
|
||||||
(define (subversion-package)
|
(define (subversion-package)
|
||||||
"Return the default Subversion package."
|
"Return the default Subversion package."
|
||||||
|
@ -78,6 +81,7 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f."
|
||||||
'#$(svn-reference-revision ref)
|
'#$(svn-reference-revision ref)
|
||||||
#$output
|
#$output
|
||||||
#:svn-command (string-append #+svn "/bin/svn")
|
#:svn-command (string-append #+svn "/bin/svn")
|
||||||
|
#:recursive? #$(svn-reference-recursive? ref)
|
||||||
#:user-name #$(svn-reference-user-name ref)
|
#:user-name #$(svn-reference-user-name ref)
|
||||||
#:password #$(svn-reference-password ref)))))
|
#:password #$(svn-reference-password ref)))))
|
||||||
|
|
||||||
|
@ -96,6 +100,7 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f."
|
||||||
(url svn-multi-reference-url) ; string
|
(url svn-multi-reference-url) ; string
|
||||||
(revision svn-multi-reference-revision) ; number
|
(revision svn-multi-reference-revision) ; number
|
||||||
(locations svn-multi-reference-locations) ; list of strings
|
(locations svn-multi-reference-locations) ; list of strings
|
||||||
|
(recursive? svn-multi-reference-recursive? (default #t))
|
||||||
(user-name svn-multi-reference-user-name (default #f))
|
(user-name svn-multi-reference-user-name (default #f))
|
||||||
(password svn-multi-reference-password (default #f)))
|
(password svn-multi-reference-password (default #f)))
|
||||||
|
|
||||||
|
@ -125,6 +130,8 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f."
|
||||||
(string-append #$output "/" location)
|
(string-append #$output "/" location)
|
||||||
(string-append #$output "/" (dirname location)))
|
(string-append #$output "/" (dirname location)))
|
||||||
#:svn-command (string-append #+svn "/bin/svn")
|
#:svn-command (string-append #+svn "/bin/svn")
|
||||||
|
#:recursive?
|
||||||
|
#$(svn-multi-reference-recursive? ref)
|
||||||
#:user-name #$(svn-multi-reference-user-name ref)
|
#:user-name #$(svn-multi-reference-user-name ref)
|
||||||
#:password #$(svn-multi-reference-password ref)))
|
#:password #$(svn-multi-reference-password ref)))
|
||||||
'#$(svn-multi-reference-locations ref)))))
|
'#$(svn-multi-reference-locations ref)))))
|
||||||
|
|
Loading…
Reference in New Issue