guix-package-aliases.sh 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. # GNU Guix --- Functional package management for GNU
  2. # Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
  3. #
  4. # This file is part of GNU Guix.
  5. #
  6. # GNU Guix is free software; you can redistribute it and/or modify it
  7. # under the terms of the GNU General Public License as published by
  8. # the Free Software Foundation; either version 3 of the License, or (at
  9. # your option) any later version.
  10. #
  11. # GNU Guix is distributed in the hope that it will be useful, but
  12. # WITHOUT ANY WARRANTY; without even the implied warranty of
  13. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. # GNU General Public License for more details.
  15. #
  16. # You should have received a copy of the GNU General Public License
  17. # along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  18. #
  19. # Test the `guix package' aliases.
  20. #
  21. guix install --version
  22. readlink_base ()
  23. {
  24. basename `readlink "$1"`
  25. }
  26. profile="t-profile-$$"
  27. rm -f "$profile"
  28. trap 'rm -f "$profile" "$profile-"[0-9]*' EXIT
  29. guix install --bootstrap guile-bootstrap -p "$profile"
  30. test -x "$profile/bin/guile"
  31. # Make sure '-r' isn't passed as-is to 'guix package'.
  32. guix install -r guile-bootstrap -p "$profile" --bootstrap && false
  33. test -x "$profile/bin/guile"
  34. # Use a package transformation option and make sure it's recorded.
  35. guix install --bootstrap guile-bootstrap -p "$profile" \
  36. --with-input=libreoffice=inkscape
  37. test -x "$profile/bin/guile"
  38. grep "libreoffice=inkscape" "$profile/manifest"
  39. guix upgrade --version
  40. guix upgrade -n
  41. guix upgrade gui.e -n
  42. guix upgrade foo bar -n
  43. guix remove --version
  44. guix remove --bootstrap guile-bootstrap -p "$profile"
  45. test ! -x "$profile/bin/guile"
  46. test `guix package -p "$profile" -I | wc -l` -eq 0
  47. guix remove -p "$profile" this-is-not-installed --bootstrap && false
  48. guix remove -i guile-bootstrap -p "$profile" --bootstrap && false
  49. guix search '\<board\>' game | grep '^name: gnubg'
  50. guix show --version
  51. guix show guile
  52. guix show python@3 | grep "^name: python"
  53. # "python@2" exists but is deprecated; make sure it doesn't show up.
  54. guix show python@2 && false
  55. # Specifying multiple packages.
  56. output="`guix show sed grep | grep ^name:`"
  57. test "$output" = "name: sed
  58. name: grep"