;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2017, 2020 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix packages)
- #:use-module (guix licenses)
+ #:use-module ((guix licenses) #:prefix license:)
#:use-module (srfi srfi-64))
+(define-syntax-rule (define-with-source object source expr)
+ (begin
+ (define object expr)
+ (define source 'expr)))
+
(test-begin "print")
-(define pkg
+(define-with-source pkg pkg-source
+ (package
+ (name "test")
+ (version "1.2.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "file:///tmp/test-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "070pwb7brdcn1mfvplkd56vjc7lbz4iznzkqvfsakvgbv68k71ah"))))
+ (build-system (@ (guix build-system gnu) gnu-build-system))
+ (home-page "http://gnu.org")
+ (synopsis "Dummy")
+ (description "This is a dummy package.")
+ (license license:gpl3+)))
+
+(define-with-source pkg-with-inputs pkg-with-inputs-source
(package
(name "test")
(version "1.2.3")
(sha256
(base32
"070pwb7brdcn1mfvplkd56vjc7lbz4iznzkqvfsakvgbv68k71ah"))))
- (build-system gnu-build-system)
+ (build-system (@ (guix build-system gnu) gnu-build-system))
+ (inputs `(("coreutils" ,(@ (gnu packages base) coreutils))
+ ("glibc" ,(@ (gnu packages base) glibc) "debug")))
(home-page "http://gnu.org")
(synopsis "Dummy")
(description "This is a dummy package.")
- (license gpl3+)))
+ (license license:gpl3+)))
(test-equal "simple package"
- (package->code pkg)
- '(package
- (name "test")
- (version "1.2.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "file:///tmp/test-"
- version ".tar.gz"))
- (sha256
- (base32
- "070pwb7brdcn1mfvplkd56vjc7lbz4iznzkqvfsakvgbv68k71ah"))))
- (build-system gnu-build-system)
- (home-page "http://gnu.org")
- (synopsis "Dummy")
- (description "This is a dummy package.")
- (license gpl3+)))
+ `(define-public test ,pkg-source)
+ (package->code pkg))
+
+(test-equal "package with inputs"
+ `(define-public test ,pkg-with-inputs-source)
+ (package->code pkg-with-inputs))
(test-end "print")