;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012 Nikita Karetnikov ;;; Copyright © 2014, 2018 Mark H Weaver ;;; Copyright © 2014 Andreas Enge ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2019 Marius Bakke ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; 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 (gnu packages acl) #:use-module (guix licenses) #:use-module (gnu packages attr) #:use-module (gnu packages base) #:use-module (gnu packages hurd) #:use-module (gnu packages gettext) #:use-module (gnu packages perl) #:use-module (guix packages) #:use-module (guix download) #:use-module (gnu packages) #:use-module (guix build-system gnu)) (define-public acl (package (name "acl") (version "2.2.53") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/acl/acl-" version ".tar.gz")) (sha256 (base32 "1ir6my3w74s6nfbgbqgzj6w570sn0qjf3524zx8xh67lqrjrigh6")))) (build-system gnu-build-system) (arguments `(#:modules ((ice-9 ftw) ,@%gnu-build-system-modules) #:configure-flags '("--disable-static") #:tests? ,(not (or (%current-target-system) (hurd-target?))) #:phases (modify-phases %standard-phases ;; XXX After repacking the sources the timestamps are reset to the ;; epoch, which leads to a failure in gzipping the CHANGES file. (add-after 'unpack 'ensure-no-mtimes-pre-1980 (lambda _ (let ((early-1980 315619200)) ; 1980-01-02 UTC (ftw "." (lambda (file stat flag) (unless (<= early-1980 (stat:mtime stat)) (utime file early-1980 early-1980)) #t)) #t))) (add-after 'build 'patch-exec-bin-sh (lambda _ (substitute* "test/run" (("/bin/sh") (which "sh"))) #t)) (add-before 'check 'patch-tests (lambda _ ;; The coreutils do not have an ACL bit to remove from their ;; output, so the sed expression that removes the bit is disabled. (substitute* "test/sbits-restore.test" (("\\| sed.*'") "")) ;; These tests require the existence of a user named "bin", but ;; this user does not exist within Guix's build environment. (substitute* "Makefile.in" ((".*test/misc\\.test.*") "") ((".*test/cp\\.test.*") "") ((".*test/setfacl-X\\.test.*") "")) #t))))) (inputs `(("attr" ,attr))) (native-inputs `(("gettext" ,gettext-minimal) ("perl" ,perl))) (home-page "https://savannah.nongnu.org/projects/acl") (synopsis "Library and tools for manipulating access control lists") (description "Library and tools for manipulating access control lists.") (license (list gpl2+ lgpl2.1+)))) td>tests: Fix file-needed/recursive on powerpc64le-linux.Chris Marusich Fixes: <https://issues.guix.gnu.org/52940>. * tests/gremlin.scm (file-needed/recursive): Consider two entries to be equivalent not when they are the same string, but rather when they refer to the same file. [ground-truth]: In addition to strings that begin with "linux-vdso.so", remove strings that begin with "linux-vdso64.so". 2021-06-23tests: gremlin: Skip file-needed/recursive if DT_NEEDED is empty.Chris Marusich * tests/gremlin.scm (file-needed/recursive): Skip the test when (file-runpath %guile-executable) evaluates to the empty list. This causes the test to be correctly skipped in the case where Guix has been built using a foreign distro's toolchain and libraries. 2021-04-22gremlin: 'elf-dynamic-info' returns a file name rathern than a dynamic entry.Dion Mendel * guix/build/gremlin.scm (elf-dynamic-info): Return the dynamic entry value, not the dynamic entry. * tests/gremlin.scm ("elf-dynamic-info-soname"): New test. Signed-off-by: Ludovic Courtès <ludo@gnu.org> 2020-12-01gremlin: Add 'file-needed/recursive'.Ludovic Courtès * guix/build/gremlin.scm (file-needed/recursive): New procedure. * tests/gremlin.scm ("file-needed/recursive"): New test. 2020-09-19gremlin: Add 'set-file-runpath', 'file-runpath', and 'file-needed'.Ludovic Courtès * guix/build/gremlin.scm (file-dynamic-info, file-runpath, file-needed): New procedures. (&missing-runpath-error, &runpath-too-long-error): New condition types. (set-file-runpath): New procedure. * tests/gremlin.scm ("set-file-runpath + file-runpath"): New test.