gnu: gnulib: Update to 2024-05-30-1.ac4b301.

Also fix the commands, which would fail due to not finding their
implementation scripts.

* gnu/packages/patches/gnulib-bootstrap.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/build-tools.scm (gnulib): Update to 2024-05-30-1.ac4b301.
[source]: Apply patch.
[phases] {patch-source-shebangs, patch-generated-file-shebangs}
{patch-usr-bin-file, restore-shebangs}: Delete phases.
{disable-failing-tests}: Disable sc_error_message_warn_fatal,
sc_prefer_angle_bracket_headers, sc_check_config_h_reminder,
sc_prohibit_sc_omitted_at, sc_readme_link_copying, sc_readme_link_install,
sc_unsigned_char, sc_unsigned_int,  sc_unsigned_long and sc_unsigned_short
checks.
{regenerate-unicode}: Register BidiMirroring.txt unicode data file.

Change-Id: I154b2c5980b671f1e73e7a1f74d926ea080a7aa0
This commit is contained in:
Maxim Cournoyer 2024-06-05 20:46:20 -04:00
parent 8a610b82a9
commit 1a0509e7fa
No known key found for this signature in database
GPG key ID: 1260E46482E63562
3 changed files with 107 additions and 24 deletions

View file

@ -1394,6 +1394,7 @@ dist_patch_DATA = \
%D%/packages/patches/gnome-settings-daemon-gc.patch \ %D%/packages/patches/gnome-settings-daemon-gc.patch \
%D%/packages/patches/gnome-session-support-elogind.patch \ %D%/packages/patches/gnome-session-support-elogind.patch \
%D%/packages/patches/gnome-tweaks-search-paths.patch \ %D%/packages/patches/gnome-tweaks-search-paths.patch \
%D%/packages/patches/gnulib-bootstrap.patch \
%D%/packages/patches/gnumach-support-noide.patch \ %D%/packages/patches/gnumach-support-noide.patch \
%D%/packages/patches/gnupg-default-pinentry.patch \ %D%/packages/patches/gnupg-default-pinentry.patch \
%D%/packages/patches/gnupg-1-build-with-gcc10.patch \ %D%/packages/patches/gnupg-1-build-with-gcc10.patch \

View file

