All of lore.kernel.org
 help / color / mirror / Atom feed
From: Patrick Steinhardt <ps@pks.im>
To: "D. Ben Knoble" <ben.knoble+github@gmail.com>
Cc: git@vger.kernel.org, Eric Sunshine <sunshine@sunshineco.com>,
	Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH] rust: build correctly without GNU sed
Date: Fri, 19 Dec 2025 07:24:29 +0100	[thread overview]
Message-ID: <aUTvneg9W-6ba4Ev@pks.im> (raw)
In-Reply-To: <a33f4e5118938300bcd5b2991feeee855a1c8f86.1766100330.git.ben.knoble+github@gmail.com>

On Thu, Dec 18, 2025 at 06:25:44PM -0500, D. Ben Knoble wrote:
> From e509b5b8be (rust: support for Windows, 2025-10-15), we check
> cargo's information to decide which library to build. However, that
> check mistakenly used "sed -s" ("consider files as separate rather than
> as a single, continuous long stream"), which is a GNU extension. The
> build thus fails on macOS with "meson -Drust=enabled", which comes with
> BSD-derived sed.
> 
> Instead, use the intended "sed -n" and print the matching section of the
> output. This failure mode likely went unnoticed on systems with GNU sed
> (common for developer machines and CI) because, in those instances, the
> output being matched by case is the full cargo output (which either
> contains the string "-windows-" or doesn't).

Yeah, I guess that's what happened indeed. I seem to have confused "-s"
for "--silent" with "-n" when I wrote this.

> Helped-by: Eric Sunshine <sunshine@sunshineco.com>
> Helped-by: Patrick Steinhardt <ps@pks.im>

I'd say that it was you two folks who figured this out, I didn't really
help much :) But I won't complain.

> Signed-off-by: D. Ben Knoble <ben.knoble+github@gmail.com>
> ---
>  src/cargo-meson.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/cargo-meson.sh b/src/cargo-meson.sh
> index 3998db0435..38728a3711 100755
> --- a/src/cargo-meson.sh
> +++ b/src/cargo-meson.sh
> @@ -26,7 +26,7 @@
>  	exit $RET
>  fi
>  
> -case "$(cargo -vV | sed -s 's/^host: \(.*\)$/\1/')" in
> +case "$(cargo -vV | sed -n 's/^host: \(.*\)$/\1/p')" in
>  	*-windows-*)
>  		LIBNAME=gitcore.lib;;
>  	*)

Yup, this looks exactly like discussed. Thanks, the fix looks good to
me!

Patrick

      parent reply	other threads:[~2025-12-19  6:24 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-18 23:25 [PATCH] rust: build correctly without GNU sed D. Ben Knoble
2025-12-19  0:53 ` Eric Sunshine
2025-12-19  6:24 ` Patrick Steinhardt [this message]

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

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

  git send-email \
    --in-reply-to=aUTvneg9W-6ba4Ev@pks.im \
    --to=ps@pks.im \
    --cc=ben.knoble+github@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=sunshine@sunshineco.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.