Accepting request 888777 from mozilla

Requesting inclusion in mozilla:Factory for eventual submission to Factory/Tumbleweed.

OBS-URL: https://build.opensuse.org/request/show/888777
OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/seamonkey?expand=0&rev=1
This commit is contained in:
Wolfgang Rosenauer 2021-04-27 13:08:58 +00:00 committed by Git OBS Bridge
commit c99db130a3
20 changed files with 5231 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

22
_constraints Normal file
View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<constraints>
<hardware>
<disk>
<size unit="G">25</size>
</disk>
<memory>
<size unit="G">16</size>
</memory>
</hardware>
<overwrite>
<conditions>
<arch>armv6l</arch>
<arch>armv7l</arch>
</conditions>
<hardware>
<memory>
<size unit="G">5</size>
</memory>
</hardware>
</overwrite>
</constraints>

44
mozilla-language.patch Normal file
View File

@ -0,0 +1,44 @@
# HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent 5a29924228527f8882c83cf62d470963ea1ce62e
# Parent 4f39ed617c2f151a3a15903c7ae4471b66774e9e
Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE
diff -ruN seamonkey/mozilla/intl/locale/nsLocaleService.cpp seamonkey.new/mozilla/intl/locale/nsLocaleService.cpp
--- seamonkey/mozilla/intl/locale/nsLocaleService.cpp 2020-02-18 00:37:52.000000000 +0100
+++ seamonkey.new/mozilla/intl/locale/nsLocaleService.cpp 2020-03-02 12:50:24.804429601 +0100
@@ -121,6 +121,7 @@
// Get system configuration
const char* lang = getenv("LANG");
+ const char* language = getenv("LANGUAGE");
nsAutoString xpLocale, platformLocale;
nsAutoString category, category_platform;
@@ -156,6 +157,26 @@
if (NS_FAILED(result)) {
return;
}
+ // LANGUAGE is overriding LC_MESSAGES
+ // it can be a colon separated list of preferred languages
+ // as we do not recognize here if a language is available
+ // we actually only consider the first entry unless GetXPLocale
+ // fails completely
+ if (i == LC_MESSAGES && language && *language) {
+#define LANGUAGE_SEP ":"
+ nsAutoString xpLocale_temp;
+ char* rawBuffer = (char*) language;
+ char* token = nsCRT::strtok(rawBuffer, LANGUAGE_SEP, &rawBuffer);
+ for (; token;
+ token = nsCRT::strtok(rawBuffer, LANGUAGE_SEP, &rawBuffer)) {
+ result = nsPosixLocale::GetXPLocale(token, xpLocale_temp);
+ if (NS_SUCCEEDED(result)) {
+ CopyASCIItoUTF16(token, platformLocale);
+ xpLocale = xpLocale_temp;
+ break;
+ }
+ }
+ }
resultLocale->AddCategory(category, xpLocale);
resultLocale->AddCategory(category_platform, platformLocale);
}

View File

@ -0,0 +1,31 @@
From: Wolfgang Rosenauer
Subject: Do not use gconf for proxy settings if not running within Gnome
diff -ruN seamonkey/mozilla/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp seamonkey.new/mozilla/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
--- seamonkey/mozilla/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp 2020-02-18 00:39:44.000000000 +0100
+++ seamonkey.new/mozilla/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp 2020-03-02 12:41:27.735383057 +0100
@@ -59,13 +59,17 @@
nsresult
nsUnixSystemProxySettings::Init()
{
- mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
- if (mGSettings) {
- mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"),
- getter_AddRefs(mProxySettings));
- }
- if (!mProxySettings) {
- mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
+ // only use GSettings if that is a GNOME session
+ const char* sessionType = PR_GetEnv("DESKTOP_SESSION");
+ if (sessionType && !strcmp(sessionType, "gnome")) {
+ mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
+ if (mGSettings) {
+ mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"),
+ getter_AddRefs(mProxySettings));
+ }
+ if (!mProxySettings) {
+ mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
+ }
}
return NS_OK;

View File

