aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTing-Wei Lan <lantw44@gmail.com>2024-11-03 11:01:41 +0800
committerTing-Wei Lan <lantw44@gmail.com>2024-11-03 11:01:41 +0800
commit86130f7bee8c288484a6843353d8bbe713b21d76 (patch)
tree4dc8f8ff8a54306b727b88b064db02e230f26c39
parent080b44931962c3dd68265ec1656adf84f8af6ed0 (diff)
downloadcopr-rpm-spec-86130f7bee8c288484a6843353d8bbe713b21d76.tar
copr-rpm-spec-86130f7bee8c288484a6843353d8bbe713b21d76.tar.gz
copr-rpm-spec-86130f7bee8c288484a6843353d8bbe713b21d76.tar.bz2
copr-rpm-spec-86130f7bee8c288484a6843353d8bbe713b21d76.tar.lz
copr-rpm-spec-86130f7bee8c288484a6843353d8bbe713b21d76.tar.xz
copr-rpm-spec-86130f7bee8c288484a6843353d8bbe713b21d76.tar.zst
copr-rpm-spec-86130f7bee8c288484a6843353d8bbe713b21d76.zip
guix: Build Guix for Fedora 39 and 40
Fedora 38 and later versions no longer allow mounting the proc file system in mock. Ignore container tests in mock for now since Copr no longer run builds on Fedora 37 hosts.
-rw-r--r--guix/guix/guix-1.4.0-tests-gremlin.patch20
-rw-r--r--guix/guix/guix.spec35
2 files changed, 47 insertions, 8 deletions
diff --git a/guix/guix/guix-1.4.0-tests-gremlin.patch b/guix/guix/guix-1.4.0-tests-gremlin.patch
new file mode 100644
index 0000000..b1ea04d
--- /dev/null
+++ b/guix/guix/guix-1.4.0-tests-gremlin.patch
@@ -0,0 +1,20 @@
+diff --git a/tests/gremlin.scm b/tests/gremlin.scm
+index 3dbb8d3643..280b1d8819 100644
+--- a/tests/gremlin.scm
++++ b/tests/gremlin.scm
+@@ -136,6 +136,7 @@ (define ground-truth
+ (with-directory-excursion directory
+ (call-with-output-file "t.c"
+ (lambda (port)
++ (display "#include <stdio.h>\n" port)
+ (display "int main () { puts(\"hello\"); }" port)))
+ (invoke c-compiler "t.c"
+ "-Wl,--enable-new-dtags" "-Wl,-rpath=/foo" "-Wl,-rpath=/bar")
+@@ -164,6 +165,7 @@ (define ground-truth
+ (with-directory-excursion directory
+ (call-with-output-file "t.c"
+ (lambda (port)
++ (display "#include <stdio.h>\n" port)
+ (display "int main () { puts(\"hello\"); }" port)))
+
+ (invoke c-compiler "t.c"
diff --git a/guix/guix/guix.spec b/guix/guix/guix.spec
index a9593dd..9ec4d94 100644
--- a/guix/guix/guix.spec
+++ b/guix/guix/guix.spec
@@ -6,7 +6,7 @@
Name: guix
Version: 1.4.0
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: A purely functional package manager for the GNU system
License: GPLv3+
@@ -16,6 +16,9 @@ Source0: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz
# Fix tests/guix-home.sh when Guix is not installed.
Patch0: guix-1.4.0-tests-guix-home.patch
+# Fix tests/gremlin.scm for GCC 14.
+Patch1: guix-1.4.0-tests-gremlin.patch
+
%global guix_user guixbuild
%global guix_group guixbuild
%global guile_source_dir %{_datadir}/guile/site/3.0
@@ -67,17 +70,14 @@ Requires: disarchive
Requires: gzip, bzip2, xz
Requires: selinux-policy
-Requires: %{_bindir}/dot
-Requires: %{_libdir}/libgcrypt.so
-Requires(post): /usr/sbin/useradd
-Requires(post): /usr/sbin/usermod
-Requires(post): /usr/sbin/groupadd
-Requires(post): /usr/sbin/groupmod
-Requires(post): /usr/bin/gpasswd
+Requires: graphviz
+Requires(post): shadow-utils
Requires(post): libselinux-utils, policycoreutils
Requires(post): info
Requires(preun): info
+Provides: %{_libexecdir}/guix/guile
+
%{?systemd_requires}
Recommends: guile-ssh >= 0.13.0
@@ -130,6 +130,18 @@ if [ "${cwd_len}" -gt 36 ]; then
echo 'The working directory cannot be longer than 36 bytes.'
exit 1
fi
+# Mounting proc in mock causes errors:
+# "mount ~S on ~S: ~A"
+# + ("none"
+# + "/tmp/guix-directory.XXXXXX/proc"
+# + "Operation not permitted")
+# + (1))
+if [ "$(id -un)" = mockbuild ]; then
+ sed -i \
+ -e 's|tests/containers\.scm||g' \
+ -e 's|tests/guix-environment-container\.sh||' \
+ Makefile
+fi
# Running tests in parallel causes errors:
# In procedure copy-file: Permission denied:
# "/builddir/build/BUILD/guix-1.4.0/gnu/packages/bootstrap/i686-linux/bash"
@@ -488,6 +500,13 @@ fi
%changelog
+* Sat Nov 02 2024 Ting-Wei Lan <lantw44@gmail.com> - 1.4.0-4
+- Fix tests with GCC 14 for Fedora 40 and later
+- Drop dependency on libgcrypt.so because it has been handled by guile-gcrypt
+- Convert path dependencies to packages for Fedora 40 DNF conditional file lists
+- Provide interpreter paths explicitly for Fedora 40 DNF conditional file lists
+- Skip container tests in mock because Fedora 38 broke them
+
* Wed Apr 19 2023 Ting-Wei Lan <lantw44@gmail.com> - 1.4.0-3
- Rebuilt for Fedora 38 and 39