diff options
Diffstat (limited to 'source/xap/seamonkey/seamonkey.SlackBuild')
-rwxr-xr-x | source/xap/seamonkey/seamonkey.SlackBuild | 125 |
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 - |