Changeset 1dcb11c for xsoft


Ignore:
Timestamp:
11/02/2023 07:53:46 AM (7 months ago)
Author:
Xi Ruoyao <xry111@…>
Branches:
12.1, ken/TL2024, ken/tuningfonts, lazarus, plabs/newcss, python3.11, rahul/power-profiles-daemon, renodr/vulkan-addition, trunk, xry111/llvm18
Children:
4ae4523
Parents:
b05b7e3
Message:

thunderbird: Add Python 3.12 workaround

File:
1 edited

Legend:

Unmodified
Added
Removed
  • xsoft/other/thunderbird.xml

    rb05b7e3 r1dcb11c  
    141141      </para>
    142142    </note>
     143
     144    <para>
     145      The building system ships several internal copies of the Python 3
     146      modules <application>setuptools</application> and
     147      <filename>six.py</filename>.  The shipped copies are too old
     148      to work well with Python 3.12 or later.  Replace them with the
     149      symlinks to the LFS <application>setuptools</application> package and
     150      <xref linkend='six'/> already installed on the system, and adapt the
     151      building system for these updated Python modules.  We also need to
     152      rewrite the code based on the <filename>imp</filename> module removed
     153      in Python 3.12 and later using the <filename>importlib</filename>
     154      module:
     155    </para>
     156
     157<screen><userinput>(for i in $(find -name six.py); do
     158   ln -sfv /usr/lib/python&python3-majorver;/site-packages/six.py $i
     159   [ $? = 0 ] || exit $?
     160 done) &amp;&amp;
     161
     162sed '/ConfigParser/s/Safe//'                          \
     163    -i testing/mozbase/mozprofile/mozprofile/prefs.py &amp;&amp;
     164
     165(for i in setuptools distutils-precedence.pth  \
     166          pkg_resources _distutils_hack; do
     167   rm -rf third_party/python/setuptools/$i     &amp;&amp;
     168   ln -sv /usr/lib/python&python3-majorver;/site-packages/$i \
     169          third_party/python/setuptools
     170   [ $? = 0 ] || exit $?
     171 done) &amp;&amp;
     172
     173sed 's/distutils/setuptools._&amp;/'           \
     174    -i python/mozbuild/mozbuild/nodeutil.py &amp;&amp;
     175
     176sed -e '/^import/s/imp$/importlib.util/'             \
     177    -e 's/imp.new_module/__import__/'                \
     178    -e "s/imp.load_source\(.*\)/spec =               \
     179        importlib.util.spec_from_file_location\1;    \
     180        mod = importlib.util.module_from_spec(spec); \
     181        spec.loader.exec_module(mod)/" -i python/mach/mach/main.py &amp;&amp;
     182sed '/import imp/d' -i netwerk/dns/prepare_tlds.py
     183</userinput></screen>
    143184
    144185    <para>
Note: See TracChangeset for help on using the changeset viewer.