;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014 Ludovic Courtès ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2017 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 packages libunistring) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages base)) (define-public libunistring (package (name "libunistring") (version "0.9.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libunistring/libunistring-" version ".tar.xz")) (sha256 (base32 "15z76qrmrvkc3c6hfq2lzzqysgd21s682f2smycfab5g598n8drf")) ;; test-lock has performance issues on multi-core machines, ;; it hangs or takes a long time to complete. ;; This is a commit from gnulib to fix this issue. (patches (search-patches "libunistring-gnulib-multi-core.patch")))) (propagated-inputs (libiconv-if-needed)) (build-system gnu-build-system) (arguments ;; Work around parallel build issue whereby C files may be compiled before ;; config.h is built: see and ;; . '(#:parallel-build? #f)) (synopsis "C library for manipulating Unicode strings") (description "GNU libunistring is a library providing functions to manipulate Unicode strings and for manipulating C strings according to the Unicode standard.") (home-page "https://www.gnu.org/software/libunistring/") (license (list lgpl3+ gpl2)))) on?id=dc6d92ac93cedd65f6c99daa530b69f43f6039ec'>bash completion: Fix & unify option parsing....We now correctly recognise ‘guix -Abcdef’ as equivalent to ‘guix -f’. * etc/completion/bash/guix (_guix_is_short_option, guix_is_long_option): New functions. (_guix_is_dash_f, _guix_is_dash_l, _guix_is_dash_L, _guix_is_dash_m) (_guix_is_dash_C, _guix_is_dash_p): Use them. Tobias Geerinckx-Rice 2022-01-17bash completion: Complete "guix home" sub-commands....* etc/completion/bash/guix (_guix_complete): Treat "guix home" like "guix system". Ludovic Courtès 2022-01-16bash completion: Fix options completion....Fixes, for example, "guix import pypi --<TAB>", which would previously fail to show '--recursive'. * etc/completion/bash/guix (_guix_complete_option): Fix options completion for first subcommand. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Fulbert 2021-12-08bash completion: Complete ‘guix shell -f’....* etc/completion/bash/guix (_guix_complete): Suggest a file name following ‘guix shell […] -f’. Tobias Geerinckx-Rice 2021-10-31bash completion: Complete top-level options....* etc/completion/bash/guix (_guix_complete_option): Fix operation without a {,sub}command. (_guix_complete): Call it also when no command is given. Tobias Geerinckx-Rice 2021-10-31bash completion: Don't hard-code "guix" binary name....* etc/completion/bash/guix (_guix_complete_command): Use ${COMP_WORDS[0]} instead of hard-coding "guix". Tobias Geerinckx-Rice 2021-10-25Add 'guix shell'....* guix/scripts/shell.scm, tests/guix-shell.sh: New files. * Makefile.am (MODULES): Add 'shell.scm'. (SH_TESTS): Add 'tests/guix-shell.sh'. * guix/scripts/environment.scm (show-environment-options-help): New procedure. (show-help): Use it. (guix-environment*): New procedure. (guix-environment): Use it. * po/guix/POTFILES.in: Add it. * doc/guix.texi (Features): Refer to "guix shell" (Invoking guix package): Likewise. (Development): Likewise. (Invoking guix shell): New node. (Invoking guix environment): Add deprecation warning. (Debugging Build Failures): Use 'guix shell' in examples. (Invoking guix container): Refer to 'guix shell'. (Invoking guix processes, Virtualization Services): Adjust examples to use 'guix shell'. * doc/contributing.texi (Building from Git): Refer to 'guix shell'. * etc/completion/bash/guix: Handle "shell". Ludovic Courtès 2021-10-24etc: completion: Filter gratuitous spaces from available packages....Tested with: guix environment --{ad-hoc,pure} zsh guix bash-completion coreutils -- zsh % fpath=(~/guix/etc/completion/zsh $fpath) % autoload -U compinit; compinit * etc/completion/zsh/_guix (_guix_list_available_packages): Remove spaces. Co-authored-by: Tobias Geerinckx-Rice <me@tobias.gr> Liliana Marie Prikler