<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>261082</bug_id>
          
          <creation_ts>2023-09-03 05:06:42 -0700</creation_ts>
          <short_desc>AutoInstaller needs PEP 517 build system support (don&apos;t use `setup.py build`)</short_desc>
          <delta_ts>2025-05-14 10:33:04 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=261113</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=263299</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=289909</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Sneddon [:gsnedders]">gsnedders</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cklim4101</cc>
    
    <cc>fujii</cc>
    
    <cc>jbedard</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1975249</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2023-09-03 05:06:42 -0700</bug_when>
    <thetext>This packages relies on PEP 517 (https://peps.python.org/pep-0517/) being properly implemented; while Jonathan implemented a hackish workaround with bug 253066 that works for some packages, it doesn&apos;t work for bs4 which declares in its pyproject.toml:

[build-system]
requires = [&quot;hatchling&quot;]
build-backend = &quot;hatchling.build&quot;

I still feel like us having to reimplement more and more of the Python packaging ecosystem is likely fragile, and we should simply leverage more existing tools (whether by calling pip from the autoinstaller, or by vendoring packages such as build).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1975252</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2023-09-03 07:10:54 -0700</bug_when>
    <thetext>So https://github.com/WebKit/WebKit/pull/17201 uses this version of bs4 and it works for me. That&apos;s strange.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1975254</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2023-09-03 07:52:41 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #1)
&gt; So https://github.com/WebKit/WebKit/pull/17201 uses this version of bs4 and
&gt; it works for me. That&apos;s strange.

My first guess is somehow our hacky workaround from bug 253066 suffices with the version of setuptools we have on Python 3.8+: https://github.com/WebKit/WebKit/blob/5ea837d2ce2e325744ef5d63d11e1c41e8a2c5e8/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py#L61-L62</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2051405</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2024-08-08 07:52:28 -0700</bug_when>
    <thetext>BS4 does always have a wheel, so if we simply oblige it to install from the wheel it should work, I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2053464</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2024-08-16 18:51:34 -0700</bug_when>
    <thetext>Let&apos;s make this more generic than just BS4, and just use this for the entire build support issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2053465</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2024-08-16 18:52:38 -0700</bug_when>
    <thetext>&lt;rdar://problem/134102588&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2103803</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2025-03-17 12:00:19 -0700</bug_when>
    <thetext>If we&apos;re using build, we probably need to implement our own isolated env that installs things via the AutoInstaller: https://build.pypa.io/en/stable/api.html#build.env.DefaultIsolatedEnv</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>