mozjs38: fix multiple issues
Fix malformed library name and include directory to contain the major version (libmozjs-38.so and /usr/include/mozjs-38). Add major version to js shell, js-config and pkg-config files. Patches from Debian. Fix conflict with js-1.8.5.
This commit is contained in:
parent
9acd57fc6a
commit
ac1927d2cc
7 changed files with 244 additions and 27 deletions
|
@ -2740,7 +2740,7 @@ libmutter-clutter-0.so mutter-3.24.0_1
|
|||
libmutter-cogl-path-0.so mutter-3.24.0_1
|
||||
libmutter-cogl-0.so mutter-3.24.0_1
|
||||
libmutter-cogl-pango-0.so mutter-3.24.0_1
|
||||
libmozjs-.so mozjs38-38.8.0_1
|
||||
libmozjs-38.so mozjs38-38.8.0_4
|
||||
libostree-1.so.1 libostree-2017.3_1
|
||||
librhash.so.0 rhash-1.3.4_1
|
||||
libserialport.so.0 libserialport-0.1.1_1
|
||||
|
|
20
srcpkgs/mozjs38/patches/copy-headers.patch
Normal file
20
srcpkgs/mozjs38/patches/copy-headers.patch
Normal file
|
@ -0,0 +1,20 @@
|
|||
Description: Copy headers on install instead of symlinking
|
||||
Author: Rico Tzschichholz <ricotz@ubuntu.com>
|
||||
Forwarded: no
|
||||
Last-Update: 2014-10-29
|
||||
|
||||
---
|
||||
|
||||
Index: b/python/mozbuild/mozbuild/backend/recursivemake.py
|
||||
===================================================================
|
||||
--- a/python/mozbuild/mozbuild/backend/recursivemake.py
|
||||
+++ b/python/mozbuild/mozbuild/backend/recursivemake.py
|
||||
@@ -796,7 +796,7 @@
|
||||
return
|
||||
|
||||
for source, dest, _ in self._walk_hierarchy(obj, exports):
|
||||
- self._install_manifests['dist_include'].add_symlink(source, dest)
|
||||
+ self._install_manifests['dist_include'].add_copy(source, dest)
|
||||
|
||||
if not os.path.exists(source):
|
||||
raise Exception('File listed in EXPORTS does not exist: %s' % source)
|
|
@ -1,6 +1,11 @@
|
|||
--- js/src/configure 2017-03-21 06:18:29.372463084 -0600
|
||||
+++ js/src/configure 2017-03-21 06:27:37.546371605 -0600
|
||||
@@ -15906,7 +15906,7 @@
|
||||
Add bracket for sed 4.3 compliance
|
||||
|
||||
Based on upstream fix by Daniel Stenberg in 09 jan 2017
|
||||
See: https://hg.mozilla.org/mozilla-central/rev/ebcbf47a83e7
|
||||
|
||||
--- a/js/src/configure 2017-02-21 16:56:42.350105741 -0300
|
||||
+++ b/js/src/configure 2017-02-21 17:33:13.183493978 -0300
|
||||
@@ -15231,7 +15231,7 @@
|
||||
fi
|
||||
fi
|
||||
|
122
srcpkgs/mozjs38/patches/gcc-alignment.patch
Normal file
122
srcpkgs/mozjs38/patches/gcc-alignment.patch
Normal file
|
@ -0,0 +1,122 @@
|
|||
--- a/js/src/jit/RegisterSets.h 2017-02-10 17:33:06.210702431 -0800
|
||||
+++ b/js/src/jit/RegisterSets.h 2017-02-10 17:43:52.877514146 -0800
|
||||
@@ -7,7 +7,6 @@
|
||||
#ifndef jit_RegisterSets_h
|
||||
#define jit_RegisterSets_h
|
||||
|
||||
-#include "mozilla/Alignment.h"
|
||||
#include "mozilla/MathAlgorithms.h"
|
||||
|
||||
#include "jit/JitAllocPolicy.h"
|
||||
@@ -26,8 +25,8 @@
|
||||
Code code_;
|
||||
|
||||
public:
|
||||
- AnyRegister()
|
||||
- { }
|
||||
+ AnyRegister() = default;
|
||||
+
|
||||
explicit AnyRegister(Register gpr) {
|
||||
code_ = gpr.code();
|
||||
}
|
||||
@@ -156,7 +155,7 @@
|
||||
}
|
||||
#endif
|
||||
|
||||
- ValueOperand() {}
|
||||
+ ValueOperand() = default;
|
||||
};
|
||||
|
||||
// Registers to hold either either a typed or untyped value.
|
||||
@@ -165,46 +164,25 @@
|
||||
// Type of value being stored.
|
||||
MIRType type_;
|
||||
|
||||
- // Space to hold either an AnyRegister or a ValueOperand.
|
||||
union U {
|
||||
- mozilla::AlignedStorage2<AnyRegister> typed;
|
||||
- mozilla::AlignedStorage2<ValueOperand> value;
|
||||
+ AnyRegister typed;
|
||||
+ ValueOperand value;
|
||||
} data;
|
||||
|
||||
- AnyRegister& dataTyped() {
|
||||
- MOZ_ASSERT(hasTyped());
|
||||
- return *data.typed.addr();
|
||||
- }
|
||||
- ValueOperand& dataValue() {
|
||||
- MOZ_ASSERT(hasValue());
|
||||
- return *data.value.addr();
|
||||
- }
|
||||
-
|
||||
- AnyRegister dataTyped() const {
|
||||
- MOZ_ASSERT(hasTyped());
|
||||
- return *data.typed.addr();
|
||||
- }
|
||||
- const ValueOperand& dataValue() const {
|
||||
- MOZ_ASSERT(hasValue());
|
||||
- return *data.value.addr();
|
||||
- }
|
||||
-
|
||||
public:
|
||||
|
||||
- TypedOrValueRegister()
|
||||
- : type_(MIRType_None)
|
||||
- {}
|
||||
+ TypedOrValueRegister() = default;
|
||||
|
||||
TypedOrValueRegister(MIRType type, AnyRegister reg)
|
||||
: type_(type)
|
||||
{
|
||||
- dataTyped() = reg;
|
||||
+ data.typed = reg;
|
||||
}
|
||||
|
||||
MOZ_IMPLICIT TypedOrValueRegister(ValueOperand value)
|
||||
: type_(MIRType_Value)
|
||||
{
|
||||
- dataValue() = value;
|
||||
+ data.value = value;
|
||||
}
|
||||
|
||||
MIRType type() const {
|
||||
@@ -220,11 +198,13 @@
|
||||
}
|
||||
|
||||
AnyRegister typedReg() const {
|
||||
- return dataTyped();
|
||||
+ MOZ_ASSERT(hasTyped());
|
||||
+ return data.typed;
|
||||
}
|
||||
|
||||
ValueOperand valueReg() const {
|
||||
- return dataValue();
|
||||
+ MOZ_ASSERT(hasValue());
|
||||
+ return data.value;
|
||||
}
|
||||
|
||||
AnyRegister scratchReg() {
|
||||
@@ -240,19 +220,18 @@
|
||||
// Whether a constant value is being stored.
|
||||
bool constant_;
|
||||
|
||||
- // Space to hold either a Value or a TypedOrValueRegister.
|
||||
union U {
|
||||
- mozilla::AlignedStorage2<Value> constant;
|
||||
- mozilla::AlignedStorage2<TypedOrValueRegister> reg;
|
||||
+ Value constant;
|
||||
+ TypedOrValueRegister reg;
|
||||
} data;
|
||||
|
||||
Value& dataValue() {
|
||||
MOZ_ASSERT(constant());
|
||||
- return *data.constant.addr();
|
||||
+ return data.constant;
|
||||
}
|
||||
TypedOrValueRegister& dataReg() {
|
||||
MOZ_ASSERT(!constant());
|
||||
- return *data.reg.addr();
|
||||
+ return data.reg;
|
||||
}
|
||||
|
||||
public:
|
65
srcpkgs/mozjs38/patches/js-version.patch
Normal file
65
srcpkgs/mozjs38/patches/js-version.patch
Normal file
|
@ -0,0 +1,65 @@
|
|||
# HG changeset patch
|
||||
# Parent 4732a0e5d22bc7e5c1f1ace7a182d537d9cc2c6a
|
||||
Add major version to shell and js-config filenames.
|
||||
Author: Rico Tzschichholz <ricotz@ubuntu.com>
|
||||
Forwarded: no
|
||||
Last-Update: 2014-10-29
|
||||
|
||||
---
|
||||
diff --git a/js/src/configure b/js/src/configure
|
||||
--- a/js/src/configure
|
||||
+++ b/js/src/configure
|
||||
@@ -1696,8 +1696,13 @@
|
||||
MOZJS_PATCH_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9]*[^0-9]*||"`
|
||||
IS_ALPHA=`echo $MOZILLA_VERSION | grep '[ab]'`
|
||||
|
||||
+if test -n "$JS_STANDALONE"; then
|
||||
+JS_SHELL_NAME=js$MOZJS_MAJOR_VERSION
|
||||
+JS_CONFIG_NAME=js$MOZJS_MAJOR_VERSION-config
|
||||
+else
|
||||
JS_SHELL_NAME=js
|
||||
JS_CONFIG_NAME=js-config
|
||||
+fi
|
||||
|
||||
|
||||
if test -n "$IS_ALPHA"; then
|
||||
|
||||
diff --git a/js/src/configure.in b/js/src/configure.in
|
||||
--- a/js/src/configure.in
|
||||
+++ b/js/src/configure.in
|
||||
@@ -234,16 +234,13 @@ MOZJS_MINOR_VERSION=`echo $MOZILLA_VERSI
|
||||
MOZJS_PATCH_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9]*[^0-9]*||"`
|
||||
IS_ALPHA=`echo $MOZILLA_VERSION | grep '[ab]'`
|
||||
|
||||
-dnl XXX in a temporary bid to avoid developer anger at renaming files
|
||||
-dnl XXX before "js" symlinks exist, don't change names.
|
||||
-dnl
|
||||
-dnl if test -n "$JS_STANDALONE"; then
|
||||
-dnl JS_SHELL_NAME=js$MOZJS_MAJOR_VERSION
|
||||
-dnl JS_CONFIG_NAME=js$MOZJS_MAJOR_VERSION-config
|
||||
-dnl else
|
||||
+if test -n "$JS_STANDALONE"; then
|
||||
+JS_SHELL_NAME=js$MOZJS_MAJOR_VERSION
|
||||
+JS_CONFIG_NAME=js$MOZJS_MAJOR_VERSION-config
|
||||
+else
|
||||
JS_SHELL_NAME=js
|
||||
JS_CONFIG_NAME=js-config
|
||||
-dnl fi
|
||||
+fi
|
||||
|
||||
changequote([,])
|
||||
if test -n "$IS_ALPHA"; then
|
||||
|
||||
diff -r 80a9e64d75f5 js/src/Makefile.in
|
||||
--- a/js/src/Makefile.in Wed Jun 25 15:11:42 2014 +0200
|
||||
+++ b/js/src/Makefile.in Sat Jul 05 14:08:38 2014 +0200
|
||||
@@ -273,6 +273,9 @@
|
||||
SCRIPTS = $(JS_CONFIG_NAME)
|
||||
SDK_BINARY = $(JS_CONFIG_NAME)
|
||||
|
||||
+$(JS_CONFIG_NAME): js-config
|
||||
+ cp $^ $@
|
||||
+
|
||||
$(LIBRARY_NAME).pc: js.pc
|
||||
cp $^ $@
|
||||
|
22
srcpkgs/mozjs38/patches/pkg-config-version.patch
Normal file
22
srcpkgs/mozjs38/patches/pkg-config-version.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
Add major version to pkg-config filename.
|
||||
Author: Rico Tzschichholz <ricotz@ubuntu.com>
|
||||
Forwarded: no
|
||||
Last-Update: 2015-05-04
|
||||
|
||||
Index: b/js/src/Makefile.in
|
||||
===================================================================
|
||||
--- a/js/src/Makefile.in
|
||||
+++ b/js/src/Makefile.in
|
||||
@@ -214,10 +214,10 @@
|
||||
$(JS_CONFIG_NAME): js-config
|
||||
cp $^ $@
|
||||
|
||||
-$(LIBRARY_NAME).pc: js.pc
|
||||
+$(JS_LIBRARY_NAME).pc: js.pc
|
||||
cp $^ $@
|
||||
|
||||
-install:: $(LIBRARY_NAME).pc
|
||||
+install:: $(JS_LIBRARY_NAME).pc
|
||||
$(SYSINSTALL) $^ $(DESTDIR)$(libdir)/pkgconfig
|
||||
|
||||
install:: js-config.h
|
|
@ -1,7 +1,7 @@
|
|||
# Template file for 'mozjs38'
|
||||
pkgname=mozjs38
|
||||
version=38.8.0
|
||||
revision=3
|
||||
revision=4
|
||||
wrksrc="mozilla-esr${version%.*.*}"
|
||||
build_wrksrc="js/src"
|
||||
build_style=gnu-configure
|
||||
|
@ -13,6 +13,7 @@ license="MPL-1.1, GPL-2, LGPL-2.1"
|
|||
maintainer="Juan RP <xtraeme@voidlinux.eu>"
|
||||
distfiles="${MOZILLA_SITE}/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.bz2"
|
||||
checksum=9475adcee29d590383c4885bc5f958093791d1db4302d694a5d2766698f59982
|
||||
patch_args="-Np1"
|
||||
nopie=yes
|
||||
|
||||
# Flags for gcc6.3 conceived by Arch Linux developers
|
||||
|
@ -30,34 +31,16 @@ do_configure() {
|
|||
_args+=" --target=$XBPS_CROSS_TRIPLET"
|
||||
fi
|
||||
|
||||
SHELL=/bin/bash ./configure --prefix=/usr --enable-threadsafe \
|
||||
--enable-system-ffi --with-system-icu --with-system-nspr \
|
||||
${_args}
|
||||
}
|
||||
|
||||
post_install() {
|
||||
|
||||
# Rename pkgconfig
|
||||
mv ${PKGDESTDIR}/usr/lib/pkgconfig/js.pc ${PKGDESTDIR}/usr/lib/pkgconfig/mozjs-${version%.*.*}.pc
|
||||
|
||||
# Remove links
|
||||
mv ${PKGDESTDIR}/usr/include/mozjs-/js-config.h ${PKGDESTDIR}/usr/include/
|
||||
rm -rf ${PKGDESTDIR}/usr/include/mozjs-/*
|
||||
mv ${PKGDESTDIR}/usr/include/js-config.h ${PKGDESTDIR}/usr/include/mozjs-/
|
||||
cp -p ${wrksrc}/js/src/js.msg ${PKGDESTDIR}/usr/include/mozjs-/
|
||||
cp -p ${wrksrc}/js/src/*.h ${PKGDESTDIR}/usr/include/mozjs-/
|
||||
mkdir ${PKGDESTDIR}/usr/include/mozjs-/js/
|
||||
cp -p ${wrksrc}/js/public/*.h ${PKGDESTDIR}/usr/include/mozjs-/js/
|
||||
mkdir ${PKGDESTDIR}/usr/include/mozjs-/mozilla/
|
||||
cp -p ${wrksrc}/mfbt/*.h ${PKGDESTDIR}/usr/include/mozjs-/mozilla/
|
||||
SHELL=/bin/bash PYTHON=/usr/bin/python2 ./configure --prefix=/usr \
|
||||
--enable-threadsafe --enable-system-ffi --with-system-zlib \
|
||||
--with-system-icu --with-system-nspr ${_args}
|
||||
}
|
||||
|
||||
mozjs38-devel_package() {
|
||||
depends="nspr-devel ${sourcepkg}>=${version}_${revision}"
|
||||
short_desc+=" - development files"
|
||||
conflicts="js-devel>0" # /usr/bin/js-config
|
||||
pkg_install() {
|
||||
vmove usr/bin/js-config
|
||||
vmove usr/bin/js38-config
|
||||
vmove usr/include
|
||||
vmove usr/lib/pkgconfig
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue