aboutsummaryrefslogtreecommitdiff
path: root/tests/guix-locate.sh
blob: 43f8ba53b0c5077c2af76272d6d898b2d9c207ec (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# GNU Guix --- Functional package management for GNU
# Copyright © 2023 Antoine R. Dumont <antoine.romain.dumont@gmail.com>
# Copyright © 2023 Ludovic Courtès <ludo@gnu.org>
#
# 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 <http://www.gnu.org/licenses/>.

#
# Test the 'guix locate' command-line utility.
#

set -x

RUN_EXPENSIVE_TESTS="${RUN_EXPENSIVE_TESTS:-false}"

tmpdir="guix-index-$$"
# In the following tests, we use two different databases, one for each
# indexation method.
tmpdb_manifests="$tmpdir/manifests/db.sqlite"
tmpdb_store="$tmpdir/store/db.sqlite"
trap 'rm -rf "$tmpdir" "$tmpdb_store" "$tmpdb_manifests"' EXIT

guix locate --version

# Preparing db locations for both indexation methods.
mkdir -p "$(dirname "$tmpdb_manifests")" "$(dirname "$tmpdb_store")"

cmd_manifests="guix locate --database=$tmpdb_manifests --method=manifests"
cmd_store="guix locate --database=$tmpdb_store --method=store"

# Lookup without any db should fail.
guix locate --database="$tmpdb_manifests" guile && false
guix locate --database="$tmpdb_store" guile && false

# Lookup without anything in db should yield no results because the indexer
# didn't stumble upon any profile.
test -z "$(guix locate --database="$tmpdb_manifests" guile)"

# Install a package.
guix package --bootstrap --install guile-bootstrap \
     --profile="$tmpdir/profile"

# Look for 'guile'.
$cmd_manifests --update
$cmd_manifests guile | grep "$(guix build guile-bootstrap)/bin/guile"
$cmd_manifests boot-9.scm | grep ^guile-bootstrap

# Using a glob pattern.
$cmd_manifests -g '*.scm' | grep "^guile-bootstrap.*boot-9"

# Statistics.
$cmd_manifests --stats

if $RUN_EXPENSIVE_TESTS
then
    $cmd_store --update
    $cmd_store guile
    $cmd_store guile | grep "$(guix build guile-bootstrap)/bin/guile"
    $cmd_store boot-9.scm | grep ^guile-bootstrap
fi
ackages/scanner.scm (sane-backends, xsane)[inputs]: Likewise. * gnu/packages/scheme.scm (racket)[inputs]: Likewise. * gnu/packages/scribus.scm (scribus)[inputs]: Likewise. * gnu/packages/sdl.scm (sdl-image)[propagated-inputs]: Likewise. (guile-sdl)[native-inputs]: Likewise. * gnu/packages/spice.scm (spice-gtk)[inputs]: Likewise. * gnu/packages/statistics.scm (r-with-tests)[inputs]: Likewise. * gnu/packages/tcl.scm (perl-tk)[inputs]: Likewise. * gnu/packages/upnp.scm (readymedia)[inputs]: Likewise. * gnu/packages/video.scm (mplayer, mpv, v4l-utils, motion)[inputs]: Likewise. * gnu/packages/web-browsers.scm (dillo, links)[inputs]: Likewise. * gnu/packages/web.scm (netsurf)[inputs]: Likewise. * gnu/packages/webkit.scm (webkitgtk)[inputs]: Likewise. * gnu/packages/wine.scm (wine)[inputs]: Likewise. * gnu/packages/wv.scm (wv)[inputs]: Likewise. * gnu/packages/wxwidgets.scm (wxwidgets, wxwidgets-2)[inputs]: Likewise. * gnu/packages/xdisorg.scm (xscreensaver)[inputs]: Likewise. * gnu/packages/xfce.scm (tumbler)[inputs]: Likewise. * gnu/packages/xfig.scm (xfig, transfig)[inputs]: Likewise. * gnu/packages/xorg.scm (xpra)[inputs]: Likewise. 2020-01-21gnu: ghostscript: Fix CVE-2019-14869.Marius Bakke * gnu/packages/patches/ghostscript-CVE-2019-14869.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/ghostscript.scm (ghostscript)[source](patches): Add it. 2020-01-08gnu: libpaper: Do not build the static library.Marius Bakke * gnu/packages/ghostscript.scm (libpaper)[arguments]: Add #:configure-flags. 2020-01-08gnu: lcms: Do not build static library.Marius Bakke * gnu/packages/ghostscript.scm (lcms)[arguments]: New field. 2019-12-05gnu: ghostscript: Update to 9.50.Marius Bakke * gnu/packages/ghostscript.scm (ghostscript): Update to 9.50. * gnu/packages/patches/ghostscript-no-header-id.patch: Adjust context. 2019-12-05gnu: ghostscript: Incorporate grafted changes.Marius Bakke * gnu/packages/ghostscript.scm (ghostscript)[replacement]: Remove field. [arguments]: Add "--disable-compile-inits" and "--with-fontpath" in #:configure-flags. [native-inputs]: Add PKG-CONFIG. [inputs]: Add FONTCONFIG and GS-FONTS. (ghostscript/fixed): Remove variable. 2019-09-24gnu: libpaper: Fix aarch64 cross-compilation.Mathieu Othacehe The packaged config.sub and config.guess do not have aarch64 support. Replace them by the ones from automake. * gnu/packages/ghostscript.scm (libpaper)[arguments]: Replace outdated config.sub and config.guess, taken from ... [native-inputs]: ... here, by adding automake. 2019-09-06Merge branch 'master' into core-updatesMark H Weaver 2019-09-04gnu: ghostscript: Keep the replacement private.Ludovic Courtès This avoids having two matches for the "ghostscript" spec. * gnu/packages/ghostscript.scm (ghostscript/fixed): Keep private. 2019-08-29Merge branch 'master' into core-updatesMark H Weaver 2019-08-25gnu: ghostscript: Replace with the "fixed" Ghostscript.Ludovic Courtès * gnu/packages/ghostscript.scm (ghostscript)[replacement]: New field. (ghostscript/fixed)[version]: Remove, to comply with the same-length constraint of grafts. 2019-08-25gnu: ghostscript: Add a new variant that depends on Freetype.Ludovic Courtès Fixes <https://bugs.gnu.org/34877>. Reported by Diego Nicola Barbato <dnbarbato@posteo.de> and sirmacik <sirmacik@wioo.waw.pl>. * gnu/packages/ghostscript.scm (ghostscript/fixed): New variable. 2019-06-16gnu: ghostscript: Update to 9.27.Marius Bakke * gnu/packages/ghostscript.scm (ghostscript): Update to 9.27. [arguments]: Add <#:parallel-tests?>. 2019-05-02gnu: lcms: Incorporate grafted changes.Marius Bakke * gnu/packages/ghostscript.scm (lcms)[replacement]: Remove. [source](patches): New field. (lcms/fixed): Remove variable.