Compare commits

...

2 Commits

Author SHA1 Message Date
Pierre Neidhardt
a6830d4e91 gnu: nvidia-cg-toolkit: Use new install-plan format.
* nongnu/packages/game-development.scm (nvidia-cg-toolkit)[arguments]: Do it.
2020-02-24 13:52:35 +01:00
Pierre Neidhardt
453ec521da nonguix: Use the install-plan of the copy-build-system in the binary-build-system.
* nonguix/build-system/binary.scm (lower): Adapt the default value of the
  install plan.
* nonguix/build/binary-build-system.scm (new-install): New procedure.
(old-install): Rename former `install' procedure to this.
(install): New procedure that dispatches over old-install and new-install.
2020-02-24 13:50:43 +01:00
3 changed files with 32 additions and 9 deletions

View File

@ -77,10 +77,10 @@
(,,(string-append (lib) "/libCgGL.so")
("out" "glibc")))
#:install-plan
`(("bin" (".") "bin/")
(,,(lib) (".") "lib/")
("include" (".") "include/")
("local" (".") "share/"))
`(("bin" "./")
(,,(lib) "lib")
("include" "./")
("local/" "share/"))
#:phases
(modify-phases %standard-phases
(replace 'unpack

View File

@ -23,6 +23,7 @@
#:use-module (guix search-paths)
#:use-module (guix build-system)
#:use-module (guix build-system gnu)
;; #:use-module (guix build-system copy)
#:use-module (guix packages)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
@ -37,7 +38,7 @@
;; Commentary:
;;
;; Standard build procedure for binary packages. This is implemented as an
;; extension of `gnu-build-system'.
;; extension of `copy-build-system'.
;;
;; Code:
@ -78,7 +79,6 @@
`(("source" ,source))
'())
,@inputs
;; Keep the standard inputs of 'gnu-build-system'.
,@(standard-packages)))
(build-inputs `(("patchelf" ,patchelf)
@ -94,7 +94,7 @@
#:key (guile #f)
(outputs '("out"))
(patchelf-plan ''())
(install-plan ''(("." (".") "./")))
(install-plan ''(("." "./")))
(search-paths '())
(out-of-source? #t)
(validate-runpath? #t)

View File

@ -18,6 +18,8 @@
(define-module (nonguix build binary-build-system)
#:use-module ((guix build gnu-build-system) #:prefix gnu:)
#:use-module ((guix build-system copy)) ; TODO: Do we need it?
#:use-module ((guix build copy-build-system))
#:use-module (nonguix build utils)
#:use-module (guix build utils)
#:use-module (ice-9 match)
@ -30,7 +32,16 @@
;;
;; Code:
(define* (install #:key install-plan outputs #:allow-other-keys)
(define (new-install)
"Return the copy-build-system `install' procedure."
;; Do not use `@' to avoid introducing circular dependencies.
;; TODO: Does not work?!?
;; (let ((module (resolve-interface '(guix build copy-build-system))))
;; (module-ref module 'install))
(@@ (guix build copy-build-system) install))
(define* (old-install #:key install-plan outputs #:allow-other-keys)
"Copy files from the \"source\" build input to the \"out\" output according to INSTALL-PLAN.
An INSTALL-PLAN is made of three elements:
@ -70,6 +81,18 @@ represent the target full path, which only makes sense for single files."
(for-each install install-plan)
#t)
(define* (install #:key install-plan outputs #:allow-other-keys)
(define (install-old-format)
(warn "Install-plan format deprecated.
Please update to the format of the copy-build-system.")
(old-install #:install-plan install-plan #:outputs outputs))
(match (car install-plan)
((source (. matches) target)
(install-old-format))
((source #f target)
(install-old-format))
(_ ((new-install) #:install-plan install-plan #:outputs outputs))))
(define* (patchelf #:key inputs outputs patchelf-plan #:allow-other-keys)
"Set the interpreter and the RPATH of files as per the PATCHELF-PLAN.
@ -132,7 +155,7 @@ The inputs are optional when the file is an executable."
(replace 'install install)))
(define* (binary-build #:key inputs (phases %standard-phases)
#:allow-other-keys #:rest args)
#:allow-other-keys #:rest args)
"Build the given package, applying all of PHASES in order."
(apply gnu:gnu-build #:inputs inputs #:phases phases args))