summaryrefslogtreecommitdiff
path: root/guix/build-system/asdf.scm
Commit message (Collapse)AuthorAge
* build-system: asdf: Work around package-name->name+version bug.Guillaume Le Vaillant2021-05-08
| | | | | | | | | | | This patch modifies how the name of the main Common Lisp system is extracted from the full Guix package name to work around bug#48225 concerning the 'package-name->name+version' function. Fixes <https://issues.guix.gnu.org/41437>. * guix/build-system/asdf.scm (asdf-build): Fix 'systems' function. * guix/build/asdf-build-system.scm (main-system-name): Fix it.
* build-system: asdf: Read all .asd files if no #:asd-files specified.Guillaume Le Vaillant2020-09-15
| | | | | | * guix/build-system/asdf.scm (asdf-build): Remove the 'files' variable. * guix/build/asd-build-system.scm (find-asd-files): New variable. (build, check): Use it.
* build-system: asdf: Switch from bundles to regular compilation.Guillaume Le Vaillant2020-09-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/packages/lisp.scm (sbcl, ecl)[native-search-paths]: Add 'XDG_CONFIG_DIRS'. * guix/build-system/asdf.scm (asdf-build): Replace 'asd-file' and 'asd-system-name' keywords by 'asd-files' and 'asd-systems'. * guix/build/asdf-build-system.scm (%object-prefix, %lisp-source-install-prefix): Update variables. (install): Update variable. (main-system-name): New variable. (copy-source): Replace 'asd-file' and 'asd-system-name' keywords by 'asd-files' and 'asd-systems'. (configure): New variable. (build, check): Replace 'asd-file' and 'asd-system-name' keywords by 'asd-files' and 'asd-systems'. (create-asd-file, symlink-asd-files): Remove variables. (create-asdf-configuration): New variable. (cleanup-files): Update variable. (%standard-phases): Remove 'create-asd-file' and 'symlink-asd-files' phases. Add 'configure' and 'create-asdf-configuration' phases. * guix/build/lisp-utils.scm (%bundle-install-prefix, normalize-dependency, inputs->asd-file-map, asdf-load-all, compile-system): Remove variables. (compile-systems): New variable. (system-dependencies, compiled-system, generate-system-definition): Remove variable. (test-system): Replace 'asd-file' parameter by 'asd-files'. (generate-executable-for-system): Update variable. (generate-dependency-links, make-asd-file, bundle-asd-file): Remove variables. (make-asdf-configuration): New variable. (build-program, build-image): Set 'XDG_CONFIG_DIRS'. (generate-executable): Update variable.
* build: asdf-build-system: Use SBCL source in CL packages.Pierre Neidhardt2020-05-21
| | | | | | | | | | | * guix/build/asdf-build-system.scm (copy-files-to-output): Don't attempt to reset timestamps on files without write access. (install): When parent SBCL package is in the inputs, use its source. This way we get possibly patched sources in CL packages as well (e.g. for FFI). This is also useful for sources that generate files on load-op, like cl-unicode. * guix/build-system/asdf.scm (package-with-build-system): Forward the SBCL parent as a native input so that it can be used in the above install phase.
* build-system/asdf: Fix package transform.Guillaume Le Vaillant2019-10-18
| | | | | | * guix/build-system/asdf.scm (package-with-build-system): [find-input-package]: New function. [rewrite]: Use it.
* build-system/asdf: 'package-with-build-system' accesses inputs lazily.Ludovic Courtès2019-01-09
| | | | | | | | | | | | Fixes a bug whereby we would, at the top-level (while evaluation lisp.scm package definitions), attempt to access package inputs. Because of circular dependencies, this could lead to unbound variables as reported by Arun Isaac <arunisaac@systemreboot.net> at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=33801#56>. * guix/build-system/asdf.scm (package-with-build-system)[transform] (new-propagated-inputs): Turn into a procedure. Adjust user accordingly.
* build-system/asdf: Fix typo in "dependency".Pierre Neidhardt2018-08-21
| | | | * guix/build-system/asdf.scm (default-lisp): Fix typo in "dependency".
* build-system/asdf: Use 'mlambda'.Ludovic Courtès2017-12-10
| | | | | * guix/build-system/asdf.scm (package-with-build-system): Use 'mlambda' instead of 'memoize'.
* build-system/asdf: Handle tests defined in external systems.Andy Patterson2017-05-16
| | | | | | | | | | | * guix/build-system/asdf.scm (asdf-build): Add a #:test-asd-file argument. [builder]: Pass it to the build system. (package-with-build-system)[transform]: Strip it from source systems' arguments. * guix/build/asdf-build-system.scm (check): Pass the fully qualified path to it on to the test-system procedure. * guix/build/lisp-utils.scm (test-system): Load the file, or otherwise one of the often used names for it, before running the tests. Adjust the docstring accordingly.
* build-system/asdf: Always pre-load the system's definition file.Andy Patterson2017-05-16
| | | | | | | | | * guix/build-system/asdf.scm (asdf-build)[builder]: Pass a default `#:asd-file' argument to the build procedure, using the system's name. * guix/build/asdf-build-system.scm (build, check): Adjust to assume that `asd-file' will always be a string. * guix/build/lisp-utils.scm (compile-system, system-dependencies) (test-system): Likewise.
* build-system/asdf: Pass the system name as an argument to the builder.Andy Patterson2017-05-16
| | | | | | | | | | * guix/build-system/asdf.scm (asdf-build): Use the user-defined system name, or calculate it from the package's full name. [builder]: Pass the value along to the build procedure. (package-with-build-system): Remove #:asd-system-name from source packages' arguments. * guix/build/asdf-build-system.scm: Adjust accordingly. * guix/build/lisp-utils.scm (remove-lisp-from-name): Delete variable.
* build-system/asdf: Parameterize the lisp type and implementation globally.Andy Patterson2017-05-16
| | | | | | | | | | | | * guix/build-system/asdf.scm (asdf-build)[builder]: Parameterize %lisp-type and %lisp before invoking the build procedure. Don't pass #:lisp-type as an argument to said procedure. * guix/build/asdf-build-system.scm: Adjust accordingly. (source-install-prefix): Rename to %lisp-source-install-prefix. * guix/build/lisp-utils.scm: Adjust accordingly. (%lisp-type): New parameter. (bundle-install-prefix): Rename to %bundle-install-prefix. * gnu/packages/lisp.scm: Adjust accordingly.
* build-system/asdf: Make #:lisp a package argument.Andy Patterson2017-05-16
| | | | | | | | | | | * guix/build-system/asdf.scm (lower): Change argument name to `lisp-type'. (asdf-build): Change argument name to `lisp-type'. Remove `lisp' as an argument to the returned procedure. Change the argument passed to build phases to `lisp-type'. * guix/build/asdf-build-system.scm (copy-source, build, check) (create-asd-file, symlink-asd-files, cleanup-files, strip): Respect `lisp-type` argument. * gnu/packages/lisp.scm (sbcl-stumpwm, sbcl-stumpwm+slynk): Likewise.
* build-system/asdf: Don't rename inputs.Andy Patterson2017-05-16
| | | | | | | | | | | | | * guix/build-system/asdf.scm (package-with-build-system)[transform]: Use updated `new-inputs' procedure for inputs and native-inputs. <rewrite>: Don't rename inputs. <new-propagated-inputs>: Draw from package-inputs and package-native-inputs for source packages. Use the original package's propagated-inputs otherwise. <new-inputs>: Convert into a function to be used to transform inputs and native-inputs. * gnu/packages/lisp.scm (sbcl-fiveam, sbcl-bordeaux-threads) (sbcl-flexi-streams, sbcl-cl-ppcre, sbcl-stumpwm, sbcl-slynk-arglists) (sbcl-slynk-fancy-inspector): Don't prefix input names.
* build-system/asdf: Use asdf to determine dependencies.Andy Patterson2017-05-16
| | | | | | | | | | | | This removes the need for conventions to determine which inputs are run-time dependencies, and also the need to specify "special" dependencies. * guix/build/lisp-utils.scm (patch-asd-file, lisp-dependencies) (wrap-perform-method): Remove them. (inputs->asd-file-map, system-dependencies, generate-system-definition) (generate-dependency-links, make-asd-file): New procedures. (lisp-eval-program): Add an error if no lisp matches. (compile-system): Don't use asdf's in-built asd-file generator.
* build-system: Add asdf-build-system.Andy Patterson2016-10-08
* guix/build-system/asdf.scm: New file. * guix/build/asdf-build-system.scm: New file. * guix/build/lisp-utils.scm: New file. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Document 'asdf-build-system'. Signed-off-by: 宋文武 <iyzsong@gmail.com>