summaryrefslogtreecommitdiff
path: root/source/xap/seamonkey
diff options
context:
space:
mode:
Diffstat (limited to 'source/xap/seamonkey')
-rw-r--r--source/xap/seamonkey/doinst.sh13
-rw-r--r--source/xap/seamonkey/pkgconfig/seamonkey-gtkmozembed.pc11
-rw-r--r--source/xap/seamonkey/pkgconfig/seamonkey-libxul.pc11
-rw-r--r--source/xap/seamonkey/pkgconfig/seamonkey-nspr.pc12
-rw-r--r--source/xap/seamonkey/pkgconfig/seamonkey-nss.pc11
-rw-r--r--source/xap/seamonkey/pkgconfig/seamonkey-plugin.pc10
-rw-r--r--source/xap/seamonkey/pkgconfig/seamonkey-xpcom.pc12
-rwxr-xr-xsource/xap/seamonkey/seamonkey.SlackBuild125
-rw-r--r--source/xap/seamonkey/seamonkey.i686.triplet.fix.diff11
9 files changed, 33 insertions, 183 deletions
diff --git a/source/xap/seamonkey/doinst.sh b/source/xap/seamonkey/doinst.sh
index c236bea5..fe830f25 100644
--- a/source/xap/seamonkey/doinst.sh
+++ b/source/xap/seamonkey/doinst.sh
@@ -1,11 +1,10 @@
-# If there's no mozilla here, then take over:
-if [ ! -r usr/bin/mozilla ]; then
- ( cd usr/bin ; ln -sf seamonkey mozilla )
-fi
+# Removing /usr/lib/seamonkey from ld.so.conf. That was a hack that we did
+# long ago before a standalone mozilla-nss package was shipped.
# Hopefully this won't break everything. ;-)
-if ! grep /usr/lib/seamonkey etc/ld.so.conf 1> /dev/null 2> /dev/null ; then
- echo "/usr/lib/seamonkey" >> etc/ld.so.conf
-fi
+( cd etc
+ cat ld.so.conf | grep -v /usr/lib/seamonkey > ld.so.conf.new
+ mv ld.so.conf.new ld.so.conf
+)
if [ -x /sbin/ldconfig ]; then
/sbin/ldconfig 2> /dev/null
fi
diff --git a/source/xap/seamonkey/pkgconfig/seamonkey-gtkmozembed.pc b/source/xap/seamonkey/pkgconfig/seamonkey-gtkmozembed.pc
deleted file mode 100644
index e5053267..00000000
--- a/source/xap/seamonkey/pkgconfig/seamonkey-gtkmozembed.pc
+++ /dev/null
@@ -1,11 +0,0 @@
-prefix=/usr
-exec_prefix=/usr
-libdir=/usr/@LIB@/seamonkey-@VERSION@
-includedir=/usr/include/seamonkey-@VERSION@
-
-Name: Mozilla Gtk Embedding Widget
-Description: Mozilla Embedding Widget for Gtk+
-Version: @VERSION@
-Requires: seamonkey-xpcom = @VERSION@
-Libs: -L${libdir} -lgtkembedmoz
-Cflags: -I${includedir}/gtkembedmoz
diff --git a/source/xap/seamonkey/pkgconfig/seamonkey-libxul.pc b/source/xap/seamonkey/pkgconfig/seamonkey-libxul.pc
deleted file mode 100644
index 0c990042..00000000
--- a/source/xap/seamonkey/pkgconfig/seamonkey-libxul.pc
+++ /dev/null
@@ -1,11 +0,0 @@
-prefix=/usr
-libdir=/usr/@LIB@/seamonkey-@VERSION@
-includedir=/usr/include/seamonkey-@VERSION@
-idldir=/usr/share/idl/seamonkey-@VERSION@
-
-Name: libxul
-Description: The Mozilla Runtime and Embedding Engine
-Version: @VERSION@
-Requires: seamonkey-nspr >= 4.7.1
-Libs: -L${libdir} -lxul -lxpcom
-Cflags: -I${includedir} -fshort-wchar
diff --git a/source/xap/seamonkey/pkgconfig/seamonkey-nspr.pc b/source/xap/seamonkey/pkgconfig/seamonkey-nspr.pc
deleted file mode 100644
index 756e996d..00000000
--- a/source/xap/seamonkey/pkgconfig/seamonkey-nspr.pc
+++ /dev/null
@@ -1,12 +0,0 @@
-prefix=/usr
-exec_prefix=/usr
-libdir=/usr/@LIB@/seamonkey-@VERSION@
-includedir=/usr/include/seamonkey-@VERSION@
-
-Name: NSPR
-Description: The Netscape Portable Runtime
-Version: 4.7.1
-Libs: -L/usr/@LIB@/seamonkey-@VERSION@ -lplds4 -lplc4 -lnspr4 -lpthread -ldl
-Cflags: -I/usr/include/seamonkey-@VERSION@/nspr
-
-
diff --git a/source/xap/seamonkey/pkgconfig/seamonkey-nss.pc b/source/xap/seamonkey/pkgconfig/seamonkey-nss.pc
deleted file mode 100644
index f5bf0993..00000000
--- a/source/xap/seamonkey/pkgconfig/seamonkey-nss.pc
+++ /dev/null
@@ -1,11 +0,0 @@
-prefix=/usr
-exec_prefix=/usr
-libdir=/usr/@LIB@/seamonkey-@VERSION@
-includedir=/usr/include/seamonkey-@VERSION@
-
-Name: NSS
-Description: Mozilla Network Security Services
-Version: @VERSION@
-Requires: seamonkey-nspr >= 4.7.1
-Libs: -L${libdir} -lnss3 -lsmime3 -lssl3 -lsoftokn3 -lnssutil3
-Cflags: -I${includedir}/nss
diff --git a/source/xap/seamonkey/pkgconfig/seamonkey-plugin.pc b/source/xap/seamonkey/pkgconfig/seamonkey-plugin.pc
deleted file mode 100644
index bbdb1f41..00000000
--- a/source/xap/seamonkey/pkgconfig/seamonkey-plugin.pc
+++ /dev/null
@@ -1,10 +0,0 @@
-prefix=/usr
-exec_prefix=/usr
-libdir=/usr/@LIB@/seamonkey-@VERSION@
-includedir=/usr/include/seamonkey-@VERSION@
-
-Name: Mozilla Plug-In API
-Description: Mozilla Plug-In API
-Version: @VERSION@
-Requires: seamonkey-nspr >= 4.7.1
-Cflags: -I${includedir}/java -I${includedir}/plugin -DXP_UNIX
diff --git a/source/xap/seamonkey/pkgconfig/seamonkey-xpcom.pc b/source/xap/seamonkey/pkgconfig/seamonkey-xpcom.pc
deleted file mode 100644
index 53200567..00000000
--- a/source/xap/seamonkey/pkgconfig/seamonkey-xpcom.pc
+++ /dev/null
@@ -1,12 +0,0 @@
-prefix=/usr
-exec_prefix=/usr
-libdir=/usr/@LIB@/seamonkey-@VERSION@
-includedir=/usr/include/seamonkey-@VERSION@
-idldir=/usr/share/idl/seamonkey-@VERSION@
-
-Name: XPCOM
-Description: The Mozilla Cross Platform Component Library
-Version: @VERSION@
-Requires: seamonkey-nspr >= 4.7.1
-Libs: -L${libdir} -lxpcom
-Cflags: -I${includedir} -I${includedir}/xpcom -I${includedir}/string
diff --git a/source/xap/seamonkey/seamonkey.SlackBuild b/source/xap/seamonkey/seamonkey.SlackBuild
index 3976ea23..71712cd6 100755
--- a/source/xap/seamonkey/seamonkey.SlackBuild
+++ b/source/xap/seamonkey/seamonkey.SlackBuild
@@ -26,12 +26,12 @@ PKGNAM=seamonkey
TARBALLVER=${VERSION:-$(basename $(ls seamonkey-*.tar.* | cut -d - -f 2 | rev | cut -f 3- -d . | rev) .source)}
# Strip the end from beta versions:
VERSION=$(echo $TARBALLVER | cut -f 1 -d b)
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i586 ;;
+ i?86) export ARCH=i686 ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
@@ -43,14 +43,10 @@ fi
# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PKGNAM-$TARBALLVER-$ARCH-$BUILD.txz"
- echo "$PKGNAM-solibs-$TARBALLVER-$ARCH-$BUILD.txz"
exit 0
fi
-if [ "$ARCH" = "i586" ]; then
- LIBDIRSUFFIX=""
- OPTIMIZE_FLAG=${OPTIMIZE_FLAG:-"-O1"}
-elif [ "$ARCH" = "i686" ]; then
+if [ "$ARCH" = "i686" ]; then
LIBDIRSUFFIX=""
OPTIMIZE_FLAG=${OPTIMIZE_FLAG:-"-O1"}
elif [ "$ARCH" = "x86_64" ]; then
@@ -69,10 +65,11 @@ export CXX=${CXX:-"g++ -B$(pwd)/gold"}
# -Wformat is needed for -Werror=format-security
# -Wno-format-overflow bypasses gcc9 build failure
-# -fno-delete-null-pointer-checks disables gcc6 optimization that
-# leads to instability
-export CFLAGS="-Wformat -Wno-format-overflow -fno-delete-null-pointer-checks"
-export CXXFLAGS="-Wformat -Wno-format-overflow -fno-delete-null-pointer-checks -fpermissive"
+# -fno-delete-null-pointer-checks disables gcc6 optimization that leads to instability
+# -fno-schedule-insns2 don't do an additional pass of instruction scheduling
+# -fno-lifetime-dse allow object storage to persist beyond the lifetime of the object
+export CFLAGS="-Wformat -Wno-format-overflow -fno-delete-null-pointer-checks -fno-schedule-insns2"
+export CXXFLAGS="-Wformat -Wno-format-overflow -fno-delete-null-pointer-checks -fno-schedule-insns2 -fno-lifetime-dse -fpermissive"
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -112,6 +109,9 @@ cd seamonkey-${TARBALLVER} || exit 1
# Retain GTK+ v2 scrolling behavior:
zcat $CWD/sm.ui.scrollToClick.diff.gz | patch -p1 --verbose || exit 1
+# Don't complain if Rust is i686:
+zcat $CWD/seamonkey.i686.triplet.fix.diff.gz | patch -p1 --verbose || exit 1
+
# Make sure the perms/ownerships are sane:
chown -R root:root .
find . \
@@ -142,6 +142,11 @@ OPTIONS="\
--enable-chrome-format=omni \
--disable-necko-wifi \
--enable-extensions=default \
+ --enable-rust \
+ --enable-js-shell \
+ --enable-elf-hack \
+ --enable-release \
+ --enable-calendar \
--without-system-nspr \
--with-system-zlib \
--enable-application=suite \
@@ -181,64 +186,6 @@ echo "ac_add_options --disable-tests" >> .mozconfig
make -f client.mk build || make -f client.mk build || exit 1
make -f client.mk install DESTDIR=$PKG || exit 1
-# Keep the "obsolete" nspr headers:
-if [ ! -d mozilla/dist/include/nspr/obsolete ]; then
- mkdir -p mozilla/dist/include/nspr/obsolete
- cp -a mozilla/nsprpub/pr/include/obsolete/*.h mozilla/dist/include/nspr/obsolete
-fi
-
-# Install nspr/nss headers.
-for includedir in nspr nspr/obsolete nspr/private ; do
- mkdir -p $PKG/usr/include/seamonkey-${VERSION}/$includedir
- cp -aL mozilla/dist/include/${includedir}/*.h $PKG/usr/include/seamonkey-${VERSION}/$includedir
-done
-cp -aL mozilla/dist/include/*.tbl mozilla/dist/include/*.msg $PKG/usr/include/seamonkey-${VERSION}
-cp -aL mozilla/dist/include/*.h $PKG/usr/include/seamonkey-${VERSION}
-cp -aL mozilla/dist/sdk/include/* $PKG/usr/include/seamonkey-${VERSION}
-# compat symlinks
-( cd $PKG/usr/include/seamonkey-${VERSION}
- # Relocate anything that might be in the nss directory, and replace the directory with a symlink.
- # make install was putting an empty directory here, which was breaking other compiles.
- if [ -d nss ]; then
- mv nss/* .
- rmdir nss
- fi
- ln -sf . nss
- ln -sf . plugin
- ln -sf . xpcom
-)
-
-# We don't need this stuff in the package:
-rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/seamonkey-devel-$VERSION
-
-chown -R root:root $PKG/usr/include/seamonkey-${VERSION}
-find $PKG/usr/include/seamonkey-${VERSION} -name "*.h" -type f -exec chmod 644 {} \;
-# Create a more generic include files symlink:
-( cd $PKG/usr/include
- if [ ! -e seamonkey ]; then
- ln -sf seamonkey-${VERSION} seamonkey
- fi
-)
-
-# Install pkgconfig files:
-mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
-for file in $CWD/pkgconfig/* ; do
-cat $file \
- | sed -e "s/@LIB@/lib${LIBDIRSUFFIX}/" \
- -e "s/@VERSION@/$VERSION/" \
- > $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/$(basename $file)
-done
-
-# Add symlinks for the pkgconfig files:
-( cd $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
- ln -s seamonkey-libxul.pc libxul.pc
- ln -s seamonkey-plugin.pc plugin.pc
- ln -s seamonkey-xpcom.pc xpcom.pc
- # These are now provided by the mozilla-nss package:
- #ln -s seamonkey-nspr.pc nspr.pc
- #ln -s seamonkey-nss.pc nss.pc
-)
-
# Compress and if needed symlink the man pages:
if [ -d $PKG/usr/man ]; then
( cd $PKG/usr/man
@@ -291,43 +238,3 @@ zcat $CWD/doinst.sh.gz | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
cd $TMP/package-seamonkey
/sbin/makepkg -l y -c n -p $TMP/seamonkey-$TARBALLVER-$ARCH-$BUILD.txz
-
-# Create a standalone seamonkey-solibs package for RPM, gxine, etc.
-rm -r $TMP/package-seamonkey-solibs
-mkdir -p $TMP/package-seamonkey-solibs/usr/doc
-cp -a $PKG/usr/doc/seamonkey-$VERSION $TMP/package-seamonkey-solibs/usr/doc
-mkdir -p $TMP/package-seamonkey-solibs/usr/lib${LIBDIRSUFFIX}/seamonkey-${VERSION}
-for file in libfreebl3.chk libfreebl3.so libmozsqlite3.so \
- libnspr4.so libnss* libplc4.so libplds4.so libsmime3.so libsoftokn3.chk \
- libsoftokn3.so libssl3.so ; do
- cp -a $PKG/usr/lib${LIBDIRSUFFIX}/seamonkey-${VERSION}/$file \
- $TMP/package-seamonkey-solibs/usr/lib${LIBDIRSUFFIX}/seamonkey-${VERSION}
-done
-mkdir $TMP/package-seamonkey-solibs/install
-cat << EOF | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" > $TMP/package-seamonkey-solibs/install/doinst.sh
-( cd usr/lib ; rm -rf seamonkey )
-( cd usr/lib ; ln -sf seamonkey-$VERSION seamonkey )
-if ! grep /usr/lib/seamonkey etc/ld.so.conf 1> /dev/null 2> /dev/null ; then
- echo "/usr/lib/seamonkey" >> etc/ld.so.conf
-fi
-if [ -x /sbin/ldconfig ]; then
- /sbin/ldconfig 2> /dev/null
-fi
-EOF
-cat << EOF > $TMP/package-seamonkey-solibs/install/slack-desc
- |-----handy-ruler------------------------------------------------------|
-seamonkey-solibs: seamonkey-solibs (Shared libraries from Seamonkey)
-seamonkey-solibs:
-seamonkey-solibs: This package contains a subset of the shared libraries from Seamonkey
-seamonkey-solibs: to provide runtime support for various programs.
-seamonkey-solibs: This package is built from the Seamonkey sources and is provided
-seamonkey-solibs: as a standalone runtime package for people who do not want to install
-seamonkey-solibs: the entire seamonkey package (as for server use).
-seamonkey-solibs:
-seamonkey-solibs: This package is runtime only. The include files and other files for
-seamonkey-solibs: development can be found in the seamonkey package.
-seamonkey-solibs:
-EOF
-cd $TMP/package-seamonkey-solibs
-/sbin/makepkg -l y -c n -p $TMP/seamonkey-solibs-$TARBALLVER-$ARCH-$BUILD.txz
-
diff --git a/source/xap/seamonkey/seamonkey.i686.triplet.fix.diff b/source/xap/seamonkey/seamonkey.i686.triplet.fix.diff
new file mode 100644
index 00000000..86a805ec
--- /dev/null
+++ b/source/xap/seamonkey/seamonkey.i686.triplet.fix.diff
@@ -0,0 +1,11 @@
+--- ./mozilla/build/moz.configure/rust.configure.orig 2019-05-26 08:32:14.000000000 -0500
++++ ./mozilla/build/moz.configure/rust.configure 2019-09-08 22:44:00.615109300 -0500
+@@ -105,7 +105,7 @@
+ # OpenBSD
+ ('x86_64', 'OpenBSD'): 'x86_64-unknown-openbsd',
+ # Linux
+- ('x86', 'Linux'): 'i586-unknown-linux-gnu',
++ ('x86', 'Linux'): 'i686-unknown-linux-gnu',
+ # Linux
+ ('x86_64', 'Linux'): 'x86_64-unknown-linux-gnu',
+ # OS X and iOS