@ -13,7 +13,7 @@
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020, 2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 qblade <qblade@protonmail.com> ;;; Copyright © 2021 qblade <qblade@protonmail.com>
;;; Copyright © 2021, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022, 2023 Juliana Sims <juli@incana.org> ;;; Copyright © 2022, 2023 Juliana Sims <juli@incana.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -853,12 +853,15 @@ (define*-public (gnulib-checkout #:key
;; FIXME: tests/uniname/HangulSyllableNames.txt ;; FIXME: tests/uniname/HangulSyllableNames.txt
;; seems like a UCD file but it is not distributed ;; seems like a UCD file but it is not distributed
;; with UCD. ;; with UCD.
"tests/uniwbrk/WordBreakTest.txt"))))))) "tests/uniwbrk/WordBreakTest.txt")))))
(patches (search-patches "gnulib-bootstrap.patch"))))
(build-system copy-build-system) (build-system copy-build-system)
(arguments (arguments
(list (list
#:install-plan #:install-plan
#~'(("./gnulib-tool" "bin/") #~'(("./gnulib-tool" "bin/")
("./gnulib-tool.py" "bin/")
("./gnulib-tool.sh" "bin/")
("." "src/gnulib" #:exclude-regexp ("\\.git.*"))) ("." "src/gnulib" #:exclude-regexp ("\\.git.*")))
#:modules '((ice-9 match) #:modules '((ice-9 match)
(guix build utils) (guix build utils)
@ -866,6 +869,13 @@ (define*-public (gnulib-checkout #:key
((guix build gnu-build-system) #:prefix gnu:)) ((guix build gnu-build-system) #:prefix gnu:))
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
;; Since this package is intended to be used in source form, it
;; should not retain references to tools (with the exception for the
;; commands we install, which should be wrapper for proper
;; execution).
(delete 'patch-source-shebangs)
(delete 'patch-generated-file-shebangs)
(delete 'patch-usr-bin-file)
(add-before 'install 'check (add-before 'install 'check
(assoc-ref gnu:%standard-phases 'check)) (assoc-ref gnu:%standard-phases 'check))
(add-before 'check 'fix-tests (add-before 'check 'fix-tests
@ -889,8 +899,10 @@ (define*-public (gnulib-checkout #:key
sc_Wundef_boolean \\ sc_Wundef_boolean \\
sc_copyright_check \\ sc_copyright_check \\
sc_file_system \\ sc_file_system \\
sc_error_message_warn_fatal \\
sc_indent \\ sc_indent \\
sc_keep_gnulib_texi_files_mostly_ascii \\ sc_keep_gnulib_texi_files_mostly_ascii \\
sc_prefer_angle_bracket_headers \\
sc_prohibit_assert_without_use \\ sc_prohibit_assert_without_use \\
sc_prohibit_close_stream_without_use \\ sc_prohibit_close_stream_without_use \\
sc_prohibit_defined_have_decl_tests \\ sc_prohibit_defined_have_decl_tests \\
@ -899,15 +911,22 @@ (define*-public (gnulib-checkout #:key
sc_prohibit_intprops_without_use \\ sc_prohibit_intprops_without_use \\
sc_prohibit_openat_without_use \\ sc_prohibit_openat_without_use \\
sc_prohibit_test_minus_ao \\ sc_prohibit_test_minus_ao \\
sc_unportable_grep_q")) sc_readme_link_copying \\
sc_readme_link_install \\
sc_unportable_grep_q \\
sc_unsigned_char \\
sc_unsigned_int \\
sc_unsigned_long \\
sc_unsigned_short"))
(substitute* "Makefile" (substitute* "Makefile"
(("sc_check_(sym_list|copyright)" rule) (("sc_check_(sym_list|copyright|config_h_reminder)" rule)
(string-append "disabled_check_" rule)) (string-append "disabled_check_" rule))
(("sc_cpp_indent_check") (("sc_cpp_indent_check")
"disabled_cpp_indent_check") "disabled_cpp_indent_check")
(("sc_prefer_ac_check_funcs_once") (("sc_prefer_ac_check_funcs_once")
"disabled_prefer_ac_check_funcs_once") "disabled_prefer_ac_check_funcs_once")
(("sc_prohibit_(AC_LIBOBJ_in_m4|leading_TABs)" rule) (("sc_prohibit_(AC_LIBOBJ_in_m4|leading_TABs\
|sc_omitted_at)" rule)
(string-append "disabled_prohibit_" rule))))) (string-append "disabled_prohibit_" rule)))))
(add-before 'check 'regenerate-unicode (add-before 'check 'regenerate-unicode
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
@ -939,7 +958,8 @@ (define (find-ucd-files . names)
(sha256 (sha256
(base32 (base32
"0k6wyijyzdl5g3nibcwfm898kfydx1pqaz28v7fdvnzdvd5fz7lh")))) "0k6wyijyzdl5g3nibcwfm898kfydx1pqaz28v7fdvnzdvd5fz7lh"))))
(find-ucd-files "EastAsianWidth.txt" (find-ucd-files "BidiMirroring.txt"
"EastAsianWidth.txt"
"LineBreak.txt" "LineBreak.txt"
"auxiliary/WordBreakProperty.txt" "auxiliary/WordBreakProperty.txt"
"auxiliary/GraphemeBreakProperty.txt" "auxiliary/GraphemeBreakProperty.txt"
@ -962,22 +982,9 @@ (define (find-ucd-files . names)
("NormalizationTest.txt" . "uninorm") ("NormalizationTest.txt" . "uninorm")
("auxiliary/GraphemeBreakTest.txt" . "unigbrk") ("auxiliary/GraphemeBreakTest.txt" . "unigbrk")
("auxiliary/WordBreakTest.txt" . "uniwbrk"))) ("auxiliary/WordBreakTest.txt" . "uniwbrk")))
(delete-file "gen-uni-tables")))) (delete-file "gen-uni-tables")))))))
(add-after 'install 'restore-shebangs
(lambda _
(substitute* (find-files
(string-append #$output "/src/gnulib")
(lambda (fname stat)
(and (not (string-suffix? "/lib/javaversion.class" fname))
(not (string-suffix? ".mo" fname)))))
(("^#! ?(.*)/bin/sh" _ prefix)
"#!/bin/sh")
(("^#! ?(.*)/bin/python3" _ prefix)
"#!/usr/bin/env python3")
(("^#! ?(.*)/bin/([a-zA-Z0-9-]+)" _ prefix program)
(string-append "#!/usr/bin/" program))))))))
(inputs (inputs
(list bash-minimal)) ;shebang for gnulib-tool (list bash-minimal)) ;shebang for gnulib-tool
(native-inputs (native-inputs
(list (list
bash-minimal python perl clisp bash-minimal python perl clisp
@ -1005,9 +1012,9 @@ (define (find-ucd-files . names)
(define-public gnulib (define-public gnulib
(gnulib-checkout (gnulib-checkout
#:version "2022-12-31" #:version "2024-05-30"
#:commit "875461ffdf58ac04677957b4ae4160465b83b940" #:commit "ac4b301ae15223c98b51cd5a0eda2e2cf57c817b"
#:hash (base32 "0bf7a6wdns9c5wwv60qfcn9llg0j6jz5ryd2qgsqqx2i6xkmp77c"))) #:hash (base32 "0f4w56fc97clg13mmdghx84dh9xqmaqr3j672ppfh3h66gmmmvzs")))
(define-public pdpmake (define-public pdpmake
(package (package

View file

@ -0,0 +1,75 @@
From adbf7ce2c2b03ce5ee25d4c68f9bb247b0dcbc2b Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Date: Thu, 30 May 2024 14:48:04 -0400
Subject: [PATCH] bootstrap: Use gnulib-tool from PATH if available.
Some distributions such as GNU Guix include in their package for
gnulib a 'gnulib-tool' command under their $bindir
prefix (e.g. '/bin') for users to use, along the unmodified full
sources. The idea is that any wrapping or distribution modifications
for the *execution* of the script at run time is done on these
commands, while the rest of the source should be in their
pristine (unmodified) version. Adjust the 'gnulib-tool' discovery
mechanism to support such installation layout.
* build-aux/bootstrap (autogen) <gnulib_tool>: Prefer to use from
PATH, else from $GNULIB_SRCDIR/../../bin/gnulib-tool, else from
$GNULIB_SRCDIR/gnulib-tool.
* gnulib-tool.sh (func_gnulib_dir): Honor GNULIB_SRCDIR to locate
gnulib's main directory.
---
build-aux/bootstrap | 11 +++++++++--
gnulib-tool.sh | 6 +++++-
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/build-aux/bootstrap b/build-aux/bootstrap
index 6295b8a128..06271eea8b 100755
--- a/build-aux/bootstrap
+++ b/build-aux/bootstrap
@@ -3,7 +3,7 @@
# Bootstrap this package from checked-out sources.
-scriptversion=2024-04-13.15; # UTC
+scriptversion=2024-05-30.20; # UTC
# Copyright (C) 2003-2024 Free Software Foundation, Inc.
#
@@ -1164,7 +1164,14 @@ autogen()
fi
if $use_gnulib; then
- gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
+ gnulib_tool=$(command -v gnulib-tool)
+ if test -x "$gnulib_tool"; then
+ : # done
+ elif test -x $GNULIB_SRCDIR/../../bin/gnulib-tool; then
+ gnulib_tool=$GNULIB_SRCDIR/../../bin/gnulib-tool
+ else
+ gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
+ fi
<$gnulib_tool || return
fi
diff --git a/gnulib-tool.sh b/gnulib-tool.sh
index 12f0b82461..0aefbe2b2b 100755
--- a/gnulib-tool.sh
+++ b/gnulib-tool.sh
@@ -518,7 +518,11 @@ func_gnulib_dir ()
* ) self_abspathname=`echo "$self_abspathname" | sed -e 's,/[^/]*$,,'`/"$linkval" ;;
esac
done
- gnulib_dir=`echo "$self_abspathname" | sed -e 's,/[^/]*$,,'`
+ if test -n "$GNULIB_SRCDIR"; then
+ gnulib_dir=$GNULIB_SRCDIR
+ else
+ gnulib_dir=`echo "$self_abspathname" | sed -e 's,/[^/]*$,,'`
+ fi
}
# func_tmpdir
base-commit: ac4b301ae15223c98b51cd5a0eda2e2cf57c817b
--
2.41.0