profiles: Output in 'package->manifest-entry' defaults to "out".
Fixes <http://bugs.gnu.org/24029>. Reported by Dylan Jeffers <sapientech@openmailbox.org>. * guix/profiles.scm (package->manifest-entry): Change #:output to default to "out". (packages->manifest): Add 'package?' in second 'match' clause. * tests/profiles.scm ("package->manifest-entry defaults to \"out\""): New test.
This commit is contained in:
		
							parent
							
								
									201855221f
								
							
						
					
					
						commit
						9e90fc7713
					
				
					 2 changed files with 15 additions and 6 deletions
				
			
		|  | @ -163,9 +163,8 @@ | |||
|         (call-with-input-file file read-manifest) | ||||
|         (manifest '())))) | ||||
| 
 | ||||
| (define* (package->manifest-entry package #:optional output) | ||||
|   "Return a manifest entry for the OUTPUT of package PACKAGE.  When OUTPUT is | ||||
| omitted or #f, use the first output of PACKAGE." | ||||
| (define* (package->manifest-entry package #:optional (output "out")) | ||||
|   "Return a manifest entry for the OUTPUT of package PACKAGE." | ||||
|   (let ((deps (map (match-lambda | ||||
|                     ((label package) | ||||
|                      (gexp-input package)) | ||||
|  | @ -175,7 +174,7 @@ omitted or #f, use the first output of PACKAGE." | |||
|     (manifest-entry | ||||
|      (name (package-name package)) | ||||
|      (version (package-version package)) | ||||
|      (output (or output (car (package-outputs package)))) | ||||
|      (output output) | ||||
|      (item package) | ||||
|      (dependencies (delete-duplicates deps)) | ||||
|      (search-paths (package-transitive-native-search-paths package))))) | ||||
|  | @ -188,8 +187,8 @@ denoting a specific output of a package." | |||
|    (map (match-lambda | ||||
|          ((package output) | ||||
|           (package->manifest-entry package output)) | ||||
|          (package | ||||
|            (package->manifest-entry package))) | ||||
|          ((? package? package) | ||||
|           (package->manifest-entry package))) | ||||
|         packages))) | ||||
| 
 | ||||
| (define (manifest->gexp manifest) | ||||
|  |  | |||
|  | @ -207,6 +207,16 @@ | |||
|                                        #:hooks '()))) | ||||
|     (return (derivation-inputs drv)))) | ||||
| 
 | ||||
| (test-assert "package->manifest-entry defaults to \"out\"" | ||||
|   (let ((outputs (package-outputs packages:glibc))) | ||||
|     (equal? (manifest-entry-output | ||||
|              (package->manifest-entry (package | ||||
|                                         (inherit packages:glibc) | ||||
|                                         (outputs (reverse outputs))))) | ||||
|             (manifest-entry-output | ||||
|              (package->manifest-entry packages:glibc)) | ||||
|             "out"))) | ||||
| 
 | ||||
| (test-assertm "profile-manifest, search-paths" | ||||
|   (mlet* %store-monad | ||||
|       ((guile ->   (package | ||||
|  |  | |||
		Reference in a new issue