Compare commits
No commits in common. "48bfeb44f0406568b7ab4b09f91a9e89e64f5f82" and "bc51f0c845ba3b0871f34cce271b372a067ec810" have entirely different histories.
48bfeb44f0
...
bc51f0c845
1
.bashrc
1
.bashrc
|
@ -32,7 +32,6 @@ export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quo
|
|||
export GITLAB_URL=https://git.a-lec.org
|
||||
export GIT_AUTHOR_NAME=Adrien\ Bourmault
|
||||
export GIT_AUTHOR_EMAIL=neox@a-lec.org
|
||||
export GUIX_PACKAGE_PATH=~/.config/guix/packages/defs
|
||||
#export LIBRARY_PATH=~/.guix-profile/include:$LIBRARY_PATH
|
||||
#export LD_LIBRARY_PATH=~/.guix-profile/lib:$LIBRARY_PATH:$LD_LIBRARY_PATH
|
||||
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
(use-modules (guix ci))
|
||||
|
||||
(list (channel-with-substitutes-available
|
||||
%default-guix-channel
|
||||
"https://ci.guix.gnu.org"))
|
|
@ -1,49 +0,0 @@
|
|||
Fixes needed when avoiding bundled libraries.
|
||||
|
||||
--- icecat-60.5.0/xpcom/build/moz.build.orig 2018-09-13 17:46:49.000000000 -0400
|
||||
+++ icecat-60.5.0/xpcom/build/moz.build 2018-09-22 04:26:50.659564554 -0400
|
||||
@@ -99,10 +99,5 @@
|
||||
'/docshell/base',
|
||||
]
|
||||
|
||||
-if CONFIG['MOZ_VPX']:
|
||||
- LOCAL_INCLUDES += [
|
||||
- '/media/libvpx',
|
||||
- ]
|
||||
-
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
|
||||
CXXFLAGS += CONFIG['TK_CFLAGS']
|
||||
--- icecat-60.5.0/storage/moz.build.orig 2018-09-13 17:51:11.000000000 -0400
|
||||
+++ icecat-60.5.0/storage/moz.build 2018-09-22 04:26:50.659564554 -0400
|
||||
@@ -117,7 +117,6 @@
|
||||
DEFINES['MOZ_MEMORY_TEMP_STORE_PRAGMA'] = True
|
||||
|
||||
LOCAL_INCLUDES += [
|
||||
- '/db/sqlite3/src',
|
||||
'/dom/base',
|
||||
]
|
||||
|
||||
--- icecat-60.5.0/dom/indexedDB/moz.build.orig 2018-09-13 17:49:42.000000000 -0400
|
||||
+++ icecat-60.5.0/dom/indexedDB/moz.build 2018-09-22 04:26:50.663564574 -0400
|
||||
@@ -102,7 +102,6 @@
|
||||
CXXFLAGS += ['-Wno-error=shadow']
|
||||
|
||||
LOCAL_INCLUDES += [
|
||||
- '/db/sqlite3/src',
|
||||
'/dom/base',
|
||||
'/dom/storage',
|
||||
'/ipc/glue',
|
||||
--- icecat-60.5.0/media/webrtc/trunk/webrtc/base/rtc_task_queue_gn/moz.build.orig 2018-09-13 17:40:54.000000000 -0400
|
||||
+++ icecat-60.5.0/media/webrtc/trunk/webrtc/base/rtc_task_queue_gn/moz.build 2018-09-23 21:33:12.319975105 -0400
|
||||
@@ -130,11 +130,6 @@
|
||||
DEFINES["WEBRTC_POSIX"] = True
|
||||
DEFINES["_FILE_OFFSET_BITS"] = "64"
|
||||
|
||||
- LOCAL_INCLUDES += [
|
||||
- "/ipc/chromium/src/third_party/libevent/include/",
|
||||
- "/ipc/chromium/src/third_party/libevent/linux/"
|
||||
- ]
|
||||
-
|
||||
UNIFIED_SOURCES += [
|
||||
"/media/webrtc/trunk/webrtc/base/task_queue_libevent.cc",
|
||||
"/media/webrtc/trunk/webrtc/base/task_queue_posix.cc"
|
|
@ -1,51 +0,0 @@
|
|||
Make some of the changes needed to the 'makeicecat' script, to allow it to run
|
||||
in a snippet without network access. After this patch is applied, some
|
||||
additional changes will be made using 'substitute*'.
|
||||
|
||||
diff --git a/makeicecat b/makeicecat
|
||||
index bf2b7a6..bc3b19b 100755
|
||||
--- a/makeicecat
|
||||
+++ b/makeicecat
|
||||
@@ -58,7 +58,7 @@ readonly SOURCEDIR=icecat-${FFVERSION}
|
||||
# debug/shell options
|
||||
readonly DEVEL=0
|
||||
set -euo pipefail
|
||||
-(( DEVEL )) && set -x
|
||||
+set -x
|
||||
|
||||
|
||||
###############################################################################
|
||||
@@ -459,7 +459,7 @@ configure_search()
|
||||
sed 's|ddg@|ddg-html@|' -i browser/components/search/extensions/ddg-html/manifest.json
|
||||
|
||||
# Process various JSON pre-configuration dumps.
|
||||
- python3 ../../tools/process-json-files.py . browser/components/extensions/schemas/
|
||||
+ python3 "${DATADIR}"/../tools/process-json-files.py . browser/components/extensions/schemas/
|
||||
}
|
||||
|
||||
configure_mobile()
|
||||
@@ -855,12 +855,12 @@ finalize_sourceball()
|
||||
# entry point
|
||||
###############################################################################
|
||||
|
||||
-validate_env || exit 1
|
||||
-prepare_env
|
||||
-fetch_source
|
||||
-verify_sources
|
||||
-extract_sources
|
||||
-fetch_l10n
|
||||
+# validate_env || exit 1
|
||||
+# prepare_env
|
||||
+# fetch_source
|
||||
+# verify_sources
|
||||
+# extract_sources
|
||||
+# fetch_l10n
|
||||
apply_patches
|
||||
configure
|
||||
configure_search
|
||||
@@ -872,4 +872,4 @@ prepare_macos_packaging
|
||||
configure_extensions
|
||||
configure_onboarding
|
||||
apply_bugfixes
|
||||
-finalize_sourceball
|
||||
+# finalize_sourceball
|
|
@ -1,226 +0,0 @@
|
|||
Allow building against system-wide graphite2/harfbuzz.
|
||||
See <https://bugzilla.mozilla.org/show_bug.cgi?id=847568>
|
||||
Based on:
|
||||
https://svnweb.freebsd.org/ports/head/www/firefox-esr/files/patch-bug847568?revision=472833&view=co
|
||||
Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
|
||||
|
||||
--- icecat-60.5.0/config/system-headers.mozbuild
|
||||
+++ icecat-60.5.0/config/system-headers.mozbuild
|
||||
@@ -1311,6 +1311,19 @@
|
||||
'pixman.h',
|
||||
]
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
|
||||
+ system_headers += [
|
||||
+ 'graphite2/Font.h',
|
||||
+ 'graphite2/Segment.h',
|
||||
+ ]
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
+ system_headers += [
|
||||
+ 'harfbuzz/hb-glib.h',
|
||||
+ 'harfbuzz/hb-ot.h',
|
||||
+ 'harfbuzz/hb.h',
|
||||
+ ]
|
||||
+
|
||||
if CONFIG['MOZ_SYSTEM_LIBVPX']:
|
||||
system_headers += [
|
||||
'vpx_mem/vpx_mem.h',
|
||||
--- icecat-60.5.0/dom/base/moz.build
|
||||
+++ icecat-60.5.0/dom/base/moz.build
|
||||
@@ -474,6 +474,9 @@
|
||||
if CONFIG['MOZ_X11']:
|
||||
CXXFLAGS += CONFIG['TK_CFLAGS']
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
|
||||
+
|
||||
GENERATED_FILES += [
|
||||
'PropertyUseCounterMap.inc',
|
||||
'UseCounterList.h',
|
||||
--- icecat-60.5.0/gfx/graphite2/moz-gr-update.sh
|
||||
+++ icecat-60.5.0/gfx/graphite2/moz-gr-update.sh
|
||||
@@ -1,6 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Script used to update the Graphite2 library in the mozilla source tree
|
||||
+# and bump version for --with-system-graphite2
|
||||
|
||||
# This script lives in gfx/graphite2, along with the library source,
|
||||
# but must be run from the top level of the mozilla-central tree.
|
||||
@@ -37,12 +38,16 @@ echo "See" $0 "for update procedure." >> gfx/graphite2/README.mozilla
|
||||
#find gfx/graphite2/ -name "*.cpp" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
|
||||
#find gfx/graphite2/ -name "*.h" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
|
||||
|
||||
+# chase version for --with-system-graphite2
|
||||
+perl -p -i -e "s/[0-9]+\,[0-9]+\,[0-9]+/$RELEASE/ and tr/./,/ \
|
||||
+ if /GR2_VERSION_REQUIRE/" old-configure.in
|
||||
+
|
||||
# summarize what's been touched
|
||||
echo Updated to $RELEASE.
|
||||
echo Here is what changed in the gfx/graphite2 directory:
|
||||
echo
|
||||
|
||||
-hg stat gfx/graphite2
|
||||
+hg stat old-configure.in gfx/graphite2
|
||||
|
||||
echo
|
||||
echo If gfx/graphite2/src/files.mk has changed, please make corresponding
|
||||
--- icecat-60.5.0/gfx/moz.build
|
||||
+++ icecat-60.5.0/gfx/moz.build
|
||||
@@ -10,6 +10,12 @@ with Files('**'):
|
||||
if CONFIG['MOZ_TREE_CAIRO']:
|
||||
DIRS += ['cairo']
|
||||
|
||||
+if not CONFIG['MOZ_SYSTEM_GRAPHITE2']:
|
||||
+ DIRS += ['graphite2/src' ]
|
||||
+
|
||||
+if not CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
+ DIRS += ['harfbuzz/src']
|
||||
+
|
||||
DIRS += [
|
||||
'2d',
|
||||
'ycbcr',
|
||||
@@ -18,8 +24,6 @@ DIRS += [
|
||||
'qcms',
|
||||
'gl',
|
||||
'layers',
|
||||
- 'graphite2/src',
|
||||
- 'harfbuzz/src',
|
||||
'ots/src',
|
||||
'thebes',
|
||||
'ipc',
|
||||
--- icecat-60.5.0/gfx/skia/generate_mozbuild.py
|
||||
+++ icecat-60.5.0/gfx/skia/generate_mozbuild.py
|
||||
@@ -148,6 +148,9 @@
|
||||
'-Wno-unused-private-field',
|
||||
]
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
|
||||
+
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk3', 'android'):
|
||||
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
|
||||
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
|
||||
--- icecat-60.5.0/gfx/skia/moz.build
|
||||
+++ icecat-60.5.0/gfx/skia/moz.build
|
||||
@@ -822,6 +822,9 @@
|
||||
'-Wno-unused-private-field',
|
||||
]
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
|
||||
+
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk3', 'android'):
|
||||
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
|
||||
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
|
||||
--- icecat-60.5.0/gfx/thebes/moz.build
|
||||
+++ icecat-60.5.0/gfx/thebes/moz.build
|
||||
@@ -272,7 +272,13 @@
|
||||
|
||||
LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
|
||||
|
||||
-DEFINES['GRAPHITE2_STATIC'] = True
|
||||
+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS']
|
||||
+else:
|
||||
+ DEFINES['GRAPHITE2_STATIC'] = True
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
|
||||
|
||||
if CONFIG['CC_TYPE'] == 'clang':
|
||||
# Suppress warnings from Skia header files.
|
||||
--- icecat-60.5.0/intl/unicharutil/util/moz.build
|
||||
+++ icecat-60.5.0/intl/unicharutil/util/moz.build
|
||||
@@ -25,4 +25,7 @@ UNIFIED_SOURCES += [
|
||||
'nsUnicodeProperties.cpp',
|
||||
]
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
|
||||
+
|
||||
FINAL_LIBRARY = 'xul'
|
||||
--- icecat-60.5.0/netwerk/dns/moz.build
|
||||
+++ icecat-60.5.0/netwerk/dns/moz.build
|
||||
@@ -76,3 +76,6 @@
|
||||
|
||||
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
|
||||
CXXFLAGS += ['-Wno-error=shadow']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
|
||||
--- icecat-60.5.0/old-configure.in
|
||||
+++ icecat-60.5.0/old-configure.in
|
||||
@@ -3971,6 +3971,27 @@
|
||||
AC_SUBST(MOZ_LINUX_32_SSE2_STARTUP_ERROR)
|
||||
|
||||
dnl ========================================================
|
||||
+dnl Check for graphite2
|
||||
+dnl ========================================================
|
||||
+if test -n "$MOZ_SYSTEM_GRAPHITE2"; then
|
||||
+ dnl graphite2.pc has bogus version, check manually
|
||||
+ _SAVE_CFLAGS=$CFLAGS
|
||||
+ CFLAGS="$CFLAGS $MOZ_GRAPHITE2_CFLAGS"
|
||||
+ AC_TRY_COMPILE([ #include <graphite2/Font.h>
|
||||
+ #define GR2_VERSION_REQUIRE(major,minor,bugfix) \
|
||||
+ ( GR2_VERSION_MAJOR * 10000 + GR2_VERSION_MINOR \
|
||||
+ * 100 + GR2_VERSION_BUGFIX >= \
|
||||
+ (major) * 10000 + (minor) * 100 + (bugfix) )
|
||||
+ ], [
|
||||
+ #if !GR2_VERSION_REQUIRE(1,3,10)
|
||||
+ #error "Insufficient graphite2 version."
|
||||
+ #endif
|
||||
+ ], [],
|
||||
+ [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])])
|
||||
+ CFLAGS=$_SAVE_CFLAGS
|
||||
+fi
|
||||
+
|
||||
+dnl ========================================================
|
||||
dnl Check for pixman and cairo
|
||||
dnl ========================================================
|
||||
|
||||
--- icecat-60.5.0/toolkit/library/moz.build
|
||||
+++ icecat-60.5.0/toolkit/library/moz.build
|
||||
@@ -235,6 +235,12 @@
|
||||
if CONFIG['MOZ_SYSTEM_PNG']:
|
||||
OS_LIBS += CONFIG['MOZ_PNG_LIBS']
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
|
||||
+ OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
+ OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS']
|
||||
+
|
||||
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
|
||||
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
|
||||
|
||||
--- icecat-60.5.0/toolkit/moz.configure
|
||||
+++ icecat-60.5.0/toolkit/moz.configure
|
||||
@@ -1051,6 +1051,26 @@
|
||||
add_old_configure_assignment('FT2_CFLAGS',
|
||||
ft2_info.cflags)
|
||||
|
||||
+# Graphite2
|
||||
+# ==============================================================
|
||||
+option('--with-system-graphite2',
|
||||
+ help="Use system graphite2 (located with pkgconfig)")
|
||||
+
|
||||
+system_graphite2 = pkg_check_modules('MOZ_GRAPHITE2', 'graphite2',
|
||||
+ when='--with-system-graphite2')
|
||||
+
|
||||
+set_config('MOZ_SYSTEM_GRAPHITE2', depends_if(system_graphite2)(lambda _: True))
|
||||
+
|
||||
+# HarfBuzz
|
||||
+# ==============================================================
|
||||
+option('--with-system-harfbuzz',
|
||||
+ help="Use system harfbuzz (located with pkgconfig)")
|
||||
+
|
||||
+system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.7.4',
|
||||
+ when='--with-system-harfbuzz')
|
||||
+
|
||||
+set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True))
|
||||
+
|
||||
# Mortar
|
||||
# ==============================================================
|
||||
option('--enable-mortar', help='Enable mortar extension')
|
|
@ -1,380 +0,0 @@
|
|||
Support building with system media libraries.
|
||||
See <https://bugzilla.mozilla.org/show_bug.cgi?id=517422>
|
||||
|
||||
Based on:
|
||||
https://svnweb.freebsd.org/ports/head/www/firefox-esr/files/patch-z-bug517422?revision=472833&view=markup
|
||||
|
||||
Changes to files within the bundled libraries are omitted, since those files
|
||||
are removed from Guix sources. Modified for use with patch -p1, and to apply
|
||||
cleanly to GNU IceCat.
|
||||
|
||||
--- icecat-60.5.0/build/moz.configure/old.configure
|
||||
+++ icecat-60.5.0/build/moz.configure/old.configure
|
||||
@@ -273,7 +273,12 @@
|
||||
'--with-system-libvpx',
|
||||
'--with-system-nspr',
|
||||
'--with-system-nss',
|
||||
+ '--with-system-ogg',
|
||||
'--with-system-png',
|
||||
+ '--with-system-soundtouch',
|
||||
+ '--with-system-theora',
|
||||
+ '--with-system-tremor',
|
||||
+ '--with-system-vorbis',
|
||||
'--with-system-zlib',
|
||||
'--with-thumb',
|
||||
'--with-thumb-interwork',
|
||||
--- icecat-60.5.0/config/external/moz.build
|
||||
+++ icecat-60.5.0/config/external/moz.build
|
||||
@@ -23,12 +23,21 @@
|
||||
|
||||
external_dirs += ['modules/xz-embedded']
|
||||
|
||||
-if CONFIG['MOZ_VORBIS']:
|
||||
+if not CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ external_dirs += ['media/libogg']
|
||||
+
|
||||
+if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_SYSTEM_VORBIS']:
|
||||
external_dirs += ['media/libvorbis']
|
||||
|
||||
-if CONFIG['MOZ_TREMOR']:
|
||||
+if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_SYSTEM_TREMOR']:
|
||||
external_dirs += ['media/libtremor']
|
||||
|
||||
+if not CONFIG['MOZ_SYSTEM_THEORA']:
|
||||
+ external_dirs += ['media/libtheora']
|
||||
+
|
||||
+if not CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
|
||||
+ external_dirs += ['media/libsoundtouch']
|
||||
+
|
||||
if CONFIG['MOZ_WEBM_ENCODER']:
|
||||
external_dirs += ['media/libmkv']
|
||||
|
||||
@@ -51,11 +60,8 @@
|
||||
'media/kiss_fft',
|
||||
'media/libcubeb',
|
||||
'media/libnestegg',
|
||||
- 'media/libogg',
|
||||
'media/libopus',
|
||||
- 'media/libtheora',
|
||||
'media/libspeex_resampler',
|
||||
- 'media/libsoundtouch',
|
||||
'media/mp4parse-rust',
|
||||
'media/psshparser'
|
||||
]
|
||||
--- icecat-60.5.0/config/system-headers.mozbuild
|
||||
+++ icecat-60.5.0/config/system-headers.mozbuild
|
||||
@@ -1324,6 +1324,28 @@
|
||||
'harfbuzz/hb.h',
|
||||
]
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ system_headers += [
|
||||
+ 'ogg/ogg.h',
|
||||
+ 'ogg/os_types.h',
|
||||
+ ]
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_THEORA']:
|
||||
+ system_headers += [
|
||||
+ 'theora/theoradec.h',
|
||||
+ ]
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_VORBIS']:
|
||||
+ system_headers += [
|
||||
+ 'vorbis/codec.h',
|
||||
+ 'vorbis/vorbisenc.h',
|
||||
+ ]
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_TREMOR']:
|
||||
+ system_headers += [
|
||||
+ 'tremor/ivorbiscodec.h',
|
||||
+ ]
|
||||
+
|
||||
if CONFIG['MOZ_SYSTEM_LIBVPX']:
|
||||
system_headers += [
|
||||
'vpx_mem/vpx_mem.h',
|
||||
--- icecat-60.5.0/dom/media/AudioStream.cpp
|
||||
+++ icecat-60.5.0/dom/media/AudioStream.cpp
|
||||
@@ -128,7 +128,9 @@
|
||||
: mMonitor("AudioStream"),
|
||||
mChannels(0),
|
||||
mOutChannels(0),
|
||||
+#ifndef MOZ_SYSTEM_SOUNDTOUCH
|
||||
mTimeStretcher(nullptr),
|
||||
+#endif
|
||||
mDumpFile(nullptr),
|
||||
mState(INITIALIZED),
|
||||
mDataSource(aSource),
|
||||
@@ -147,9 +149,11 @@
|
||||
if (mDumpFile) {
|
||||
fclose(mDumpFile);
|
||||
}
|
||||
+#ifndef MOZ_SYSTEM_SOUNDTOUCH
|
||||
if (mTimeStretcher) {
|
||||
soundtouch::destroySoundTouchObj(mTimeStretcher);
|
||||
}
|
||||
+#endif
|
||||
#if defined(XP_WIN)
|
||||
if (XRE_IsContentProcess()) {
|
||||
audio::AudioNotificationReceiver::Unregister(this);
|
||||
@@ -170,7 +174,11 @@
|
||||
nsresult AudioStream::EnsureTimeStretcherInitializedUnlocked() {
|
||||
mMonitor.AssertCurrentThreadOwns();
|
||||
if (!mTimeStretcher) {
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+ mTimeStretcher = new soundtouch::SoundTouch();
|
||||
+#else
|
||||
mTimeStretcher = soundtouch::createSoundTouchObj();
|
||||
+#endif
|
||||
mTimeStretcher->setSampleRate(mAudioClock.GetInputRate());
|
||||
mTimeStretcher->setChannels(mOutChannels);
|
||||
mTimeStretcher->setPitch(1.0);
|
||||
--- icecat-60.5.0/dom/media/AudioStream.h
|
||||
+++ icecat-60.5.0/dom/media/AudioStream.h
|
||||
@@ -15,7 +15,11 @@
|
||||
#include "mozilla/TimeStamp.h"
|
||||
#include "mozilla/UniquePtr.h"
|
||||
#include "CubebUtils.h"
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+#include "soundtouch/SoundTouch.h"
|
||||
+#else
|
||||
#include "soundtouch/SoundTouchFactory.h"
|
||||
+#endif
|
||||
|
||||
#if defined(XP_WIN)
|
||||
#include "mozilla/audio/AudioNotificationReceiver.h"
|
||||
@@ -293,7 +297,11 @@
|
||||
uint32_t mChannels;
|
||||
uint32_t mOutChannels;
|
||||
AudioClock mAudioClock;
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+ nsAutoPtr<soundtouch::SoundTouch> mTimeStretcher;
|
||||
+#else
|
||||
soundtouch::SoundTouch* mTimeStretcher;
|
||||
+#endif
|
||||
|
||||
// Output file for dumping audio
|
||||
FILE* mDumpFile;
|
||||
--- icecat-60.5.0/dom/media/moz.build
|
||||
+++ icecat-60.5.0/dom/media/moz.build
|
||||
@@ -327,6 +327,21 @@
|
||||
|
||||
DEFINES['MOZILLA_INTERNAL_API'] = True
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_OGG_CFLAGS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_THEORA']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_THEORA_CFLAGS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_VORBIS']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_VORBIS_CFLAGS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_TREMOR']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_TREMOR_CFLAGS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS']
|
||||
+
|
||||
if CONFIG['MOZ_ANDROID_HLS_SUPPORT']:
|
||||
DEFINES['MOZ_ANDROID_HLS_SUPPORT'] = True
|
||||
|
||||
--- icecat-60.5.0/dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
|
||||
+++ icecat-60.5.0/dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
|
||||
@@ -15,9 +15,13 @@
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+#include "nsXPCOMPrivate.h" // for XUL_DLL
|
||||
+#else
|
||||
// We use a known symbol located in lgpllibs to determine its location.
|
||||
// soundtouch happens to be always included in lgpllibs
|
||||
#include "soundtouch/SoundTouch.h"
|
||||
+#endif
|
||||
|
||||
namespace mozilla {
|
||||
|
||||
@@ -60,6 +64,12 @@
|
||||
|
||||
sLinkStatus = LinkStatus_FAILED;
|
||||
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+ // We retrieve the path of the XUL library as this is where mozavcodec and
|
||||
+ // mozavutil libs are located.
|
||||
+ char* path =
|
||||
+ PR_GetLibraryFilePathname(XUL_DLL, (PRFuncPtr)&FFVPXRuntimeLinker::Init);
|
||||
+#else
|
||||
// We retrieve the path of the lgpllibs library as this is where mozavcodec
|
||||
// and mozavutil libs are located.
|
||||
PathString lgpllibsname = GetLibraryName(nullptr, "lgpllibs");
|
||||
@@ -68,6 +78,7 @@
|
||||
}
|
||||
PathString path = GetLibraryFilePathname(
|
||||
lgpllibsname.get(), (PRFuncPtr)&soundtouch::SoundTouch::getVersionId);
|
||||
+#endif
|
||||
if (path.IsEmpty()) {
|
||||
return false;
|
||||
}
|
||||
--- icecat-60.5.0/old-configure.in
|
||||
+++ icecat-60.5.0/old-configure.in
|
||||
@@ -2417,6 +2417,111 @@
|
||||
fi
|
||||
fi # COMPILE_ENVIRONMENT
|
||||
|
||||
+dnl ========================================================
|
||||
+dnl Check for libogg
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-ogg,
|
||||
+[ --with-system-ogg Use system libogg (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_OGG=1,
|
||||
+MOZ_SYSTEM_OGG=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_OGG"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.3.3)
|
||||
+
|
||||
+ _SAVE_LIBS=$LIBS
|
||||
+ LIBS="$LIBS $MOZ_OGG_LIBS"
|
||||
+ AC_CHECK_FUNC(ogg_set_mem_functions, [],
|
||||
+ [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)])
|
||||
+ LIBS=$_SAVE_LIBS
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_SYSTEM_OGG)
|
||||
+
|
||||
+dnl ========================================================
|
||||
+dnl Check for libvorbis
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-vorbis,
|
||||
+[ --with-system-vorbis Use system libvorbis (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_VORBIS=1,
|
||||
+MOZ_SYSTEM_VORBIS=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_VORBIS"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.6)
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_SYSTEM_VORBIS)
|
||||
+
|
||||
+dnl ========================================================
|
||||
+dnl Check for integer-only libvorbis aka tremor
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-tremor,
|
||||
+[ --with-system-tremor Use system libtremor (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_TREMOR=1,
|
||||
+MOZ_SYSTEM_TREMOR=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_TREMOR"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1)
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_SYSTEM_TREMOR)
|
||||
+
|
||||
+dnl ========================================================
|
||||
+dnl Check for libtheora
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-theora,
|
||||
+[ --with-system-theora Use system libtheora (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_THEORA=1,
|
||||
+MOZ_SYSTEM_THEORA=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_THEORA"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2)
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_SYSTEM_THEORA)
|
||||
+
|
||||
+dnl ========================================================
|
||||
+dnl Check for libSoundTouch
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-soundtouch,
|
||||
+[ --with-system-soundtouch Use system libSoundTouch (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_SOUNDTOUCH=1,
|
||||
+MOZ_SYSTEM_SOUNDTOUCH=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.9.0)
|
||||
+
|
||||
+ AC_LANG_SAVE
|
||||
+ AC_LANG_CPLUSPLUS
|
||||
+ _SAVE_CXXFLAGS=$CXXFLAGS
|
||||
+ CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS"
|
||||
+ AC_CACHE_CHECK(for soundtouch sample type,
|
||||
+ ac_cv_soundtouch_sample_type,
|
||||
+ [AC_TRY_COMPILE([#include <SoundTouch.h>
|
||||
+ #ifndef SOUNDTOUCH_INTEGER_SAMPLES
|
||||
+ #error soundtouch expects float samples
|
||||
+ #endif],
|
||||
+ [],
|
||||
+ [ac_cv_soundtouch_sample_type=short],
|
||||
+ [ac_cv_soundtouch_sample_type=float])])
|
||||
+ CXXFLAGS=$_SAVE_CXXFLAGS
|
||||
+ AC_LANG_RESTORE
|
||||
+
|
||||
+ if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \
|
||||
+ -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then
|
||||
+ AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove --with-system-soundtouch.])
|
||||
+ fi
|
||||
+fi
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
|
||||
+ AC_DEFINE(MOZ_SYSTEM_SOUNDTOUCH)
|
||||
+fi
|
||||
+AC_SUBST(MOZ_SYSTEM_SOUNDTOUCH)
|
||||
+
|
||||
dnl system libvpx Support
|
||||
dnl ========================================================
|
||||
MOZ_ARG_WITH_BOOL(system-libvpx,
|
||||
--- icecat-60.5.0/toolkit/library/moz.build
|
||||
+++ icecat-60.5.0/toolkit/library/moz.build
|
||||
@@ -244,6 +244,21 @@
|
||||
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
|
||||
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ OS_LIBS += CONFIG['MOZ_OGG_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_THEORA']:
|
||||
+ OS_LIBS += CONFIG['MOZ_THEORA_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_VORBIS']:
|
||||
+ OS_LIBS += CONFIG['MOZ_VORBIS_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_TREMOR']:
|
||||
+ OS_LIBS += CONFIG['MOZ_TREMOR_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
|
||||
+ OS_LIBS += CONFIG['MOZ_SOUNDTOUCH_LIBS']
|
||||
+
|
||||
if CONFIG['MOZ_SYSTEM_LIBEVENT']:
|
||||
OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
|
||||
|
||||
--- icecat-60.5.0/xpcom/build/XPCOMInit.cpp
|
||||
+++ icecat-60.5.0/xpcom/build/XPCOMInit.cpp
|
||||
@@ -139,7 +139,9 @@
|
||||
|
||||
#include "mozilla/ipc/GeckoChildProcessHost.h"
|
||||
|
||||
+#ifndef MOZ_OGG_NO_MEM_REPORTING
|
||||
#include "ogg/ogg.h"
|
||||
+#endif
|
||||
#if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
|
||||
#if defined(HAVE_STDINT_H)
|
||||
// mozilla-config.h defines HAVE_STDINT_H, and then it's defined *again* in
|
||||
@@ -635,10 +637,12 @@
|
||||
// this oddness.
|
||||
mozilla::SetICUMemoryFunctions();
|
||||
|
||||
+#ifndef MOZ_OGG_NO_MEM_REPORTING
|
||||
// Do the same for libogg.
|
||||
ogg_set_mem_functions(
|
||||
OggReporter::CountingMalloc, OggReporter::CountingCalloc,
|
||||
OggReporter::CountingRealloc, OggReporter::CountingFree);
|
||||
+#endif
|
||||
|
||||
#if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
|
||||
// And for VPX.
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue