;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Mathieu Othacehe ;;; ;;; 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 installer user) #:use-module (gnu installer utils) #:use-module (guix records) #:use-module (guix read-print) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) #:use-module (srfi srfi-9 gnu) #:export ( user make-user user-name user-real-name user-group user-home-directory user-password users->configuration)) (define-record-type* user make-user user? (name user-name) (real-name user-real-name (default "")) (group user-group (default "users")) (password user-password) (home-directory user-home-directory)) (define (users->configuration users) "Return the configuration field for USERS." (define (user->sexp user) `(user-account (name ,(user-name user)) (comment ,(user-real-name user)) (group ,(user-group user)) (home-directory ,(user-home-directory user)) (supplementary-groups '("wheel" "netdev" "audio" "video")))) (define-syntax-rule (G_ str) str) `(,(vertical-space 1) ,(comment (G_ ";; The list of user accounts ('root' is implicit).\n")) (users (cons* ,@(filter-map (lambda (user) ;; Do not emit a 'user-account' form for "root". (and (not (string=? (user-name user) "root")) (user->sexp user))) users) %base-user-accounts)))) ass='left'>Commit message (Expand)Author 2021-06-25import: hackage: Support "common" field and imports...Fixes <https://issues.guix.gnu.org/48701>. * guix/import/cabal.scm (make-cabal-parser): Modify. (is-common): New variable. (lex-common): New procedure. (is-id): Modify. (eval-cabal): Modify. * tests/hackage.scm ("hackage->guix-package test cabal import") New test. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Philip Munksgaard 2021-05-22import: hackage: Prefix licenses with 'license:'....* guix/import/hackage.scm (string->license): Prefix the value of the license field with ‘license:’. * tests/hackage.scm (match-ghc-foo, match-ghc-foo-6, match-ghc-foo-revision): Adjust accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Xinglu Chen