summaryrefslogtreecommitdiff
path: root/source/xap/seamonkey/seamonkey.SlackBuild
diff options
context:
space:
mode:
authorPatrick J Volkerding <volkerdi@slackware.com>2019-09-09 05:10:25 +0000
committerEric Hameleers <alien@slackware.com>2019-09-09 17:59:48 +0200
commitf58aff2430624d43f64162ea66101f0ed804755f (patch)
treec8f7b3c57c5060a52f3cd5579b61f028f9d3bb7a /source/xap/seamonkey/seamonkey.SlackBuild
parent6a5556564a6558988a6df36b6523fc0f864b2528 (diff)
downloadcurrent-f58aff2430624d43f64162ea66101f0ed804755f.tar.gz
Mon Sep 9 05:10:25 UTC 201920190909051025
a/etc-15.0-x86_64-10.txz: Rebuilt. Fix "include /etc/ld.so.conf.d/*.conf" repeats in /etc/ld.so.conf. l/imagemagick-6.9.10_64-x86_64-1.txz: Upgraded. l/seamonkey-solibs-2.49.5-x86_64-1.txz: Removed. This package was included years ago to support a few things that needed nss/nspr, but we've since included that in the mozilla-nss package. Nothing should be using this anymore. xap/seamonkey-2.49.5-x86_64-2.txz: Rebuilt. Added additional options to more closely match the official build: --enable-rust --enable-js-shell --enable-elf-hack --enable-release --enable-calendar Thanks to ljb643 for the bug report. Removed /usr/lib{,64}/seamonkey from /etc/ld.so.conf.
Diffstat (limited to 'source/xap/seamonkey/seamonkey.SlackBuild')
-rwxr-xr-xsource/xap/seamonkey/seamonkey.SlackBuild125
1 files changed, 16 insertions, 109 deletions
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
-