;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (test-gremlin) #:use-module (guix elf) #:use-module ((guix utils) #:select (call-with-temporary-directory)) #:use-module (guix build utils) #:use-module (guix build gremlin) #:use-module (srfi srfi-
aboutsummaryrefslogtreecommitdiff
port))) (invoke c-compiler "t.c" "-Wl,--enable-new-dtags" "-Wl,-rpath=/foo" "-Wl,-rpath=/bar") (let* ((dyninfo (elf-dynamic-info (parse-elf (call-with-input-file "a.out" get-bytevector-all)))) (old (elf-dynamic-info-runpath dyninfo)) (new (strip-runpath "a.out")) (new* (strip-runpath "a.out"))) (validate-needed-in-runpath "a.out") (and (member "/foo" old) (member "/bar" old) (not (member "/foo" new)) (not (member "/bar" new)) (equal? new* new) (let* ((pipe (open-input-pipe "./a.out")) (str (get-string-all pipe))) (close-pipe pipe) str))))))) (test-end "gremlin")
AgeCommit message (Expand)Author