@ -0,0 +1,18 @@
# HG changeset patch
# User Petr Cerny <pcerny@novell.com>
# Parent 7308e4a7c1f769f4bbbc90870b849cadd99495a6
# Parent 03565086f1e230cf6f0f6c01bf9a792c732de50b
Bug 634334 - call to the ntlm_auth helper fails
diff -ruN seamonkey/mozilla/extensions/auth/nsAuthSambaNTLM.cpp seamonkey.new/mozilla/extensions/auth/nsAuthSambaNTLM.cpp
--- seamonkey/mozilla/extensions/auth/nsAuthSambaNTLM.cpp 2020-02-18 00:37:50.000000000 +0100
+++ seamonkey.new/mozilla/extensions/auth/nsAuthSambaNTLM.cpp 2020-03-02 12:53:27.147346423 +0100
@@ -174,7 +174,7 @@
return NS_ERROR_FAILURE;
const char* const args[] = {
- "ntlm_auth",
+ "/usr/bin/ntlm_auth",
"--helper-protocol", "ntlmssp-client-1",
"--use-cached-creds",
"--username", username,

143
mozilla.sh.in Normal file
View File

@ -0,0 +1,143 @@
#!/bin/sh
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is mozilla.org Code.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Wolfgang Rosenauer <wolfgang.rosenauer@suse.de>
# <wr@rosenauer.org>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
##
## Usage:
##
## $ mozilla [args]
##
## This script is meant to run a mozilla program from the mozilla
## rpm installation.
##
## The script will setup all the environment voodoo needed to make
## mozilla work.
cmdname=`basename $0`
##
## Variables
##
MOZ_DIST_BIN="%PREFIX"
MOZ_DIST_LIB="%PROGDIR"
MOZ_APPNAME="%APPNAME"
MOZ_PROGRAM="$MOZ_DIST_LIB/$MOZ_APPNAME-bin"
MOZ_APP_LAUNCHER="$MOZ_DIST_LIB/$MOZ_APPNAME.sh"
if [ "$0" = "$MOZ_APP_LAUNCHER" ]; then
[ -h "/usr/bin/$MOZ_APPNAME" ] && \
_link=$(readlink -f "/usr/bin/$MOZ_APPNAME")
if [ "$_link" = "$MOZ_APP_LAUNCHER" ]; then
export MOZ_APP_LAUNCHER="/usr/bin/$MOZ_APPNAME"
fi
else
export MOZ_APP_LAUNCHER="/usr/bin/$MOZ_APPNAME"
fi
mozilla_lib=`file $MOZ_PROGRAM`
LIB=lib
echo $mozilla_lib | grep -q -E 'ELF.64-bit.*(x86-64|S/390|PowerPC)' && LIB=lib64
BROWSER_PLUGIN_DIR=/usr/$LIB/browser-plugins
if [ ! -d $BROWSER_PLUGIN_DIR ]; then
BROWSER_PLUGIN_DIR=/opt/netscape/plugins
fi
MOZILLA_FIVE_HOME="$MOZ_DIST_LIB"
export MOZILLA_FIVE_HOME
LD_LIBRARY_PATH=$MOZ_DIST_LIB${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
export LD_LIBRARY_PATH
# needed for SUN Java under Xorg >= 7.2
export LIBXCB_ALLOW_SLOPPY_LOCK=1
##
if [ -z "$MOZ_PLUGIN_PATH" ]; then
export MOZ_PLUGIN_PATH=$BROWSER_PLUGIN_DIR
else
# make sure that BROWSER_PLUGIN_DIR is in MOZ_PLUGIN_PATH
echo "$MOZ_PLUGIN_PATH" | grep "$BROWSER_PLUGIN_DIR" 2>&1 >/dev/null
_retval=$?
if [ ${_retval} -ne 0 ]; then
export MOZ_PLUGIN_PATH=$MOZ_PLUGIN_PATH:$BROWSER_PLUGIN_DIR
fi
fi
# disable Gnome crash dialog (doesn't make sense anyway)
export GNOME_DISABLE_CRASH_DIALOG=1
moz_debug=0
script_args=""
pass_arg_count=0
while [ $# -gt $pass_arg_count ]
do
case "$1" in
-d | --debugger)
moz_debugger=$2;
if [ "${moz_debugger}" != "" ]; then
shift 2
moz_debug=1
else
echo "-d requires an argument"
exit 1
fi
;;
*)
# Move the unrecognized argument to the end of the list.
arg="$1"
shift
set -- "$@" "$arg"
pass_arg_count=`expr $pass_arg_count + 1`
;;
esac
done
if [ $moz_debug -eq 1 ]; then
tmpfile=`mktemp /tmp/mozargs.XXXXXX` || { echo "Cannot create temporary file" >&2; exit 1; }
trap " [ -f \"$tmpfile\" ] && /bin/rm -f -- \"$tmpfile\"" 0 1 2 3 13 15
echo "set args ${1+"$@"}" > $tmpfile
echo "run" >> $tmpfile
echo "$moz_debugger $MOZ_PROGRAM -x $tmpfile"
$moz_debugger "$MOZ_PROGRAM" -x $tmpfile
else
$MOZ_PROGRAM "$@"
fi
exitcode=$?
exit $exitcode

122
rust148-packed_simd.patch Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8ff5fd4f536ab3230172c9e11154ece585c2fceb3d6b8a5a6b804ff5ee72f821
size 13540652

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:432206fe787ffb560e811d32103658d676dccb012fc7092d2071bb59729603ea
size 283452108

248
seamonkey-GNUmakefile Normal file
View File

@ -0,0 +1,248 @@
#
# Front-end based on GNU make, intended for a more friendly
# integration of the build system with Linux/UNIX distributions,
# as well as for those who still allergy using mach command.
#
# Place it as `mozilla/GNUmakefile' (instead of the existing stub),
# and work under `mozilla/' dir.
#
#
# For build, just use
#
# make
#
# (If you want to separate config stage, use "make configure" and then "make",
# but normally it is done automatically).
#
# For install, use
#
# make install DESTDIR=where_you_want_to_install
#
#
# Additionally, before install you can use:
#
# make locales
#
# to provide all the shipped locales (will appear in a form of langpack extensions).
# If irc and/or calendar included, they will be prepared properly.
# (See below for more details about locales target).
#
#
# For clarity, some comparison with the other build methods
# (assume `-jN' is the option for parallel builds, ie. `-j4' for 4-cpu system):
#
# Build stage:
#
# client.mk: make -f client.mk build MOZ_MAKE_FLAGS=-jN
# mach: ./mach build -jN
# THIS: make -jN
#
# Install stage:
#
# client.mk: DESTDIR=where... make -f client.mk install
# mach: DESTDIR=where... make -C $OBJDIR... install
# THIS: make install DESTDIR=where...
#
ifeq (,$(wildcard .mozconfig))
$(error Cannot find .mozconfig file in the current directory)
endif
MACH_CMD = ./mach --log-no-times
OBJDIR := $(shell $(MACH_CMD) environment --format=json | sed -e 's/.*"topobjdir": "//' -e 's/".*//')
OBJDIR_TARGETS = install distribution source-package package clobber
.PHONY: all configure build clean distclean $(OBJDIR_TARGETS)
all: build
configure: $(OBJDIR)/Makefile
$(OBJDIR)/Makefile: .mozconfig
$(MACH_CMD) configure
build: $(OBJDIR)/Makefile
$(MAKE) -C $(OBJDIR)
$(OBJDIR_TARGETS):
$(MAKE) -C $(OBJDIR) $@
clean:
$(MACH_CMD) clobber
distclean: clean
rm -f configure js/src/configure
rm -rf $(OBJDIR)
#
# LOCALES
#
#
# By default, all available locales will be used. You can change it
# by overriding SHIPPED_LOCALES variable on the command line.
#
# The target `locales' performs all the needed work. It depends on
# `locales-all' and `repacks'. First builds all needed langpacks,
# second checks whether irc and/or calendar extensions are built
# and prepares them by required additional locales.
#
# Some internal targets might be useful too, fe. `make locale-LANG'
# to create one (or several) langpack separately.
#
# For example, to build all with `fr' and 'it' only, use:
#
# make locales SHIPPED_LOCALES="fr it"
#
# to create just `ru' langpack:
#
# make locale-ru
#
# Use `clear-locales' and `clear-repacks' for clearing.
#
#
# NOTE! NOTE! NOTE!
#
# Do NOT use parallel builds (-jN) for locale targets!
#
# It is better to use `-j1' explicitly (`make -j1 locales') to avoid issues.
#
.PHONY: locales locales-all repacks clear-locales clear-repacks dictionaries clear-dictionaries
drop_extra := $(if $(or $(filter Windows_NT,$(OS)),$(filter-out Darwin,$(shell uname))),ja-JP-mac,ja)
SHIPPED_LOCALES := $(shell while read loc rest; do echo $$loc; done <comm/suite/locales/shipped-locales)
SHIPPED_LOCALES := $(filter-out en-US $(drop_extra),$(sort $(SHIPPED_LOCALES)))
locales-all: $(SHIPPED_LOCALES:%=locale-%)
PACKAGE_MANIFEST = $(OBJDIR)/comm/suite/installer/package-manifest
$(PACKAGE_MANIFEST):
cp comm/suite/installer/package-manifest.in $@
sed -i '/MOZ_PKG_MANIFEST =/ s,.*,MOZ_PKG_MANIFEST = $$(topobjdir)/comm/suite/installer/package-manifest,' \
$(OBJDIR)/comm/suite/installer/Makefile
stage := $(OBJDIR)/dist/xpi-stage/locale
.PRECIOUS: $(stage)-%
$(stage)-%:
$(MAKE) -C $(OBJDIR)/comm/suite/locales langpack-$*
# Spanish locales other than es-ES are from Latam, where the es-AR langpack is most preferred
[ $* = es-AR ] && find $@ -name "*.manifest" -exec sed -i '/^locale/ s/es-AR/es-*/' {} \; || :
locale-%: REL_NAME = extensions/langpack-$*@seamonkey.mozilla.org.xpi
locale-%: DEST_NAME = $(OBJDIR)/dist/bin/$(REL_NAME)
locale-%: manifest_entry = @RESPATH@/$(REL_NAME)
# To avoid performance issues in multi-locale installs, put the manifest files
# into the beginning of the archive, and do not compress them.
locale-%: $(stage)-% $(PACKAGE_MANIFEST)
rm -f $(DEST_NAME)
cd $<; zip -0 -D -X $(DEST_NAME) chrome.manifest install.rdf chrome/$*.manifest
cd $<; zip -g -r -9 -D -X $(DEST_NAME) chrome/$*
fgrep $(manifest_entry) $(PACKAGE_MANIFEST) || echo $(manifest_entry) >>$(PACKAGE_MANIFEST)
clear-locales:
sed -i '/langpack-.*@seamonkey.mozilla.org.xpi/ d' $(PACKAGE_MANIFEST)
rm -f $(OBJDIR)/dist/bin/extensions/langpack-*@seamonkey.mozilla.org.xpi
#
# REPACKS
#
ext_dir := $(OBJDIR)/dist/bin/extensions
CAL_NAME = {e2fda1a4-762b-4020-b5ad-a41df1933103}
IRC_NAME = {59c81df5-4b7a-477b-912d-4e0fdf64e5f2}
repack-$(CAL_NAME): LOCALE_PATH = $(OBJDIR)/dist/xpi-stage/locale-*/extensions/$(CAL_NAME)
repack-$(CAL_NAME): MANIFEST_FILE = chrome.manifest
repack-$(IRC_NAME): LOCALE_PATH = $(OBJDIR)/dist/xpi-stage/chatzilla-*
repack-$(IRC_NAME): MANIFEST_FILE = chrome/chatzilla.manifest
repack-%: tmp_dir = $(OBJDIR)/tmp-$*
repack-%: all_manifests = $(foreach loc,$(SHIPPED_LOCALES),$(subst *,$(loc),$(LOCALE_PATH)/$(MANIFEST_FILE)))
repack-cal: repack-$(CAL_NAME)
repack-irc: repack-$(IRC_NAME)
define _ADD_LOCALE
while read line; \
do \
[ "$${line#locale}" = "$$line" ] && continue; \
tar -C $(dir $(manifest)) -chf - $${line##* } | tar -C $(dir $(tmp_dir)/$(MANIFEST_FILE)) -xf -; \
echo $$line >>$(tmp_dir)/$(MANIFEST_FILE); \
done < $(manifest)
endef # do not remove the blank line!
repack-%: $(ext_dir)/%.xpi $(SHIPPED_LOCALES:%=$(stage)-%)
mkdir $(tmp_dir)
cd $(tmp_dir); unzip $<
$(foreach manifest,$(wildcard $(all_manifests)),$(_ADD_LOCALE))
mf=$(tmp_dir)/$(MANIFEST_FILE); sort $$mf >$$mf.new && mv -f $$mf.new $$mf
[ -f $<.orig ] && rm -f $< || mv -f $< $<.orig
cd $(tmp_dir); zip -r -9 -D -X $< .
rm -rf $(tmp_dir)
clear-repacks:
for ext in $(CAL_NAME) $(IRC_NAME); \
do \
[ -f $(ext_dir)/$$ext.xpi.orig ] && mv -f $(ext_dir)/$$ext.xpi.orig $(ext_dir)/$$ext.xpi || : ; \
done
ext_deps := $(patsubst $(ext_dir)/%.xpi,repack-%,$(wildcard $(ext_dir)/$(CAL_NAME).xpi $(ext_dir)/$(IRC_NAME).xpi))
ext_deps := $(strip $(ext_deps))
repacks: $(ext_deps)
locales: locales-all repacks
#
# Dictionaries
#
# It is better to use system dictionaries, specifying directory path for them
# by "spellchecker.dictionary_path" preference (or even use symlink if possible).
#
DICT_DEST := $(OBJDIR)/dist/bin/dictionaries
dictionaries: $(SHIPPED_LOCALES:%=$(stage)-%)
cp -f -d $(wildcard $(foreach loc,$(SHIPPED_LOCALES),$(stage)-$(loc)/dictionaries/$(loc).aff $(stage)-$(loc)/dictionaries/$(loc).dic)) $(DICT_DEST)
clear-dictionaries:
rm -f $(filter-out $(DICT_DEST)/en-US.%,$(wildcard $(DICT_DEST)/*.aff $(DICT_DEST)/*.dic))

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f3cb87e82e2f21d04417ed5313275f39c6d6c4164563560c3ce43f6e26306ede
size 3025

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:992d36c915ac5362dfbd0f057c81937d3133fb97fbbea4b51f83bfc19e97696f
size 22975

11
seamonkey-lto.patch Normal file
View File

@ -0,0 +1,11 @@
--- seamonkey/mozilla/security/sandbox/linux/moz.build 2020-09-23 09:52:51.693587049 +0200
+++ seamonkey.new/mozilla/security/sandbox/linux/moz.build 2020-09-23 18:26:18.745598502 +0200
@@ -98,7 +98,7 @@
# forcing there to be only one partition.
for f in CONFIG['OS_CXXFLAGS']:
if f.startswith('-flto') and CONFIG['CC_TYPE'] != 'clang':
- LDFLAGS += ['--param lto-partitions=1']
+ LDFLAGS += ['--param=lto-partitions=1']
DEFINES['NS_NO_XPCOM'] = True
DisableStlWrapping()

43
seamonkey-man-page.patch Normal file
View File

@ -0,0 +1,43 @@
--- comm/suite/installer/Makefile.in 2020-12-22 19:18:42.000000000 +0300
+++ comm/suite/installer/Makefile.in-OK 2021-01-23 00:34:17.416407249 +0300
@@ -140,16 +140,20 @@
defaults/profile/panels.rdf \
defaults/profile/mimeTypes.rdf \
defaults/profile/chrome/userChrome-example.css \
defaults/profile/chrome/userContent-example.css \
$(NULL)
include $(topsrcdir)/toolkit/mozapps/installer/packager.mk
+install::
+ $(NSINSTALL) -D $(DESTDIR)$(mandir)/man1
+ $(SYSINSTALL) $(IFLAGS1) $(DIST)/man/man1/$(MOZ_APP_NAME).1 $(DESTDIR)$(mandir)/man1
+
ifeq (Darwin, $(OS_ARCH))
BINPATH = $(_BINPATH)
DEFINES += -DAPPNAME=$(_APPNAME)
else
BINPATH = bin
endif
DEFINES += -DBINPATH=$(BINPATH)
--- build/moz.configure/old.configure 2020-12-22 14:42:29.000000000 +0300
+++ build/moz.configure/old.configure-OK 2021-01-23 01:07:28.041893813 +0300
@@ -233,16 +233,17 @@
'--enable-unsigned-overflow-sanitizer',
'--enable-updater',
'--enable-valgrind',
'--enable-verify-mar',
'--enable-xul',
'--enable-zipwriter',
'--includedir',
'--libdir',
+ '--mandir',
'--no-create',
'--prefix',
'--with-android-distribution-directory',
'--with-android-max-sdk',
'--with-android-min-sdk',
'--with-android-sdk',
'--with-app-basename',
'--with-app-name',

1
seamonkey-rpmlintrc Normal file
View File

@ -0,0 +1 @@
addFilter("no-jar-manifest")

4072
seamonkey.changes Normal file

File diff suppressed because it is too large Load Diff

425
seamonkey.spec Normal file
View File

@ -0,0 +1,425 @@
#
# spec file for package seamonkey
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
# 2006-2018 Wolfgang Rosenauer
# 2018-2021 Tristan Miller
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: seamonkey
BuildRequires: Mesa-devel
BuildRequires: alsa-devel
BuildRequires: autoconf213
BuildRequires: dbus-1-glib-devel
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: hunspell-devel
BuildRequires: libidl-devel
BuildRequires: libiw-devel
BuildRequires: libnotify-devel
BuildRequires: libproxy-devel
BuildRequires: makeinfo
BuildRequires: memory-constraints
BuildRequires: python-devel
BuildRequires: python2-xml
BuildRequires: startup-notification-devel
BuildRequires: unzip
BuildRequires: update-desktop-files
BuildRequires: xorg-x11-libXt-devel
BuildRequires: yasm
BuildRequires: zip
BuildRequires: pkgconfig(gconf-2.0) >= 1.2.1
BuildRequires: pkgconfig(gdk-x11-2.0)
BuildRequires: pkgconfig(glib-2.0) >= 2.32
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(gtk+-2.0) >= 2.18.0
BuildRequires: pkgconfig(gtk+-3.0) >= 3.4.0
BuildRequires: pkgconfig(gtk+-unix-print-2.0)
BuildRequires: pkgconfig(gtk+-unix-print-3.0)
BuildRequires: pkgconfig(libffi) > 3.0.9
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(xcomposite)
BuildRequires: cargo
BuildRequires: rust >= 1.47
BuildRequires: rust-std-static
BuildRequires: git
BuildRequires: nasm >= 2.13
Provides: web_browser
Provides: browser(npapi)
Version: 2.53.7.1
Release: 0
%define releasedate 20210415000000
Summary: An integrated web browser, composer, mail/news client, and IRC client
License: MPL-2.0
Group: Productivity/Networking/Web/Browsers
Url: https://www.seamonkey-project.org/
Source: https://archive.mozilla.org/pub/seamonkey/releases/%{version}/source/seamonkey-%{version}.source.tar.xz
Source1: seamonkey-desktop.tar.bz2
Source2: spellcheck.js
Source3: mozilla.sh.in
Source4: suse-default-prefs.js
Source5: https://archive.mozilla.org/pub/seamonkey/releases/%{version}/source/seamonkey-%{version}.source-l10n.tar.xz
Source7: seamonkey-rpmlintrc
Source11: seamonkey-appdata.tar.bz2
Source12: seamonkey-GNUmakefile
Patch1: mozilla-nongnome-proxies.patch
Patch2: mozilla-language.patch
Patch3: mozilla-ntlm-full-path.patch
Patch4: seamonkey-lto.patch
Patch5: seamonkey-man-page.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: /bin/sh coreutils
Provides: seamonkey-mail = %{version}
Obsoletes: seamonkey-mail <= 2.0
Provides: seamonkey-spellchecker = %{version}
Obsoletes: seamonkey-spellchecker <= 2.0
# venkman is discontinued and removed (not merged)
Provides: seamonkey-venkman = %{version}
Obsoletes: seamonkey-venkman <= 2.29
Recommends: libcanberra0
Recommends: libpulse0
# libavcodec is required for H.264 support but the
# openSUSE version is currently not able to play H.264
# therefore the Packman version is required
# minimum version of libavcodec is 53
Recommends: libavcodec-full >= 0.10.16
%define progname %{name}
%define sources_subdir %{name}-%{version}
%define prefix /usr
%define progdir %_libdir/%{progname}
%define libgssapi libgssapi_krb5.so.2
### build options
%define has_system_cairo 0
%define localize 1
%define with_chatzilla 1
%define with_domi 1
### build options end
# It no longer makes sense to include separate language packs because these
# apply only to the main SeaMonkey suite, but not to the integrated Chatzilla
# or Calendar
%if %localize
Provides: seamonkey-translations-common = %{version}
Obsoletes: seamonkey-translations-common < 2.53.6
Provides: seamonkey-translations-other = %{version}
Obsoletes: seamonkey-translations-other < 2.53.6
Provides: locale(%{name}:cs;de;el;en_GB;es_AR;es_ES;fi;fr;hu;it;ja;ka;nb_NO;nl;pl;pt_BR;pt_PT;ru;sk;sv_SE;zh_CN;zh_TW)
%endif
%if 0%{?with_chatzilla} == 0
Provides: seamonkey-irc = %{version}
%endif
%if 0%{?with_domi} == 0
Provides: seamonkey-dom-inspector = %{version}
%endif
%define __provides_exclude ^lib.*\\.so.*$
%define __requires_exclude ^(libmoz.*|liblgpllibs.*|libxul.*|libld.*|libprldap.*)$
# the following conditions are always met in Factory by definition
BuildRequires: mozilla-nspr-devel >= 4.13.1
PreReq: mozilla-nspr >= %(rpm -q --queryformat '%%{VERSION}' mozilla-nspr)
BuildRequires: mozilla-nss-devel >= 3.28.6
PreReq: mozilla-nss >= %(rpm -q --queryformat '%%{VERSION}' mozilla-nss)
%description
SeaMonkey is an all-in-one Internet application suite containing a web
browser, an e-mail and newsgroup client with an included web feed
reader and calendar, an HTML editor and web development tools, and an
IRC client. SeaMonkey is a successor to the popular Netscape
Communicator and Mozilla Application Suite, and (unlike its siblings,
Firefox and Thunderbird) retains Mozilla's more traditional-looking
interface. Many Thunderbird and (legacy) Firefox extensions are
compatible with SeaMonkey.
%package irc
Summary: IRC for SeaMonkey
Group: Productivity/Networking/IRC
PreReq: %{name} = %{version}
%description irc
An IRC client (Chatzilla) for SeaMonkey.
%package venkman
Summary: The SeaMonkey JavaScript Debugger
Group: Development/Tools/Debuggers
PreReq: %{name} = %{version}
%description venkman
A JavaScript debugger for the SeaMonkey web browser.
%package dom-inspector
Summary: The SeaMonkey DOM Inspector
Group: Development/Tools/Navigators
PreReq: %{name} = %{version}
%description dom-inspector
This is a tool that allows you to inspect the DOM for web pages in
SeaMonkey. This is of great use to people who are doing SeaMonkey
chrome development or web page development.
%if %localize
%package translations-common
Summary: Common translations for SeaMonkey
Group: System/Localization
Provides: locale(%{name}:cs;de;el;en_GB;es_AR;es_ES;fi;fr;hu;it;ja;nb_NO;nl;pl;pt_BR;pt_PT;ru;sv_SE;zh_CN;zh_TW)
PreReq: %{name} = %{version}
%description translations-common
This package contains several optional languages for the user interface
of SeaMonkey.
%package translations-other
Summary: Extra translations for SeaMonkey
Group: System/Localization
Provides: locale(%{name}:ka;sk)
PreReq: %{name} = %{version}
%description translations-other
This package contains several optional languages for the user interface
of SeaMonkey.
%endif
%prep
%setup -q -b 1 -b 11 -c
mv %{sources_subdir} mozilla
%if %localize
%setup -q -T -D -c -n %{name}-%{version}/l10n -a 5
%setup -q -T -D
%endif
cd mozilla
cp %{SOURCE12} GNUmakefile
%patch1 -p2
%patch2 -p2
%patch3 -p2
%patch4 -p2
%patch5 -p0
cat << EOF > .mozconfig
mk_add_options MOZILLA_OFFICIAL=1
mk_add_options BUILD_OFFICIAL=1
mk_add_options MOZ_MILESTONE_RELEASE=1
mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs}
#mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
ac_add_options --enable-application=comm/suite
ac_add_options --libdir=%{_libdir}
ac_add_options --prefix=%{_prefix}
ac_add_options --mandir=%{_mandir}
%if %localize
ac_add_options --with-l10n-base=$RPM_BUILD_DIR/seamonkey-%{version}/l10n
%endif
ac_add_options --disable-tests
ac_add_options --disable-install-strip
ac_add_options --enable-release
ac_add_options --enable-default-toolkit=cairo-gtk3
# Elfhack fails on ix86: https://bugzilla.mozilla.org/show_bug.cgi?id=1706264
%ifarch ppc ppc64 ppc64le aarch64 %arm %ix86
ac_add_options --disable-elf-hack
%endif
ac_add_options --disable-debug
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-zlib
# Mozilla's internal JPEG library is used, probably because of the "turbo" patches
# that make it more efficient than the stock system libjpeg:
# https://bugzilla.mozilla.org/show_bug.cgi?id=573948
#ac_add_options --with-system-jpeg
# The stock system libpng lacks support for APNG, whereas Mozilla's
# internal version suports APNG
#ac_add_options--with-system-png
ac_add_options --disable-crashreporter
ac_add_options --disable-updater
ac_add_options --enable-startup-notification
ac_add_options --enable-system-hunspell
ac_add_options --enable-alsa
%if %has_system_cairo
ac_add_options --enable-system-cairo
%endif
ac_add_options --enable-libproxy
%if 0%{?with_chatzilla}
ac_add_options --with-irc
%endif
%if %with_domi
ac_add_options --with-dominspector
%endif
ac_add_options --enable-calendar
EOF
%build
# no need to add build time to binaries
modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")"
DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\""
TIME="\"$(date -d "${modified}" "+%%R")\""
find . -regex ".*\.c\|.*\.cpp\|.*\.h" \
-exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} +
# As of 2.53.3, i586 builds are failing due to out-of-memory issues,
# so we disable LTO. (This workaround is still necessary as of
# 2.53.7.1.)
%ifarch %ix86
%define _lto_cflags %{nil}
%endif
#
export SUSE_ASNEEDED=0
export MOZ_BUILD_DATE=%{releasedate}
export MOZILLA_OFFICIAL=1
export BUILD_OFFICIAL=1
export CFLAGS="%{optflags} -fno-strict-aliasing"
if [ $(gcc -dumpversion | awk -F. '{print $1}') -ge 6 ]; then
export CFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2"
fi
%ifarch %arm
export CFLAGS="${CFLAGS/-g / }"
%endif
%ifarch %arm %ix86
# Limit RAM usage during link
export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
%endif
%ifarch ppc64 ppc64le
export CFLAGS="$CFLAGS -mminimal-toc"
%endif
export CXXFLAGS="$CFLAGS"
#
%limit_build -m 2000
cd mozilla
make %{?_smp_mflags}
%if %localize
make -j1 locales
%endif
#
%install
cd mozilla
make install DESTDIR=$RPM_BUILD_ROOT
for ext in $RPM_BUILD_ROOT/%{progdir}/extensions/langpack-*@seamonkey.mozilla.org.xpi
do
lang=${ext##*langpack-}
lang=${lang%@*}
lang=${lang/-/_}
echo "%%lang($lang) ${ext#$RPM_BUILD_ROOT}"
done >../seamonkey.lang
# overwrite the mozilla start-script and link it to /usr/bin
mkdir --parents $RPM_BUILD_ROOT%{_bindir}
sed "s:%%PREFIX:%{prefix}:g
s:%%PROGDIR:%{progdir}:g
s:%%APPNAME:seamonkey:g" \
%{SOURCE3} > $RPM_BUILD_ROOT%{progdir}/%{progname}.sh
chmod 755 $RPM_BUILD_ROOT%{progdir}/%{progname}.sh
ln -sf ../..%{progdir}/%{progname}.sh $RPM_BUILD_ROOT%{_bindir}/%{progname}
# apply SUSE defaults
sed -e 's,RPM_VERSION,%{version}-%{release},g
#s,GSSAPI,%{libgssapi},g' \
%{SOURCE4} > suse-default-prefs
cp suse-default-prefs $RPM_BUILD_ROOT%{progdir}/defaults/pref/all-openSUSE.js
rm suse-default-prefs
install -m 644 %{SOURCE2} %{buildroot}%{progdir}/defaults/pref/
# Desktop definition
mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
install -m 644 $RPM_BUILD_DIR/*.desktop \
$RPM_BUILD_ROOT%{_datadir}/applications
mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps/
install -m 644 $RPM_BUILD_DIR/*.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/
#
%suse_update_desktop_file seamonkey Network WebBrowser GTK
%suse_update_desktop_file seamonkey-mail Network Email GTK
%suse_update_desktop_file seamonkey-composer Network WebDevelopment GTK
# excludes
rm -f $RPM_BUILD_ROOT%{progdir}/license.txt
rm -f $RPM_BUILD_ROOT%{progdir}/README
rm -f $RPM_BUILD_ROOT%{progdir}/removed-files
rm -f $RPM_BUILD_ROOT%{progdir}/run-mozilla.sh
rm -f $RPM_BUILD_ROOT%{progdir}/seamonkey
rm -f $RPM_BUILD_ROOT%{progdir}/precomplete
rm -f $RPM_BUILD_ROOT%{progdir}/updater
rm -f $RPM_BUILD_ROOT%{progdir}/updater.ini
rm -f $RPM_BUILD_ROOT%{progdir}/update.locale
rm -f $RPM_BUILD_ROOT%{progdir}/update-settings.ini
rm -f $RPM_BUILD_ROOT%{progdir}/icons/updater.png
rm -f $RPM_BUILD_ROOT%{progdir}/dictionaries/*
# Some sites use different partitions for /usr/(lib|lib64) and /usr/share. Since you
# can't create hardlinks across partitions, we'll do this more than once.
%fdupes $RPM_BUILD_ROOT%{progdir}
%fdupes $RPM_BUILD_ROOT%{_datadir}
#INSTALL APPDATA FILES
mkdir -p %{buildroot}%{_datadir}/appdata
install -m0644 -t %{buildroot}%{_datadir}/appdata/ $RPM_BUILD_DIR/*.appdata.xml
%clean
rm -rf $RPM_BUILD_ROOT
rm -rf %{_tmppath}/translations.*
%files -f seamonkey.lang
%defattr(-,root,root)
%{_bindir}/%{progname}
%dir %{progdir}
%{progdir}/defaults/
%dir %{progdir}/dictionaries/
%dir %{progdir}/extensions/
%dir %{progdir}/chrome/
%{progdir}/chrome/icons
%{progdir}/extensions/modern@themes.mozilla.org.xpi
%{progdir}/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi
%{progdir}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}.xpi
%{progdir}/pingsender
%{progdir}/fonts/
%{progdir}/isp/
%{progdir}/application.ini
%{progdir}/blocklist.xml
%{progdir}/chrome.manifest
%{progdir}/dependentlibs.list
%{progdir}/*.so
%{progdir}/omni.ja
%{progdir}/platform.ini
%{progdir}/plugin-container
%{progdir}/%{progname}.sh
%{progdir}/seamonkey-bin
%dir %{progdir}/gtk2
%{progdir}/gtk2/libmozgtk.so
%{_datadir}/applications/*.desktop
%{_datadir}/pixmaps/*.png
%dir %{_datadir}/appdata
%{_datadir}/appdata/*.appdata.xml
%{_mandir}/*/*
%if 0%{?with_chatzilla}
%files irc
%defattr(-,root,root)
%{progdir}/extensions/{59c81df5-4b7a-477b-912d-4e0fdf64e5f2}.xpi
%endif
%if 0%{?with_domi}
%files dom-inspector
%defattr(-,root,root)
%{progdir}/extensions/inspector*.xpi
%endif
%changelog

1
spellcheck.js Normal file
View File

@ -0,0 +1 @@
pref("spellchecker.dictionary_path", "/usr/share/myspell");

14
suse-default-prefs.js Normal file
View File

@ -0,0 +1,14 @@
pref("browser.display.use_system_colors", true);
pref("browser.startup.homepage_override.mstone", "ignore");
pref("general.smoothScroll", true);
pref("font.default", "sans-serif");
pref("network.negotiate-auth.gsslib", "GSSAPI");
pref("print.print_edge_top", 14); // 1/100 of an inch
pref("print.print_edge_left", 16); // 1/100 of an inch
pref("print.print_edge_right", 16); // 1/100 of an inch
pref("print.print_edge_bottom", 14); // 1/100 of an inch
pref("intl.locale.requested", "");
// do not disable system-global or app-global extensions
pref("extensions.autoDisableScopes", 3);
pref("extensions.shownSelectionUI", true);