bug-gnulib@gnu.org mirror (unofficial)
 help / color / mirror / Atom feed
From: Collin Funk <collin.funk1@gmail.com>
To: bug-gnulib@gnu.org
Subject: [PATCH] gnulib-tool.py: Fix configure.ac output.
Date: Tue, 27 Feb 2024 14:31:13 -0800	[thread overview]
Message-ID: <30dfd4da-cde7-4c82-9c54-7a02c3a6910c@gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 1501 bytes --]

Here is a patch fixing an issue I've noticed in the output of
configure.ac (and configure) created by gnulib.py.

When running the following command,

gnulib-tool.py --create-testdir --dir test-dir-python dummy

creates a configure.ac like so:

gl_source_base='gllib'

\
  m4_ifval(gl_LIBSOURCES_LIST, [
    m4_syscmd([test ! -d ]m4_defn([gl_LIBSOURCES_DIR])[ ||
...
    AC_SUBST([gl_LIBOBJS], [$gl_libobjs])
    AC_SUBST([gl_LTLIBOBJS], [$gl_ltlibobjs])
  ])\n  LIBGNU_LIBDEPS="$gl_libdeps"
...

This causes the 'configure' script to try to execute 'n' twice like
so:

checking for Minix Amsterdam compiler... no
checking for ar... ar
checking for ranlib... ranlib
./configure: line 5004: n: command not found

This seems to be caused by this commit trying to clean up the code:

https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=f00ef30ee0a68bf91cfd081afc784cb8ffd00656

I assume that this string literal was changed to a raw string [1] in
order to avoid having to escape a sed statement. Since it is already
wrapped in triple quotes we can just add a newline in the code and
have the output change instead of using '\n'.

I've also changed the """foo""" quoting to '''foo''' quoting in that
statement. I assume that is also the preferred coding style, feel free
to change it if I misinterpreted. I will have to modify this file a
few times while handling the TODO, so I will fix the other double
quote offenders then.

[1] https://docs.python.org/3/library/re.html#raw-string-notation

Collin

[-- Attachment #2: 0001-gnulib-tool.py-Fix-configure.ac-output.patch --]
[-- Type: text/x-patch, Size: 1681 bytes --]

From a9932bf82e3b5e1526e801a55f743a0c8aeb2331 Mon Sep 17 00:00:00 2001
From: Collin Funk <collin.funk1@gmail.com>
Date: Tue, 27 Feb 2024 14:15:10 -0800
Subject: [PATCH] gnulib-tool.py: Fix configure.ac output.

* pygnulib/GLEmiter.py (GLEmiter.initmacro_end): Fix backslash escapes
in raw string.
---
 ChangeLog            | 6 ++++++
 pygnulib/GLEmiter.py | 5 +++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index a71c5a771c..7d65e27151 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2024-02-27  Collin Funk  <collin.funk1@gmail.com>
+
+	gnulib-tool.py: Fix configure.ac output.
+	* pygnulib/GLEmiter.py (GLEmiter.initmacro_end): Fix backslash escapes
+	in raw string.
+
 2024-02-27  Collin Funk  <collin.funk1@gmail.com>
 
 	gnulib-tool.py: Follow gnulib-tool changes, part 31.
diff --git a/pygnulib/GLEmiter.py b/pygnulib/GLEmiter.py
index 56e8156761..d8cc085f59 100644
--- a/pygnulib/GLEmiter.py
+++ b/pygnulib/GLEmiter.py
@@ -508,7 +508,7 @@ USE_MSGCTXT = no\n"""
         # arguments. The check is performed only when autoconf is run from the
         # directory where the configure.ac resides; if it is run from a different
         # directory, the check is skipped.
-        emit += r"""\
+        emit += r'''
   m4_ifval(%V1%_LIBSOURCES_LIST, [
     m4_syscmd([test ! -d ]m4_defn([%V1%_LIBSOURCES_DIR])[ ||
       for gl_file in ]%V1%_LIBSOURCES_LIST[ ; do
@@ -540,7 +540,8 @@ USE_MSGCTXT = no\n"""
     fi
     AC_SUBST([%V1%_LIBOBJS], [$%V1%_libobjs])
     AC_SUBST([%V1%_LTLIBOBJS], [$%V1%_ltlibobjs])
-  ])\n"""
+  ])
+'''
         emit = emit.replace('%V1%', macro_prefix_arg)
         return emit
 
-- 
2.39.2


             reply	other threads:[~2024-02-27 22:32 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-27 22:31 Collin Funk [this message]
2024-02-27 22:39 ` [PATCH] gnulib-tool.py: Fix configure.ac output Bruno Haible
2024-02-27 23:01   ` Collin Funk
2024-02-27 23:39     ` Bruno Haible
2024-02-28  0:04       ` Collin Funk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.gnu.org/mailman/listinfo/bug-gnulib

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=30dfd4da-cde7-4c82-9c54-7a02c3a6910c@gmail.com \
    --to=collin.funk1@gmail.com \
    --cc=bug-gnulib@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).