Adjust clang dependency to fix Tumbleweed build
OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/seamonkey?expand=0&rev=67
This commit is contained in:
commit
19beb5ecdd
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal 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
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
23
_constraints
Normal file
23
_constraints
Normal file
@ -0,0 +1,23 @@
|
||||
<?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>
|
||||
<arch>ppc64le</arch>
|
||||
</conditions>
|
||||
<hardware>
|
||||
<memory>
|
||||
<size unit="G">5</size>
|
||||
</memory>
|
||||
</hardware>
|
||||
</overwrite>
|
||||
</constraints>
|
16
mozilla-bmo1862601.patch
Normal file
16
mozilla-bmo1862601.patch
Normal file
@ -0,0 +1,16 @@
|
||||
--- a/intl/lwbrk/LineBreaker.cpp
|
||||
+++ b/intl/lwbrk/LineBreaker.cpp
|
||||
@@ -559,7 +559,12 @@
|
||||
/* REGIONAL_INDICATOR = 39, [RI] */ CLASS_CHARACTER,
|
||||
/* E_BASE = 40, [EB] */ CLASS_BREAKABLE,
|
||||
/* E_MODIFIER = 41, [EM] */ CLASS_CHARACTER,
|
||||
- /* ZWJ = 42, [ZWJ]*/ CLASS_CHARACTER
|
||||
+ /* ZWJ = 42, [ZWJ]*/ CLASS_CHARACTER,
|
||||
+ /* AKSARA = 43, [AK] */ CLASS_CHARACTER,
|
||||
+ /* AKSARA_PREBASE = 44, [AP] */ CLASS_CHARACTER,
|
||||
+ /* AKSARA_START = 45, [AS] */ CLASS_CHARACTER,
|
||||
+ /* VIRAMA_FINAL = 46, [VF] */ CLASS_CHARACTER,
|
||||
+ /* VIRAMA = 47, [VI] */ CLASS_CHARACTER,
|
||||
};
|
||||
|
||||
static_assert(U_LB_COUNT == mozilla::ArrayLength(sUnicodeLineBreakToClass),
|
24886
mozilla-bmo1896958.patch
Normal file
24886
mozilla-bmo1896958.patch
Normal file
File diff suppressed because one or more lines are too long
33
mozilla-bmo531915.patch
Normal file
33
mozilla-bmo531915.patch
Normal file
@ -0,0 +1,33 @@
|
||||
# HG changeset patch
|
||||
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
# Parent fa8a5832a374ccd7af5db927b992b5d9f15273ef
|
||||
|
||||
diff --git a/modules/fdlibm/src/math_private.h b/modules/fdlibm/src/math_private.h
|
||||
--- a/modules/fdlibm/src/math_private.h
|
||||
+++ b/modules/fdlibm/src/math_private.h
|
||||
@@ -25,19 +25,24 @@
|
||||
|
||||
#include "fdlibm.h"
|
||||
|
||||
/*
|
||||
* Emulate FreeBSD internal double types.
|
||||
* Adapted from https://github.com/freebsd/freebsd-src/search?q=__double_t
|
||||
*/
|
||||
|
||||
+#ifdef __i386__
|
||||
+typedef long double __double_t;
|
||||
+typedef long double __float_t;
|
||||
+#else
|
||||
typedef double __double_t;
|
||||
+typedef float __float_t;
|
||||
+#endif
|
||||
typedef __double_t double_t;
|
||||
-typedef float __float_t;
|
||||
|
||||
/*
|
||||
* The original fdlibm code used statements like:
|
||||
* n0 = ((*(int*)&one)>>29)^1; * index of high word *
|
||||
* ix0 = *(n0+(int*)&x); * high word of x *
|
||||
* ix1 = *((1-n0)+(int*)&x); * low word of x *
|
||||
* to dig two 32 bit words out of the 64 bit IEEE floating point
|
||||
* value. That is non-ANSI, and, moreover, the gcc instruction
|
25
mozilla-nongnome-proxies.patch
Normal file
25
mozilla-nongnome-proxies.patch
Normal file
@ -0,0 +1,25 @@
|
||||
From: Wolfgang Rosenauer, Tristan Miller
|
||||
Subject: Do not use gconf for proxy settings if not running within Gnome
|
||||
|
||||
diff -ruN seamonkey-2.53.17b1.orig/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp seamonkey-2.53.17b1/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||
--- seamonkey-2.53.17b1.orig/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp 2023-06-10 12:41:26.000000000 +0200
|
||||
+++ seamonkey-2.53.17b1/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp 2023-07-12 09:41:08.047344985 +0200
|
||||
@@ -55,10 +55,14 @@
|
||||
nsresult
|
||||
nsUnixSystemProxySettings::Init()
|
||||
{
|
||||
- mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
|
||||
- if (mGSettings) {
|
||||
- mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"),
|
||||
- getter_AddRefs(mProxySettings));
|
||||
+ // 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));
|
||||
+ }
|
||||
}
|
||||
|
||||
return NS_OK;
|
18
mozilla-ntlm-full-path.patch
Normal file
18
mozilla-ntlm-full-path.patch
Normal 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
143
mozilla.sh.in
Normal 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
|
63
reproducible.patch
Normal file
63
reproducible.patch
Normal file
@ -0,0 +1,63 @@
|
||||
https://github.com/mozilla/gecko-dev/commit/025982b6714051c747dcb9600d6e5c92d2dcaf7b
|
||||
|
||||
From 025982b6714051c747dcb9600d6e5c92d2dcaf7b Mon Sep 17 00:00:00 2001
|
||||
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
Date: Thu, 16 Mar 2023 14:01:58 +0000
|
||||
Subject: [PATCH] Bug 1817032 - Honor SOURCE_DATE_EPOCH to build langpacks
|
||||
reproducibly. r=eemeli@mozilla.com
|
||||
|
||||
Differential Revision: https://phabricator.services.mozilla.com/D169979
|
||||
---
|
||||
.../mozbuild/action/langpack_manifest.py | 17 +++++++++++++----
|
||||
1 file changed, 13 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/python/mozbuild/mozbuild/action/langpack_manifest.py b/python/mozbuild/mozbuild/action/langpack_manifest.py
|
||||
index f82a329cc..10e42fe99 100644
|
||||
--- a/python/mozbuild/mozbuild/action/langpack_manifest.py
|
||||
+++ b/python/mozbuild/mozbuild/action/langpack_manifest.py
|
||||
@@ -16,6 +16,7 @@ import os
|
||||
import json
|
||||
import io
|
||||
import datetime
|
||||
+import time
|
||||
import requests
|
||||
import mozversioncontrol
|
||||
import mozpack.path as mozpath
|
||||
@@ -36,9 +37,17 @@ def write_file(path, content):
|
||||
pushlog_api_url = "{0}/json-rev/{1}"
|
||||
|
||||
|
||||
+def get_build_date():
|
||||
+ """Return the current date or SOURCE_DATE_EPOCH, if set."""
|
||||
+ return datetime.datetime.utcfromtimestamp(
|
||||
+ int(os.environ.get("SOURCE_DATE_EPOCH", time.time()))
|
||||
+ )
|
||||
+
|
||||
+
|
||||
###
|
||||
-# Retrievers a UTC datetime of the push for the current commit
|
||||
-# from a mercurial clone directory.
|
||||
+# Retrieves a UTC datetime of the push for the current commit from a
|
||||
+# mercurial clone directory. The SOURCE_DATE_EPOCH environment
|
||||
+# variable is honored, for reproducibility.
|
||||
#
|
||||
# Args:
|
||||
# path (str) - path to a directory
|
||||
@@ -54,7 +63,7 @@ def get_dt_from_hg(path):
|
||||
with mozversioncontrol.get_repository_object(path=path) as repo:
|
||||
phase = repo._run("log", "-r", ".", "-T" "{phase}")
|
||||
if phase.strip() != "public":
|
||||
- return datetime.datetime.utcnow()
|
||||
+ return get_build_date()
|
||||
repo_url = repo._run("paths", "default")
|
||||
repo_url = repo_url.strip().replace("ssh://", "https://")
|
||||
repo_url = repo_url.replace("hg://", "https://")
|
||||
@@ -99,7 +108,7 @@ def get_timestamp_for_locale(path):
|
||||
dt = get_dt_from_hg(path)
|
||||
|
||||
if dt is None:
|
||||
- dt = datetime.datetime.utcnow()
|
||||
+ dt = get_build_date()
|
||||
|
||||
dt = dt.replace(microsecond=0)
|
||||
return dt.strftime("%Y%m%d%H%M%S")
|
3
seamonkey-2.53.18.2.source-l10n.tar.xz
Normal file
3
seamonkey-2.53.18.2.source-l10n.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3d029110e7eddb895a70e0ee146e160ea2952005e18be71f49cdd7f3c04bbb79
|
||||
size 13419252
|
3
seamonkey-2.53.18.2.source.tar.xz
Normal file
3
seamonkey-2.53.18.2.source.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2422e824dbec0cb268d3741dcbf3f2b23a477437052300f181fa7b6c7c364fef
|
||||
size 252310768
|
3
seamonkey-2.53.19.source-l10n.tar.xz
Normal file
3
seamonkey-2.53.19.source-l10n.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a9c7d6aff6cb0c084c14aa8c1261b80b2b32c7f03e8910658db037671b893e25
|
||||
size 13430044
|
3
seamonkey-2.53.19.source.tar.xz
Normal file
3
seamonkey-2.53.19.source.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a6c9a44d2a167f04fff5d4175ad61e934c6177852ab8ab56c319f242a73146e2
|
||||
size 249145892
|
190
seamonkey-GNUmakefile
Normal file
190
seamonkey-GNUmakefile
Normal file
@ -0,0 +1,190 @@
|
||||
#
|
||||
# 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 are built, their data will be included too.
|
||||
# (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 = env MACH_USE_SYSTEM_PYTHON=1 ./mach --log-no-times
|
||||
export MACH_USE_SYSTEM_PYTHON = 1
|
||||
|
||||
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
|
||||
#
|
||||
#
|
||||
# The target `locales' creates all the needed langpacks.
|
||||
#
|
||||
# By default, all available locales will be used. You can change it
|
||||
# by overriding SHIPPED_LOCALES variable on the command line.
|
||||
#
|
||||
# Additionally, you can use `make locale-LANG' to create one (or several)
|
||||
# langpack separately.
|
||||
#
|
||||
# For example, to build `fr' and 'it' only, use:
|
||||
#
|
||||
# make locales SHIPPED_LOCALES="fr it"
|
||||
#
|
||||
# to create just `ru' langpack:
|
||||
#
|
||||
# make locale-ru
|
||||
#
|
||||
# Use `clear-locales' 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 clear-locales 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: $(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-$*
|
||||
|
||||
# Cleanup of old manifest files
|
||||
find $@ -name "*.manifest" -print | xargs rm -f
|
||||
|
||||
find $@ -name ".mkdir.done" -print | xargs rm -f
|
||||
find $@/extensions -name "defaults" -type d -print | xargs rm -rf
|
||||
|
||||
# Spanish locales other than es-ES are from Latam, where the es-AR langpack is most preferred
|
||||
[ $* = es-AR ] && sed -i '/"es-AR": {/ s/es-AR/es/' $@/manifest.json || :
|
||||
|
||||
|
||||
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 manifest.json file
|
||||
# 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) manifest.json
|
||||
cd $<; zip -g -r -9 -D -X $(DEST_NAME) chrome extensions
|
||||
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
|
||||
|
||||
|
||||
#
|
||||
# Dictionaries
|
||||
#
|
||||
# It is better to use system dictionaries, specifying directory path for them
|
||||
# by "spellchecker.dictionary_path" preference (or even use symlink when 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))
|
||||
|
3
seamonkey-appdata.tar.bz2
Normal file
3
seamonkey-appdata.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f3cb87e82e2f21d04417ed5313275f39c6d6c4164563560c3ce43f6e26306ede
|
||||
size 3025
|
3
seamonkey-desktop.tar.bz2
Normal file
3
seamonkey-desktop.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:992d36c915ac5362dfbd0f057c81937d3133fb97fbbea4b51f83bfc19e97696f
|
||||
size 22975
|
12
seamonkey-lto.patch
Normal file
12
seamonkey-lto.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -ruN seamonkey-2.53.17b1.orig/security/sandbox/linux/moz.build seamonkey-2.53.17b1/security/sandbox/linux/moz.build
|
||||
--- seamonkey-2.53.17b1.orig/security/sandbox/linux/moz.build 2023-06-10 12:41:21.000000000 +0200
|
||||
+++ seamonkey-2.53.17b1/security/sandbox/linux/moz.build 2023-07-12 09:48:50.099448143 +0200
|
||||
@@ -101,7 +101,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()
|
23
seamonkey-man-page.patch
Normal file
23
seamonkey-man-page.patch
Normal file
@ -0,0 +1,23 @@
|
||||
--- build/moz.configure/old.configure 2022-06-08 21:10:25.000000000 +0200
|
||||
+++ build/moz.configure/old.configure 2022-07-11 14:04:06.231167162 +0200
|
||||
@@ -246,6 +246,7 @@
|
||||
'--enable-zipwriter',
|
||||
'--includedir',
|
||||
'--libdir',
|
||||
+ '--mandir',
|
||||
'--prefix',
|
||||
'--with-app-basename',
|
||||
'--with-app-name',
|
||||
--- comm/suite/installer/Makefile.in 2021-08-08 15:29:32.000000000 +0200
|
||||
+++ comm/suite/installer/Makefile.in 2022-07-11 14:04:44.710104711 +0200
|
||||
@@ -145,6 +145,10 @@
|
||||
|
||||
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)
|
1
seamonkey-rpmlintrc
Normal file
1
seamonkey-rpmlintrc
Normal file
@ -0,0 +1 @@
|
||||
addFilter("no-jar-manifest")
|
4891
seamonkey.changes
Normal file
4891
seamonkey.changes
Normal file
File diff suppressed because it is too large
Load Diff
488
seamonkey.spec
Normal file
488
seamonkey.spec
Normal file
@ -0,0 +1,488 @@
|
||||
#
|
||||
# spec file for package seamonkey
|
||||
#
|
||||
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
# 2006-2018 Wolfgang Rosenauer
|
||||
# 2018-2024 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/
|
||||
#
|
||||
|
||||
# upstream default is clang (to use gcc for large parts set to 0)
|
||||
%define clang_build 0
|
||||
|
||||
Name: seamonkey
|
||||
BuildRequires: Mesa-devel
|
||||
BuildRequires: alsa-devel
|
||||
BuildRequires: autoconf213
|
||||
BuildRequires: dbus-1-glib-devel
|
||||
BuildRequires: fdupes
|
||||
# Use GCC 13 on Tumbleweed because builds fail with GCC 14:
|
||||
# <https://bugzilla.mozilla.org/show_bug.cgi?id=1916827>
|
||||
%if 0%{?suse_version} > 1600
|
||||
BuildRequires: gcc13-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
BuildRequires: hunspell-devel
|
||||
# Using system AV1 decoder depends on pending patch from
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1559213
|
||||
#BuildRequires: dav1d5-devel
|
||||
BuildRequires: libiw-devel
|
||||
BuildRequires: libnotify-devel
|
||||
BuildRequires: libproxy-devel
|
||||
#BuildRequires: libvpx-devel # Compile errors with 1.10.0
|
||||
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150200 && 0%{?is_opensuse}
|
||||
BuildRequires: libwebp-devel >= 1.0.0
|
||||
# --system-icu builds are failing on Tumbleweed; see https://bugzilla.mozilla.org/show_bug.cgi?id=193317
|
||||
#BuildRequires: libicu-devel >= 63.1
|
||||
%endif
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: memory-constraints
|
||||
BuildRequires: python3-base
|
||||
BuildRequires: startup-notification-devel
|
||||
BuildRequires: unzip
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: xorg-x11-libXt-devel
|
||||
BuildRequires: yasm
|
||||
BuildRequires: zip
|
||||
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-cbindgen
|
||||
BuildRequires: git
|
||||
BuildRequires: nasm >= 2.13
|
||||
#BuildRequires: llvm-devel
|
||||
%if 0%{?suse_version} > 1600
|
||||
BuildRequires: clang18-devel
|
||||
%else
|
||||
BuildRequires: clang-devel
|
||||
%endif
|
||||
Provides: web_browser
|
||||
Provides: browser(npapi)
|
||||
Version: 2.53.19
|
||||
Release: 0
|
||||
%define releasedate 20240904000000
|
||||
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-ntlm-full-path.patch
|
||||
Patch3: seamonkey-lto.patch
|
||||
Patch4: seamonkey-man-page.patch
|
||||
Patch5: reproducible.patch
|
||||
Patch6: mozilla-bmo531915.patch
|
||||
Patch7: mozilla-bmo1896958.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)
|
||||
%if 0%{?sle_version} != 150500 && 0%{?is_opensuse}
|
||||
BuildRequires: mozilla-nss-devel >= 3.28.6
|
||||
PreReq: mozilla-nss >= %(rpm -q --queryformat '%%{VERSION}' mozilla-nss)
|
||||
%endif
|
||||
|
||||
%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
|
||||
|
||||
%patch -P 1 -p1
|
||||
%patch -P 2 -p2
|
||||
%patch -P 3 -p1
|
||||
%patch -P 4 -p0
|
||||
%patch -P 5 -p1
|
||||
%patch -P 6 -p1
|
||||
%patch -P 7 -p1
|
||||
|
||||
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
|
||||
ac_add_options --disable-gconf
|
||||
|
||||
# Elfhack fails on ix86: https://bugzilla.mozilla.org/show_bug.cgi?id=1706264
|
||||
%ifarch aarch64 ppc %arm %ix86
|
||||
ac_add_options --disable-elf-hack
|
||||
%endif
|
||||
|
||||
ac_add_options --disable-debug
|
||||
|
||||
ac_add_options --with-system-nspr
|
||||
%if 0%{?sle_version} != 150500 && 0%{?is_opensuse}
|
||||
ac_add_options --with-system-nss
|
||||
%endif
|
||||
ac_add_options --with-system-zlib
|
||||
ac_add_options --with-system-bz2
|
||||
|
||||
%if 0%{?suse_version} > 1600 || 0%{?sle_version} >= 150200 && 0%{?is_opensuse}
|
||||
ac_add_options --with-system-webp
|
||||
|
||||
# --system-icu builds are failing on Tumbleweed; see https://bugzilla.mozilla.org/show_bug.cgi?id=193317
|
||||
#ac_add_options --with-system-icu
|
||||
%endif
|
||||
|
||||
# Compile errors with system libvpx-1.10.0
|
||||
#ac_add_options --with-system-libvpx
|
||||
|
||||
# Using system AV1 decoder depends on pending patch from
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1559213
|
||||
# ac_add_options --with-system-av1
|
||||
|
||||
# Mozilla's internal JPEG library is used 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-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
|
||||
#
|
||||
# As of 2.53.13, Tumbleweed builds are failing due to the linker
|
||||
# issue <https://bugzilla.mozilla.org/show_bug.cgi?id=1778981>
|
||||
# so we disable LTO.
|
||||
%if 0%{?suse_version} > 1600
|
||||
%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 0%{?clang_build} == 0
|
||||
# Use GCC 13 on Tumbleweed because builds fail with GCC 14:
|
||||
# <https://bugzilla.mozilla.org/show_bug.cgi?id=1916827>
|
||||
%if 0%{?suse_version} > 1600
|
||||
export CC=gcc-13
|
||||
export CXX=g++-13
|
||||
%else
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
%endif
|
||||
%if 0%{?gcc_version:%{gcc_version}} >= 12
|
||||
export CFLAGS="$CFLAGS -fimplicit-constexpr"
|
||||
%endif
|
||||
%endif
|
||||
|
||||
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
|
||||
%if 0%{?clang_build} == 0
|
||||
export CFLAGS="$CFLAGS -mminimal-toc"
|
||||
%endif
|
||||
%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
|
||||
|
||||
%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}/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
|
||||
%{progdir}/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
1
spellcheck.js
Normal file
@ -0,0 +1 @@
|
||||
pref("spellchecker.dictionary_path", "/usr/share/myspell");
|
14
suse-default-prefs.js
Normal file
14
suse-default-prefs.js
Normal 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);
|
||||
|
Loading…
Reference in New Issue
Block a user