;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2018 Eric Bavier ;;; Copyright © 2016-2020, 2022 Efraim Flashner ;;; ;;; 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 datamash) #:use-module (guix packages) #:use-module (guix licenses) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix gexp) #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages gawk) #:use-module (gnu packages perl) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz)) (define-public datamash (package (name "datamash") (version "1.8") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/datamash/datamash-" version ".tar.gz")) (sha256 (base32 "1zgn55gvf60w2rs5f7vx7vdp50j89ki7mmjvm81xs5pngs67xnbs")))) (native-inputs (list which ;for tests perl)) ;for help2man (build-system gnu-build-system) (home-page "https://www.gnu.org/software/datamash/") (synopsis "Scriptable statistics and data calculation") (description "Perform basic ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; ;;; 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 <http://www.gnu.org/licenses/>. (define-module (gnu tests security-token) #:use-module (gnu tests) #:use-module (gnu system vm) #:use-module (gnu services) #:use-module (gnu services security-token) #:use-module (guix gexp) #:export (%test-pcscd)) (define %pcscd-os (simple-operating-system (service pcscd-service-type))) (define* (run-pcscd-test) "Run tests of 'pcscd-service-type'." (define os (marionette-operating-system %pcscd-os #:imported-modules '((gnu services herd)) #:requirements '(pcscd))) (define test (with-imported-modules '((gnu build marionette)) #~(begin (use-modules (srfi srfi-64) (gnu build marionette)) (define marionette (make-marionette (list #$(virtual-machine os)))) (test-runner-current (system-test-runner #$output)) (test-begin "pcscd") (test-assert "pcscd is alive" (marionette-eval '(begin (use-modules (gnu services herd) (srfi srfi-1)) (live-service-running (find (lambda (live) (memq 'pcscd (live-service-provision live))) (current-services)))) marionette)) (test-end)))) (gexp->derivation "pcscd" test)) (define %test-pcscd (system-test (name "pcscd") (description "Test a running pcscd daemon.") (value (run-pcscd-test)))) (delete 'configure) (add-before 'check 'disable-python2-test (lambda _ (delete-file "test/test_python2_parser.sh") (substitute* "GNUmakefile" ((".*test/test_python2_parser\\.sh\\.RUN.*") "")))) (add-after 'install 'wrap (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (PERL5LIB (string-append out "/lib/perl5/site_perl/" #$(package-version (this-package-input "perl")) ":" (getenv "PERL5LIB")))) (for-each (lambda (script) (wrap-program script `("PERL5LIB" ":" prefix (,PERL5LIB)))) (find-files (string-append out "/bin")))))) (add-after 'wrap 'check-wrapped-executables (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) ;; Assert that the installed Perl scripts can find ;; their dependencies even when PERL5LIB is unset. (unsetenv "PERL5LIB") (for-each (lambda (script) (invoke/quiet script "--help")) (find-files (string-append out "/bin") "^vnl-[[:lower:]]+$")))))))) (synopsis "Process labelled tabular ASCII data on the command line") (description "Vnlog (pronounced @dfn{vanillog}) is a toolkit for manipulating tabular ASCII data with labelled fields using regular command-line tools.") (license lgpl2.1+)))