www/palemoon: add new port
PR: 223597 Submitted by: lichray@gmail.com Tested by: loader, many on forums.freebsd.org Pale Moon offers you a browsing experience in a browser completely built from its own, independently developed source that has been forked off from Firefox/Mozilla code a number of years ago, with carefully selected features and optimizations to improve the browser's stability and user experience, while offering full customization and a growing collection of extensions and themes to make the browser truly your own. Main features: o Support for many Firefox extensions o Support for a growing number of Pale Moon exclusive extensions o Secure: Additional security features and security-aware development o Extensive and growing support for HTML5 and CSS3 https://www.palemoon.org/
This commit is contained in:
parent
9977cfd763
commit
ebacab86c7
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=454738
14 changed files with 640 additions and 0 deletions
|
@ -1398,6 +1398,7 @@
|
|||
SUBDIR += p5-pQuery
|
||||
SUBDIR += p5-webservice-validator-css-w3c
|
||||
SUBDIR += p5-webservice-validator-html-w3c
|
||||
SUBDIR += palemoon
|
||||
SUBDIR += paros
|
||||
SUBDIR += payara
|
||||
SUBDIR += pear-HTML_AJAX
|
||||
|
|
64
www/palemoon/Makefile
Normal file
64
www/palemoon/Makefile
Normal file
|
@ -0,0 +1,64 @@
|
|||
# Created by: Zhihao Yuan <lichray@gmail.com>
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= palemoon
|
||||
DISTVERSION= 27.6.1
|
||||
DISTVERSIONSUFFIX=_Release
|
||||
CATEGORIES= www ipv6
|
||||
|
||||
MAINTAINER= lichray@gmail.com
|
||||
COMMENT= Open Source Goanna-based web browser
|
||||
|
||||
BUILD_DEPENDS= nspr>=4.15:devel/nspr \
|
||||
nss>=3.31.1:security/nss \
|
||||
libevent>=2.0.22:devel/libevent \
|
||||
harfbuzz>=1.4.3:print/harfbuzz \
|
||||
graphite2>=1.3.10:graphics/graphite2 \
|
||||
png>=1.6.16:graphics/png \
|
||||
libvpx>=1.5.0:multimedia/libvpx \
|
||||
sqlite3>=3.19.3:databases/sqlite3 \
|
||||
${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3 \
|
||||
autoconf-2.13:devel/autoconf213 \
|
||||
yasm:devel/yasm \
|
||||
zip:archivers/zip
|
||||
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= MoonchildProductions
|
||||
GH_PROJECT= Pale-Moon
|
||||
|
||||
USE_GECKO= gecko
|
||||
MOZ_PKGCONFIG_FILES= # empty
|
||||
USE_MOZILLA= -soundtouch
|
||||
|
||||
USE_GL= gl
|
||||
|
||||
PM_ICON= ${PORTNAME}.png
|
||||
PM_ICON_SRC= ${PREFIX}/lib/${PORTNAME}/browser/icons/mozicon128.png
|
||||
PM_DESKTOP= ${WRKSRC}/browser/branding/official/${PORTNAME}.desktop
|
||||
MOZ_OPTIONS= --enable-application=browser \
|
||||
--enable-official-branding \
|
||||
--enable-devtools \
|
||||
--enable-jemalloc \
|
||||
--enable-jemalloc-lib
|
||||
|
||||
OPTIONS_DEFAULT= BUNDLED_CAIRO GTK2
|
||||
OPTIONS_EXCLUDE= DTRACE INTEGER_SAMPLES JACK SNDIO TEST
|
||||
|
||||
.include "${.CURDIR}/../../www/firefox/Makefile.options"
|
||||
|
||||
WRKSRC:= ${WRKDIR}/${GH_PROJECT}-${DISTVERSIONFULL}
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
|
||||
${WRKSRC}/browser/app/nsBrowserApp.cpp
|
||||
|
||||
pre-configure:
|
||||
(cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13)
|
||||
(cd ${WRKSRC}/js/src/ && ${LOCALBASE}/bin/autoconf-2.13)
|
||||
|
||||
post-install:
|
||||
${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps
|
||||
${INSTALL_DATA} ${PM_DESKTOP} ${STAGEDIR}${PREFIX}/share/applications/
|
||||
${LN} -sf ${PM_ICON_SRC} ${STAGEDIR}${PREFIX}/share/pixmaps/${PM_ICON}
|
||||
|
||||
.include <bsd.port.mk>
|
3
www/palemoon/distinfo
Normal file
3
www/palemoon/distinfo
Normal file
|
@ -0,0 +1,3 @@
|
|||
TIMESTAMP = 1510878123
|
||||
SHA256 (MoonchildProductions-Pale-Moon-27.6.1_Release_GH0.tar.gz) = bf426f51274472178dec248b258bfc8f2f33fbecb1cb70c36ee36a46a4dd6926
|
||||
SIZE (MoonchildProductions-Pale-Moon-27.6.1_Release_GH0.tar.gz) = 179623221
|
12
www/palemoon/files/patch-browser-app-nsBrowserApp.cpp
Normal file
12
www/palemoon/files/patch-browser-app-nsBrowserApp.cpp
Normal file
|
@ -0,0 +1,12 @@
|
|||
--- browser/app/nsBrowserApp.cpp.orig 2017-11-14 14:36:13 UTC
|
||||
+++ browser/app/nsBrowserApp.cpp
|
||||
@@ -409,6 +409,9 @@ int main(int argc, char* argv[])
|
||||
#endif
|
||||
uint64_t start = TimeStamp_Now();
|
||||
|
||||
+ setenv("MOZ_GMP_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0);
|
||||
+ setenv("MOZ_PLUGIN_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0);
|
||||
+
|
||||
#ifdef XP_MACOSX
|
||||
TriggerQuirks();
|
||||
#endif
|
13
www/palemoon/files/patch-browser_installer_Makefile.in
Normal file
13
www/palemoon/files/patch-browser_installer_Makefile.in
Normal file
|
@ -0,0 +1,13 @@
|
|||
--- browser/installer/Makefile.in.orig 2017-11-14 14:36:13 UTC
|
||||
+++ browser/installer/Makefile.in
|
||||
@@ -108,10 +108,6 @@ MOZ_PKG_MAC_ICON=branding/disk.icns
|
||||
MOZ_PKG_MAC_EXTRA=--symlink '/Applications:/ '
|
||||
endif
|
||||
|
||||
-ifndef LIBXUL_SDK
|
||||
-INSTALL_SDK = 1
|
||||
-endif
|
||||
-
|
||||
include $(topsrcdir)/toolkit/mozapps/installer/signing.mk
|
||||
include $(topsrcdir)/toolkit/mozapps/installer/packager.mk
|
||||
|
13
www/palemoon/files/patch-bug1267513
Normal file
13
www/palemoon/files/patch-bug1267513
Normal file
|
@ -0,0 +1,13 @@
|
|||
https://github.com/kinetiknz/nestegg/commit/3b7f1ae5dfd5
|
||||
|
||||
--- media/libnestegg/src/align.h.orig 2017-11-14 14:36:13 UTC
|
||||
+++ media/libnestegg/src/align.h
|
||||
@@ -22,7 +22,7 @@
|
||||
*/
|
||||
typedef double max_align_t;
|
||||
|
||||
-#else
|
||||
+#elif !defined(__CLANG_MAX_ALIGN_T_DEFINED) && !defined(_GCC_MAX_ALIGN_T)
|
||||
|
||||
/*
|
||||
* a type with the most strict alignment requirements
|
13
www/palemoon/files/patch-bug1330119
Normal file
13
www/palemoon/files/patch-bug1330119
Normal file
|
@ -0,0 +1,13 @@
|
|||
Build Linux aarch64 code in XPTCALL also on BSDs
|
||||
|
||||
--- xpcom/reflect/xptcall/md/unix/moz.build.orig 2017-11-14 14:36:13 UTC
|
||||
+++ xpcom/reflect/xptcall/md/unix/moz.build
|
||||
@@ -143,7 +143,7 @@ if CONFIG['OS_ARCH'] == 'NetBSD':
|
||||
'xptcstubs_netbsd_m68k.cpp'
|
||||
]
|
||||
|
||||
-if CONFIG['OS_ARCH'] == 'Linux':
|
||||
+if CONFIG['OS_ARCH'] in ('Linux', 'FreeBSD', 'NetBSD', 'OpenBSD'):
|
||||
if CONFIG['OS_TEST'] == 'aarch64':
|
||||
SOURCES += [
|
||||
'xptcinvoke_aarch64.cpp',
|
21
www/palemoon/files/patch-bug1336791
Normal file
21
www/palemoon/files/patch-bug1336791
Normal file
|
@ -0,0 +1,21 @@
|
|||
Allow readelf to print types without parentheses
|
||||
|
||||
--- toolkit/library/dependentlibs.py.orig 2017-11-14 14:36:13 UTC
|
||||
+++ toolkit/library/dependentlibs.py
|
||||
@@ -59,11 +59,15 @@ def dependentlibs_readelf(lib):
|
||||
for line in proc.stdout:
|
||||
# Each line has the following format:
|
||||
# tag (TYPE) value
|
||||
+ # or with BSD readelf:
|
||||
+ # tag TYPE value
|
||||
# Looking for NEEDED type entries
|
||||
tmp = line.split(' ', 3)
|
||||
- if len(tmp) > 3 and tmp[2] == '(NEEDED)':
|
||||
+ if len(tmp) > 3 and 'NEEDED' in tmp[2]:
|
||||
# NEEDED lines look like:
|
||||
# 0x00000001 (NEEDED) Shared library: [libname]
|
||||
+ # or with BSD readelf:
|
||||
+ # 0x00000001 NEEDED Shared library: [libname]
|
||||
match = re.search('\[(.*)\]', tmp[3])
|
||||
if match:
|
||||
deps.append(match.group(1))
|
216
www/palemoon/files/patch-bug847568
Normal file
216
www/palemoon/files/patch-bug847568
Normal file
|
@ -0,0 +1,216 @@
|
|||
# Allow building against system-wide graphite2/harfbuzz.
|
||||
|
||||
--- config/Makefile.in.orig 2017-11-14 14:36:13 UTC
|
||||
+++ config/Makefile.in
|
||||
@@ -78,6 +78,8 @@ export:: $(export-preqs)
|
||||
-DMOZ_NATIVE_LIBVPX=$(MOZ_NATIVE_LIBVPX) \
|
||||
-DMOZ_NATIVE_LIBWEBP=$(MOZ_NATIVE_LIBWEBP) \
|
||||
-DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \
|
||||
+ -DMOZ_NATIVE_GRAPHITE2=$(MOZ_NATIVE_GRAPHITE2) \
|
||||
+ -DMOZ_NATIVE_HARFBUZZ=$(MOZ_NATIVE_HARFBUZZ) \
|
||||
$(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers
|
||||
$(INSTALL) system_wrappers $(DIST)
|
||||
|
||||
--- config/system-headers.orig 2017-11-14 14:36:13 UTC
|
||||
+++ config/system-headers
|
||||
@@ -1359,3 +1359,11 @@ unicode/utypes.h
|
||||
#endif
|
||||
libutil.h
|
||||
unwind.h
|
||||
+#if MOZ_NATIVE_GRAPHITE2==1
|
||||
+graphite2/Font.h
|
||||
+graphite2/Segment.h
|
||||
+#endif
|
||||
+#if MOZ_NATIVE_HARFBUZZ==1
|
||||
+harfbuzz/hb-ot.h
|
||||
+harfbuzz/hb.h
|
||||
+#endif
|
||||
--- configure.in.orig 2017-11-14 14:36:13 UTC
|
||||
+++ configure.in
|
||||
@@ -7746,6 +7746,49 @@ if test "$USE_FC_FREETYPE"; then
|
||||
fi
|
||||
|
||||
dnl ========================================================
|
||||
+dnl Check for harfbuzz
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-harfbuzz,
|
||||
+[ --with-system-harfbuzz Use system harfbuzz (located with pkgconfig)],
|
||||
+MOZ_NATIVE_HARFBUZZ=1,
|
||||
+MOZ_NATIVE_HARFBUZZ=)
|
||||
+
|
||||
+if test -n "$MOZ_NATIVE_HARFBUZZ"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 1.4.3)
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_NATIVE_HARFBUZZ)
|
||||
+
|
||||
+dnl ========================================================
|
||||
+dnl Check for graphite2
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-graphite2,
|
||||
+[ --with-system-graphite2 Use system graphite2 (located with pkgconfig)],
|
||||
+MOZ_NATIVE_GRAPHITE2=1,
|
||||
+MOZ_NATIVE_GRAPHITE2=)
|
||||
+
|
||||
+if test -n "$MOZ_NATIVE_GRAPHITE2"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_GRAPHITE2, graphite2)
|
||||
+
|
||||
+ dnl graphite2.pc has bogus version, check manually
|
||||
+ 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])])
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_NATIVE_GRAPHITE2)
|
||||
+
|
||||
+dnl ========================================================
|
||||
dnl Check for pixman and cairo
|
||||
dnl ========================================================
|
||||
|
||||
--- dom/base/moz.build.orig 2017-11-14 14:36:13 UTC
|
||||
+++ dom/base/moz.build
|
||||
@@ -366,6 +366,9 @@ if CONFIG['INTEL_ARCHITECTURE']:
|
||||
SOURCES += ['nsTextFragmentSSE2.cpp']
|
||||
SOURCES['nsTextFragmentSSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
|
||||
|
||||
+if CONFIG['MOZ_NATIVE_HARFBUZZ']:
|
||||
+ SOURCES['nsContentUtils.cpp'].flags += CONFIG['MOZ_HARFBUZZ_CFLAGS']
|
||||
+
|
||||
EXTRA_COMPONENTS += [
|
||||
'ConsoleAPI.manifest',
|
||||
'ConsoleAPIStorage.js',
|
||||
--- gfx/graphite2/moz-gr-update.sh.orig 2017-11-14 14:36:13 UTC
|
||||
+++ gfx/graphite2/moz-gr-update.sh
|
||||
@@ -37,6 +37,9 @@ echo "See" $0 "for update procedure." >> gfx/graphite2
|
||||
#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/;" {} \;
|
||||
|
||||
+perl -p -i -e "s/[0-9]+\,[0-9]+\,[0-9]+/$RELEASE/ and tr/./,/ \
|
||||
+ if /GR2_VERSION_REQUIRE/" configure.in
|
||||
+
|
||||
# summarize what's been touched
|
||||
echo Updated to $RELEASE.
|
||||
echo Here is what changed in the gfx/graphite2 directory:
|
||||
--- gfx/harfbuzz/README-mozilla.orig 2017-11-14 14:36:13 UTC
|
||||
+++ gfx/harfbuzz/README-mozilla
|
||||
@@ -19,3 +19,8 @@ the mozilla tree.
|
||||
|
||||
If the collection of source files changes, manual updates to moz.build may be
|
||||
needed, as we don't use the upstream makefiles.
|
||||
+
|
||||
+The in-tree copy may be omitted during build by --with-system-harfbuzz.
|
||||
+Make sure to keep pkg-config version check within configure.in in sync
|
||||
+with checkout version or increment latest tag by one if it's not based
|
||||
+on upstream release.
|
||||
--- gfx/moz.build.orig 2017-11-14 14:36:13 UTC
|
||||
+++ gfx/moz.build
|
||||
@@ -7,6 +7,12 @@
|
||||
if CONFIG['MOZ_TREE_CAIRO']:
|
||||
DIRS += ['cairo']
|
||||
|
||||
+if not CONFIG['MOZ_NATIVE_GRAPHITE2']:
|
||||
+ DIRS += ['graphite2/src' ]
|
||||
+
|
||||
+if not CONFIG['MOZ_NATIVE_HARFBUZZ']:
|
||||
+ DIRS += ['harfbuzz/src']
|
||||
+
|
||||
DIRS += [
|
||||
'2d',
|
||||
'ycbcr',
|
||||
@@ -15,8 +21,6 @@ DIRS += [
|
||||
'qcms',
|
||||
'gl',
|
||||
'layers',
|
||||
- 'graphite2/src',
|
||||
- 'harfbuzz/src',
|
||||
'ots/src',
|
||||
'thebes',
|
||||
'ipc',
|
||||
--- gfx/skia/generate_mozbuild.py.orig 2017-11-14 14:36:13 UTC
|
||||
+++ gfx/skia/generate_mozbuild.py
|
||||
@@ -157,6 +157,9 @@ if CONFIG['CLANG_CXX']:
|
||||
'-Wno-unused-private-field',
|
||||
]
|
||||
|
||||
+if CONFIG['MOZ_NATIVE_HARFBUZZ']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
|
||||
+
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android', 'gonk', 'qt'):
|
||||
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
|
||||
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
|
||||
--- gfx/skia/moz.build.orig 2017-11-14 14:36:13 UTC
|
||||
+++ gfx/skia/moz.build
|
||||
@@ -987,6 +987,9 @@ if CONFIG['CLANG_CXX']:
|
||||
'-Wno-unused-private-field',
|
||||
]
|
||||
|
||||
+if CONFIG['MOZ_NATIVE_HARFBUZZ']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
|
||||
+
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android', 'gonk', 'qt'):
|
||||
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
|
||||
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
|
||||
--- gfx/thebes/moz.build.orig 2017-11-14 14:36:13 UTC
|
||||
+++ gfx/thebes/moz.build
|
||||
@@ -298,7 +298,13 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'qt'):
|
||||
CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
|
||||
|
||||
-DEFINES['GRAPHITE2_STATIC'] = True
|
||||
+if CONFIG['MOZ_NATIVE_HARFBUZZ']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
|
||||
+
|
||||
+if CONFIG['MOZ_NATIVE_GRAPHITE2']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS']
|
||||
+else:
|
||||
+ DEFINES['GRAPHITE2_STATIC'] = True
|
||||
|
||||
if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
|
||||
DEFINES['OTS_DLL'] = True
|
||||
--- intl/unicharutil/util/moz.build.orig 2017-11-14 14:36:13 UTC
|
||||
+++ intl/unicharutil/util/moz.build
|
||||
@@ -38,5 +38,8 @@ if CONFIG['_MSC_VER']:
|
||||
if CONFIG['ENABLE_INTL_API']:
|
||||
CXXFLAGS += CONFIG['MOZ_ICU_CFLAGS']
|
||||
|
||||
+if CONFIG['MOZ_NATIVE_HARFBUZZ']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
|
||||
+
|
||||
if CONFIG['GNU_CXX']:
|
||||
FAIL_ON_WARNINGS = True
|
||||
--- netwerk/dns/moz.build.orig 2017-11-14 14:36:13 UTC
|
||||
+++ netwerk/dns/moz.build
|
||||
@@ -68,5 +68,8 @@ LOCAL_INCLUDES += [
|
||||
'/netwerk/base',
|
||||
]
|
||||
|
||||
+if CONFIG['MOZ_NATIVE_HARFBUZZ']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
|
||||
+
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk' and CONFIG['ANDROID_VERSION'] > '19':
|
||||
CXXFLAGS += ['-I%s/bionic/libc/dns/include' % CONFIG['ANDROID_SOURCE']]
|
||||
--- toolkit/library/moz.build.orig 2017-11-14 14:36:13 UTC
|
||||
+++ toolkit/library/moz.build
|
||||
@@ -230,6 +230,12 @@ if CONFIG['MOZ_NATIVE_LIBVPX']:
|
||||
if not CONFIG['MOZ_TREE_PIXMAN']:
|
||||
OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS']
|
||||
|
||||
+if CONFIG['MOZ_NATIVE_GRAPHITE2']:
|
||||
+ OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_NATIVE_HARFBUZZ']:
|
||||
+ OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS']
|
||||
+
|
||||
if CONFIG['MOZ_ALSA']:
|
||||
OS_LIBS += CONFIG['MOZ_ALSA_LIBS']
|
||||
|
17
www/palemoon/files/patch-bug991253
Normal file
17
www/palemoon/files/patch-bug991253
Normal file
|
@ -0,0 +1,17 @@
|
|||
--- extensions/spellcheck/hunspell/glue/mozHunspell.cpp.orig 2017-11-14 14:36:13 UTC
|
||||
+++ extensions/spellcheck/hunspell/glue/mozHunspell.cpp
|
||||
@@ -400,6 +400,14 @@ mozHunspell::LoadDictionaryList(bool aNotifyChildProce
|
||||
}
|
||||
}
|
||||
|
||||
+ // load system hunspell dictionaries
|
||||
+ nsCOMPtr<nsIFile> hunDir;
|
||||
+ NS_NewNativeLocalFile(NS_LITERAL_CSTRING("%%LOCALBASE%%/share/hunspell"),
|
||||
+ true, getter_AddRefs(hunDir));
|
||||
+ if (hunDir) {
|
||||
+ LoadDictionariesFromDir(hunDir);
|
||||
+ }
|
||||
+
|
||||
// find dictionaries from extensions requiring restart
|
||||
nsCOMPtr<nsISimpleEnumerator> dictDirs;
|
||||
rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY_LIST,
|
17
www/palemoon/files/patch-config-baseconfig.mk
Normal file
17
www/palemoon/files/patch-config-baseconfig.mk
Normal file
|
@ -0,0 +1,17 @@
|
|||
--- config/baseconfig.mk.orig 2017-11-14 14:36:13 UTC
|
||||
+++ config/baseconfig.mk
|
||||
@@ -2,10 +2,10 @@
|
||||
# directly in python/mozbuild/mozbuild/base.py for gmake validation.
|
||||
# We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending
|
||||
# whether a normal build is happening or whether the check is running.
|
||||
-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
||||
-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
||||
-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
||||
-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
|
||||
+includedir := $(includedir)/%%MOZILLA%%
|
||||
+idldir = $(datadir)/idl/%%MOZILLA%%
|
||||
+installdir = $(libdir)/%%MOZILLA%%
|
||||
+sdkdir = $(libdir)/%%MOZILLA%%
|
||||
ifndef TOP_DIST
|
||||
TOP_DIST = dist
|
||||
endif
|
212
www/palemoon/files/patch-python_psutil_psutil___psutil__bsd.c
Normal file
212
www/palemoon/files/patch-python_psutil_psutil___psutil__bsd.c
Normal file
|
@ -0,0 +1,212 @@
|
|||
--- python/psutil/psutil/_psutil_bsd.c.orig 2017-11-14 14:36:13 UTC
|
||||
+++ python/psutil/psutil/_psutil_bsd.c
|
||||
@@ -12,6 +12,7 @@
|
||||
#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
+#include <err.h>
|
||||
#include <signal.h>
|
||||
#include <fcntl.h>
|
||||
#include <paths.h>
|
||||
@@ -957,11 +958,19 @@ psutil_sockaddr_matches(int family, int port, void *pc
|
||||
psutil_sockaddr_addrlen(family)) == 0);
|
||||
}
|
||||
|
||||
+#if __FreeBSD_version >= 1200026
|
||||
+static struct xtcpcb *
|
||||
+psutil_search_tcplist(char *buf, struct kinfo_file *kif)
|
||||
+{
|
||||
+ struct xtcpcb *tp;
|
||||
+ struct xinpcb *inp;
|
||||
+#else
|
||||
static struct tcpcb *
|
||||
psutil_search_tcplist(char *buf, struct kinfo_file *kif)
|
||||
{
|
||||
struct tcpcb *tp;
|
||||
struct inpcb *inp;
|
||||
+#endif
|
||||
struct xinpgen *xig, *oxig;
|
||||
struct xsocket *so;
|
||||
|
||||
@@ -969,9 +978,15 @@ psutil_search_tcplist(char *buf, struct kinfo_file *ki
|
||||
for (xig = (struct xinpgen *)((char *)xig + xig->xig_len);
|
||||
xig->xig_len > sizeof(struct xinpgen);
|
||||
xig = (struct xinpgen *)((char *)xig + xig->xig_len)) {
|
||||
+#if __FreeBSD_version >= 1200026
|
||||
+ tp = (struct xtcpcb *)xig;
|
||||
+ inp = &tp->xt_inp;
|
||||
+ so = &inp->xi_socket;
|
||||
+#else
|
||||
tp = &((struct xtcpcb *)xig)->xt_tp;
|
||||
inp = &((struct xtcpcb *)xig)->xt_inp;
|
||||
so = &((struct xtcpcb *)xig)->xt_socket;
|
||||
+#endif
|
||||
|
||||
if (so->so_type != kif->kf_sock_type ||
|
||||
so->xso_family != kif->kf_sock_domain ||
|
||||
@@ -981,20 +996,36 @@ psutil_search_tcplist(char *buf, struct kinfo_file *ki
|
||||
if (kif->kf_sock_domain == AF_INET) {
|
||||
if (!psutil_sockaddr_matches(
|
||||
AF_INET, inp->inp_lport, &inp->inp_laddr,
|
||||
+#if __FreeBSD_version < 1200031
|
||||
&kif->kf_sa_local))
|
||||
+#else
|
||||
+ &kif->kf_un.kf_sock.kf_sa_local))
|
||||
+#endif
|
||||
continue;
|
||||
if (!psutil_sockaddr_matches(
|
||||
AF_INET, inp->inp_fport, &inp->inp_faddr,
|
||||
+#if __FreeBSD_version < 1200031
|
||||
&kif->kf_sa_peer))
|
||||
+#else
|
||||
+ &kif->kf_un.kf_sock.kf_sa_peer))
|
||||
+#endif
|
||||
continue;
|
||||
} else {
|
||||
if (!psutil_sockaddr_matches(
|
||||
AF_INET6, inp->inp_lport, &inp->in6p_laddr,
|
||||
+#if __FreeBSD_version < 1200031
|
||||
&kif->kf_sa_local))
|
||||
+#else
|
||||
+ &kif->kf_un.kf_sock.kf_sa_local))
|
||||
+#endif
|
||||
continue;
|
||||
if (!psutil_sockaddr_matches(
|
||||
AF_INET6, inp->inp_fport, &inp->in6p_faddr,
|
||||
+#if __FreeBSD_version < 1200031
|
||||
&kif->kf_sa_peer))
|
||||
+#else
|
||||
+ &kif->kf_un.kf_sock.kf_sa_peer))
|
||||
+#endif
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -1019,7 +1050,11 @@ psutil_proc_connections(PyObject *self, PyObject *args
|
||||
struct kinfo_file *freep = NULL;
|
||||
struct kinfo_file *kif;
|
||||
char *tcplist = NULL;
|
||||
+#if __FreeBSD_version >= 1200026
|
||||
+ struct xtcpcb *tcp;
|
||||
+#else
|
||||
struct tcpcb *tcp;
|
||||
+#endif
|
||||
|
||||
PyObject *retList = PyList_New(0);
|
||||
PyObject *tuple = NULL;
|
||||
@@ -1094,19 +1129,35 @@ psutil_proc_connections(PyObject *self, PyObject *args
|
||||
inet_ntop(
|
||||
kif->kf_sock_domain,
|
||||
psutil_sockaddr_addr(kif->kf_sock_domain,
|
||||
+#if __FreeBSD_version < 1200031
|
||||
&kif->kf_sa_local),
|
||||
+#else
|
||||
+ &kif->kf_un.kf_sock.kf_sa_local),
|
||||
+#endif
|
||||
lip,
|
||||
sizeof(lip));
|
||||
inet_ntop(
|
||||
kif->kf_sock_domain,
|
||||
psutil_sockaddr_addr(kif->kf_sock_domain,
|
||||
+#if __FreeBSD_version < 1200031
|
||||
&kif->kf_sa_peer),
|
||||
+#else
|
||||
+ &kif->kf_un.kf_sock.kf_sa_peer),
|
||||
+#endif
|
||||
rip,
|
||||
sizeof(rip));
|
||||
lport = htons(psutil_sockaddr_port(kif->kf_sock_domain,
|
||||
+#if __FreeBSD_version < 1200031
|
||||
&kif->kf_sa_local));
|
||||
+#else
|
||||
+ &kif->kf_un.kf_sock.kf_sa_local));
|
||||
+#endif
|
||||
rport = htons(psutil_sockaddr_port(kif->kf_sock_domain,
|
||||
+#if __FreeBSD_version < 1200031
|
||||
&kif->kf_sa_peer));
|
||||
+#else
|
||||
+ &kif->kf_un.kf_sock.kf_sa_peer));
|
||||
+#endif
|
||||
|
||||
// construct python tuple/list
|
||||
laddr = Py_BuildValue("(si)", lip, lport);
|
||||
@@ -1137,10 +1188,14 @@ psutil_proc_connections(PyObject *self, PyObject *args
|
||||
else if (kif->kf_sock_domain == AF_UNIX) {
|
||||
struct sockaddr_un *sun;
|
||||
|
||||
+#if __FreeBSD_version < 1200031
|
||||
sun = (struct sockaddr_un *)&kif->kf_sa_local;
|
||||
+#else
|
||||
+ sun = (struct sockaddr_un *)&kif->kf_un.kf_sock.kf_sa_local;
|
||||
+#endif
|
||||
snprintf(
|
||||
path, sizeof(path), "%.*s",
|
||||
- (sun->sun_len - (sizeof(*sun) - sizeof(sun->sun_path))),
|
||||
+ (int)(sun->sun_len - (sizeof(*sun) - sizeof(sun->sun_path))),
|
||||
sun->sun_path);
|
||||
|
||||
tuple = Py_BuildValue("(iiisOi)",
|
||||
@@ -1250,7 +1305,7 @@ void remove_spaces(char *str) {
|
||||
do
|
||||
while (*p2 == ' ')
|
||||
p2++;
|
||||
- while (*p1++ = *p2++);
|
||||
+ while ((*p1++ = *p2++));
|
||||
}
|
||||
|
||||
|
||||
@@ -1779,7 +1834,11 @@ int psutil_gather_inet(int proto, PyObject *py_retlist
|
||||
struct xinpgen *xig, *exig;
|
||||
struct xinpcb *xip;
|
||||
struct xtcpcb *xtp;
|
||||
+#if __FreeBSD_version >= 1200026
|
||||
+ struct xinpcb *inp;
|
||||
+#else
|
||||
struct inpcb *inp;
|
||||
+#endif
|
||||
struct xsocket *so;
|
||||
struct sock *sock;
|
||||
const char *varname;
|
||||
@@ -1849,13 +1908,22 @@ int psutil_gather_inet(int proto, PyObject *py_retlist
|
||||
PyErr_Format(PyExc_RuntimeError, "struct xinpcb size mismatch");
|
||||
goto error;
|
||||
}
|
||||
+#if __FreeBSD_version >= 1200026
|
||||
+ inp = xip;
|
||||
+#else
|
||||
inp = &xip->xi_inp;
|
||||
+#endif
|
||||
so = &xip->xi_socket;
|
||||
break;
|
||||
}
|
||||
|
||||
+#if __FreeBSD_version >= 1200026
|
||||
+ inp = xip;
|
||||
+ so = xtp->t_state;
|
||||
+#else
|
||||
inp = &xtp->xt_inp;
|
||||
so = &xtp->xt_socket;
|
||||
+#endif
|
||||
char lip[200], rip[200];
|
||||
int family, lport, rport, pid, status;
|
||||
|
||||
@@ -1865,7 +1933,11 @@ int psutil_gather_inet(int proto, PyObject *py_retlist
|
||||
continue;
|
||||
lport = ntohs(inp->inp_lport);
|
||||
rport = ntohs(inp->inp_fport);
|
||||
+#if __FreeBSD_version >= 1200026
|
||||
+ status = xtp->t_state;
|
||||
+#else
|
||||
status = xtp->xt_tp.t_state;
|
||||
+#endif
|
||||
|
||||
if (inp->inp_vflag & INP_IPV4) {
|
||||
family = AF_INET;
|
||||
@@ -1985,7 +2057,7 @@ int psutil_gather_unix(int proto, PyObject *py_retlist
|
||||
|
||||
sun = (struct sockaddr_un *)&xup->xu_addr;
|
||||
snprintf(path, sizeof(path), "%.*s",
|
||||
- (sun->sun_len - (sizeof(*sun) - sizeof(sun->sun_path))),
|
||||
+ (int)(sun->sun_len - (sizeof(*sun) - sizeof(sun->sun_path))),
|
||||
sun->sun_path);
|
||||
|
||||
tuple = Py_BuildValue("(iiisOii)", -1, AF_UNIX, proto, path, Py_None,
|
23
www/palemoon/files/patch-xpcom_io_nsLocalFileUnix.cpp
Normal file
23
www/palemoon/files/patch-xpcom_io_nsLocalFileUnix.cpp
Normal file
|
@ -0,0 +1,23 @@
|
|||
--- xpcom/io/nsLocalFileUnix.cpp.orig 2017-11-14 14:36:13 UTC
|
||||
+++ xpcom/io/nsLocalFileUnix.cpp
|
||||
@@ -13,9 +13,6 @@
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
-#if !defined(XP_MACOSX)
|
||||
-#include <sys/sysmacros.h> // No longer implicitly included in later glibc
|
||||
-#endif
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <errno.h>
|
||||
@@ -31,6 +28,10 @@
|
||||
#define USE_LINUX_QUOTACTL
|
||||
#include <sys/mount.h>
|
||||
#include <sys/quota.h>
|
||||
+#include <sys/sysmacros.h>
|
||||
+#ifndef BLOCK_SIZE
|
||||
+#define BLOCK_SIZE 1024 /* kernel block size */
|
||||
+#endif
|
||||
#endif
|
||||
|
||||
#include "xpcom-private.h"
|
15
www/palemoon/pkg-descr
Normal file
15
www/palemoon/pkg-descr
Normal file
|
@ -0,0 +1,15 @@
|
|||
Pale Moon offers you a browsing experience in a browser completely built
|
||||
from its own, independently developed source that has been forked off
|
||||
from Firefox/Mozilla code a number of years ago, with carefully selected
|
||||
features and optimizations to improve the browser's stability and user
|
||||
experience, while offering full customization and a growing collection
|
||||
of extensions and themes to make the browser truly your own.
|
||||
|
||||
Main features:
|
||||
|
||||
o Support for many Firefox extensions
|
||||
o Support for a growing number of Pale Moon exclusive extensions
|
||||
o Secure: Additional security features and security-aware development
|
||||
o Extensive and growing support for HTML5 and CSS3
|
||||
|
||||
WWW: https://www.palemoon.org/
|
Loading…
Reference in a new issue