Commit Graph

8 Commits

Author SHA1 Message Date
Ludovic Courtès
b178fc2369
gremlin: Add 'strip-runpath'.
* guix/build/gremlin.scm (strip-runpath): New procedure.
* tests/gremlin.scm (c-compiler): New variable.
("strip-runpath"): New test.
2018-05-07 11:21:36 +02:00
Ludovic Courtès
ad4835fe01
gremlin: Preserve offset info for dynamic entries.
* guix/build/gremlin.scm (<dynamic-entry>): New record type.
(raw-dynamic-entries): Return a list of <dynamic-entry>.
(dynamic-entries): Adjust accordingly and return a list of <dynamic-entry>.
(elf-dynamic-info)[matching-entry]: New procedure.
Use it.
2018-05-07 11:21:34 +02:00
Ludovic Courtès
c90fd42020
gremlin: Fix typo in export list.
* guix/build/gremlin.scm: Really export 'elf-dynamic-info-soname'.
2018-03-29 17:58:15 +02:00
Ludovic Courtès
cd91504df2 gremlin: Add support for the expansion of $ORIGIN in RUNPATH.
* guix/build/gremlin.scm (expand-variable, expand-origin): New
  procedures.
  (validate-needed-in-runpath): Map 'expand-origin' to the RUNPATH field
  of DYNINFO.
* tests/gremlin.scm ("expand-origin"): New test.
2015-04-23 18:52:40 +02:00
Ludovic Courtès
dacd5d2ca7 gremlin: Ignore non-store file names in RUNPATH and warn about them.
* guix/build/gremlin.scm (validate-needed-in-runpath)[runpath]:
  Add (filter absolute-file-name? ...).
  Emit a warning when RUNPATH file names that do not match
  'store-file-name?'.  Change format of error message to begin with file
  name.
* guix/build/utils.scm (store-file-name?): New procedure.
2015-04-05 15:40:48 +02:00
Ludovic Courtès
7be8c63e0d gremlin: Guard against invalid ELF segments.
* guix/build/gremlin.scm (&elf-error, &invalid-segment-size): New error
  condition types.
  (dynamic-link-segment): Compare SEGMENT's offset + size to ELF's total
  size.
  (validate-needed-in-runpath): Wrap body in 'guard' form.
2015-04-01 14:17:39 +02:00
Ludovic Courtès
d83ccc9b42 gremlin: Add libnsl to libc's library list.
* guix/build/gremlin.scm (%libc-libraries): Add "libnsl.so".
2015-04-01 13:46:01 +02:00
Ludovic Courtès
15aa2c3842 Add (guix build gremlin).
* guix/build/gremlin.scm, tests/gremlin.scm: New files.
* Makefile.am (MODULES): Add guix/build/gremlin.scm.
  (SCM_TESTS): Add tests/gremlin.scm.
2015-03-31 22:23:57 +02:00