X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/c4d769d359c67680fe55c3b71e659cd31837f3ec..53ed3e4bbda8ccc7f4d8c20564c6ff3ac2e0a726:/gnu/packages/acl.scm diff --git a/gnu/packages/acl.scm b/gnu/packages/acl.scm index bcab125164..abeafeef88 100644 --- a/gnu/packages/acl.scm +++ b/gnu/packages/acl.scm @@ -5,6 +5,8 @@ ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2019 Marius Bakke +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2021 Lars-Dominik Braun ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,12 +27,15 @@ #:use-module (guix licenses) #:use-module (gnu packages attr) #:use-module (gnu packages base) + #:use-module (gnu packages check) + #: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)) + #:use-module (guix build-system gnu) + #:use-module (guix build-system python)) (define-public acl (package @@ -49,6 +54,8 @@ `(#: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 @@ -89,3 +96,41 @@ (description "Library and tools for manipulating access control lists.") (license (list gpl2+ lgpl2.1+)))) + +(define-public python-pylibacl + (package + (name "python-pylibacl") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pylibacl" version)) + (sha256 + (base32 + "1zyrk2m20p5b6bdwxhrwib273i6i71zyr5hzssbxfqis5qra9848")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-tests + (lambda* (#:key outputs inputs #:allow-other-keys) + ;; These tests operate on real files, but our tempfs does not support + ;; ACLs + (substitute* "tests/test_acls.py" + (("( *)def test_applyto(_extended(_mixed)?)?" match indent) + (string-append indent "@pytest.mark.skip(reason=\"guix\")\n" match))) + #t)) + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (invoke "pytest" "tests")) + #t))))) + (inputs `(("acl" ,acl))) + (native-inputs `(("python-pytest" ,python-pytest))) + (home-page "https://pylibacl.k1024.org/") + (synopsis "POSIX.1e ACLs for python") + (description "Python 3.4+ extension module that allows you to manipulate +the POSIX.1e Access Control Lists present in some OS/file-systems +combinations.") + (license lgpl2.1+)))