+(test-equalm "profile in profile"
+ '("foo" "0")
+
+ ;; Make sure we can build a profile that has another profile has one of its
+ ;; entries. The new profile's /manifest and /etc/profile must override the
+ ;; other's.
+ (mlet* %store-monad
+ ((prof0 (profile-derivation
+ (manifest
+ (list (package->manifest-entry %bootstrap-guile)))
+ #:hooks '()
+ #:locales? #f))
+ (prof1 (profile-derivation
+ (manifest (list (manifest-entry
+ (name "foo")
+ (version "0")
+ (item prof0))))
+ #:hooks '()
+ #:locales? #f)))
+ (mbegin %store-monad
+ (built-derivations (list prof1))
+ (let ((out (derivation->output-path prof1)))
+ (return (and (file-exists?
+ (string-append out "/bin/guile"))
+ (let ((manifest (profile-manifest out)))
+ (match (manifest-entries manifest)
+ ((entry)
+ (list (manifest-entry-name entry)
+ (manifest-entry-version entry)))))))))))
+