;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Josh Holland ;;; ;;; 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 rcm) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (guix licenses) #:use-module (gnu packages python-xyz) #:use-module (gnu packages perl)) (define-public rcm (package (name "rcm") (version "1.3.3") (source (origin (method url-fetch) (uri (string-append "https://thoughtbot.github.io/rcm/dist/rcm-" version ".tar.gz")) (sha256 (base32 "1bqk7rrp1ckzvsvl9wghsr77m8xl3a7yc5gqdsisz492dx2j8mck")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases (add-after 'patch-source-shebangs 'patch-tests (lambda _ (substitute* '("test/rcrc-tilde.t" "test/rcdn-hooks-run-in-order.t" "test/rcup-hooks-run-in-order.t") (("/bin/sh") (which "sh"))) (substitute* "test/rcup-hooks.t" (("/usr/bin/env") (which "env"))) #t))) #:parallel-tests? #f)) (native-inputs `(("perl" ,perl) ("python-cram" ,python-cram))) (synopsis "Management suite for dotfiles") (description "The rcm suite of tools is for managing dotfiles directories. This is a directory containing all the @code{.*rc} files in your home directory (@code{.zshrc}, @code{.vimrc}, and so on). These files have gone by many names in history, such as “rc files” because they typically end in rc or “dotfiles” because they begin with a period. This suite is useful for committing your rc files to a central repository to share, but it also scales to a more complex situation such as multiple source directories shared between computers with some host-specific or task-specific files.") (license bsd-3) (home-page "https://github.com/thoughtbot/rcm"))) f0034427f50be1bcab137d9877c3586e4be4d83e'>tests: Update references to the now-deprecated 'guile-json' variable....* gnu/tests/docker.scm (build-tarball&run-docker-test): Refer to 'guile-json-3' instead of 'guile-json'. * gnu/tests/singularity.scm (build-tarball&run-singularity-test): Likewise. Ludovic Courtès 2019-07-04pack: 'squashfs' backend records the profile's search paths....* guix/scripts/pack.scm (singularity-environment-file): New procedure. (squashfs-image): Use it, and create /.singularity/env/90-environment.sh. * gnu/tests/singularity.scm (run-singularity-test)["singularity run, with environment"]: New test, currently skipped. * gnu/tests/singularity.scm (build-tarball&run-singularity-test): Add GUILE-JSON to the profile. Ludovic Courtès 2019-06-07pack: Add '--entry-point'....* guix/scripts/pack.scm (self-contained-tarball): Add #:entry-point and warn when it's true. (squashfs-image): Add #:entry-point and honor it. (docker-image): Add #:entry-point and honor it. (%options, show-help): Add '--entry-point'. (guix-pack): Honor '--entry-point' and pass #:entry-point to BUILD-IMAGE. * gnu/tests/docker.scm (run-docker-test): Test 'docker run' with the default entry point. (build-tarball&run-docker-test): Pass #:entry-point to 'docker-image'. * doc/guix.texi (Invoking guix pack): Document it. * gnu/tests/singularity.scm (run-singularity-test)["singularity run"]: New test. (build-tarball&run-singularity-test): Pass #:entry-point to 'squashfs-image'. Ludovic Courtès 2019-06-07services: Add Singularity....* gnu/packages/linux.scm (singularity)[source](snippet): Change file name of setuid helpers in libexec/cli/*.exec. [arguments]: Remove "--disable-suid". * gnu/services/docker.scm (%singularity-activation): New variable. (singularity-setuid-programs): New procedure. (singularity-service-type): New variable. * gnu/tests/singularity.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Miscellaneous Services): Document it. Ludovic Courtès