From 86130f7bee8c288484a6843353d8bbe713b21d76 Mon Sep 17 00:00:00 2001 From: Ting-Wei Lan Date: Sun, 3 Nov 2024 11:01:41 +0800 Subject: 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. --- guix/guix/guix-1.4.0-tests-gremlin.patch | 20 ++++++++++++++++++ guix/guix/guix.spec | 35 ++++++++++++++++++++++++-------- 2 files changed, 47 insertions(+), 8 deletions(-) create mode 100644 guix/guix/guix-1.4.0-tests-gremlin.patch (limited to 'guix') 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 \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 \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 - 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 - 1.4.0-3 - Rebuilt for Fedora 38 and 39 -- cgit v1.2.3