forked from pool/seamonkey
Compare commits
18 Commits
Author | SHA256 | Date | |
---|---|---|---|
0c09bc2888 | |||
|
e19a023a4c | ||
|
7ac50ff8df | ||
afd808a5cc | |||
|
5d0a3d7add | ||
4ac88dfeac | |||
|
81dc5ac4b9 | ||
797d599da6 | |||
|
eb38341a77 | ||
cca665be35 | |||
|
19437b4dc3 | ||
00c0d44912 | |||
|
d1e2d8755c | ||
c382ac7bd4 | |||
|
dbc62ecbe2 | ||
|
19beb5ecdd | ||
6d429ab011 | |||
|
92ae362332 |
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a9c7d6aff6cb0c084c14aa8c1261b80b2b32c7f03e8910658db037671b893e25
|
||||
size 13430044
|
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a6c9a44d2a167f04fff5d4175ad61e934c6177852ab8ab56c319f242a73146e2
|
||||
size 249145892
|
11
seamonkey-2.53.20-mach-use-python-311.patch
Normal file
11
seamonkey-2.53.20-mach-use-python-311.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- mozilla/mach~ 2025-03-19 05:32:33.217982928 +0000
|
||||
+++ mozilla/mach 2025-03-19 05:32:42.248303296 +0000
|
||||
@@ -87,7 +87,7 @@
|
||||
esac
|
||||
py3executable=$state_dir/_virtualenvs/mach/$bin_path/python
|
||||
else
|
||||
- py3executable=python3
|
||||
+ py3executable=python3.11
|
||||
fi
|
||||
|
||||
# Check whether we need to run with the native Python 3 interpreter.
|
91
seamonkey-2.53.20-system-av1.patch
Normal file
91
seamonkey-2.53.20-system-av1.patch
Normal file
@@ -0,0 +1,91 @@
|
||||
diff -Nrup mozilla/config/external/moz.build mozilla-OK/config/external/moz.build
|
||||
--- mozilla/config/external/moz.build 2024-12-11 23:05:11.000000000 +0300
|
||||
+++ mozilla-OK/config/external/moz.build 2024-12-18 22:25:57.015364278 +0300
|
||||
@@ -32,8 +32,9 @@ if not CONFIG['MOZ_SYSTEM_LIBVPX']:
|
||||
external_dirs += ['media/libvpx']
|
||||
|
||||
if CONFIG['MOZ_AV1']:
|
||||
- external_dirs += ['media/libaom']
|
||||
- external_dirs += ['media/libdav1d']
|
||||
+ if not CONFIG['MOZ_SYSTEM_AV1']:
|
||||
+ external_dirs += ['media/libaom']
|
||||
+ external_dirs += ['media/libdav1d']
|
||||
|
||||
if not CONFIG['MOZ_SYSTEM_PNG']:
|
||||
external_dirs += ['media/libpng']
|
||||
diff -Nrup mozilla/config/system-headers.mozbuild mozilla-OK/config/system-headers.mozbuild
|
||||
--- mozilla/config/system-headers.mozbuild 2024-12-11 23:05:11.000000000 +0300
|
||||
+++ mozilla-OK/config/system-headers.mozbuild 2024-12-18 22:25:57.015364278 +0300
|
||||
@@ -1289,6 +1289,14 @@ if CONFIG['MOZ_ENABLE_LIBPROXY']:
|
||||
'proxy.h',
|
||||
]
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_AV1']:
|
||||
+ system_headers += [
|
||||
+ 'aom/aom_decoder.h',
|
||||
+ 'aom/aomdx.h',
|
||||
+ 'aom/aom_image.h',
|
||||
+ 'dav1d/dav1d.h',
|
||||
+ ]
|
||||
+
|
||||
if CONFIG['MOZ_SYSTEM_LIBVPX']:
|
||||
system_headers += [
|
||||
'vpx_mem/vpx_mem.h',
|
||||
diff -Nrup mozilla/dom/media/platforms/moz.build mozilla-OK/dom/media/platforms/moz.build
|
||||
--- mozilla/dom/media/platforms/moz.build 2024-12-11 23:05:11.000000000 +0300
|
||||
+++ mozilla-OK/dom/media/platforms/moz.build 2024-12-18 22:25:57.016364270 +0300
|
||||
@@ -74,6 +74,11 @@ if CONFIG['MOZ_AV1']:
|
||||
'agnostic/AOMDecoder.cpp',
|
||||
'agnostic/DAV1DDecoder.cpp',
|
||||
]
|
||||
+ if CONFIG['MOZ_SYSTEM_AV1']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_SYSTEM_LIBAOM_CFLAGS']
|
||||
+ OS_LIBS += CONFIG['MOZ_SYSTEM_LIBAOM_LIBS']
|
||||
+ CXXFLAGS += CONFIG['MOZ_SYSTEM_LIBDAV1D_CFLAGS']
|
||||
+ OS_LIBS += CONFIG['MOZ_SYSTEM_LIBDAV1D_LIBS']
|
||||
|
||||
if CONFIG['MOZ_APPLEMEDIA']:
|
||||
EXPORTS += [
|
||||
diff -Nrup mozilla/toolkit/moz.configure mozilla-OK/toolkit/moz.configure
|
||||
--- mozilla/toolkit/moz.configure 2024-12-11 23:05:11.000000000 +0300
|
||||
+++ mozilla-OK/toolkit/moz.configure 2024-12-18 22:35:00.174271221 +0300
|
||||
@@ -414,8 +414,23 @@ def av1(value):
|
||||
if value:
|
||||
return True
|
||||
|
||||
+option('--with-system-av1',
|
||||
+ help="Use system av1 (located with pkgconfig)")
|
||||
|
||||
-@depends(target, when=av1 & compile_environment)
|
||||
+system_libaom_info = pkg_check_modules('MOZ_SYSTEM_LIBAOM', 'aom >= 1.0.0',
|
||||
+ when='--with-system-av1')
|
||||
+
|
||||
+system_libdav1d_info = pkg_check_modules('MOZ_SYSTEM_LIBDAV1D', 'dav1d >= 0.1.1',
|
||||
+ when='--with-system-av1')
|
||||
+
|
||||
+@depends(system_libaom_info, system_libdav1d_info)
|
||||
+def system_av1(system_libaom_info, system_libdav1d_info):
|
||||
+ has_av1_libs = False
|
||||
+ if system_libaom_info and system_libdav1d_info:
|
||||
+ has_av1_libs = True
|
||||
+ return has_av1_libs
|
||||
+
|
||||
+@depends(target, when=av1 & depends(system_av1)(lambda v: not v) & compile_environment)
|
||||
def dav1d_asm(target):
|
||||
if target.cpu in ("aarch64", "x86", "x86_64"):
|
||||
return True
|
||||
@@ -431,6 +446,7 @@ set_config('MOZ_DAV1D_ASM', dav1d_asm)
|
||||
set_define('MOZ_DAV1D_ASM', dav1d_asm)
|
||||
set_config('MOZ_AV1', av1)
|
||||
set_define('MOZ_AV1', av1)
|
||||
+set_config('MOZ_SYSTEM_AV1', depends_if(system_av1)(lambda _: True))
|
||||
|
||||
# Built-in fragmented MP4 support.
|
||||
# ==============================================================
|
||||
@@ -1745,4 +1761,4 @@ def android_package_name(value, moz_app_
|
||||
return 'org.mozilla.fennec_aurora'
|
||||
return 'org.mozilla.%s' % moz_app_name
|
||||
|
||||
-set_config('ANDROID_PACKAGE_NAME', android_package_name)
|
||||
\ No newline at end of file
|
||||
+set_config('ANDROID_PACKAGE_NAME', android_package_name)
|
307
seamonkey-2.53.21-bmo1332139.patch
Normal file
307
seamonkey-2.53.21-bmo1332139.patch
Normal file
@@ -0,0 +1,307 @@
|
||||
diff -Nrup -U 8 a/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc b/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc
|
||||
--- a/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc 2020-02-18 02:37:58.000000000 +0300
|
||||
+++ b/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc 2020-03-02 00:34:19.000000000 +0300
|
||||
@@ -79,17 +79,19 @@ VP9EncoderImpl::VP9EncoderImpl()
|
||||
num_temporal_layers_(0),
|
||||
num_spatial_layers_(0),
|
||||
num_cores_(0),
|
||||
is_flexible_mode_(false),
|
||||
frames_encoded_(0),
|
||||
// Use two spatial when screensharing with flexible mode.
|
||||
spatial_layer_(new ScreenshareLayersVP9(2)) {
|
||||
memset(&codec_, 0, sizeof(codec_));
|
||||
+#ifdef LIBVPX_SVC
|
||||
memset(&svc_params_, 0, sizeof(vpx_svc_extra_cfg_t));
|
||||
+#endif
|
||||
uint32_t seed = rtc::Time32();
|
||||
srand(seed);
|
||||
}
|
||||
|
||||
VP9EncoderImpl::~VP9EncoderImpl() {
|
||||
Release();
|
||||
}
|
||||
|
||||
@@ -115,55 +117,66 @@ int VP9EncoderImpl::Release() {
|
||||
}
|
||||
inited_ = false;
|
||||
return WEBRTC_VIDEO_CODEC_OK;
|
||||
}
|
||||
|
||||
bool VP9EncoderImpl::ExplicitlyConfiguredSpatialLayers() const {
|
||||
// We check target_bitrate_bps of the 0th layer to see if the spatial layers
|
||||
// (i.e. bitrates) were explicitly configured.
|
||||
+#ifdef LIBVPX_SVC
|
||||
return num_spatial_layers_ > 1 &&
|
||||
codec_.spatialLayers[0].target_bitrate_bps > 0;
|
||||
+#else
|
||||
+ return false;
|
||||
+#endif
|
||||
}
|
||||
|
||||
bool VP9EncoderImpl::SetSvcRates() {
|
||||
uint8_t i = 0;
|
||||
|
||||
if (ExplicitlyConfiguredSpatialLayers()) {
|
||||
+#ifdef LIBVPX_SVC
|
||||
if (num_temporal_layers_ > 1) {
|
||||
LOG(LS_ERROR) << "Multiple temporal layers when manually specifying "
|
||||
"spatial layers not implemented yet!";
|
||||
return false;
|
||||
}
|
||||
int total_bitrate_bps = 0;
|
||||
for (i = 0; i < num_spatial_layers_; ++i)
|
||||
total_bitrate_bps += codec_.spatialLayers[i].target_bitrate_bps;
|
||||
// If total bitrate differs now from what has been specified at the
|
||||
// beginning, update the bitrates in the same ratio as before.
|
||||
for (i = 0; i < num_spatial_layers_; ++i) {
|
||||
config_->ss_target_bitrate[i] = config_->layer_target_bitrate[i] =
|
||||
static_cast<int>(static_cast<int64_t>(config_->rc_target_bitrate) *
|
||||
codec_.spatialLayers[i].target_bitrate_bps /
|
||||
total_bitrate_bps);
|
||||
}
|
||||
+#endif
|
||||
} else {
|
||||
float rate_ratio[VPX_MAX_LAYERS] = {0};
|
||||
float total = 0;
|
||||
|
||||
+#ifdef LIBVPX_SVC
|
||||
for (i = 0; i < num_spatial_layers_; ++i) {
|
||||
if (svc_params_.scaling_factor_num[i] <= 0 ||
|
||||
svc_params_.scaling_factor_den[i] <= 0) {
|
||||
LOG(LS_ERROR) << "Scaling factors not specified!";
|
||||
return false;
|
||||
}
|
||||
rate_ratio[i] =
|
||||
static_cast<float>(svc_params_.scaling_factor_num[i]) /
|
||||
svc_params_.scaling_factor_den[i];
|
||||
total += rate_ratio[i];
|
||||
}
|
||||
+#else
|
||||
+ rate_ratio[0] = 1;
|
||||
+ total = 1;
|
||||
+#endif
|
||||
|
||||
for (i = 0; i < num_spatial_layers_; ++i) {
|
||||
config_->ss_target_bitrate[i] = static_cast<unsigned int>(
|
||||
config_->rc_target_bitrate * rate_ratio[i] / total);
|
||||
if (num_temporal_layers_ == 1) {
|
||||
config_->layer_target_bitrate[i] = config_->ss_target_bitrate[i];
|
||||
} else if (num_temporal_layers_ == 2) {
|
||||
config_->layer_target_bitrate[i * num_temporal_layers_] =
|
||||
@@ -390,16 +403,17 @@ int VP9EncoderImpl::NumberOfThreads(int
|
||||
return 2;
|
||||
} else {
|
||||
// 1 thread less than VGA.
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
int VP9EncoderImpl::InitAndSetControlSettings(const VideoCodec* inst) {
|
||||
+#ifdef LIBVPX_SVC
|
||||
// Set QP-min/max per spatial and temporal layer.
|
||||
int tot_num_layers = num_spatial_layers_ * num_temporal_layers_;
|
||||
for (int i = 0; i < tot_num_layers; ++i) {
|
||||
svc_params_.max_quantizers[i] = config_->rc_max_quantizer;
|
||||
svc_params_.min_quantizers[i] = config_->rc_min_quantizer;
|
||||
}
|
||||
config_->ss_number_layers = num_spatial_layers_;
|
||||
if (ExplicitlyConfiguredSpatialLayers()) {
|
||||
@@ -413,37 +427,41 @@ int VP9EncoderImpl::InitAndSetControlSet
|
||||
for (int i = num_spatial_layers_ - 1; i >= 0; --i) {
|
||||
// 1:2 scaling in each dimension.
|
||||
svc_params_.scaling_factor_num[i] = scaling_factor_num;
|
||||
svc_params_.scaling_factor_den[i] = 256;
|
||||
if (codec_.mode != kScreensharing)
|
||||
scaling_factor_num /= 2;
|
||||
}
|
||||
}
|
||||
+#endif
|
||||
|
||||
if (!SetSvcRates()) {
|
||||
return WEBRTC_VIDEO_CODEC_ERR_PARAMETER;
|
||||
}
|
||||
|
||||
if (vpx_codec_enc_init(encoder_, vpx_codec_vp9_cx(), config_, 0)) {
|
||||
return WEBRTC_VIDEO_CODEC_UNINITIALIZED;
|
||||
}
|
||||
vpx_codec_control(encoder_, VP8E_SET_CPUUSED, cpu_speed_);
|
||||
vpx_codec_control(encoder_, VP8E_SET_MAX_INTRA_BITRATE_PCT,
|
||||
rc_max_intra_target_);
|
||||
vpx_codec_control(encoder_, VP9E_SET_AQ_MODE,
|
||||
inst->VP9().adaptiveQpMode ? 3 : 0);
|
||||
|
||||
+#ifdef LIBVPX_SVC
|
||||
vpx_codec_control(
|
||||
encoder_, VP9E_SET_SVC,
|
||||
(num_temporal_layers_ > 1 || num_spatial_layers_ > 1) ? 1 : 0);
|
||||
if (num_temporal_layers_ > 1 || num_spatial_layers_ > 1) {
|
||||
vpx_codec_control(encoder_, VP9E_SET_SVC_PARAMETERS,
|
||||
&svc_params_);
|
||||
}
|
||||
+#endif
|
||||
+
|
||||
// Register callback for getting each spatial layer.
|
||||
vpx_codec_priv_output_cx_pkt_cb_pair_t cbp = {
|
||||
VP9EncoderImpl::EncoderOutputCodedPacketCallback,
|
||||
reinterpret_cast<void*>(this)};
|
||||
vpx_codec_control(encoder_, VP9E_REGISTER_CX_CALLBACK,
|
||||
reinterpret_cast<void*>(&cbp));
|
||||
|
||||
// Control function to set the number of column tiles in encoding a frame, in
|
||||
@@ -527,16 +545,17 @@ int VP9EncoderImpl::Encode(const VideoFr
|
||||
|
||||
vpx_enc_frame_flags_t flags = 0;
|
||||
bool send_keyframe = (frame_type == kVideoFrameKey);
|
||||
if (send_keyframe) {
|
||||
// Key frame request from caller.
|
||||
flags = VPX_EFLAG_FORCE_KF;
|
||||
}
|
||||
|
||||
+#ifdef LIBVPX_SVC
|
||||
if (is_flexible_mode_) {
|
||||
SuperFrameRefSettings settings;
|
||||
|
||||
// These structs are copied when calling vpx_codec_control,
|
||||
// therefore it is ok for them to go out of scope.
|
||||
vpx_svc_ref_frame_config enc_layer_conf;
|
||||
vpx_svc_layer_id layer_id;
|
||||
|
||||
@@ -548,16 +567,17 @@ int VP9EncoderImpl::Encode(const VideoFr
|
||||
send_keyframe);
|
||||
}
|
||||
enc_layer_conf = GenerateRefsAndFlags(settings);
|
||||
layer_id.temporal_layer_id = 0;
|
||||
layer_id.spatial_layer_id = settings.start_layer;
|
||||
vpx_codec_control(encoder_, VP9E_SET_SVC_LAYER_ID, &layer_id);
|
||||
vpx_codec_control(encoder_, VP9E_SET_SVC_REF_FRAME_CONFIG, &enc_layer_conf);
|
||||
}
|
||||
+#endif
|
||||
|
||||
assert(codec_.maxFramerate > 0);
|
||||
uint32_t duration = 90000 / codec_.maxFramerate;
|
||||
if (vpx_codec_encode(encoder_, raw_, timestamp_, duration, flags,
|
||||
VPX_DL_REALTIME)) {
|
||||
return WEBRTC_VIDEO_CODEC_ERROR;
|
||||
}
|
||||
timestamp_ += duration;
|
||||
@@ -686,29 +706,31 @@ void VP9EncoderImpl::PopulateCodecSpecif
|
||||
vp9_info->p_diff[i] = p_diff_[layer_id.spatial_layer_id][i];
|
||||
}
|
||||
} else {
|
||||
vp9_info->gof_idx =
|
||||
static_cast<uint8_t>(frames_since_kf_ % gof_.num_frames_in_gof);
|
||||
vp9_info->temporal_up_switch = gof_.temporal_up_switch[vp9_info->gof_idx];
|
||||
}
|
||||
|
||||
+#ifdef LIBVPX_SVC
|
||||
if (vp9_info->ss_data_available) {
|
||||
vp9_info->spatial_layer_resolution_present = true;
|
||||
for (size_t i = 0; i < vp9_info->num_spatial_layers; ++i) {
|
||||
vp9_info->width[i] = codec_.width *
|
||||
svc_params_.scaling_factor_num[i] /
|
||||
svc_params_.scaling_factor_den[i];
|
||||
vp9_info->height[i] = codec_.height *
|
||||
svc_params_.scaling_factor_num[i] /
|
||||
svc_params_.scaling_factor_den[i];
|
||||
}
|
||||
- if (!vp9_info->flexible_mode) {
|
||||
- vp9_info->gof.CopyGofInfoVP9(gof_);
|
||||
- }
|
||||
+ }
|
||||
+#endif
|
||||
+ if (!vp9_info->flexible_mode) {
|
||||
+ vp9_info->gof.CopyGofInfoVP9(gof_);
|
||||
}
|
||||
}
|
||||
|
||||
int VP9EncoderImpl::GetEncodedLayerFrame(const vpx_codec_cx_pkt* pkt) {
|
||||
RTC_DCHECK_EQ(pkt->kind, VPX_CODEC_CX_FRAME_PKT);
|
||||
|
||||
if (pkt->data.frame.sz > encoded_image_._size) {
|
||||
delete[] encoded_image_._buffer;
|
||||
@@ -756,16 +778,17 @@ int VP9EncoderImpl::GetEncodedLayerFrame
|
||||
vpx_codec_control(encoder_, VP8E_GET_LAST_QUANTIZER, &qp);
|
||||
encoded_image_.qp_ = qp;
|
||||
encoded_complete_callback_->OnEncodedImage(encoded_image_, &codec_specific,
|
||||
&frag_info);
|
||||
}
|
||||
return WEBRTC_VIDEO_CODEC_OK;
|
||||
}
|
||||
|
||||
+#ifdef LIBVPX_SVC
|
||||
vpx_svc_ref_frame_config VP9EncoderImpl::GenerateRefsAndFlags(
|
||||
const SuperFrameRefSettings& settings) {
|
||||
static const vpx_enc_frame_flags_t kAllFlags =
|
||||
VP8_EFLAG_NO_REF_ARF | VP8_EFLAG_NO_REF_GF | VP8_EFLAG_NO_REF_LAST |
|
||||
VP8_EFLAG_NO_UPD_LAST | VP8_EFLAG_NO_UPD_ARF | VP8_EFLAG_NO_UPD_GF;
|
||||
vpx_svc_ref_frame_config sf_conf = {};
|
||||
if (settings.is_keyframe) {
|
||||
// Used later on to make sure we don't make any invalid references.
|
||||
@@ -857,16 +880,17 @@ vpx_svc_ref_frame_config VP9EncoderImpl:
|
||||
buffer_updated_at_frame_[updated_buffer] = frames_encoded_;
|
||||
sf_conf.frame_flags[layer_idx] = layer_flags;
|
||||
}
|
||||
}
|
||||
}
|
||||
++frames_encoded_;
|
||||
return sf_conf;
|
||||
}
|
||||
+#endif
|
||||
|
||||
int VP9EncoderImpl::SetChannelParameters(uint32_t packet_loss, int64_t rtt) {
|
||||
return WEBRTC_VIDEO_CODEC_OK;
|
||||
}
|
||||
|
||||
int VP9EncoderImpl::RegisterEncodeCompleteCallback(
|
||||
EncodedImageCallback* callback) {
|
||||
encoded_complete_callback_ = callback;
|
||||
diff -Nrup -U 8 a/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h b/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h
|
||||
--- a/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h 2020-02-18 02:37:58.000000000 +0300
|
||||
+++ b/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h 2020-03-02 00:32:05.000000000 +0300
|
||||
@@ -77,24 +77,26 @@ class VP9EncoderImpl : public VP9Encoder
|
||||
|
||||
void PopulateCodecSpecific(CodecSpecificInfo* codec_specific,
|
||||
const vpx_codec_cx_pkt& pkt,
|
||||
uint32_t timestamp);
|
||||
|
||||
bool ExplicitlyConfiguredSpatialLayers() const;
|
||||
bool SetSvcRates();
|
||||
|
||||
+#ifdef LIBVPX_SVC
|
||||
// Used for flexible mode to set the flags and buffer references used
|
||||
// by the encoder. Also calculates the references used by the RTP
|
||||
// packetizer.
|
||||
//
|
||||
// Has to be called for every frame (keyframes included) to update the
|
||||
// state used to calculate references.
|
||||
vpx_svc_ref_frame_config GenerateRefsAndFlags(
|
||||
const SuperFrameRefSettings& settings);
|
||||
+#endif
|
||||
|
||||
virtual int GetEncodedLayerFrame(const vpx_codec_cx_pkt* pkt);
|
||||
|
||||
// Callback function for outputting packets per spatial layer.
|
||||
static void EncoderOutputCodedPacketCallback(vpx_codec_cx_pkt* pkt,
|
||||
void* user_data);
|
||||
|
||||
// Determine maximum target for Intra frames
|
||||
@@ -111,17 +113,19 @@ class VP9EncoderImpl : public VP9Encoder
|
||||
bool inited_;
|
||||
int64_t timestamp_;
|
||||
uint16_t picture_id_;
|
||||
int cpu_speed_;
|
||||
uint32_t rc_max_intra_target_;
|
||||
vpx_codec_ctx_t* encoder_;
|
||||
vpx_codec_enc_cfg_t* config_;
|
||||
vpx_image_t* raw_;
|
||||
+#ifdef LIBVPX_SVC
|
||||
vpx_svc_extra_cfg_t svc_params_;
|
||||
+#endif
|
||||
const VideoFrame* input_image_;
|
||||
GofInfoVP9 gof_; // Contains each frame's temporal information for
|
||||
// non-flexible mode.
|
||||
uint8_t tl0_pic_idx_; // Only used in non-flexible mode.
|
||||
size_t frames_since_kf_;
|
||||
uint8_t num_temporal_layers_;
|
||||
uint8_t num_spatial_layers_;
|
||||
uint8_t num_cores_;
|
11
seamonkey-2.53.21-bmo1662867.patch
Normal file
11
seamonkey-2.53.21-bmo1662867.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- seamonkey-2.53.21.old/python/mach/mach/commands/settings.py 2025-04-20 11:29:48.000000000 -0500
|
||||
+++ seamonkey-2.53.21/python/mach/mach/commands/settings.py 2025-08-27 14:09:03.800204529 -0500
|
||||
@@ -27,7 +27,7 @@
|
||||
description='Show available config settings.')
|
||||
@CommandArgument('-l', '--list', dest='short', action='store_true',
|
||||
help='Show settings in a concise list')
|
||||
- def settings(self, command_context, short=None):
|
||||
+ def run_settings(self, command_context, short=None):
|
||||
"""List available settings."""
|
||||
types = {v: k for k, v in TYPE_CLASSES.items()}
|
||||
wrapper = TextWrapper(initial_indent='# ', subsequent_indent='# ')
|
11
seamonkey-2.53.21-bmo1927380.patch
Normal file
11
seamonkey-2.53.21-bmo1927380.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- seamonkey-2.53.21.old/js/moz.configure 2025-04-20 11:29:48.000000000 -0500
|
||||
+++ seamonkey-2.53.21/js/moz.configure 2025-08-24 07:24:58.108230222 -0500
|
||||
@@ -403,7 +403,7 @@
|
||||
# ======================================================
|
||||
option('--with-system-icu', help='Use system ICU')
|
||||
|
||||
-system_icu = pkg_check_modules('MOZ_ICU', 'icu-i18n >= 67.1', when='--with-system-icu')
|
||||
+system_icu = pkg_check_modules('MOZ_ICU', 'icu-uc icu-i18n >= 67.1', when='--with-system-icu')
|
||||
|
||||
set_config('MOZ_SYSTEM_ICU', True, when=system_icu)
|
||||
set_define('MOZ_SYSTEM_ICU', True, when=system_icu)
|
3
seamonkey-2.53.21.source-l10n.tar.xz
Normal file
3
seamonkey-2.53.21.source-l10n.tar.xz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:20bc553056e115f400f995b0a2c600523d748e1cf78806e486c341694efc6736
|
||||
size 13735760
|
3
seamonkey-2.53.21.source.tar.xz
Normal file
3
seamonkey-2.53.21.source.tar.xz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:74534349ebe7e4e094c3443c342e08538ba1932102afbd9f4251618588bfe59c
|
||||
size 248215616
|
@@ -1,13 +1,13 @@
|
||||
--- 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 @@
|
||||
--- build/moz.configure/old.configure 2024-12-12 18:30:12.000000000 -0600
|
||||
+++ build/moz.configure/old.configure 2024-12-30 17:18:44.383356721 -0600
|
||||
@@ -112,6 +112,7 @@
|
||||
'--enable-zipwriter',
|
||||
'--includedir',
|
||||
'--libdir',
|
||||
+ '--mandir',
|
||||
'--prefix',
|
||||
'--with-app-basename',
|
||||
'--with-app-name',
|
||||
'--with-branding',
|
||||
'--with-debug-label',
|
||||
--- 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 @@
|
@@ -51,10 +51,13 @@ 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
|
||||
export MOZBUILD_STATE_PATH=$(CURDIR)/.mozbuild
|
||||
|
||||
OBJDIR := $(shell $(MACH_CMD) environment --format=json | sed -e 's/.*"topobjdir": "//' -e 's/".*//')
|
||||
MACH_CMD = env MACH_USE_SYSTEM_PYTHON=1 MOZBUILD_STATE_PATH=$(CURDIR)/.mozbuild ./mach --log-no-times
|
||||
|
||||
|
||||
OBJDIR := $(shell $(MACH_CMD) environment --format=json | sed -n -e 's/.*"topobjdir": "//' -e 's/".*//p')
|
||||
|
||||
OBJDIR_TARGETS = install distribution source-package package clobber
|
||||
|
||||
@@ -71,11 +74,19 @@ configure: $(OBJDIR)/Makefile
|
||||
$(OBJDIR)/Makefile: .mozconfig
|
||||
$(MACH_CMD) configure
|
||||
|
||||
# Since the bug #1671424, a separate "mach configure" no longer creates $(OBJDIR)/CLOBBER stamp file
|
||||
# (as full "mach build" does), so do it manually as before.
|
||||
[ -f $(OBJDIR)/CLOBBER ] || touch -r $(OBJDIR)/.mozconfig.json $(OBJDIR)/CLOBBER
|
||||
|
||||
|
||||
build: $(OBJDIR)/Makefile
|
||||
$(MAKE) -C $(OBJDIR)
|
||||
|
||||
|
||||
listsettings: .mozconfig
|
||||
$(MACH_CMD) settings --list
|
||||
|
||||
|
||||
$(OBJDIR_TARGETS):
|
||||
$(MAKE) -C $(OBJDIR) $@
|
||||
|
||||
|
@@ -1,3 +1,306 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 27 23:34:52 UTC 2025 - Tristan Miller <psychonaut@nothingisreal.com>
|
||||
|
||||
- remove SUSE_ASNEEDED from spec file
|
||||
- add build options for using system jpg, png, nss, nspr, and zlib
|
||||
libraries
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 26 18:27:50 UTC 2025 - Tristan Miller <psychonaut@nothingisreal.com>
|
||||
|
||||
- refactor spec file
|
||||
- rename patches according to their source/bug and to the
|
||||
earliest version of the package they were applied to:
|
||||
seamonkey-icu.patch => seamonkey-2.53.21-bmo1927380.patch
|
||||
mozilla-bmo1862601.patch => seamonkey-2.53.21-bmo1862601.patch
|
||||
mozilla-bmo1896958.patch => seamonkey-2.53.19-bmo1896958.patch
|
||||
mach-use-python-311.patch => seamonkey-2.53.20-mach-use-python-311.patch
|
||||
reproducible.patch => seamonkey-2.53.20-boo1237231.patch
|
||||
seamonkey-man-page.patch => seamonkey-2.53.7.1-man-page.patch
|
||||
seamonkey-lto.patch => seamonkey-2.53.3-lto.patch
|
||||
mozilla-ntlm-full-path.patch => seamonkey-2.1.0-bmo634334.patch
|
||||
mozilla-nongnome-proxies.patch => seamonkey-2.0.0-nongnome-proxies.patch
|
||||
mozilla-bmo531915.patch => seamonkey-2.53.17.1-bmo531915.patch
|
||||
- remove build workarounds for Leap 15.5 (now unsupported)
|
||||
- add seamonkey-2.53.20-system-av1.patch for using system AV1
|
||||
- add seamonkey-2.53.21-bmo1332139.patch for using system VPx
|
||||
- remove spec file code specific to aarch64 and PPC; these are
|
||||
no longer supported upstream and are difficult to get to build
|
||||
- remove spec file code that since r207 had been setting an invalid
|
||||
value for the network.negotiate-auth.gsslib preference
|
||||
- remove (most probably obsolete) -fno-string-aliasing,
|
||||
-fimplicit-constexpr, fno-delete-null-pointer-checks,
|
||||
-fno-lifetime-dse, and fno-schedule-insns2 compiler options in spec
|
||||
file
|
||||
- make compiler output less chatty by removing -Wall
|
||||
- add a listsettings recipe to the GNU Makefile that runs
|
||||
mach settings --list
|
||||
- add seamonkey-2.53.21-bmo1662867.patch to allow mach settings
|
||||
to run
|
||||
- import some compiler/linker settings and syntactic sugar from
|
||||
Fedora's spec file by Dmitry Butskoy et al.
|
||||
- re-enable elf-hack since builds seem to work now
|
||||
- apply existing ICU fixes to Leap 16
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Aug 24 15:11:18 UTC 2025 - Tristan Miller <psychonaut@nothingisreal.com>
|
||||
|
||||
- add mozilla-bmo1862601.patch and seamonkey-icu.patch to fix
|
||||
--with-system-icu builds on Tumbleweed (bmo#1864745)
|
||||
- allow Tumbleweed builds to use GCC 14 now, since this no longer
|
||||
fails (bmo#1916827)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 05 16:43:42 UTC 2025 - Tristan Miller <psychonaut@nothingisreal.com>
|
||||
|
||||
- update to SeaMonkey 2.53.21
|
||||
* Unable to load JSON Bookmarks file, Open/Cancel do the same thing
|
||||
bug 1940204.
|
||||
* Move replaceVars helper into menu-manager.js for cZ bug 1937379.
|
||||
* Remove dumpObject helper from utils.js in cZ bug 1937380.
|
||||
* Remove toOpenWindowByType helper from utils.js in cZ bug 1937382.
|
||||
* Fix makeLogName helper to not encode twice in prefs.js in cZ bug
|
||||
1937387.
|
||||
* Remove use of escapeFileName helper and tidy up pref_mungeName
|
||||
helper in cZ bug 1937395.
|
||||
* Add helper to file-utils.js for ensuring an nsIFile is returned in
|
||||
cZ bug 1937397.
|
||||
* Remove unused http.js file from cZ bug 1937890.
|
||||
* Remove unused IRC tests from static.js in cZ bug 1937896.
|
||||
* Switch from deprecated escape/unescape in cZ bug 1938933.
|
||||
* Tidy up use of prefBranch outside of pref-manager in cZ bug
|
||||
1938935.
|
||||
* Make use of pref fallbacks in pref-manager in cZ bug 1938937.
|
||||
* Remove unused edit context menu from cZ bug 1939929.
|
||||
* Use XPCOMUtils.generateQI in connection-xpcom in cZ bug 1939930.
|
||||
* Merge menus.xul, popups.xul and scripts.xul into chatzilla.xul bug
|
||||
1939958.
|
||||
* Make use of toSOutputStream and toSInputStream helpers in DCC code
|
||||
in cZ bug 1939965.
|
||||
* Stop hard-coding commandkey for reloadui in cZ bug 1939968.
|
||||
* Use suite's FillInHTMLTooltip helper instead of having own version
|
||||
in cZ bug 1939969.
|
||||
* Split custom-away from other away/back commands in cZ bug 1942655.
|
||||
* Remove ChatZilla Homepage link from Help menu and about command in
|
||||
cZ bug 1942916.
|
||||
* Re-arrange toolbar menus in cZ bug 1943783.
|
||||
* Remove ChatZilla Homepage link from about and prefs dialogs in cZ
|
||||
bug 1943844.
|
||||
* Use custom controller for userlist and tidy up some controller use
|
||||
in cZ bug 1945325.
|
||||
* Make use of observes for show/hide elements in cZ bug 1945378.
|
||||
* Don't dynamically create focus-input key element in cZ bug
|
||||
1947028.
|
||||
* Remove unused toolbar creation code in cZ bug 1947030.
|
||||
* Remove unused updateMenus code from cZ bug 1947031.
|
||||
* Clean up whitespaces in cZ package manifest bug 1947040.
|
||||
* Remove unused uninstallKeys code from cZ bug 1950002.
|
||||
* Use node.remove(), especially instead of
|
||||
node.parentNode.removeChild(node) in cZ bug 1951250.
|
||||
* Remove __cz_condition from cZ bug 1951253.
|
||||
* Remove outputWindowURL pref from cZ bug 1951256.
|
||||
* Remove unused JS tests in cZ bug 1951297.
|
||||
* Use includes, startsWith and endsWith instead of indexOf and
|
||||
substr in cZ bug 1951302.
|
||||
* Use {} and [] instead of new Object() and new Array() in cZ bug
|
||||
1951303.
|
||||
* Fixup function naming for lint in cZ bug 1955141.
|
||||
* Fixup method naming for lint in cZ bug 1955767.
|
||||
* Remove old Mozilla 1.0 code from updateAppMotif in cZ bug 1955771.
|
||||
* Use throw Components.Exception in cZ bug 1955774.
|
||||
* Migrate output-window from HTML to XHTML to make localisation more
|
||||
standard in cZ bug 1955825.
|
||||
* Merge munger.js into mungers.js in cZ bug 1956373.
|
||||
* Remove unused tagName from mungers.js in cZ bug 1956374.
|
||||
* Flatten directory structure in cZ bug 1956375.
|
||||
* Tidy up about dialog page in cZ bug 1956376.
|
||||
* Add helper to commands.js for sending CTCP commands in cZ bug
|
||||
1956377.
|
||||
* Migrate to standard menus for menu toolbar in cZ bug 1957763.
|
||||
* Install plugin dialog broken in cZ bug 1961599.
|
||||
* cZ change nick menu not working bug 1962112.
|
||||
* Away status isn't reflected correctly in all channels in cZ bug
|
||||
1962234.
|
||||
* Fix dark motif userlist in cZ bug 1967072.
|
||||
* SeaMonkey Composer adds moz-do-not-send attribute for links and
|
||||
images bug 1827146.
|
||||
* Use menu_Toolbars overlay for navigatorOverlay and console bug
|
||||
1945335.
|
||||
* Remove defunct 2.53 prerelease builds from debugQA extension bug
|
||||
1947043.
|
||||
* Handling of MOZ_LANGPACK_CONTRIBUTORS in defines.inc files should
|
||||
be less custom bug 1951101.
|
||||
* Control + U shortcut for underlined text is not working bug
|
||||
1872514.
|
||||
* Context menu search (with default search engine) does not work in
|
||||
the content area of a message compose or SM-Composer window bug
|
||||
1062092.
|
||||
* on FreeBSD sqlite3 fails to link for missing math functions bug
|
||||
1944954.
|
||||
* Expand init.configure to use version_package.txt to set
|
||||
MOZ_PKG_VERSION bug 1952757.
|
||||
* Change supported msvc Compilers for SeaMonkey 2.53 bug 1954176.
|
||||
* SeaMonkey 2.53.21 uses the same backend as Firefox and contains
|
||||
the relevant Firefox 60.8 security fixes.
|
||||
* SeaMonkey 2.53.21 shares most parts of the mail and news code with
|
||||
Thunderbird. Please read the Thunderbird 60.8.0 release notes for
|
||||
specific security fixes in this release.
|
||||
* Additional important security fixes up to Current Firefox 115.23
|
||||
and Thunderbird 115.23 ESR plus many enhancements have been
|
||||
backported. We will continue to enhance SeaMonkey security in
|
||||
subsequent 2.53.x beta and release versions as fast as we are able
|
||||
to.
|
||||
- request inclusion in Leap 15.6:
|
||||
https://bugzilla.opensuse.org/show_bug.cgi?id=1244149
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 28 18:36:08 UTC 2025 - Bernhard Wiedemann <bwiedemann@suse.com>
|
||||
|
||||
- Replace usage of %jobs for reproducible builds (boo#1237231)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 19 23:23:30 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
|
||||
|
||||
- Add patch mach-use-python-311.patch:
|
||||
* Execute mach with Python 3.11, it does not support Python 3.13.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 07 13:14:58 UTC 2025 - Tristan Miller <psychonaut@nothingisreal.com>
|
||||
|
||||
- update to SeaMonkey 2.53.20
|
||||
* Use Services.focus for bookmarking from mailnews in SeaMonkey bug
|
||||
1925033.
|
||||
* Replace the Bookmark Manager with the Firefox Library in
|
||||
SeaMonkey: Another followup bug bug 1932731.
|
||||
* Port bug 1458385 - Update SeaMonkey's confvars.sh bug 1913633.
|
||||
* Tidy up channels code in cZ bug 1920565.
|
||||
* Sometimes tag data from an IRC server doesn't contain a pair bug
|
||||
1923211.
|
||||
* Fix call to updateUsers in network onAway in cZbug 1923213.
|
||||
* Remove unused XTLabelRecord from tree-utils.js in cZbug 1923215.
|
||||
* Remove unused code from connection-xpcom.js in cZbug 1923219.
|
||||
* Remove unusued code from utils.js in cZbug 1923221.
|
||||
* Switch from using arrayContains helper to using JS Array includes
|
||||
method in cZ bug 1923224.
|
||||
* Switch from using arrayIndexOf helper to using JS Array includes
|
||||
and indexOf methods in cZ bug 1923225.
|
||||
* Switch from using arrayRemoveAt and arrayInsertAt helpers to using
|
||||
JS Array splice and unshift methods in cZbug 1923227.
|
||||
* Switch from using stringTrim helper to using JS string trim method
|
||||
in cZ bug 1923229.
|
||||
* Inline newObject function in cZ bug 1924338.
|
||||
* Remove getWindowByType function from cZ bug 1924586.
|
||||
* Inline viewCert function in cZ bug 1924587.
|
||||
* Remove getSpecialDirectory function and use Services.dirsvc in cZ
|
||||
bug 1924588.
|
||||
* Remove getNSSErrorClass function and tidy up NSS related code in
|
||||
cZ bug 1924589.
|
||||
* Tidy message manager code in cZ bug 1924592.
|
||||
* Remove getService helper and tidy up code around its callers in cZ
|
||||
bug 1924595.
|
||||
* Remove use of NSGetModule in cZ bug 1925871.
|
||||
* Tidy up chatzilla-service.js bug 1926406.
|
||||
* Use Intl.DateTimeFormat in cZ's strftime function bug 1927348.
|
||||
* Remove unused code from pref-manager.js in cZ bug 1927370.
|
||||
* Use Services.scriptloader in cZ bug 1927374.
|
||||
* Use more Services in cZ bug 1927376.
|
||||
* Tidy up some Components.* code in static.js in cZ bug 1927377.
|
||||
* Switch to using listbox instead of tree for cZ chat window bug
|
||||
1927582.
|
||||
* Away status isn't reflected correctly in channel userlist in cZ
|
||||
bug 1928749.
|
||||
* Fix too much recursion and missing variable in cmdSave in cZ bug
|
||||
1930391.
|
||||
* Replace confirm helper with Services.prompt.confirm in cZ bug
|
||||
1930396.
|
||||
* Use Services.prompt in confirmEx, prompt and promptPassword
|
||||
helpers in cZ bug 1930540.
|
||||
* Use Services.prompt.alert and remove alert helper in cZ bug
|
||||
1931705.
|
||||
* Simplify getListFIle in cZ bug 1931707.
|
||||
* Remove various const from file-utils.js in cZ bug 1931708.
|
||||
* Remove unused 2nd argument from mkdir helper in file-utils.js in
|
||||
cZ bug 1931709.
|
||||
* Use LocalFile directly rather via helper fopen in cZ bug 1931710.
|
||||
* Tidy up picker code in file-utils.js in cZ bug 1931712.
|
||||
* Remove unnecessary type attributes in cZ bug 1933043.
|
||||
* Clean up Components usage in cZ bug 1933081.
|
||||
* Remove unused encodeForXMLAttribute function for cZ utils.js bug
|
||||
1933083.
|
||||
* Move renameProperty helper into lib/irc.js for cZ bug 1933084.
|
||||
* Move formatDateOffset helper into handlers.js in cZ bug 1933085.
|
||||
* Move objectContains helper into command-manager.js in cZ bug
|
||||
1933086.
|
||||
* Move splitLongWord helper into mungers.js in cZ bug 1933087.
|
||||
* Move randomString helper into commands.js in cZ bug 1933089.
|
||||
* Move Clone helper into commands.js in cZ bug 1933090.
|
||||
* Move equalsObject helper into channels.js in cZ bug 1933092.
|
||||
* Move matchEntry helper into static.js in cZ bug 1933093.
|
||||
* Move getCommonPfx helper to handlers.js in cZ bug 1933342.
|
||||
* Remove some code duplication in getSISize and getSISpeed helpers
|
||||
and improve coding in scaleNumbersBy1024 in cZ bug 1933346.
|
||||
* UI: Link for download of Themes leads to Themes for Thunderbird
|
||||
bug 1656564.
|
||||
* Add ESR 128 links to debugQA bug 1909855.
|
||||
* Port changes needed from |Bug 1476333 - Consolidate the ways that
|
||||
we reference "browser.xul" across the tree| to SeaMonkey bug
|
||||
1911841.
|
||||
* Switch from boxObject to getBoundingClientRect in utilityOverlay
|
||||
bug 1911844.
|
||||
* Align the SeaMonkey switchToTabHavingURI() call syntax with
|
||||
Firefox and toolkit bug 1925037.
|
||||
* Empty out SeaMonkey's removed-files.in (port bug 1392913) bug
|
||||
1913579.
|
||||
* Update SeaMonkey installer to register as handler for media types
|
||||
bug 1925023.
|
||||
* Remove obsolete chat services from SeaMonkey address book part2
|
||||
bug 1909853.
|
||||
* Add UI for browser.display.prefers_color_scheme to the SeaMonkey
|
||||
colors prefpane bug 1909743.
|
||||
* Update SeaMonkey wikipedia icon bug 1925021.
|
||||
* Show specific placeholders for bookmarks and history in SeaMonkey
|
||||
sidebar search bug 1925025.
|
||||
* Adjust dragOver method of tabbrowser.xml to be closer to Firefox
|
||||
version bug 1911845.
|
||||
* Avoid boxObject where appropriate in tabbrowser bug 1911847.
|
||||
* Simplify tab drop indicator code and styling bug 1911848.
|
||||
* SeaMonkey 2.53.20 uses the same backend as Firefox and contains
|
||||
the relevant Firefox 60.8 security fixes.
|
||||
* SeaMonkey 2.53.20 shares most parts of the mail and news code with
|
||||
Thunderbird. Please read the Thunderbird 60.8.0 release notes for
|
||||
specific security fixes in this release.
|
||||
* Additional important security fixes up to Current Firefox 115.19
|
||||
and Thunderbird 115.19 ESR plus many enhancements have been
|
||||
backported. We will continue to enhance SeaMonkey security in
|
||||
subsequent 2.53.x beta and release versions as fast as we are able
|
||||
to.
|
||||
- Adapt seamonkey-man-page.patch for SeaMonkey 2.53.20
|
||||
- Adapt seamonkey-GNUmakefile to set MOZBUILD_STATE_PATH and to fix
|
||||
post-configure stamping per
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=1692516#c13
|
||||
- Update minimum build requirements for SeaMonkey 2.53.20
|
||||
- Remove .mozconfig options no longer recognized in SeaMonkey 2.53.20
|
||||
- request inclusion in Leap 15.6:
|
||||
https://bugzilla.opensuse.org/show_bug.cgi?id=1235392
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Nov 25 02:49:51 UTC 2024 - Tristan Miller <psychonaut@nothingisreal.com>
|
||||
|
||||
- disable --with-system-icu on Tumbleweed due to
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=1933117
|
||||
- remove obsolete patch mozilla-bmo1862601.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 07 01:14:19 UTC 2024 - Tristan Miller <psychonaut@nothingisreal.com>
|
||||
|
||||
- enable patch mozilla-bmo1896958.patch for Leap 15.5
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 05 21:15:40 UTC 2024 - Tristan Miller <psychonaut@nothingisreal.com>
|
||||
|
||||
- request inclusion in Leap 15.5 and 15.6:
|
||||
https://bugzilla.opensuse.org/show_bug.cgi?id=1230257
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 04 20:04:01 UTC 2024 - Tristan Miller <psychonaut@nothingisreal.com>
|
||||
|
||||
|
413
seamonkey.spec
413
seamonkey.spec
@@ -3,7 +3,7 @@
|
||||
#
|
||||
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
# 2006-2018 Wolfgang Rosenauer
|
||||
# 2018-2024 Tristan Miller
|
||||
# 2018-2025 Tristan Miller
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -17,37 +17,104 @@
|
||||
# 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
|
||||
### build options
|
||||
|
||||
# Components to include/exclude
|
||||
%bcond_without dominspector
|
||||
%bcond_without irc
|
||||
%bcond_without localizations
|
||||
|
||||
# System vs. bundled libraries
|
||||
%bcond_without system_webp
|
||||
%bcond_without system_icu
|
||||
%bcond_without system_libvpx
|
||||
%bcond_without system_ffi
|
||||
%bcond_without system_nspr
|
||||
%bcond_without system_nss
|
||||
%bcond_without system_zlib
|
||||
# Disable system AV1 on Leap; as of 15.6 dav1d is not yet packaged for it
|
||||
%if 0%{?suse_version} > 1600
|
||||
%bcond_without system_av1
|
||||
%endif
|
||||
%bcond_with system_jpeg
|
||||
%bcond_with system_png
|
||||
|
||||
# Compiler/linker options
|
||||
%bcond_with clang
|
||||
%ifarch %ix86
|
||||
# As of 2.53.3 (and still in 2.53.21) i586 builds fail with LTO
|
||||
%bcond_with lto
|
||||
%else
|
||||
%bcond_without lto
|
||||
%endif
|
||||
%bcond_with gold
|
||||
|
||||
|
||||
%define progname %{name}
|
||||
%define sources_subdir %{name}-%{version}
|
||||
%define prefix /usr
|
||||
%define progdir %_libdir/%{progname}
|
||||
### build options end
|
||||
|
||||
%define releasedate 20250605000000
|
||||
|
||||
Name: seamonkey
|
||||
Summary: An integrated web browser, composer, mail/news client, and IRC client
|
||||
Version: 2.53.21
|
||||
Release: 0
|
||||
License: MPL-2.0
|
||||
Group: Productivity/Networking/Web/Browsers
|
||||
URL: https://www.seamonkey-project.org/
|
||||
|
||||
Source0: https://archive.mozilla.org/pub/seamonkey/releases/%{version}/source/seamonkey-%{version}.source.tar.xz
|
||||
Source1: https://archive.mozilla.org/pub/seamonkey/releases/%{version}/source/seamonkey-%{version}.source-l10n.tar.xz
|
||||
Source2: seamonkey-desktop.tar.bz2
|
||||
Source3: spellcheck.js
|
||||
Source4: mozilla.sh.in
|
||||
Source5: suse-default-prefs.js
|
||||
Source6: seamonkey-rpmlintrc
|
||||
Source7: seamonkey-appdata.tar.bz2
|
||||
Source8: seamonkey-GNUmakefile
|
||||
|
||||
Patch1: seamonkey-2.0.0-nongnome-proxies.patch
|
||||
Patch2: seamonkey-2.1.0-bmo634334.patch
|
||||
Patch3: seamonkey-2.53.3-lto.patch
|
||||
Patch4: seamonkey-2.53.7.1-man-page.patch
|
||||
Patch5: seamonkey-2.53.20-boo1237231.patch
|
||||
Patch6: seamonkey-2.53.17.1-bmo531915.patch
|
||||
Patch7: seamonkey-2.53.19-bmo1896958.patch
|
||||
Patch8: seamonkey-2.53.20-mach-use-python-311.patch
|
||||
Patch9: seamonkey-2.53.21-bmo1862601.patch
|
||||
Patch10: seamonkey-2.53.21-bmo1927380.patch
|
||||
Patch11: seamonkey-2.53.20-system-av1.patch
|
||||
Patch12: seamonkey-2.53.21-bmo1332139.patch
|
||||
Patch13: seamonkey-2.53.21-bmo1662867.patch
|
||||
|
||||
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
|
||||
%if 0%{?suse_version} > 1600 && %{with system_av1}
|
||||
BuildRequires: libaom-devel
|
||||
BuildRequires: dav1d-devel
|
||||
%endif
|
||||
BuildRequires: libiw-devel
|
||||
BuildRequires: libnotify-devel
|
||||
BuildRequires: libproxy-devel
|
||||
#BuildRequires: libvpx-devel # Compile errors with 1.10.0
|
||||
%if %{with system_libvpx}
|
||||
BuildRequires: libvpx-devel
|
||||
%endif
|
||||
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150200 && 0%{?is_opensuse}
|
||||
BuildRequires: libwebp-devel >= 1.0.0
|
||||
#BuildRequires: libicu-devel >= 63.1
|
||||
%endif
|
||||
%if %{with system_icu}
|
||||
BuildRequires: libicu-devel >= 67.1
|
||||
%endif
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: memory-constraints
|
||||
BuildRequires: python3-base
|
||||
BuildRequires: python311-base
|
||||
BuildRequires: startup-notification-devel
|
||||
BuildRequires: unzip
|
||||
BuildRequires: update-desktop-files
|
||||
@@ -55,54 +122,46 @@ BuildRequires: xorg-x11-libXt-devel
|
||||
BuildRequires: yasm
|
||||
BuildRequires: zip
|
||||
BuildRequires: pkgconfig(gdk-x11-2.0)
|
||||
BuildRequires: pkgconfig(glib-2.0) >= 2.32
|
||||
BuildRequires: pkgconfig(glib-2.0) >= 2.56
|
||||
BuildRequires: pkgconfig(gobject-2.0)
|
||||
BuildRequires: pkgconfig(gtk+-2.0) >= 2.18.0
|
||||
BuildRequires: pkgconfig(gtk+-3.0) >= 3.4.0
|
||||
BuildRequires: pkgconfig(gtk+-2.0) >= 2.24
|
||||
BuildRequires: pkgconfig(gtk+-3.0) >= 3.22.30
|
||||
BuildRequires: pkgconfig(gtk+-unix-print-2.0)
|
||||
BuildRequires: pkgconfig(gtk+-unix-print-3.0)
|
||||
%if %{with system_ffi}
|
||||
BuildRequires: pkgconfig(libffi) > 3.0.9
|
||||
%endif
|
||||
BuildRequires: pkgconfig(libpulse)
|
||||
BuildRequires: pkgconfig(xcomposite)
|
||||
%if 0%{?suse_version} > 1600
|
||||
BuildRequires: cargo1.84
|
||||
BuildRequires: rust1.84
|
||||
%else
|
||||
BuildRequires: cargo
|
||||
BuildRequires: rust >= 1.47
|
||||
BuildRequires: rust >= 1.76
|
||||
%endif
|
||||
BuildRequires: rust-cbindgen
|
||||
BuildRequires: git
|
||||
BuildRequires: nasm >= 2.13
|
||||
#BuildRequires: llvm-devel
|
||||
%if (0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000)
|
||||
BuildRequires: clang6-devel
|
||||
BuildRequires: clang-devel
|
||||
%if %{with clang}
|
||||
BuildRequires: clang
|
||||
%else
|
||||
BuildRequires: clang-devel >= 5
|
||||
# Use GCC 14 on Tumbleweed because builds of 2.53.21 fail with GCC 15
|
||||
%if 0%{?suse_version} > 1600
|
||||
%define gcc_version 14
|
||||
%endif
|
||||
BuildRequires: gcc%{?gcc_version:%gcc_version}-c++
|
||||
%if %{with gold}
|
||||
BuildRequires: binutils-gold
|
||||
%endif
|
||||
%endif
|
||||
|
||||
PreReq: /bin/sh coreutils
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
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
|
||||
Patch8: mozilla-bmo1862601.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
PreReq: /bin/sh coreutils
|
||||
Provides: seamonkey-mail = %{version}
|
||||
Obsoletes: seamonkey-mail <= 2.0
|
||||
Provides: seamonkey-spellchecker = %{version}
|
||||
@@ -117,42 +176,35 @@ Recommends: libpulse0
|
||||
# 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
|
||||
%if %{with localizations}
|
||||
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
|
||||
%if %{with irc}
|
||||
Provides: seamonkey-irc = %{version}
|
||||
%endif
|
||||
%if 0%{?with_domi} == 0
|
||||
%if %{with dominspector}
|
||||
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
|
||||
%if %{with system_nspr}
|
||||
BuildRequires: mozilla-nspr-devel >= 4.13.1
|
||||
PreReq: mozilla-nspr >= %(rpm -q --queryformat '%%{VERSION}' mozilla-nspr)
|
||||
%endif
|
||||
%if %{with system_nss}
|
||||
%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
|
||||
%endif
|
||||
|
||||
%description
|
||||
SeaMonkey is an all-in-one Internet application suite containing a web
|
||||
@@ -164,6 +216,7 @@ 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
|
||||
@@ -191,8 +244,8 @@ 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
|
||||
|
||||
%if %{with localizations}
|
||||
%package translations-common
|
||||
Summary: Common translations for SeaMonkey
|
||||
Group: System/Localization
|
||||
@@ -215,20 +268,21 @@ This package contains several optional languages for the user interface
|
||||
of SeaMonkey.
|
||||
%endif
|
||||
|
||||
|
||||
%prep
|
||||
|
||||
%setup -q -b 1 -b 11 -c
|
||||
%setup -q -b 2 -b 7 -c
|
||||
|
||||
mv %{sources_subdir} mozilla
|
||||
|
||||
%if %localize
|
||||
%setup -q -T -D -c -n %{name}-%{version}/l10n -a 5
|
||||
%if %{with localizations}
|
||||
%setup -q -T -D -c -n %{name}-%{version}/l10n -a 1
|
||||
%setup -q -T -D
|
||||
%endif
|
||||
|
||||
cd mozilla
|
||||
|
||||
cp %{SOURCE12} GNUmakefile
|
||||
cp %{SOURCE8} GNUmakefile
|
||||
|
||||
%patch -P 1 -p1
|
||||
%patch -P 2 -p2
|
||||
@@ -236,93 +290,105 @@ cp %{SOURCE12} GNUmakefile
|
||||
%patch -P 4 -p0
|
||||
%patch -P 5 -p1
|
||||
%patch -P 6 -p1
|
||||
|
||||
# Fix Rust builds on Tumbleweed; see https://bugzilla.mozilla.org/show_bug.cgi?id=1896958
|
||||
%if 0%{?suse_version} > 1600
|
||||
%patch -P 7 -p1
|
||||
%endif
|
||||
# Fix Rust builds on openSUSE 15.6; see https://bugzilla.mozilla.org/show_bug.cgi?id=1896958
|
||||
%if 0%{?sle_version} == 150600 && 0%{?is_opensuse}
|
||||
%patch -P 7 -p1
|
||||
%endif
|
||||
|
||||
# Fix --system-icu builds on Tumbleweed; see https://bugzilla.mozilla.org/show_bug.cgi?id=1862601
|
||||
%if 0%{?suse_version} > 1600
|
||||
%patch -P 8 -p1
|
||||
|
||||
%if %{with system_icu}
|
||||
%if 0%{?suse_version} >= 1600
|
||||
%patch -P 9 -p1
|
||||
%patch -P 10 -p1
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if 0%{?suse_version} > 1600 && %{with system_av1}
|
||||
%patch -P 11 -p1
|
||||
%endif
|
||||
|
||||
%if %{with system_libvpx}
|
||||
%patch -P 12 -p1
|
||||
%endif
|
||||
|
||||
%patch -P 13 -p1
|
||||
|
||||
%define with_sys() ac_add_options --with%%{!?with_system_%1:out}-system-%1
|
||||
%define endis_sys() ac_add_options --%%{?with_system_%1:enable}%%{!?with_system_%1:disable}-system-%1
|
||||
%define endis() ac_add_options --%%{?with_%1:enable}%%{!?with_%1:disable}-%1
|
||||
|
||||
cat << EOF > .mozconfig
|
||||
### Various build options
|
||||
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_MAKE_FLAGS=%{?_smp_mflags}
|
||||
#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
|
||||
%if %{with localizations}
|
||||
ac_add_options --with-l10n-base=$RPM_BUILD_DIR/seamonkey-%{version}/l10n
|
||||
%endif
|
||||
|
||||
#ac_add_options --disable-elf-hack
|
||||
|
||||
%{expand:%endis gold}
|
||||
|
||||
%ifarch %ix86
|
||||
ac_add_options --disable-debug-symbols
|
||||
%endif
|
||||
ac_add_options --disable-debug
|
||||
ac_add_options --enable-alsa
|
||||
ac_add_options --enable-default-toolkit=cairo-gtk3
|
||||
ac_add_options --enable-libproxy
|
||||
|
||||
ac_add_options --with-system-nspr
|
||||
%if 0%{?sle_version} != 150500 && 0%{?is_opensuse}
|
||||
ac_add_options --with-system-nss
|
||||
|
||||
### Features
|
||||
|
||||
### Components to include
|
||||
ac_add_options --enable-application=comm/suite
|
||||
%{expand:%endis dominspector}
|
||||
%{expand:%endis irc}
|
||||
ac_add_options --disable-crashreporter
|
||||
ac_add_options --disable-updater
|
||||
|
||||
# Calendar is always enabled as it's required to build various
|
||||
# components and addons
|
||||
ac_add_options --enable-calendar
|
||||
|
||||
|
||||
### System vs. bundled libraries
|
||||
|
||||
%{expand:%with_sys nspr}
|
||||
%{expand:%with_sys nss}
|
||||
%{expand:%with_sys zlib}
|
||||
%{expand:%with_sys icu}
|
||||
%{expand:%with_sys libvpx}
|
||||
%{expand:%with_sys webp}
|
||||
%{expand:%endis_sys ffi}
|
||||
%if 0%{?suse_version} > 1600
|
||||
%{expand:%with_sys av1}
|
||||
%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
|
||||
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
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=573948
|
||||
%{expand:%with_sys jpeg}
|
||||
|
||||
# The stock system libpng lacks support for APNG, whereas Mozilla's
|
||||
# internal version suports APNG
|
||||
#ac_add_options--with-system-png
|
||||
%{expand:%with_sys 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
|
||||
|
||||
export MOZ_BUILD_DATE=%{releasedate}
|
||||
export MOZILLA_OFFICIAL=1
|
||||
export BUILD_OFFICIAL=1
|
||||
|
||||
# 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")\""
|
||||
@@ -330,66 +396,60 @@ 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.)
|
||||
# Compiler settings
|
||||
|
||||
MOZ_OPT_FLAGS=$RPM_OPT_FLAGS
|
||||
|
||||
# Make compiler output less chatty
|
||||
MOZ_OPT_FLAGS=$(echo $MOZ_OPT_FLAGS | sed -e 's/-Wall//g')
|
||||
|
||||
%if %{without clang}
|
||||
export CC=gcc%{?gcc_version:-%gcc_version}
|
||||
export CXX=g++%{?gcc_version:-%gcc_version}
|
||||
%endif
|
||||
|
||||
# Linker settings
|
||||
|
||||
%define _lto_cflags %{nil}
|
||||
MOZ_LD_FLAGS=$RPM_LD_FLAGS
|
||||
|
||||
# Reduce memory consumption when building for i586
|
||||
%ifarch %ix86
|
||||
%define _lto_cflags %{nil}
|
||||
%if %{without gold}
|
||||
MOZ_LD_FLAGS="$MOZ_LD_FLAGS -Wl,--no-keep-memory -Wl,--reduce-memory-overheads -Wl,--no-map-whole-files -Wl,--hash-size=31"
|
||||
%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}
|
||||
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -g1"
|
||||
%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
|
||||
# LTO settings
|
||||
# TODO: Perhaps just let SeaMonkey do this via --enable-lto?
|
||||
%if %{with lto}
|
||||
MOZ_LD_FLAGS=$(echo $MOZ_LD_FLAGS | sed -e 's/-flto\b//g')
|
||||
%if %{with clang}
|
||||
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -flto=thin"
|
||||
MOZ_LD_FLAGS="$MOZ_LD_FLAGS -flto=thin -fuse-ld=lld -Wl,-plugin-opt=-import-instr-limit=10"
|
||||
export AR=llvm-ar
|
||||
export RANLIB=llvm-ranlib
|
||||
%else
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
%endif
|
||||
%if 0%{?gcc_version:%{gcc_version}} >= 12
|
||||
export CFLAGS="$CFLAGS -fimplicit-constexpr"
|
||||
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -flto=auto -flifetime-dse=1"
|
||||
MOZ_LD_FLAGS="$MOZ_LD_FLAGS -flto=auto -flifetime-dse=1"
|
||||
export AR=gcc-ar%{?gcc_version:-%gcc_version}
|
||||
export RANLIB=gcc-ranlib%{?gcc_version:-%gcc_version}
|
||||
%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"
|
||||
export CFLAGS=$MOZ_OPT_FLAGS
|
||||
export CXXFLAGS=$MOZ_OPT_FLAGS
|
||||
export LDFLAGS=$MOZ_LD_FLAGS
|
||||
|
||||
#
|
||||
%limit_build -m 2000
|
||||
cd mozilla
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%if %localize
|
||||
%if %{with localizations}
|
||||
make -j1 locales
|
||||
%endif
|
||||
#
|
||||
|
||||
|
||||
%install
|
||||
|
||||
@@ -410,16 +470,15 @@ 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
|
||||
%{SOURCE4} > $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
|
||||
sed -e 's,RPM_VERSION,%{version}-%{release},g' \
|
||||
%{SOURCE5} > 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/
|
||||
install -m 644 %{SOURCE3} %{buildroot}%{progdir}/defaults/pref/
|
||||
# Desktop definition
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
|
||||
install -m 644 $RPM_BUILD_DIR/*.desktop \
|
||||
@@ -483,13 +542,13 @@ install -m0644 -t %{buildroot}%{_datadir}/appdata/ $RPM_BUILD_DIR/*.appdata.xml
|
||||
%{_datadir}/appdata/*.appdata.xml
|
||||
%{_mandir}/*/*
|
||||
|
||||
%if 0%{?with_chatzilla}
|
||||
%if %{with irc}
|
||||
%files irc
|
||||
%defattr(-,root,root)
|
||||
%{progdir}/extensions/{59c81df5-4b7a-477b-912d-4e0fdf64e5f2}.xpi
|
||||
%endif
|
||||
|
||||
%if 0%{?with_domi}
|
||||
%if %{with dominspector}
|
||||
%files dom-inspector
|
||||
%defattr(-,root,root)
|
||||
%{progdir}/extensions/inspector*.xpi
|
||||
|
@@ -2,7 +2,6 @@ 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
|
||||
|
Reference in New Issue
Block a user