mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-01-24 06:52:14 +08:00
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
This commit is contained in:
parent
364c21ec6f
commit
b5b1af683a
@ -75,11 +75,7 @@
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="icu.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="inih.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="jansson.xml"/>
|
||||
<!-- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="js38.xml"/> -->
|
||||
<!-- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="js52.xml"/> -->
|
||||
<!-- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="js60.xml"/> -->
|
||||
<!-- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="js68.xml"/> -->
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="js78.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="js91.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="json-c.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="json-glib.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="keyutils.xml"/>
|
||||
|
@ -4,32 +4,32 @@
|
||||
<!ENTITY % general-entities SYSTEM "../../general.ent">
|
||||
%general-entities;
|
||||
|
||||
<!-- for when firefox and js78 use same version
|
||||
<!ENTITY ff78-version "&firefox-version;">
|
||||
<!-- for when firefox and js91 use same version
|
||||
<!ENTITY ff91-version "&firefox-version;">
|
||||
and when they are on different versions - keep this for when
|
||||
we have moved to next firefox-esr (ff-91) and JS has not moved
|
||||
<!ENTITY ff78-version "&JS78-version;"> -->
|
||||
<!ENTITY ff91-version "&JS91-version;"> -->
|
||||
|
||||
<!-- <!ENTITY ff78-version "&firefox-version;">-->
|
||||
<!ENTITY js78-download-http "&mozilla-http;/firefox/releases/&JS78-version;esr/source/firefox-&JS78-version;esr.source.tar.xz">
|
||||
<!ENTITY js78-download-ftp " ">
|
||||
<!ENTITY js78-md5sum "453c90444bad8702fd08b71213ab2cbc">
|
||||
<!ENTITY js78-size "316 MB">
|
||||
<!ENTITY js78-buildsize "3.0 GB (36 MB installed after removing 34MB static lib)">
|
||||
<!ENTITY js78-time "2.5 SBU (with parallelism=4)">
|
||||
<!-- <!ENTITY ff91-version "&firefox-version;">-->
|
||||
<!ENTITY js91-download-http "&mozilla-http;/firefox/releases/&JS91-version;esr/source/firefox-&JS91-version;esr.source.tar.xz">
|
||||
<!ENTITY js91-download-ftp " ">
|
||||
<!ENTITY js91-md5sum "038c417db527350d4fdd039870af819b">
|
||||
<!ENTITY js91-size "369 MB">
|
||||
<!ENTITY js91-buildsize "3.1 GB (37 MB installed after removing 34MB static lib)">
|
||||
<!ENTITY js91-time "7.0 SBU (with parallelism=4)">
|
||||
]>
|
||||
|
||||
<sect1 id="js78" xreflabel="js78-&JS78-version;">
|
||||
<?dbhtml filename="js78.html"?>
|
||||
<sect1 id="js91" xreflabel="JS-&JS91-version;">
|
||||
<?dbhtml filename="js91.html"?>
|
||||
|
||||
<sect1info>
|
||||
<date>$Date$</date>
|
||||
</sect1info>
|
||||
|
||||
<title>JS-&JS78-version;</title>
|
||||
<title>JS-&JS91-version;</title>
|
||||
|
||||
<indexterm zone="js78">
|
||||
<primary sortas="a-js78">js78</primary>
|
||||
<indexterm zone="js91">
|
||||
<primary sortas="a-js91">js91</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
@ -37,7 +37,7 @@
|
||||
|
||||
<para>
|
||||
<application>JS</application> is Mozilla's JavaScript engine
|
||||
written in C. JS78 is taken from Firefox.
|
||||
written in C. JS91 is taken from Firefox.
|
||||
</para>
|
||||
|
||||
&lfs111_checked;
|
||||
@ -46,51 +46,50 @@
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>
|
||||
Download (HTTP): <ulink url="&js78-download-http;"/>
|
||||
Download (HTTP): <ulink url="&js91-download-http;"/>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Download (FTP): <ulink url="&js78-download-ftp;"/>
|
||||
Download (FTP): <ulink url="&js91-download-ftp;"/>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Download MD5 sum: &js78-md5sum;
|
||||
Download MD5 sum: &js91-md5sum;
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Download size: &js78-size;
|
||||
Download size: &js91-size;
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Estimated disk space required: &js78-buildsize;
|
||||
Estimated disk space required: &js91-buildsize;
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Estimated build time: &js78-time;
|
||||
Estimated build time: &js91-time;
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<!--
|
||||
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>
|
||||
Required patch:
|
||||
<ulink url="&patch-root;/js-&JS78-version;-python_3_10-1.patch"/>
|
||||
<ulink url="&patch-root;/js-&JS91-version;-python_3_10-1.patch"/>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<bridgehead renderas="sect3">JS78 Dependencies</bridgehead>
|
||||
-->
|
||||
<bridgehead renderas="sect3">JS91 Dependencies</bridgehead>
|
||||
|
||||
<bridgehead renderas="sect4">Required</bridgehead>
|
||||
<para role="required">
|
||||
<xref linkend="autoconf213"/>,
|
||||
<xref linkend="icu"/>,
|
||||
<xref linkend="rust"/>, and
|
||||
<xref linkend="which"/>
|
||||
@ -104,7 +103,7 @@
|
||||
</para-->
|
||||
|
||||
<para condition="html" role="usernotes">
|
||||
User Notes: <ulink url="&blfs-wiki;/js78"/>
|
||||
User Notes: <ulink url="&blfs-wiki;/js91"/>
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
@ -114,8 +113,8 @@
|
||||
<note>
|
||||
<para>
|
||||
Unlike most other packages in BLFS, the instructions below require you
|
||||
to untar <filename>firefox-&JS78-version;esr.tar.xz</filename> and
|
||||
change into the <filename>firefox-&JS78-version;</filename> folder.
|
||||
to untar <filename>firefox-&JS91-version;esr.tar.xz</filename> and
|
||||
change into the <filename>firefox-&JS91-version;</filename> folder.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
@ -140,14 +139,14 @@ tar: Exiting with failure status due to previous errors
|
||||
</para>
|
||||
|
||||
</note>
|
||||
|
||||
<!--
|
||||
<para>
|
||||
Apply a patch to allow building this package with Python-3.10 or
|
||||
later:
|
||||
</para>
|
||||
|
||||
<screen><userinput>patch -Np1 -i ../js-&JS78-version;-python_3_10-1.patch</userinput></screen>
|
||||
|
||||
<screen><userinput>patch -Np1 -i ../js-&JS91-version;-python_3_10-1.patch</userinput></screen>
|
||||
-->
|
||||
<para>
|
||||
Install <application>JS</application> by running the following
|
||||
commands:
|
||||
@ -171,13 +170,13 @@ tar: Exiting with failure status due to previous errors
|
||||
cd obj &&
|
||||
|
||||
CC=gcc CXX=g++ \
|
||||
../js/src/configure --prefix=/usr \
|
||||
--with-intl-api \
|
||||
--with-system-zlib \
|
||||
--with-system-icu \
|
||||
--disable-jemalloc \
|
||||
--disable-debug-symbols \
|
||||
--enable-readline &&
|
||||
sh ../js/src/configure.in --prefix=/usr \
|
||||
--with-intl-api \
|
||||
--with-system-zlib \
|
||||
--with-system-icu \
|
||||
--disable-jemalloc \
|
||||
--disable-debug-symbols \
|
||||
--enable-readline &&
|
||||
make</userinput></screen>
|
||||
|
||||
<para>
|
||||
@ -186,34 +185,24 @@ make</userinput></screen>
|
||||
JSTESTS_EXTRA_ARGS="--timeout 300 --wpt=disabled"</command>.
|
||||
It's recommended to redirect the output into a log.
|
||||
<!-- recheck when ICU gets upgraded -->
|
||||
<!-- ken: removed "are known to fail' because there are
|
||||
4096 known failures, these icu items are unexpected failures
|
||||
and I found the wording confusing -->
|
||||
<!-- ken : For 78.4 this was 14 failures, I changed it to 10 for 78.5.
|
||||
On that machine with 78.6 still 10, but on another 14, both with similar
|
||||
setup and locale.
|
||||
Depending on the machine, either
|
||||
ten or fourteen JS tests related to locale and timezone fail,
|
||||
because of an issue with recent versions of <xref linkend="icu"/>.
|
||||
pierre: Now, with icu-70.1, there are many more failures.-->
|
||||
More than a hundred tests fail after upgrading to icu-70.1 or above,
|
||||
out of a total of more than 40,000.
|
||||
Because we are building with system ICU, more than one hundred tests
|
||||
(out of a total of more than 40,000) are known to fail.
|
||||
</para>
|
||||
<para>
|
||||
To run the JIT test suite, issue:
|
||||
<command>make -C js/src check-jit-test
|
||||
JITTEST_EXTRA_ARGS="--timeout 300"</command>. One test may fail.
|
||||
JITTEST_EXTRA_ARGS="--timeout 300"</command>.
|
||||
</para>
|
||||
|
||||
<caution>
|
||||
<para>
|
||||
An issue in the installation process causes any running program which
|
||||
links to JS78 shared library (for example, GNOME Shell) to crash if
|
||||
JS78 is upgraded or reinstalled. To work around this issue, remove
|
||||
the old version of the JS78 shared library before installation:
|
||||
links to JS91 shared library (for example, GNOME Shell) to crash if
|
||||
JS91 is upgraded or reinstalled. To work around this issue, remove
|
||||
the old version of the JS91 shared library before installation:
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput>rm -fv /usr/lib/libmozjs-78.so</userinput></screen>
|
||||
<screen role="root"><userinput>rm -fv /usr/lib/libmozjs-91.so</userinput></screen>
|
||||
</caution>
|
||||
|
||||
<para>
|
||||
@ -222,11 +211,11 @@ make</userinput></screen>
|
||||
|
||||
<screen role="root"><userinput>make install &&
|
||||
rm -v /usr/lib/libjs_static.ajs &&
|
||||
sed -i '/@NSPR_CFLAGS@/d' /usr/bin/js78-config</userinput></screen>
|
||||
sed -i '/@NSPR_CFLAGS@/d' /usr/bin/js91-config</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- Several gjs-1.65.90 tests fail with js78. Not sure why.
|
||||
<!-- Several gjs-1.65.90 tests fail with js91. Not sure why.
|
||||
OTOH an "otherwise" GNOME-3.36 environment works fine. -->
|
||||
|
||||
<sect2 role="commands">
|
||||
@ -239,7 +228,20 @@ sed -i '/@NSPR_CFLAGS@/d' /usr/bin/js78-config</userinput></screen>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<parameter>--with-*</parameter>: These parameters allow the build system
|
||||
<command>sh ../js/src/configure.in</command>:
|
||||
<filename>configure.in</filename> is actually a shell script, but
|
||||
the executable bit is not set in its permission mode so it's needed
|
||||
to explicitly run it with <command>sh</command>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<parameter>--with-intl-api</parameter>: This enables the
|
||||
internationalization functions required by
|
||||
<application>Gjs</application>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<parameter>--with-system-*</parameter>: These parameters allow the build system
|
||||
to use system versions of the above libraries. These are required for
|
||||
stability.
|
||||
</para>
|
||||
@ -251,16 +253,16 @@ sed -i '/@NSPR_CFLAGS@/d' /usr/bin/js78-config</userinput></screen>
|
||||
|
||||
<para>
|
||||
<parameter>--disable-jemalloc</parameter>: This switch disables the
|
||||
internal memory allocator used in JS78. jemalloc is only intended for
|
||||
the Firefox browser environment. For other applications using JS78,
|
||||
if JS78 uses jemalloc, the application may crash as items allocated
|
||||
internal memory allocator used in JS91. jemalloc is only intended for
|
||||
the Firefox browser environment. For other applications using JS91,
|
||||
if JS91 uses jemalloc, the application may crash as items allocated
|
||||
in jemalloc allocator are freed on system (glibc) allocator.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<parameter>--disable-debug-symbols</parameter>: Don't generate debug
|
||||
symbols since they are very large and most users won't need it. Remove
|
||||
it if you want to debug JS78.
|
||||
it if you want to debug JS91.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
@ -269,8 +271,8 @@ sed -i '/@NSPR_CFLAGS@/d' /usr/bin/js78-config</userinput></screen>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<command>sed -i '/@NSPR_CFLAGS@/d' /usr/bin/js78-config</command>:
|
||||
Prevent <command>js78-config</command> from using buggy CFLAGS.
|
||||
<command>sed -i '/@NSPR_CFLAGS@/d' /usr/bin/js91-config</command>:
|
||||
Prevent <command>js91-config</command> from using buggy CFLAGS.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
@ -285,13 +287,13 @@ sed -i '/@NSPR_CFLAGS@/d' /usr/bin/js78-config</userinput></screen>
|
||||
|
||||
<seglistitem>
|
||||
<seg>
|
||||
js78 and js78-config
|
||||
js91 and js91-config
|
||||
</seg>
|
||||
<seg>
|
||||
libmozjs-78.so
|
||||
libmozjs-91.so
|
||||
</seg>
|
||||
<seg>
|
||||
/usr/include/mozjs-78
|
||||
/usr/include/mozjs-91
|
||||
</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
@ -301,39 +303,39 @@ sed -i '/@NSPR_CFLAGS@/d' /usr/bin/js78-config</userinput></screen>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="js6-js78">
|
||||
<term><command>js78</command></term>
|
||||
<varlistentry id="js91-js91">
|
||||
<term><command>js91</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
provides a command line interface to the
|
||||
<application>JavaScript</application> engine
|
||||
</para>
|
||||
<indexterm zone="js78 js78">
|
||||
<primary sortas="b-js78">js78</primary>
|
||||
<indexterm zone="js91 js91">
|
||||
<primary sortas="b-js91">js91</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="js78-config">
|
||||
<term><command>js78-config</command></term>
|
||||
<varlistentry id="js91-config">
|
||||
<term><command>js91-config</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is used to find the JS compiler and linker flags
|
||||
</para>
|
||||
<indexterm zone="js78 js78-config">
|
||||
<primary sortas="b-js78-config">js78-config</primary>
|
||||
<indexterm zone="js91 js91-config">
|
||||
<primary sortas="b-js91-config">js91-config</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libmozjs-78">
|
||||
<term><filename class="libraryfile">libmozjs-78.so</filename></term>
|
||||
<varlistentry id="libmozjs-91">
|
||||
<term><filename class="libraryfile">libmozjs-91.so</filename></term>
|
||||
<listitem>
|
||||
<para>
|
||||
contains the Mozilla JavaScript API functions
|
||||
</para>
|
||||
<indexterm zone="js78 libmozjs-78">
|
||||
<primary sortas="c-libmozjs78">libmozjs-78.so</primary>
|
||||
<indexterm zone="js91 libmozjs-91">
|
||||
<primary sortas="c-libmozjs91">libmozjs-91.so</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
@ -27,7 +27,7 @@
|
||||
<!ENTITY yelp-xsl-version "41.1">
|
||||
<!ENTITY GConf-version "3.2.6">
|
||||
<!ENTITY geocode-glib-version "3.26.2">
|
||||
<!ENTITY gjs-version "1.70.1">
|
||||
<!ENTITY gjs-version "1.71.90">
|
||||
<!ENTITY gnome-autoar-version "0.4.3">
|
||||
<!ENTITY gnome-desktop-version "41.3">
|
||||
<!ENTITY gnome-menus-version "3.36.0">
|
||||
|
@ -4,10 +4,10 @@
|
||||
<!ENTITY % general-entities SYSTEM "../../general.ent">
|
||||
%general-entities;
|
||||
|
||||
<!ENTITY gjs-download-http "&gnome-download-http;/gjs/1.70/gjs-&gjs-version;.tar.xz">
|
||||
<!ENTITY gjs-download-ftp "&gnome-download-ftp;/gjs/1.70/gjs-&gjs-version;.tar.xz">
|
||||
<!ENTITY gjs-md5sum "5762ceb7cc5ed79acb0b9614511a7024">
|
||||
<!ENTITY gjs-size "588 KB">
|
||||
<!ENTITY gjs-download-http "&gnome-download-http;/gjs/1.71/gjs-&gjs-version;.tar.xz">
|
||||
<!ENTITY gjs-download-ftp "&gnome-download-ftp;/gjs/1.71/gjs-&gjs-version;.tar.xz">
|
||||
<!ENTITY gjs-md5sum "4c771a2d75c23ffa48a9e253152751f0">
|
||||
<!ENTITY gjs-size "608 KB">
|
||||
<!ENTITY gjs-buildsize "226 MB (with tests)">
|
||||
<!ENTITY gjs-time "0.6 SBU (with tests)">
|
||||
]>
|
||||
@ -76,7 +76,7 @@
|
||||
<xref linkend="cairo"/>,
|
||||
<xref linkend="dbus"/>,
|
||||
<xref linkend="gobject-introspection"/>, and
|
||||
<xref linkend="js78"/>
|
||||
<xref linkend="js91"/>
|
||||
</para>
|
||||
|
||||
<bridgehead renderas="sect4">Recommended (required for GNOME)</bridgehead>
|
||||
|
@ -41,6 +41,24 @@
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
-->
|
||||
<listitem>
|
||||
<para>March 6th, 2022</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[xry111] - Update to JS-91.6.0. Fixes
|
||||
<ulink url="&blfs-ticket-root;15368">#15368</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[xry111] - Add polkit-0.120 patch for JS-91. Addresses
|
||||
<ulink url="&blfs-ticket-root;15368">#15368</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[xry111] - Update to Gjs-1.71.90. Addresses
|
||||
<ulink url="&blfs-ticket-root;15368">#15368</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>March 5th, 2022</para>
|
||||
<itemizedlist>
|
||||
|
@ -123,6 +123,8 @@
|
||||
<!--<!ENTITY JS68-version "68.12.0">-->
|
||||
<!-- temporary, until JS91 is approved for gnome -->
|
||||
<!ENTITY JS78-version "78.15.0">
|
||||
<!-- will "detach" it when Firefox ESR 102 is releasing (in Jun 2022) -->
|
||||
<!ENTITY JS91-version "&firefox-version;">
|
||||
<!ENTITY json-c-version "0.15">
|
||||
<!ENTITY json-glib-version "1.6.6">
|
||||
<!ENTITY keyutils-version "1.6.1">
|
||||
|
@ -78,6 +78,12 @@
|
||||
<ulink url="&patch-root;/polkit-&polkit-version;-security_fixes-1.patch"/>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Required patch:
|
||||
<ulink url="&patch-root;/polkit-&polkit-version;-js91-1.patch"/>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<bridgehead renderas="sect3">Polkit Dependencies</bridgehead>
|
||||
@ -85,7 +91,7 @@
|
||||
<bridgehead renderas="sect4">Required</bridgehead>
|
||||
<para role="required">
|
||||
<xref linkend="glib2"/> and
|
||||
<xref linkend="js78"/>
|
||||
<xref linkend="js91"/>
|
||||
</para>
|
||||
|
||||
<bridgehead renderas="sect4">Recommended</bridgehead>
|
||||
@ -196,6 +202,12 @@ sed '/policy,/d' -i actions/meson.build \
|
||||
|
||||
<screen><userinput remap="pre">patch -Np1 -i ../polkit-&polkit-version;-security_fixes-1.patch</userinput></screen>
|
||||
|
||||
<para>
|
||||
Port this package to use JS-91:
|
||||
</para>
|
||||
|
||||
<screen><userinput remap="pre">patch -Np1 -i ../polkit-&polkit-version;-js91-1.patch</userinput></screen>
|
||||
|
||||
<para>
|
||||
Install <application>Polkit</application> by running the following
|
||||
commands:
|
||||
|
Loading…
Reference in New Issue
Block a user