aboutsummaryrefslogtreecommitdiff
path: root/tests/guix-shell-export-manifest.sh
blob: 6c42c40f3bf01256a7174c2e9899332318967283 (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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# GNU Guix --- Functional package management for GNU
# Copyright © 2022 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 'guix shell --export-manifest'.
#

guix shell --version

tmpdir="t-guix-manifest-$$"
trap 'rm -r "$tmpdir"' EXIT
mkdir "$tmpdir"

manifest="$tmpdir/manifest.scm"

# Basics.
guix shell --export-manifest guile-bootstrap > "$manifest"
test "$(guix build -m "$manifest")" = "$(guix build guile-bootstrap)"

guix shell -m "$manifest" --bootstrap -- \
     "$SHELL" -c 'guix package --export-manifest -p "$GUIX_ENVIRONMENT"' > \
     "$manifest.second"
for m in "$manifest" "$manifest.second"
do
    grep -v '^;' < "$m" > "$m.new" # filter out comments
    mv "$m.new" "$m"
done

cat "$manifest"
cat "$manifest.second"

cmp "$manifest" "$manifest.second"

# Manifest for a profile.
guix shell --bootstrap guile-bootstrap -r "$tmpdir/profile" -- \
     guile --version
test -x "$tmpdir/profile/bin/guile"
guix shell -p "$tmpdir/profile" --export-manifest > "$manifest.second"
guix shell --export-manifest guile-bootstrap > "$manifest"
cat "$manifest.second"
cmp "$manifest" "$manifest.second"

rm "$tmpdir/profile"

# C
2024-06-06gnu: linux-libre: Add 6.9-riscv.conf...* gnu/packages/aux-files/linux-libre/6.9-riscv.conf: New file. * Makefile.am (AUX_FILES): Register it. Change-Id: I1f5e24726c3a59bec73805068548ce5916b427f8 Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn> Zheng Junjie
2024-06-03build: Align the Automake status lines of the po4a and the PO xref....* Makefile.am (AM_V_PO4A_0, AM_V_POXREF_0): Align the Automake status lines of the po4a and the PO xref, since the common width is 10 characters. Change-Id: Ic8c32f73294ba6e4ca71ab4aa889a558e4d7fcee Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de> gemmaro
2024-05-26gnu: Add linux-libre 6.9....Big thanks to Dariqq <dariqq@posteo.net> for debugging and communicating upstream about a problem with the deblobbing scripts in this kernel series! * gnu/packages/linux.scm (linux-libre-6.9-version, linux-libre-6.9-gnu-revision, deblob-scripts-6.9, linux-libre-6.9-pristine-source, linux-libre-6.9-source, linux-libre-headers-6.9, linux-libre-6.9): New variables. * gnu/packages/aux-files/linux-libre/6.9-arm.conf, gnu/packages/aux-files/linux-libre/6.9-arm64.conf, gnu/packages/aux-files/linux-libre/6.9-i686.conf, gnu/packages/aux-files/linux-libre/6