public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Eli Schwartz <eschwartz93@gmail.com>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] [PATCH 2/3] distutils-r1.eclass: wire up meson-python to meson.eclass
Date: Tue, 20 Feb 2024 00:12:53 -0500	[thread overview]
Message-ID: <1b9b73ea-9895-4680-aab7-117e47c9cc36@gmail.com> (raw)
In-Reply-To: <878r3flpaf.fsf@gentoo.org>


[-- Attachment #1.1.1: Type: text/plain, Size: 2181 bytes --]

On 2/19/24 11:42 PM, Sam James wrote:
> 
> Eli Schwartz <eschwartz93@gmail.com> writes:
> 
>> The meson-python build backend -- as the name suggests -- uses meson
>> under the hood. We have a meson eclass which does lots of useful things
>> pertinent to meson. Make sure it gets invoked.
>>
> 
> Maybe check a sample (or ideally all) of the meson-python reverse
> dependencies?


Actually it works great for scipy but fails for numpy since numpy is
using a localized testing branch of meson... so meson_src_configure
cannot parse the new meson module they are adding.

This is caused by the fact that I ran meson_src_configure followed by
gpep517 build-wheel. It is doubling up the configure runs, which isn't
great, but it wasn't obvious to me how to solve this:

- how to get at the accumulated mesonargs?
- BOOST_INCLUDEDIR / BOOST_LIBRARYDIR should be made global?


>> Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
>> ---
>>  eclass/distutils-r1.eclass | 6 +++++-
>>  1 file changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
>> index c0d1992ccce0..35825d4c3aa6 100644
>> --- a/eclass/distutils-r1.eclass
>> +++ b/eclass/distutils-r1.eclass
>> @@ -197,6 +197,10 @@ _DISTUTILS_R1_ECLASS=1
>>  inherit flag-o-matic
>>  inherit multibuild multilib multiprocessing ninja-utils toolchain-funcs
>>  
>> +if [[ ${DISTUTILS_USE_PEP517} = meson-python ]]; then
>> +	inherit meson
>> +fi
>> +
>>  if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then
>>  	inherit python-r1
>>  else
>> @@ -1386,6 +1390,7 @@ distutils_pep517_install() {
>>  			)
>>  			;;
>>  		meson-python)
>> +			meson_src_configure "${DISTUTILS_ARGS[@]}"
>>  			local -x NINJAOPTS=$(get_NINJAOPTS)
>>  			config_settings=$(
>>  				"${EPYTHON}" - "${DISTUTILS_ARGS[@]}" <<-EOF || die
>> @@ -1397,7 +1402,6 @@ distutils_pep517_install() {
>>  					ninjaopts = shlex.split(os.environ["NINJAOPTS"])
>>  					print(json.dumps({
>>  						"builddir": "${BUILD_DIR}",
>> -						"setup-args": sys.argv[1:],
>>  						"compile-args": ["-v"] + ninjaopts,
>>  					}))
>>  				EOF
> 

-- 
Eli Schwartz

[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 18399 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2024-02-20  5:13 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-20  4:26 [gentoo-dev] [PATCH 0/3] eclass updates for meson <> distutils <> LTO Eli Schwartz
2024-02-20  4:26 ` [gentoo-dev] [PATCH 1/3] meson.eclass: wire up LTO support directly into the meson options Eli Schwartz
2024-02-20  5:58   ` Mike Gilbert
2024-02-20  6:09     ` Eli Schwartz
2024-02-20  6:24       ` Mike Gilbert
2024-02-20  6:33         ` Eli Schwartz
2024-02-20  6:37           ` Eli Schwartz
2024-02-20  6:40           ` Sam James
2024-02-20  4:26 ` [gentoo-dev] [PATCH 2/3] distutils-r1.eclass: wire up meson-python to meson.eclass Eli Schwartz
2024-02-20  4:42   ` Sam James
2024-02-20  5:12     ` Eli Schwartz [this message]
2024-02-20  6:14       ` [gentoo-dev] [PATCH v2 0/5] eclass updates for meson <> distutils <> LTO Eli Schwartz
2024-02-20  6:14         ` [gentoo-dev] [PATCH v2 1/5] meson.eclass: wire up LTO support directly into the meson options Eli Schwartz
2024-02-20  6:14         ` [gentoo-dev] [PATCH v2 2/5] meson.eclass: prefer -D buildtype instead of --buildtype Eli Schwartz
2024-02-20  6:14         ` [gentoo-dev] [PATCH v2 3/5] meson.eclass: refactor src_configure into a setter function Eli Schwartz
2024-02-20  6:42           ` [gentoo-dev] " Eli Schwartz
2024-02-20  6:14         ` [gentoo-dev] [PATCH v2 4/5] distutils-r1.eclass: wire up meson-python to meson.eclass Eli Schwartz
2024-02-20  6:55           ` Michał Górny
2024-02-20 20:45             ` Eli Schwartz
2024-02-20  6:14         ` [gentoo-dev] [PATCH v2 5/5] distutils-r1.eclass: fix src_configure to handle flag-o-matic correctly Eli Schwartz
2024-02-20  6:28   ` [gentoo-dev] [PATCH 2/3] distutils-r1.eclass: wire up meson-python to meson.eclass Michał Górny
2024-02-20  4:26 ` [gentoo-dev] [PATCH 3/3] distutils-r1.eclass: fix src_configure to handle flag-o-matic correctly Eli Schwartz
2024-02-20  6:35   ` Michał Górny
2024-02-20  4:41 ` [gentoo-dev] [PATCH 0/3] eclass updates for meson <> distutils <> LTO Sam James

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=1b9b73ea-9895-4680-aab7-117e47c9cc36@gmail.com \
    --to=eschwartz93@gmail.com \
    --cc=gentoo-dev@lists.gentoo.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