View | Details | Raw Unified | Return to bug 251117 | Differences between
and this patch

Collapse All | Expand All

(-)www/palemoon/Makefile (+193 lines)
Line 0 Link Here
1
# $FreeBSD$
2
3
PORTNAME=	palemoon
4
# UXP_VERSION below *MUST BE UPDATED* according to DISTVERSION (see recorded
5
# commit of the 'platform' git sub-module and corresponding release in
6
# UXP/releases; see MASTER_SITES for base URLs).
7
DISTVERSION=	29.4.0.2
8
CATEGORIES=	www
9
MASTER_SITES=	https://repo.palemoon.org/MoonchildProductions/Pale-Moon/archive/:palemoon \
10
		https://repo.palemoon.org/MoonchildProductions/UXP/archive/:uxp
11
DISTFILES=	${DISTVERSION}_Release.tar.gz:palemoon \
12
		RELBASE_${UXP_VERSION}.tar.gz:uxp
13
DIST_SUBDIR=	MoonchildProductions
14
15
MAINTAINER=	olce.freebsd.ports@certner.fr
16
COMMENT=	Open-source web browser
17
18
LICENSE=	MPL20 MISC
19
LICENSE_COMB=	multi
20
LICENSE_NAME_MISC=	Miscellaneous free and open-source licenses
21
LICENSE_FILE=	${WRKSRC}/LICENSE
22
LICENSE_FILE_MISC=	${WRKSRC}/platform/toolkit/content/license.html
23
LICENSE_PERMS_MISC=	dist-mirror pkg-mirror auto-accept
24
25
# Not sure about the real status of ARM, but only ARM packages of old versions of
26
# PM are available in some Linux distros.
27
ONLY_FOR_ARCHS=	amd64 i386
28
ONLY_FOR_ARCHS_REASON=Upstream only cares about i386/amd64
29
30
# Common deps & build options
31
BUILD_DEPENDS=	autoconf-2.13:devel/autoconf213 \
32
		yasm:devel/yasm \
33
		zip:archivers/zip \
34
35
LIB_DEPENDS=	libdbus-1.so:devel/dbus \
36
		libdbus-glib-1.so:devel/dbus-glib \
37
		libfontconfig.so:x11-fonts/fontconfig \
38
		libfreetype.so:print/freetype2
39
40
USES=		pkgconfig perl5 gmake gnome xorg desktop-file-utils
41
USE_PERL5=	build
42
# XXX
43
# GTK3 support currently needs gtk20 and gconf2 to pass old-configure (and
44
# maybe more).
45
# See also: https://repo.palemoon.org/MoonchildProductions/UXP/issues/1638.
46
USE_GNOME=	cairo gdkpixbuf2 glib20 pango \
47
		gtk30 gtk20:build gconf2:build
48
USE_XORG=	xt x11 xcb xext xrender
49
50
# We require GCC (see also GCC_DEFAULT below), but we need to make sure that
51
# there are no runtime dependencies to libstdc++, i.e., that libc++'s headers
52
# and libraries are used during compilation and link.
53
USES+=		compiler:gcc-c++11-lib
54
55
# Put this here pending creation of USES=gtar
56
BUILD_DEPENDS+=	gtar:archivers/gtar
57
BINARY_ALIAS+=	tar=${LOCALBASE}/bin/gtar
58
59
BUILD_DEPENDS+=	tauthon:lang/tauthon
60
BINARY_ALIAS+=	python=${LOCALBASE}/bin/tauthon \
61
		python2=${LOCALBASE}/bin/tauthon \
62
		python2.7=${LOCALBASE}/bin/tauthon
