commit e4fc568ec5f38ccaa75b0c148ef0395cc62db04d
parent 238d48e3d593720e1d0cc8c11891c758e1c33b1f
Author: Shokara Kou <kou@13f0.net>
Date: Mon, 6 Jun 2022 19:47:59 -0400
re-add ibara's removed palemoon port
Diffstat:
14 files changed, 501 insertions(+), 0 deletions(-)
diff --git a/www/palemoon/Makefile b/www/palemoon/Makefile
@@ -0,0 +1,92 @@
+# $OpenBSD$
+
+# Maybe i386 too, but has a hard requirement on SSE2 instructions.
+ONLY_FOR_ARCHS = amd64
+
+V = 27.7.2
+COMMENT = independent fork of Firefox with new layout engine
+DISTNAME = palemoon-${V}
+CATEGORIES = www x11
+
+GH_ACCOUNT = MoonchildProductions
+GH_PROJECT = Pale-Moon
+GH_TAGNAME = ${V}_Release
+
+SHARED_LIBS += browsercomps 1.0 # 1.0
+SHARED_LIBS += dbusservice 1.0 # 1.0
+SHARED_LIBS += mozgnome 1.0 # 1.0
+SHARED_LIBS += mozalloc 1.0 # 1.0
+SHARED_LIBS += mozjs 1.0 # 1.0
+SHARED_LIBS += mozsqlite3 1.0 # 1.0
+SHARED_LIBS += xul 1.0 # 1.0
+
+HOMEPAGE = https://www.palemoon.org/
+MAINTAINER = Brian Callahan <bcallah@openbsd.org>
+
+# MPL 2.0
+PERMIT_PACKAGE_CDROM = Yes
+
+WANTLIB += ${COMPILER_LIBCXX} X11 Xcomposite Xcursor Xdamage Xext
+WANTLIB += Xfixes Xi Xinerama Xrandr Xrender Xt atk-1.0 c cairo
+WANTLIB += dbus-1 dbus-glib-1 event fontconfig freetype gdk-x11-2.0
+WANTLIB += gdk_pixbuf-2.0 gio-2.0 glib-2.0 gobject-2.0 gthread-2.0
+WANTLIB += gtk-x11-2.0 icudata icui18n icuuc intl jpeg m nspr4
+WANTLIB += nss3 nssutil3 pango-1.0 pangocairo-1.0 pangoft2-1.0
+WANTLIB += plc4 plds4 smime3 sndio ssl3 vpx z
+
+MODULES = lang/python
+MODPY_RUNDEP = No
+
+# XXX: ${MODGNU_AUTOCONF_DEPENDS} && AUTOCONF_VERSION=2.13 didn't work
+BUILD_DEPENDS = archivers/unzip \
+ archivers/zip \
+ devel/autoconf/2.13 \
+ devel/yasm
+
+LIB_DEPENDS = devel/nspr \
+ multimedia/libvpx \
+ textproc/icu4c \
+ security/nss \
+ x11/dbus-glib \
+ x11/gtk+2
+
+CONFIGURE_ARGS = --verbose
+
+USE_GMAKE = Yes
+
+SEPARATE_BUILD = Yes
+
+USE_WXNEEDED = Yes
+
+SUBST_VARS += V
+
+NO_TEST = Yes
+
+# Upstream build instructions say this is necessary.
+post-extract:
+ ${SUBST_CMD} -DWRKBUILD="${WRKBUILD}" -DCFLAGS="${CFLAGS}" \
+ -c -m 644 ${FILESDIR}/mozconfig ${WRKSRC}/.mozconfig
+
+# Build system can't find the compilers without this.
+pre-configure:
+ sed -i -e 's,$${CC},${WRKDIR}/bin/cc,g' \
+ -e 's,$${CXX},${WRKDIR}/bin/c++,g' \
+ ${WRKSRC}/client.mk
+
+do-build:
+ cd ${WRKSRC} && ./mach build
+
+do-install:
+ cd ${WRKSRC} && ./mach package
+ ${INSTALL_DATA_DIR} ${PREFIX}/lib/palemoon-${V}
+ cd ${WRKBUILD}/dist/palemoon && \
+ find * -type d -exec ${INSTALL_DATA_DIR} \
+ "${PREFIX}/lib/palemoon-${V}/{}" \;
+ cd ${WRKBUILD}/dist/palemoon && \
+ find * -type f -exec ${INSTALL_DATA} \
+ "{}" "${PREFIX}/lib/palemoon-${V}/{}" \;
+ ${INSTALL_PROGRAM} ${WRKBUILD}/dist/palemoon/palemoon{,-bin} \
+ ${PREFIX}/lib/palemoon-${V}
+ ${SUBST_CMD} -c -m 755 ${FILESDIR}/palemoon ${PREFIX}/bin/palemoon
+
+.include <bsd.port.mk>
diff --git a/www/palemoon/distinfo b/www/palemoon/distinfo
@@ -0,0 +1,2 @@
+SHA256 (palemoon-27.7.2.tar.gz) = DeHR0xhdFHDuNHdKnwWLftkwdXszeIihMjzriLMYYMw=
+SIZE (palemoon-27.7.2.tar.gz) = 179831808
diff --git a/www/palemoon/files/mozconfig b/www/palemoon/files/mozconfig
@@ -0,0 +1,34 @@
+ac_add_options --enable-official-branding
+export MOZILLA_OFFICIAL=1
+
+mk_add_options MOZ_CO_PROJECT=browser
+ac_add_options --enable-application=browser
+
+mk_add_options MOZ_OBJDIR="${WRKBUILD}"
+
+ac_add_options --enable-optimize="${CFLAGS} -msse2 -mfpmath=sse -I${LOCALBASE}/include"
+ac_add_options --with-pthreads
+
+ac_add_options --disable-installer
+ac_add_options --disable-updater
+
+ac_add_options --enable-release
+ac_add_options --enable-devtools
+ac_add_options --enable-shared-js
+
+ac_add_options --enable-strip
+
+ac_add_options --x-libraries="${X11BASE}/lib"
+
+ac_add_options --with-system-jpeg="${LOCALBASE}"
+ac_add_options --with-system-zlib
+ac_add_options --with-system-bz2="${LOCALBASE}"
+ac_add_options --with-system-libevent
+ac_add_options --with-system-icu
+ac_add_options --with-system-webp="${LOCALBASE}"
+ac_add_options --with-system-sqlite="${LOCALBASE}"
+ac_add_options --with-system-ffi="${LOCALBASE}"
+ac_add_options --with-system-pixman
+ac_add_options --with-system-libvpx
+ac_add_options --with-system-nss
+ac_add_options --with-system-nspr
diff --git a/www/palemoon/files/palemoon b/www/palemoon/files/palemoon
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+cd ${TRUEPREFIX}/lib/palemoon-${V} && ./palemoon
diff --git a/www/palemoon/patches/patch-client_mk b/www/palemoon/patches/patch-client_mk
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+Need to be explicit with compilers.
+
+Index: client.mk
+--- client.mk.orig
++++ client.mk
+@@ -320,6 +320,8 @@ CONFIG_STATUS_DEPS := \
+
+ CONFIGURE_ENV_ARGS += \
+ MAKE='$(MAKE)' \
++ CC='${CC}' \
++ CXX='${CXX}' \
+ $(NULL)
+
+ # configure uses the program name to determine @srcdir@. Calling it without
diff --git a/www/palemoon/patches/patch-config_gcc-stl-wrapper_template_h b/www/palemoon/patches/patch-config_gcc-stl-wrapper_template_h
@@ -0,0 +1,74 @@
+$OpenBSD$
+
+https://hg.mozilla.org/mozilla-central/rev/68da139d0866
+
+Index: config/gcc-stl-wrapper.template.h
+--- config/gcc-stl-wrapper.template.h.orig
++++ config/gcc-stl-wrapper.template.h
+@@ -22,32 +22,6 @@
+ #define NOMINMAX 1
+ #endif
+
+-// Don't include mozalloc for cstdlib. See bug 1245076.
+-#ifndef moz_dont_include_mozalloc_for_cstdlib
+-# define moz_dont_include_mozalloc_for_cstdlib
+-#endif
+-#ifndef moz_dont_include_mozalloc_for_${HEADER}
+-// mozalloc.h wants <new>; break the cycle by always explicitly
+-// including <new> here. NB: this is a tad sneaky. Sez the gcc docs:
+-//
+-// `#include_next' does not distinguish between <file> and "file"
+-// inclusion, nor does it check that the file you specify has the
+-// same name as the current file. It simply looks for the file
+-// named, starting with the directory in the search path after the
+-// one where the current file was found.
+-# include_next <new>
+-
+-// See if we're in code that can use mozalloc. NB: this duplicates
+-// code in nscore.h because nscore.h pulls in prtypes.h, and chromium
+-// can't build with that being included before base/basictypes.h.
+-# if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
+-# include "mozilla/mozalloc.h"
+-# else
+-# error "STL code can only be used with infallible ::operator new()"
+-# endif
+-
+-#endif
+-
+ #if defined(DEBUG) && !defined(_GLIBCXX_DEBUG)
+ // Enable checked iterators and other goodies
+ //
+@@ -58,9 +32,33 @@
+ // # define _GLIBCXX_DEBUG 1
+ #endif
+
++// Don't include mozalloc for cstdlib. See bug 1245076.
++#ifndef moz_dont_include_mozalloc_for_cstdlib
++# define moz_dont_include_mozalloc_for_cstdlib
++#endif
++
++// Include mozalloc after the STL header and all other headers it includes
++// have been preprocessed.
++#if !defined(MOZ_INCLUDE_MOZALLOC_H) && \
++ !defined(moz_dont_include_mozalloc_for_${HEADER})
++# define MOZ_INCLUDE_MOZALLOC_H
++# define MOZ_INCLUDE_H_FROM_${HEADER}
++#endif
++
+ #pragma GCC visibility push(default)
+ #include_next <${HEADER}>
+ #pragma GCC visibility pop
++
++#ifdef MOZ_INCLUDE_MOZALLOC_H_FROM_${HEADER}
++// See if we're in clode that can use mozalloc. NB: this duplicates
++// code in nscore.h because nscore.h pulls in prtypes.h, and chromium
++// can't built with that being included before base/basictypes.h.
++# if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
++# include "mozilla/mozalloc.h"
++# else
++# error "STL code can only be used with infallible ::operator new()"
++# endif
++#endif
+
+ // gcc calls a __throw_*() function from bits/functexcept.h when it
+ // wants to "throw an exception". functexcept exists nominally to
diff --git a/www/palemoon/patches/patch-config_gcc_hidden_h b/www/palemoon/patches/patch-config_gcc_hidden_h
@@ -0,0 +1,17 @@
+$OpenBSD$
+
+Maybe one day we'll run with a clang built binary.
+We'll need this when we do.
+
+Index: config/gcc_hidden.h
+--- config/gcc_hidden.h.orig
++++ config/gcc_hidden.h
+@@ -2,5 +2,7 @@
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+-/* Begin all files as hidden visibility */
++/* Begin all files as hidden visibility, but only if using gcc */
++#ifndef __llvm__
+ #pragma GCC visibility push(hidden)
++#endif
diff --git a/www/palemoon/patches/patch-config_make-stl-wrappers_py b/www/palemoon/patches/patch-config_make-stl-wrappers_py
@@ -0,0 +1,25 @@
+$OpenBSD$
+
+https://hg.mozilla.org/mozilla-central/rev/68da139d0866
+
+Index: config/make-stl-wrappers.py
+--- config/make-stl-wrappers.py.orig
++++ config/make-stl-wrappers.py
+@@ -30,7 +30,6 @@ def main(outdir, compiler, template_file, header_list_
+ os.mkdir(outdir)
+
+ template = open(template_file, 'r').read()
+- path_to_new = header_path('new', compiler)
+
+ for header in open(header_list_file, 'r'):
+ header = header.rstrip()
+@@ -40,8 +39,7 @@ def main(outdir, compiler, template_file, header_list_
+ path = header_path(header, compiler)
+ with FileAvoidWrite(os.path.join(outdir, header)) as f:
+ f.write(string.Template(template).substitute(HEADER=header,
+- HEADER_PATH=path,
+- NEW_HEADER_PATH=path_to_new))
++ HEADER_PATH=path))
+
+
+ if __name__ == '__main__':
diff --git a/www/palemoon/patches/patch-gfx_skia_generate_mozbuild_py b/www/palemoon/patches/patch-gfx_skia_generate_mozbuild_py
@@ -0,0 +1,47 @@
+$OpenBSD$
+
+Don't attempt SSSE3 or SSE4.
+
+Index: gfx/skia/generate_mozbuild.py
+--- gfx/skia/generate_mozbuild.py.orig
++++ gfx/skia/generate_mozbuild.py
+@@ -37,7 +37,7 @@ if not CONFIG['INTEL_ARCHITECTURE'] and CONFIG['CPU_AR
+ 'trunk/src/opts/memset32_neon.S',
+ ]
+
+-if CONFIG['INTEL_ARCHITECTURE'] and CONFIG['GNU_CC'] and CONFIG['OS_ARCH'] != 'WINNT':
++if CONFIG['INTEL_ARCHITECTURE'] and CONFIG['GNU_CC'] and CONFIG['OS_ARCH'] == 'WINNT':
+ if CONFIG['CPU_ARCH'] == 'x86_64':
+ SOURCES += [
+ 'trunk/src/opts/SkBlitRow_opts_SSE4_x64_asm.S',
+@@ -79,9 +79,6 @@ LOCAL_INCLUDES += [
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android', 'gtk2', 'gtk3', 'qt', 'gonk', 'cocoa'):
+ DEFINES['SK_USE_POSIX_THREADS'] = 1
+
+-if CONFIG['INTEL_ARCHITECTURE'] and CONFIG['HAVE_TOOLCHAIN_SUPPORT_MSSSE3']:
+- DEFINES['SK_BUILD_SSSE3'] = 1
+-
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android', 'gonk'):
+ DEFINES['SK_FONTHOST_CAIRO_STANDALONE'] = 0
+
+@@ -115,20 +112,15 @@ if CONFIG['_MSC_VER']:
+ if CONFIG['INTEL_ARCHITECTURE'] and CONFIG['GNU_CC']:
+ SOURCES['trunk/src/opts/SkBitmapFilter_opts_SSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
+ SOURCES['trunk/src/opts/SkBitmapProcState_opts_SSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
+- SOURCES['trunk/src/opts/SkBitmapProcState_opts_SSSE3.cpp'].flags += ['-mssse3']
+ SOURCES['trunk/src/opts/SkBlitRect_opts_SSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
+ SOURCES['trunk/src/opts/SkBlitRow_opts_SSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
+ SOURCES['trunk/src/opts/SkBlurImage_opts_SSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
+- SOURCES['trunk/src/opts/SkBlurImage_opts_SSE4.cpp'].flags += ['-msse4.1']
+ SOURCES['trunk/src/opts/SkMorphology_opts_SSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
+ SOURCES['trunk/src/opts/SkUtils_opts_SSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
+ SOURCES['trunk/src/opts/SkXfermode_opts_SSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
+ elif CONFIG['CPU_ARCH'] == 'arm' and CONFIG['GNU_CC'] and CONFIG['BUILD_ARM_NEON']:
+ DEFINES['__ARM_HAVE_OPTIONAL_NEON_SUPPORT'] = 1
+ DEFINES['USE_ANDROID_NDK_CPU_FEATURES'] = 0
+-elif CONFIG['CLANG_CL']:
+- SOURCES['trunk/src/opts/SkBitmapProcState_opts_SSSE3.cpp'].flags += ['-mssse3']
+- SOURCES['trunk/src/opts/SkBlurImage_opts_SSE4.cpp'].flags += ['-msse4.1']
+
+ if CONFIG['GNU_CXX'] and CONFIG['CPU_ARCH'] == 'arm':
+ SOURCES['skia/src/opts/SkBlitRow_opts_arm.cpp'].flags += ['-fomit-frame-pointer']
diff --git a/www/palemoon/patches/patch-gfx_skia_trunk_src_opts_opts_check_x86_cpp b/www/palemoon/patches/patch-gfx_skia_trunk_src_opts_opts_check_x86_cpp
@@ -0,0 +1,85 @@
+$OpenBSD$
+
+Index: gfx/skia/trunk/src/opts/opts_check_x86.cpp
+--- gfx/skia/trunk/src/opts/opts_check_x86.cpp.orig
++++ gfx/skia/trunk/src/opts/opts_check_x86.cpp
+@@ -7,15 +7,12 @@
+
+ #include "SkBitmapFilter_opts_SSE2.h"
+ #include "SkBitmapProcState_opts_SSE2.h"
+-#include "SkBitmapProcState_opts_SSSE3.h"
+ #include "SkBitmapScaler.h"
+ #include "SkBlitMask.h"
+ #include "SkBlitRect_opts_SSE2.h"
+ #include "SkBlitRow.h"
+ #include "SkBlitRow_opts_SSE2.h"
+-#include "SkBlitRow_opts_SSE4.h"
+ #include "SkBlurImage_opts_SSE2.h"
+-#include "SkBlurImage_opts_SSE4.h"
+ #include "SkMorphology_opts.h"
+ #include "SkMorphology_opts_SSE2.h"
+ #include "SkRTConf.h"
+@@ -145,25 +142,13 @@ void SkBitmapProcState::platformProcs() {
+
+ /* Check fSampleProc32 */
+ if (fSampleProc32 == S32_opaque_D32_filter_DX) {
+- if (supports_simd(SK_CPU_SSE_LEVEL_SSSE3)) {
+- fSampleProc32 = S32_opaque_D32_filter_DX_SSSE3;
+- } else {
+- fSampleProc32 = S32_opaque_D32_filter_DX_SSE2;
+- }
++ fSampleProc32 = S32_opaque_D32_filter_DX_SSE2;
+ } else if (fSampleProc32 == S32_opaque_D32_filter_DXDY) {
+- if (supports_simd(SK_CPU_SSE_LEVEL_SSSE3)) {
+- fSampleProc32 = S32_opaque_D32_filter_DXDY_SSSE3;
+- }
++ ;
+ } else if (fSampleProc32 == S32_alpha_D32_filter_DX) {
+- if (supports_simd(SK_CPU_SSE_LEVEL_SSSE3)) {
+- fSampleProc32 = S32_alpha_D32_filter_DX_SSSE3;
+- } else {
+- fSampleProc32 = S32_alpha_D32_filter_DX_SSE2;
+- }
++ fSampleProc32 = S32_alpha_D32_filter_DX_SSE2;
+ } else if (fSampleProc32 == S32_alpha_D32_filter_DXDY) {
+- if (supports_simd(SK_CPU_SSE_LEVEL_SSSE3)) {
+- fSampleProc32 = S32_alpha_D32_filter_DXDY_SSSE3;
+- }
++ ;
+ }
+
+ /* Check fSampleProc16 */
+@@ -218,21 +203,7 @@ static SkBlitRow::Proc32 platform_32_procs_SSE2[] = {
+ S32A_Blend_BlitRow32_SSE2, // S32A_Blend,
+ };
+
+-#if defined(SK_ATT_ASM_SUPPORTED)
+-static SkBlitRow::Proc32 platform_32_procs_SSE4[] = {
+- NULL, // S32_Opaque,
+- S32_Blend_BlitRow32_SSE2, // S32_Blend,
+- S32A_Opaque_BlitRow32_SSE4_asm, // S32A_Opaque
+- S32A_Blend_BlitRow32_SSE2, // S32A_Blend,
+-};
+-#endif
+-
+ SkBlitRow::Proc32 SkBlitRow::PlatformProcs32(unsigned flags) {
+-#if defined(SK_ATT_ASM_SUPPORTED)
+- if (supports_simd(SK_CPU_SSE_LEVEL_SSE41)) {
+- return platform_32_procs_SSE4[flags];
+- } else
+-#endif
+ if (supports_simd(SK_CPU_SSE_LEVEL_SSE2)) {
+ return platform_32_procs_SSE2[flags];
+ } else {
+@@ -359,10 +330,7 @@ bool SkBoxBlurGetPlatformProcs(SkBoxBlurProc* boxBlurX
+ #ifdef SK_DISABLE_BLUR_DIVISION_OPTIMIZATION
+ return false;
+ #else
+- if (supports_simd(SK_CPU_SSE_LEVEL_SSE41)) {
+- return SkBoxBlurGetPlatformProcs_SSE4(boxBlurX, boxBlurY, boxBlurXY, boxBlurYX);
+- }
+- else if (supports_simd(SK_CPU_SSE_LEVEL_SSE2)) {
++ if (supports_simd(SK_CPU_SSE_LEVEL_SSE2)) {
+ return SkBoxBlurGetPlatformProcs_SSE2(boxBlurX, boxBlurY, boxBlurXY, boxBlurYX);
+ }
+ return false;
diff --git a/www/palemoon/patches/patch-memory_mozalloc_mozalloc_h b/www/palemoon/patches/patch-memory_mozalloc_mozalloc_h
@@ -0,0 +1,27 @@
+$OpenBSD$
+
+https://hg.mozilla.org/mozilla-central/rev/68da139d0866
+
+Index: memory/mozalloc/mozalloc.h
+--- memory/mozalloc/mozalloc.h.orig
++++ memory/mozalloc/mozalloc.h
+@@ -12,10 +12,17 @@
+ * https://bugzilla.mozilla.org/show_bug.cgi?id=427099
+ */
+
+-#include <stdlib.h>
+-#include <string.h>
+ #if defined(__cplusplus)
+ # include <new>
++// Since libstdc++ 6, including the C headers (e.g. stdlib.h) instead of the
++// corresponding C++ header (e.g. cstdlib) can cause confusion in C++ code
++// using things defined there. Specifically, with stdlib.h, the use of abs()
++// in gfx/graphite2/src/inc/UtfCodec.h somehow ends up picking the wrong abs()
++# include <cstdlib>
++# include <cstring>
++#else
++# include <stdlib.h>
++# include <string.h>
+ #endif
+ #include "xpcom-config.h"
+
diff --git a/www/palemoon/patches/patch-xpcom_io_nsLocalFileUnix_cpp b/www/palemoon/patches/patch-xpcom_io_nsLocalFileUnix_cpp
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+Like Mac OS X, we also don't have this header.
+
+Index: xpcom/io/nsLocalFileUnix.cpp
+--- xpcom/io/nsLocalFileUnix.cpp.orig
++++ xpcom/io/nsLocalFileUnix.cpp
+@@ -13,7 +13,7 @@
+
+ #include <sys/types.h>
+ #include <sys/stat.h>
+-#if !defined(XP_MACOSX)
++#if 0
+ #include <sys/sysmacros.h> // No longer implicitly included in later glibc
+ #endif
+ #include <unistd.h>
diff --git a/www/palemoon/pkg/DESCR b/www/palemoon/pkg/DESCR
@@ -0,0 +1,9 @@
+Pale Moon is an Open Source, Goanna-based web browser, focusing on
+efficiency and ease of use.
+
+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.
diff --git a/www/palemoon/pkg/PLIST b/www/palemoon/pkg/PLIST
@@ -0,0 +1,54 @@
+@comment $OpenBSD$
+bin/palemoon
+lib/palemoon-${V}/
+lib/palemoon-${V}/application.ini
+lib/palemoon-${V}/browser/
+lib/palemoon-${V}/browser/blocklist.xml
+lib/palemoon-${V}/browser/chrome/
+lib/palemoon-${V}/browser/chrome.manifest
+lib/palemoon-${V}/browser/chrome/icons/
+lib/palemoon-${V}/browser/chrome/icons/default/
+lib/palemoon-${V}/browser/chrome/icons/default/default16.png
+lib/palemoon-${V}/browser/chrome/icons/default/default32.png
+lib/palemoon-${V}/browser/chrome/icons/default/default48.png
+lib/palemoon-${V}/browser/components/
+lib/palemoon-${V}/browser/components/components.manifest
+@lib lib/palemoon-${V}/browser/components/libbrowsercomps.so.${LIBbrowsercomps_VERSION}
+lib/palemoon-${V}/browser/extensions/
+lib/palemoon-${V}/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/
+lib/palemoon-${V}/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png
+lib/palemoon-${V}/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
+lib/palemoon-${V}/browser/icons/
+lib/palemoon-${V}/browser/icons/mozicon128.png
+lib/palemoon-${V}/browser/omni.ja
+lib/palemoon-${V}/browser/searchplugins/
+lib/palemoon-${V}/browser/searchplugins/bing.xml
+lib/palemoon-${V}/browser/searchplugins/duckduckgo-palemoon.xml
+lib/palemoon-${V}/browser/searchplugins/ecosia.xml
+lib/palemoon-${V}/browser/searchplugins/twitter.xml
+lib/palemoon-${V}/browser/searchplugins/wikipedia.xml
+lib/palemoon-${V}/browser/searchplugins/yahoo.xml
+lib/palemoon-${V}/chrome.manifest
+lib/palemoon-${V}/components/
+lib/palemoon-${V}/components/components.manifest
+@lib lib/palemoon-${V}/components/libdbusservice.so.${LIBdbusservice_VERSION}
+@lib lib/palemoon-${V}/components/libmozgnome.so.${LIBmozgnome_VERSION}
+lib/palemoon-${V}/defaults/
+lib/palemoon-${V}/defaults/pref/
+lib/palemoon-${V}/defaults/pref/channel-prefs.js
+lib/palemoon-${V}/dependentlibs.list
+lib/palemoon-${V}/dictionaries/
+lib/palemoon-${V}/dictionaries/en-US.aff
+lib/palemoon-${V}/dictionaries/en-US.dic
+@lib lib/palemoon-${V}/libmozalloc.so.${LIBmozalloc_VERSION}
+@lib lib/palemoon-${V}/libmozjs.so.${LIBmozjs_VERSION}
+@lib lib/palemoon-${V}/libmozsqlite3.so.${LIBmozsqlite3_VERSION}
+@lib lib/palemoon-${V}/libxul.so.${LIBxul_VERSION}
+lib/palemoon-${V}/omni.ja
+@bin lib/palemoon-${V}/palemoon
+@bin lib/palemoon-${V}/palemoon-bin
+lib/palemoon-${V}/platform.ini
+lib/palemoon-${V}/plugin-container
+lib/palemoon-${V}/precomplete
+lib/palemoon-${V}/removed-files
+lib/palemoon-${V}/run-mozilla.sh