;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2015 Ludovic Courtès ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2021 Thiago Jung Bauermann ;;; ;;; 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 pth) #:use-module (gnu packages autotools) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu)) (define-public pth (package (name "pth") (version "2.0.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/pth/pth-" version ".tar.gz")) (sha256 (base32 "0ckjqw5kz5m30srqi87idj7xhpw6bpki43mj07bazjm2qmh3cdbj")))) (build-system gnu-build-system) (arguments '(#:parallel-build? #f #:phases (modify-phases %standard-phases (add-after 'unpack 'update-config-scripts (lambda* (#:key inputs native-inputs #:allow-other-keys) ;; Replace outdated config.guess and config.sub. (for-each (lambda (file) (install-file (search-input-file (or native-inputs inputs) (string-append "/bin/" file)) ".")) '("config.guess" "config.sub"))))))) (native-inputs (list config)) (home-page "https://www.gnu.org/software/pth/") (synopsis "Portable thread library") (description "GNU Pth is a portable library providing non-preemptive, priority-based scheduling for multiple execution threads. Each thread has its own program-counter, run-time stack, signal mask and errno variable. Threads are scheduled in a cooperative way, rather than in the standard preemptive way, such that they are managed according to priority and events. However, Pth also features emulation of POSIX.1c threads (\"pthreads\") for backwards compatibility.") (license lgpl2.1+))) Delete duplicate entries....When adding multiple instances of a service requiring some user account/group, we could end up with multiple entries for that account or group in /etc/passwd or /etc/group. * gnu/build/accounts.scm (database-writer)[write-entries]: Add call to 'delete-duplicates'. * tests/accounts.scm ("write-passwd with duplicate entry"): New test. Ludovic Courtès 2019-04-27tests: Adjust accounts test to shell-as-config change....This is a followup to 504a0fc636ec591e65b4a229a37e522e425d8a0c. * tests/accounts.scm ("allocate-passwd with previous state"): Change expected 'shell' for "alice" to "/bin/sh". Ludovic Courtès 2019-03-25accounts: Add default value for the 'home-directory' field of <user-account>....* gnu/system/accounts.scm (<user-account>)[home-directory]: Mark as thunked and add a default value. (default-home-directory): New procedure. * doc/guix.texi (User Accounts): Remove 'home-directory' from example. * gnu/system/examples/bare-bones.tmpl: Likewise. * gnu/system/examples/beaglebone-black.tmpl: Likewise. * gnu/system/examples/desktop.tmpl: Likewise. * gnu/system/examples/docker-image.tmpl: Likewise. * gnu/system/examples/lightweight-desktop.tmpl: Likewise. * gnu/system/install.scm (installation-os): Likewise. * gnu/tests.scm (%simple-os): Likewise. * gnu/tests/install.scm (%minimal-os, %minimal-os-on-vda): (%separate-home-os, %encrypted-root-os, %btrfs-root-os): Likewise. * tests/accounts.scm ("allocate-passwd") ("allocate-passwd with previous state"): Likewise. Ludovic Courtès 2019-03-07Add (gnu build accounts)....* gnu/build/accounts.scm, tests/accounts.scm: New files. * Makefile.am (SCM_TESTS): Add tests/accounts.scm. * gnu/local.mk (GNU_SYSTEM_MODULES): Add build/accounts.scm. Ludovic Courtès