all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Ricardo Wurmus <rekado@elephly.net>
To: Andy Patterson <ajpatter@uwaterloo.ca>
Cc: 26346@debbugs.gnu.org
Subject: bug#26346: [PATCH 16/17] build-system/asdf: Retain references to source files for binary outputs.
Date: Tue, 16 May 2017 09:02:24 +0200	[thread overview]
Message-ID: <87d1b95lof.fsf@elephly.net> (raw)
In-Reply-To: <20170403130134.18881-16-ajpatter@uwaterloo.ca>


Andy Patterson <ajpatter@uwaterloo.ca> writes:

> In support of long-running programs in which the users would like to be able
> to jump to the source of a definition of any of the dependencies (itself
> included) of the program.
>
> * guix/build/asdf-build-system.scm (library-outputs): Move from here ...
> * guix/build/lisp-utils.scm (library-outputs): ... to here.
> (build-program): Accept dependency-prefixes argument, to allow the caller to
> specify references which should be retained.  Default to the library's output.
> (build-image): Likewise.
> (generate-executable): Likewise.
> * gnu/packages/lisp.scm (sbcl-stumpwm+slynk, sbcl-slynk, sbcl-stumpwm): Adjust
> accordingly to the new interface.
> (sbcl-stumpwm+slynk)[native-inputs]: Move to ...
> [inputs]: ... here.
> ---
[…]
> @@ -361,5 +375,23 @@ executable."
>
>      (generate-executable-for-system type name)
>
> +    (let* ((third-slash-index
> +            (string-index out-file #\/
> +                          (1+ (string-length (%store-directory)))))
> +           (output (string-take out-file third-slash-index))
> +           (hidden-asd-links (string-append output "/.asd-files")))
> +
> +      (mkdir-p hidden-asd-links)
> +      (for-each
> +       (lambda (path)
> +         (for-each
> +          (lambda (asd-file)
> +            (symlink asd-file
> +                     (string-append hidden-asd-links
> +                                    "/" (basename asd-file))))
> +          (find-files (string-append path (%bundle-install-prefix))
> +                      "\\.asd$")))
> +       dependency-prefixes))
> +
>      (delete-file (string-append bin-directory "/" name "-exec.asd"))
>      (delete-file (string-append bin-directory "/" name "-exec.lisp"))))

The naming here implies that the package is at the third level, but
users can have a store an arbitrary number of directories deep.
“third-slash-index” is really just the position after the store prefix,
so I’m going to rename it before pushing.

I don’t really like the use of “dependency-prefixes”.  It seems
inelegant.  Can the build system not determine automatically what
references ought to be retained?

That said, I’m going to push this first, as it is an improvement.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

  reply	other threads:[~2017-05-16  7:03 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-03  4:37 bug#26346: [PATCH] asdf-build-system improvements Andy Patterson
2017-04-03 13:01 ` bug#26346: [PATCH 01/17] gnu: cl-slynk: Clarify the description Andy Patterson
2017-04-03 13:01   ` bug#26346: [PATCH 02/17] gnu: cl-slynk: Explain some naming choices Andy Patterson
2017-04-03 13:01   ` bug#26346: [PATCH 03/17] build-system/asdf: Rename %install-prefix to %source-install-prefix Andy Patterson
2017-04-03 13:01   ` bug#26346: [PATCH 04/17] build-system/asdf: Make it possible to use "lib" as the build output Andy Patterson
2017-04-03 13:01   ` bug#26346: [PATCH 05/17] gnu: cl-stumpwm: Build the library in "lib" and the program in "bin" Andy Patterson
2017-04-03 13:01   ` bug#26346: [PATCH 06/17] build-system/asdf: Use asdf to determine dependencies Andy Patterson
2017-04-03 13:01   ` bug#26346: [PATCH 07/17] build-system/asdf: Don't rename inputs Andy Patterson
2017-04-03 13:01   ` bug#26346: [PATCH 08/17] build-system/asdf: Keep ecl's generated archive files Andy Patterson
2017-04-03 13:01   ` bug#26346: [PATCH 09/17] build-system/asdf: Make #:lisp a package argument Andy Patterson
2017-04-03 13:01   ` bug#26346: [PATCH 10/17] build-system/asdf: Parameterize the lisp type and implementation globally Andy Patterson
2017-04-03 13:01   ` bug#26346: [PATCH 11/17] build-system/asdf: Pass the system name as an argument to the builder Andy Patterson
2017-04-09  3:48     ` bug#26346: [PATCH v2 11/20] " Andy Patterson
2017-04-03 13:01   ` bug#26346: [PATCH 12/17] build-system/asdf: Always pre-load the system's definition file Andy Patterson
2017-04-03 13:01   ` bug#26346: [PATCH 13/17] build-system/asdf: Handle unusually-named systems Andy Patterson
2017-04-03 13:01   ` bug#26346: [PATCH 14/17] gnu: Add cl-unicode Andy Patterson
2017-04-03 13:01   ` bug#26346: [PATCH 15/17] build-system/asdf: Simplify the use of lisp-eval-program Andy Patterson
2017-04-03 13:01   ` bug#26346: [PATCH 16/17] build-system/asdf: Retain references to source files for binary outputs Andy Patterson
2017-05-16  7:02     ` Ricardo Wurmus [this message]
2017-04-03 13:01   ` bug#26346: [PATCH 17/17] gnu: sbcl-slynk-boot0: Give the package an appropriate name Andy Patterson
2017-04-09  3:50     ` bug#26346: [PATCH v2 17/20] " Andy Patterson
2017-04-09  3:43 ` bug#26346: [PATCH 18/20] build-system/asdf: Handle tests defined in external systems Andy Patterson
2017-04-09  3:43   ` bug#26346: [PATCH 19/20] build-system/asdf: Handle versioned asdf dependencies Andy Patterson
2017-05-16  8:17     ` Ricardo Wurmus
2017-05-22  2:35       ` Andy Patterson
2017-04-09  3:43   ` bug#26346: [PATCH 20/20] doc: Update the documentation for the asdf build systems Andy Patterson
2017-04-09  3:58 ` bug#26346: [PATCH] asdf-build-system improvements Andy Patterson
2017-05-16 13:19 ` Ricardo Wurmus
2017-05-17 13:11   ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87d1b95lof.fsf@elephly.net \
    --to=rekado@elephly.net \
    --cc=26346@debbugs.gnu.org \
    --cc=ajpatter@uwaterloo.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.