63
64
BUNDLE_LIBS=	yes
65
66
## Options
67
68
# Official branding is enabled in compliance with Pale Moon's redistribution
69
# license (see https://www.palemoon.org/redist.shtml), point 8b, as explicitly
70
# confirmed by the owner (Moonchild; see
71
# https://forum.palemoon.org/viewtopic.php?f=5&t=25625), provided options are
72
# not modified beyond what is necessary to get a stable build on FreeBSD. So DO
73
# NOT CHANGE default options without the maintainer's approval.
74
75
OPTIONS_SINGLE+=	SOUND
76
OPTIONS_SINGLE_SOUND=	ALSA PULSEAUDIO SNDIO
77
OPTIONS_DEFAULT+=	ALSA
78
79
OPTIONS_DEFINE+=	SYNC
80
OPTIONS_DEFAULT+=	SYNC
81
82
OPTIONS_DEFINE+=	SYSTEM_MALLOC
83
84
ALSA_BUILD_DEPENDS=	${PREFIX}/include/alsa/asoundlib.h:audio/alsa-lib
85
ALSA_LIB_DEPENDS=	libasound.so:audio/alsa-lib
86
PULSEAUDIO_BUILD_DEPENDS=${LOCALBASE}/include/pulse/pulseaudio.h:audio/pulseaudio
87
PULSEAUDIO_LIB_DEPENDS=	libpulse.so:audio/pulseaudio
88
SNDIO_BUILD_DEPENDS=	${PREFIX}/include/sndio.h:audio/sndio
89
SNDIO_LIB_DEPENDS=      libsndio.so:audio/sndio
90
91
SYNC_DESC=		Pale Moon Sync service (see https://www.palemoon.org/sync/)
92
93
SYSTEM_MALLOC_DESC=	Use system's jemalloc instead of bundled one
94
95
.include <bsd.port.pre.mk>
96
97
# We require GCC, and even a specific version of it. 10 is the last version I
98
# tested and validated, and the last version endorsed upstream. It is also the
99
# current default in ports, a nice conjunction that cannot always be
100
# maintained. Version bumps *MUST* be validated by the maintainer (after
101
# thorough testing, and following upstream's recommendations).
102
GCC_DEFAULT=	10
103
104
## Vars and targets
105
106
UXP_VERSION=	20210823
107
108
WRKSRC=		${WRKDIR}/pale-moon
109
110
DOT_MOZCONFIG=	${WRKSRC}/.mozconfig
111
PM_BUILD_DIR=	${WRKSRC}/pmbuild
112
113
PALEMOON_DESKTOP=${WRKSRC}/palemoon/branding/official/palemoon.desktop
114
115
# Extract only -O options
116
PM_OPTIMIZE=${CFLAGS:M-O*}
117
118
.for VAR in PM_BUILD_DIR PM_OPTIMIZE
119
PM_MOZCONFIG_REINPLACE_ARGS+=-e 's!%%${VAR}%%!${${VAR}}!'
120
.endfor
121
122
# Taken from bsd.gecko.mk. See comment there.
123
.if defined(DISABLE_MAKE_JOBS) || defined(MAKE_JOBS_UNSAFE)
124
MAKE_JOBS_NUMBER=	1
125
.endif
126
.if defined(MAKE_JOBS_NUMBER)
127
MOZ_MAKE_FLAGS+=	-j${MAKE_JOBS_NUMBER}
128
.endif
129
130
post-extract:
131
	${RMDIR} ${WRKSRC}/platform
132
	${RLN} ${WRKDIR}/uxp ${WRKSRC}/platform
133
134
# Prepare '.mozconfig' for 'configure'
135
pre-configure:
136
	${CP} ${FILESDIR}/dot.mozconfig ${DOT_MOZCONFIG}
137
	${REINPLACE_CMD} ${PM_MOZCONFIG_REINPLACE_ARGS} ${DOT_MOZCONFIG}
138
.if ${PORT_OPTIONS:MALSA}
139
	${ECHO_CMD} ac_add_options --enable-alsa >> ${DOT_MOZCONFIG}
140
	${ECHO_CMD} ac_add_options --disable-pulseaudio >> ${DOT_MOZCONFIG}
141
.endif
142
.if ${PORT_OPTIONS:MSNDIO}
143
	${ECHO_CMD} ac_add_options --enable-sndio >> ${DOT_MOZCONFIG}
144
	${ECHO_CMD} ac_add_options --disable-pulseaudio >> ${DOT_MOZCONFIG}
145
.endif
146
.if ! ${PORT_OPTIONS:MSYNC}
147
	${ECHO_CMD} ac_add_options --disable-sync >> ${DOT_MOZCONFIG}
148
.endif
149
.if ${PORT_OPTIONS:MSYSTEM_MALLOC}
150
	${ECHO_CMD} ac_add_options --disable-jemalloc >> ${DOT_MOZCONFIG}
151
.else
152
	${ECHO_CMD} ac_add_options --enable-jemalloc >> ${DOT_MOZCONFIG}
153
.endif
154
.if defined(MOZ_MAKE_FLAGS)
155
	${ECHO_CMD} mk_add_options MOZ_MAKE_FLAGS=${MOZ_MAKE_FLAGS:Q} \
156
		>> ${DOT_MOZCONFIG}
157
.endif
158
# Add build variables
159
.for VAR in CPP CXXCPP CC CXX CPPFLAGS CFLAGS CXXFLAGS LDFLAGS \
160
	LD AS AR RANLIB OBJDUMP NM
161
.if defined(${VAR})
162
# Remove -rpath options to GCC's directory, we don't need them (no dependencies
163
# on libs compiled with gfortran, see
164
# https://wiki.freebsd.org/libgcc%20problem) and we don't want them (triggering
165
# a link to a different libgcc_s depending on whether GCC is installed at
166
# runtime).
167
	${ECHO_CMD} export ${VAR}=\"${${VAR}:N*-rpath*lib/gcc*}\" >> ${DOT_MOZCONFIG}
168
.endif
169
.endfor
170
171
# Running 'mach configure' separately is "strongly discouraged" (see Mozilla's
172
# doc on build options configuration). But this does not seem relevant to Pale
173
# Moon.
174
do-configure:
175
	cd ${WRKSRC} && ${SETENV} PATH=${PATH} ./mach configure
176
177
do-build:
178
	cd ${WRKSRC} && ${SETENV} PATH=${PATH} ./mach build
179
# Going through the package route (the only one documented upstream)
180
	cd ${WRKSRC} && ${SETENV} PATH=${PATH} ./mach package
181
182
do-install:
183
	${TAR} -C ${STAGEDIR}${PREFIX}/lib \
184
		-xf ${PM_BUILD_DIR:Q}/dist/palemoon*.tar* \
185
		palemoon
186
	${RLN}  ${STAGEDIR}${PREFIX}/lib/palemoon/palemoon \
187
		${STAGEDIR}${PREFIX}/bin/palemoon
188
	${INSTALL_DATA} ${PALEMOON_DESKTOP} \
189
		${STAGEDIR}${PREFIX}/share/applications/palemoon.desktop
190
	${RLN}  ${STAGEDIR}${PREFIX}/lib/palemoon/browser/icons/mozicon128.png \
191
		${STAGEDIR}${PREFIX}/share/pixmaps/palemoon.png
192
193
.include <bsd.port.mk>
(-)www/palemoon/distinfo (+5 lines)
Line 0 Link Here
1
TIMESTAMP = 1630584267
2
SHA256 (MoonchildProductions/29.4.0.2_Release.tar.gz) = df91d5f2740813ef81126c8e94513717fe27ea96d774ce20052c17e6d92aa03e
3
SIZE (MoonchildProductions/29.4.0.2_Release.tar.gz) = 4517834
4
SHA256 (MoonchildProductions/RELBASE_20210823.tar.gz) = 65cf94e8071d2b1e5465848c64fbe06cfe33425a920911f40fe877cade9cfc3c
5
SIZE (MoonchildProductions/RELBASE_20210823.tar.gz) = 275379817
(-)www/palemoon/files/dot.mozconfig (+30 lines)
Line 0 Link Here
1
# Standard build options for Pale Moon
2
# See http://developer.palemoon.org/build/linux/
3
4
# The 'configure' ports step replaces %%VAR%% with content of Makefile's VAR
5
# and appends lines to this file.
6
7
mk_add_options MOZ_OBJDIR=%%PM_BUILD_DIR%%
8
9
ac_add_options --enable-application=palemoon
10
ac_add_options --enable-optimize="-w %%PM_OPTIMIZE%%"
11
ac_add_options --enable-default-toolkit=cairo-gtk3
12
ac_add_options --enable-strip
13
ac_add_options --enable-devtools
14
ac_add_options --disable-eme
15
ac_add_options --disable-webrtc
16
ac_add_options --disable-gamepad
17
ac_add_options --disable-tests
18
ac_add_options --disable-debug
19
ac_add_options --disable-necko-wifi
20
ac_add_options --disable-updater
21
ac_add_options --with-pthreads
22
23
ac_add_options --enable-official-branding
24
export MOZILLA_OFFICIAL=1
25
26
# Don't bother compressing, mach's package is just intermediate file
27
export MOZ_PKG_FORMAT=TAR
28
29
# Below this line, build options depending on port options, as well as make and
30
# build flags, will be appended.
(-)www/palemoon/files/patch-platform_old-configure.in (+11 lines)
Line 0 Link Here
1
--- platform/old-configure.in.orig	2021-02-05 18:43:01 UTC
2
+++ platform/old-configure.in
3
@@ -5305,7 +5305,7 @@ ac_configure_args="$_SUBDIR_CONFIG_ARGS"
4
 
5
 # --with-system-nspr will have been converted into the relevant $NSPR_CFLAGS
6
 # and $NSPR_LIBS.
7
-ac_configure_args="`echo $ac_configure_args | sed -e 's/--with-system-nspr\S* *//'`"
8
+ac_configure_args="`echo $ac_configure_args | sed -e 's/--with-system-nspr[^[:space:]]* *//'`"
9
 
10
 if test "$_INTL_API" = no; then
11
     ac_configure_args="$ac_configure_args --without-intl-api"
(-)www/palemoon/pkg-descr (+17 lines)
Line 0 Link Here
1
Pale Moon(TM) offers you a browsing experience in a browser completely built
2
from its own, independently developed source that has been forked off from
3
Firefox/Mozilla code a number of years ago, with carefully selected features
4
and optimizations to improve the browser's stability and user experience, while
5
offering full customization and a growing collection of extensions and themes
6
to make the browser truly your own.
7
8
Some of the main features:
9
- Based on the Unified XUL Platform (UXP) containing our own optimized layout
10
  and rendering engine (Goanna).
11
- Safe: Forked from mature Mozilla code and regularly updated with the latest
12
  security patches.
13
- Secure: Additional security features and security-aware development
14
- Zero ads; no telemetry, spyware or data gathering
15
- Familiar, efficient, fully customizable interface
16
17
WWW: https://www.palemoon.org/
(-)www/palemoon/pkg-plist (+57 lines)
Line 0 Link Here
1
bin/palemoon
2
lib/palemoon/application.ini
3
lib/palemoon/browser/blocklist.xml
4
lib/palemoon/browser/chrome.manifest
5
lib/palemoon/browser/chrome/icons/default/default16.png
6
lib/palemoon/browser/chrome/icons/default/default32.png
7
lib/palemoon/browser/chrome/icons/default/default48.png
8
lib/palemoon/browser/components/components.manifest
9
lib/palemoon/browser/components/libbrowsercomps.so
10
lib/palemoon/browser/defaults/profile/chrome/userChrome-example.css
11
lib/palemoon/browser/defaults/profile/chrome/userContent-example.css
12
lib/palemoon/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi
13
lib/palemoon/browser/icons/mozicon128.png
14
lib/palemoon/browser/palemoon.res
15
lib/palemoon/browser/searchplugins/bing.xml
16
lib/palemoon/browser/searchplugins/duckduckgo-palemoon.xml
17
lib/palemoon/browser/searchplugins/ecosia.xml
18
lib/palemoon/browser/searchplugins/ekoru.xml
19
lib/palemoon/browser/searchplugins/twitter.xml
20
lib/palemoon/browser/searchplugins/wikipedia.xml
21
lib/palemoon/browser/searchplugins/yahoo.xml
22
lib/palemoon/browser/ua-update.json
23
lib/palemoon/chrome.manifest
24
lib/palemoon/defaults/pref/channel-prefs.js
25
lib/palemoon/dependentlibs.list
26
lib/palemoon/dictionaries/en-US.aff
27
lib/palemoon/dictionaries/en-US.dic
28
lib/palemoon/gtk2/libmozgtk.so
29
lib/palemoon/icudt58l.dat
30
lib/palemoon/libfreebl3.chk
31
lib/palemoon/libfreebl3.so
32
lib/palemoon/liblgpllibs.so
33
lib/palemoon/libmozavcodec.so
34
lib/palemoon/libmozavutil.so
35
lib/palemoon/libmozgtk.so
36
lib/palemoon/libmozsqlite3.so
37
lib/palemoon/libnspr4.so
38
lib/palemoon/libnss3.so
39
lib/palemoon/libnssckbi.so
40
lib/palemoon/libnssutil3.so
41
lib/palemoon/libplc4.so
42
lib/palemoon/libplds4.so
43
lib/palemoon/libsmime3.so
44
lib/palemoon/libsoftokn3.chk
45
lib/palemoon/libsoftokn3.so
46
lib/palemoon/libssl3.so
47
lib/palemoon/libxul.so
48
lib/palemoon/palemoon
49
lib/palemoon/palemoon-bin
50
lib/palemoon/palemoon.res
51
lib/palemoon/platform.ini
52
lib/palemoon/plugin-container
53
lib/palemoon/precomplete
54
lib/palemoon/removed-files
55
lib/palemoon/run-mozilla.sh
56
share/applications/palemoon.desktop
57
share/pixmaps/palemoon.png

Return to bug 251117