Changeset b5b1af68


Ignore:
Timestamp:
03/06/2022 08:22:05 AM (2 years ago)
Author:
Xi Ruoyao <xry111@…>
Branches:
11.2, 11.3, 12.0, 12.1, kea, ken/TL2024, ken/inkscape-core-mods, ken/tuningfonts, lazarus, lxqt, plabs/newcss, plabs/python-mods, python3.11, qt5new, rahul/power-profiles-daemon, renodr/vulkan-addition, trunk, xry111/llvm18, xry111/soup3, xry111/xf86-video-removal
Children:
60caf48
Parents:
364c21e
Message:

update to JS91 (#15368)

  • js-78 -> js-91.6.0
  • gjs-1.70.1 -> gjs-1.71.90: it's a development release, but works fine

with GNOME 41

  • add polkit-0.120-js91-1.patch
Files:
6 edited
1 moved

Legend:

Unmodified
Added
Removed
  • general/genlib/genlib.xml

    r364c21e rb5b1af68  
    7676  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="inih.xml"/>
    7777  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="jansson.xml"/>
    78 <!--  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="js38.xml"/> -->
    79 <!--  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="js52.xml"/> -->
    80 <!--  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="js60.xml"/> -->
    81 <!--  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="js68.xml"/> -->
    82   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="js78.xml"/>
     78  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="js91.xml"/>
    8379  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="json-c.xml"/>
    8480  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="json-glib.xml"/>
  • general/genlib/js91.xml

    r364c21e rb5b1af68  
    55  %general-entities;
    66
    7 <!-- for when firefox and js78 use same version
    8   <!ENTITY ff78-version       "&firefox-version;">
     7<!-- for when firefox and js91 use same version
     8  <!ENTITY ff91-version       "&firefox-version;">
    99  and when they are on different versions - keep this for when
    1010  we have moved to next firefox-esr (ff-91) and JS  has not moved
    11   <!ENTITY ff78-version       "&JS78-version;"> -->
    12 
    13 <!-- <!ENTITY ff78-version       "&firefox-version;">-->
    14   <!ENTITY js78-download-http "&mozilla-http;/firefox/releases/&JS78-version;esr/source/firefox-&JS78-version;esr.source.tar.xz">
    15   <!ENTITY js78-download-ftp  " ">
    16   <!ENTITY js78-md5sum        "453c90444bad8702fd08b71213ab2cbc">
    17   <!ENTITY js78-size          "316 MB">
    18   <!ENTITY js78-buildsize     "3.0 GB (36 MB installed after removing 34MB static lib)">
    19   <!ENTITY js78-time          "2.5 SBU (with parallelism=4)">
     11  <!ENTITY ff91-version       "&JS91-version;"> -->
     12
     13<!-- <!ENTITY ff91-version       "&firefox-version;">-->
     14  <!ENTITY js91-download-http "&mozilla-http;/firefox/releases/&JS91-version;esr/source/firefox-&JS91-version;esr.source.tar.xz">
     15  <!ENTITY js91-download-ftp  " ">
     16  <!ENTITY js91-md5sum        "038c417db527350d4fdd039870af819b">
     17  <!ENTITY js91-size          "369 MB">
     18  <!ENTITY js91-buildsize     "3.1 GB (37 MB installed after removing 34MB static lib)">
     19  <!ENTITY js91-time          "7.0 SBU (with parallelism=4)">
    2020]>
    2121
    22 <sect1 id="js78" xreflabel="js78-&JS78-version;">
    23   <?dbhtml filename="js78.html"?>
     22<sect1 id="js91" xreflabel="JS-&JS91-version;">
     23  <?dbhtml filename="js91.html"?>
    2424
    2525  <sect1info>
     
    2727  </sect1info>
    2828
    29   <title>JS-&JS78-version;</title>
    30 
    31   <indexterm zone="js78">
    32     <primary sortas="a-js78">js78</primary>
     29  <title>JS-&JS91-version;</title>
     30
     31  <indexterm zone="js91">
     32    <primary sortas="a-js91">js91</primary>
    3333  </indexterm>
    3434
     
    3838    <para>
    3939      <application>JS</application> is Mozilla's JavaScript engine
    40       written in C. JS78 is taken from Firefox.
     40      written in C. JS91 is taken from Firefox.
    4141    </para>
    4242
     
    4747      <listitem>
    4848        <para>
    49           Download (HTTP): <ulink url="&js78-download-http;"/>
    50         </para>
    51       </listitem>
    52       <listitem>
    53         <para>
    54           Download (FTP): <ulink url="&js78-download-ftp;"/>
    55         </para>
    56       </listitem>
    57       <listitem>
    58         <para>
    59           Download MD5 sum: &js78-md5sum;
    60         </para>
    61       </listitem>
    62       <listitem>
    63         <para>
    64           Download size: &js78-size;
    65         </para>
    66       </listitem>
    67       <listitem>
    68         <para>
    69           Estimated disk space required: &js78-buildsize;
    70         </para>
    71       </listitem>
    72       <listitem>
    73         <para>
    74           Estimated build time: &js78-time;
     49          Download (HTTP): <ulink url="&js91-download-http;"/>
     50        </para>
     51      </listitem>
     52      <listitem>
     53        <para>
     54          Download (FTP): <ulink url="&js91-download-ftp;"/>
     55        </para>
     56      </listitem>
     57      <listitem>
     58        <para>
     59          Download MD5 sum: &js91-md5sum;
     60        </para>
     61      </listitem>
     62      <listitem>
     63        <para>
     64          Download size: &js91-size;
     65        </para>
     66      </listitem>
     67      <listitem>
     68        <para>
     69          Estimated disk space required: &js91-buildsize;
     70        </para>
     71      </listitem>
     72      <listitem>
     73        <para>
     74          Estimated build time: &js91-time;
    7575        </para>
    7676      </listitem>
    7777    </itemizedlist>
    78 
     78<!--
    7979    <bridgehead renderas="sect3">Additional Downloads</bridgehead>
    8080    <itemizedlist spacing="compact">
     
    8282        <para>
    8383          Required patch:
    84           <ulink url="&patch-root;/js-&JS78-version;-python_3_10-1.patch"/>
     84          <ulink url="&patch-root;/js-&JS91-version;-python_3_10-1.patch"/>
    8585        </para>
    8686      </listitem>
    8787    </itemizedlist>
    88 
    89     <bridgehead renderas="sect3">JS78 Dependencies</bridgehead>
     88-->
     89    <bridgehead renderas="sect3">JS91 Dependencies</bridgehead>
    9090
    9191    <bridgehead renderas="sect4">Required</bridgehead>
    9292    <para role="required">
    93       <xref linkend="autoconf213"/>,
    9493      <xref linkend="icu"/>,
    9594      <xref linkend="rust"/>, and
     
    105104
    106105    <para condition="html" role="usernotes">
    107       User Notes: <ulink url="&blfs-wiki;/js78"/>
     106      User Notes: <ulink url="&blfs-wiki;/js91"/>
    108107    </para>
    109108  </sect2>
     
    115114      <para>
    116115        Unlike most other packages in BLFS, the instructions below require you
    117         to untar <filename>firefox-&JS78-version;esr.tar.xz</filename> and
    118         change into the <filename>firefox-&JS78-version;</filename> folder.
     116        to untar <filename>firefox-&JS91-version;esr.tar.xz</filename> and
     117        change into the <filename>firefox-&JS91-version;</filename> folder.
    119118      </para>
    120119
     
    141140
    142141    </note>
    143 
     142<!--
    144143    <para>
    145144      Apply a patch to allow building this package with Python-3.10 or
     
    147146    </para>
    148147
    149 <screen><userinput>patch -Np1 -i ../js-&JS78-version;-python_3_10-1.patch</userinput></screen>
    150 
     148<screen><userinput>patch -Np1 -i ../js-&JS91-version;-python_3_10-1.patch</userinput></screen>
     149-->
    151150    <para>
    152151      Install <application>JS</application> by running the following
     
    172171
    173172CC=gcc CXX=g++ \
    174 ../js/src/configure --prefix=/usr            \
    175                     --with-intl-api          \
    176                     --with-system-zlib       \
    177                     --with-system-icu        \
    178                     --disable-jemalloc       \
    179                     --disable-debug-symbols  \
    180                     --enable-readline        &amp;&amp;
     173sh ../js/src/configure.in --prefix=/usr            \
     174                          --with-intl-api          \
     175                          --with-system-zlib       \
     176                          --with-system-icu        \
     177                          --disable-jemalloc       \
     178                          --disable-debug-symbols  \
     179                          --enable-readline        &amp;&amp;
    181180make</userinput></screen>
    182181
     
    187186      It's recommended to redirect the output into a log.
    188187      <!-- recheck when ICU gets upgraded -->
    189       <!-- ken: removed "are known to fail' because there are
    190        4096 known failures, these icu items are unexpected failures
    191        and I found the wording confusing  -->
    192       <!-- ken : For 78.4 this was 14 failures, I changed it to 10 for 78.5.
    193       On that machine with 78.6 still 10, but on another 14, both with similar
    194       setup and locale.
    195       Depending on the machine, either
    196       ten or fourteen JS tests related to locale and timezone fail,
    197       because of an issue with recent versions of <xref linkend="icu"/>.
    198       pierre: Now, with icu-70.1, there are many more failures.-->
    199       More than a hundred tests fail after upgrading to icu-70.1 or above,
    200       out of a total of more than 40,000.
     188      Because we are building with system ICU, more than one hundred tests
     189      (out of a total of more than 40,000) are known to fail.
    201190    </para>
    202191    <para>
    203192      To run the JIT test suite, issue:
    204193      <command>make -C js/src check-jit-test
    205       JITTEST_EXTRA_ARGS="--timeout 300"</command>. One test may fail.
     194      JITTEST_EXTRA_ARGS="--timeout 300"</command>.
    206195    </para>
    207196
     
    209198      <para>
    210199        An issue in the installation process causes any running program which
    211         links to JS78 shared library (for example, GNOME Shell) to crash if
    212         JS78 is upgraded or reinstalled.  To work around this issue, remove
    213         the old version of the JS78 shared library before installation:
     200        links to JS91 shared library (for example, GNOME Shell) to crash if
     201        JS91 is upgraded or reinstalled.  To work around this issue, remove
     202        the old version of the JS91 shared library before installation:
    214203      </para>
    215204
    216 <screen role="root"><userinput>rm -fv /usr/lib/libmozjs-78.so</userinput></screen>
     205<screen role="root"><userinput>rm -fv /usr/lib/libmozjs-91.so</userinput></screen>
    217206    </caution>
    218207
     
    223212<screen role="root"><userinput>make install &amp;&amp;
    224213rm -v /usr/lib/libjs_static.ajs &amp;&amp;
    225 sed -i '/@NSPR_CFLAGS@/d' /usr/bin/js78-config</userinput></screen>
     214sed -i '/@NSPR_CFLAGS@/d' /usr/bin/js91-config</userinput></screen>
    226215
    227216  </sect2>
    228217
    229   <!-- Several gjs-1.65.90 tests fail with js78.  Not sure why.
     218  <!-- Several gjs-1.65.90 tests fail with js91.  Not sure why.
    230219       OTOH an "otherwise" GNOME-3.36 environment works fine. -->
    231220
     
    240229
    241230    <para>
    242       <parameter>--with-*</parameter>: These parameters allow the build system
     231      <command>sh ../js/src/configure.in</command>:
     232      <filename>configure.in</filename> is actually a shell script, but
     233      the executable bit is not set in its permission mode so it's needed
     234      to explicitly run it with <command>sh</command>.
     235    </para>
     236
     237    <para>
     238      <parameter>--with-intl-api</parameter>: This enables the
     239      internationalization functions required by
     240      <application>Gjs</application>.
     241    </para>
     242
     243    <para>
     244      <parameter>--with-system-*</parameter>: These parameters allow the build system
    243245      to use system versions of the above libraries. These are required for
    244246      stability.
     
    252254    <para>
    253255      <parameter>--disable-jemalloc</parameter>: This switch disables the
    254       internal memory allocator used in JS78. jemalloc is only intended for
    255       the Firefox browser environment. For other applications using JS78,
    256       if JS78 uses jemalloc, the application may crash as items allocated
     256      internal memory allocator used in JS91. jemalloc is only intended for
     257      the Firefox browser environment. For other applications using JS91,
     258      if JS91 uses jemalloc, the application may crash as items allocated
    257259      in jemalloc allocator are freed on system (glibc) allocator.
    258260    </para>
     
    261263      <parameter>--disable-debug-symbols</parameter>: Don't generate debug
    262264      symbols since they are very large and most users won't need it. Remove
    263       it if you want to debug JS78.
     265      it if you want to debug JS91.
    264266    </para>
    265267
     
    270272
    271273    <para>
    272       <command>sed -i '/@NSPR_CFLAGS@/d' /usr/bin/js78-config</command>:
    273       Prevent <command>js78-config</command> from using buggy CFLAGS.
     274      <command>sed -i '/@NSPR_CFLAGS@/d' /usr/bin/js91-config</command>:
     275      Prevent <command>js91-config</command> from using buggy CFLAGS.
    274276    </para>
    275277
     
    286288      <seglistitem>
    287289        <seg>
    288           js78 and js78-config
     290          js91 and js91-config
    289291        </seg>
    290292        <seg>
    291           libmozjs-78.so
     293          libmozjs-91.so
    292294        </seg>
    293295        <seg>
    294           /usr/include/mozjs-78
     296          /usr/include/mozjs-91
    295297        </seg>
    296298      </seglistitem>
     
    302304      <?dbhtml list-presentation="table"?>
    303305
    304       <varlistentry id="js6-js78">
    305         <term><command>js78</command></term>
     306      <varlistentry id="js91-js91">
     307        <term><command>js91</command></term>
    306308        <listitem>
    307309          <para>
     
    309311            <application>JavaScript</application> engine
    310312          </para>
    311           <indexterm zone="js78 js78">
    312             <primary sortas="b-js78">js78</primary>
     313          <indexterm zone="js91 js91">
     314            <primary sortas="b-js91">js91</primary>
    313315          </indexterm>
    314316        </listitem>
    315317      </varlistentry>
    316318
    317       <varlistentry id="js78-config">
    318         <term><command>js78-config</command></term>
     319      <varlistentry id="js91-config">
     320        <term><command>js91-config</command></term>
    319321        <listitem>
    320322          <para>
    321323            is used to find the JS compiler and linker flags
    322324          </para>
    323           <indexterm zone="js78 js78-config">
    324             <primary sortas="b-js78-config">js78-config</primary>
     325          <indexterm zone="js91 js91-config">
     326            <primary sortas="b-js91-config">js91-config</primary>
    325327          </indexterm>
    326328        </listitem>
    327329      </varlistentry>
    328330
    329       <varlistentry id="libmozjs-78">
    330         <term><filename class="libraryfile">libmozjs-78.so</filename></term>
     331      <varlistentry id="libmozjs-91">
     332        <term><filename class="libraryfile">libmozjs-91.so</filename></term>
    331333        <listitem>
    332334          <para>
    333335            contains the Mozilla JavaScript API functions
    334336          </para>
    335           <indexterm zone="js78 libmozjs-78">
    336             <primary sortas="c-libmozjs78">libmozjs-78.so</primary>
     337          <indexterm zone="js91 libmozjs-91">
     338            <primary sortas="c-libmozjs91">libmozjs-91.so</primary>
    337339          </indexterm>
    338340        </listitem>
  • gnome.ent

    r364c21e rb5b1af68  
    2828<!ENTITY GConf-version                     "3.2.6">
    2929<!ENTITY geocode-glib-version              "3.26.2">
    30 <!ENTITY gjs-version                       "1.70.1">
     30<!ENTITY gjs-version                       "1.71.90">
    3131<!ENTITY gnome-autoar-version              "0.4.3">
    3232<!ENTITY gnome-desktop-version             "41.3">
  • gnome/platform/gjs.xml

    r364c21e rb5b1af68  
    55  %general-entities;
    66
    7   <!ENTITY gjs-download-http "&gnome-download-http;/gjs/1.70/gjs-&gjs-version;.tar.xz">
    8   <!ENTITY gjs-download-ftp  "&gnome-download-ftp;/gjs/1.70/gjs-&gjs-version;.tar.xz">
    9   <!ENTITY gjs-md5sum        "5762ceb7cc5ed79acb0b9614511a7024">
    10   <!ENTITY gjs-size          "588 KB">
     7  <!ENTITY gjs-download-http "&gnome-download-http;/gjs/1.71/gjs-&gjs-version;.tar.xz">
     8  <!ENTITY gjs-download-ftp  "&gnome-download-ftp;/gjs/1.71/gjs-&gjs-version;.tar.xz">
     9  <!ENTITY gjs-md5sum        "4c771a2d75c23ffa48a9e253152751f0">
     10  <!ENTITY gjs-size          "608 KB">
    1111  <!ENTITY gjs-buildsize     "226 MB (with tests)">
    1212  <!ENTITY gjs-time          "0.6 SBU (with tests)">
     
    7777      <xref linkend="dbus"/>,
    7878      <xref linkend="gobject-introspection"/>, and
    79       <xref linkend="js78"/>
     79      <xref linkend="js91"/>
    8080    </para>
    8181
  • introduction/welcome/changelog.xml

    r364c21e rb5b1af68  
    4242    </listitem>
    4343    -->
     44    <listitem>
     45      <para>March 6th, 2022</para>
     46      <itemizedlist>
     47        <listitem>
     48          <para>[xry111] - Update to JS-91.6.0.  Fixes
     49          <ulink url="&blfs-ticket-root;15368">#15368</ulink>.</para>
     50        </listitem>
     51        <listitem>
     52          <para>[xry111] - Add polkit-0.120 patch for JS-91.  Addresses
     53          <ulink url="&blfs-ticket-root;15368">#15368</ulink>.</para>
     54        </listitem>
     55        <listitem>
     56          <para>[xry111] - Update to Gjs-1.71.90.  Addresses
     57          <ulink url="&blfs-ticket-root;15368">#15368</ulink>.</para>
     58        </listitem>
     59      </itemizedlist>
     60    </listitem>
     61
    4462    <listitem>
    4563      <para>March 5th, 2022</para>
  • packages.ent

    r364c21e rb5b1af68  
    124124<!-- temporary, until JS91 is approved for gnome -->
    125125<!ENTITY JS78-version                 "78.15.0">
     126<!-- will "detach" it when Firefox ESR 102 is releasing (in Jun 2022) -->
     127<!ENTITY JS91-version                 "&firefox-version;">
    126128<!ENTITY json-c-version               "0.15">
    127129<!ENTITY json-glib-version            "1.6.6">
  • postlfs/security/polkit.xml

    r364c21e rb5b1af68  
    7979        </para>
    8080      </listitem>
     81      <listitem>
     82        <para>
     83          Required patch:
     84          <ulink url="&patch-root;/polkit-&polkit-version;-js91-1.patch"/>
     85        </para>
     86      </listitem>
    8187    </itemizedlist>
    8288
     
    8692    <para role="required">
    8793      <xref linkend="glib2"/> and
    88       <xref linkend="js78"/>
     94      <xref linkend="js91"/>
    8995    </para>
    9096
     
    196202
    197203<screen><userinput remap="pre">patch -Np1 -i ../polkit-&polkit-version;-security_fixes-1.patch</userinput></screen>
     204
     205    <para>
     206      Port this package to use JS-91:
     207    </para>
     208
     209<screen><userinput remap="pre">patch -Np1 -i ../polkit-&polkit-version;-js91-1.patch</userinput></screen>
    198210
    199211    <para>
Note: See TracChangeset for help on using the changeset viewer.