summaryrefslogtreecommitdiff
path: root/mail/thunderbird60/Makefile
blob: 6879482f225b1a7e2208f2d4ea565d076606d68a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# $NetBSD: Makefile,v 1.5 2020/02/08 22:30:17 kamil Exp $

DISTNAME=	thunderbird-${TB_VER}.source
PKGNAME=	thunderbird60-${TB_VER}
PKGREVISION=	2
TB_VER=		60.9.1
CATEGORIES=	mail
MASTER_SITES=	${MASTER_SITE_MOZILLA:=thunderbird/releases/${TB_VER}/source/}
EXTRACT_SUFX=	.tar.xz

MAINTAINER=	pkgsrc-users@NetBSD.org
HOMEPAGE=	https://www.thunderbird.net/en-US/
COMMENT=	Organize, secure and customize your mail
LICENSE=	mpl-1.1

USE_TOOLS+=	unzip pax
WRKSRC=		${WRKDIR}/${DISTNAME:S/.source//}
MOZILLA_DIR=	# empty
PLIST_SRC+=	${PLIST_SRC_DFLT}

CONFIG_GUESS_OVERRIDE+=	comm/ldap/sdks/c-sdk/config/autoconf/config.guess
CONFIG_SUB_OVERRIDE+=	comm/ldap/sdks/c-sdk/config/autoconf/config.sub

CONFIGURE_ARGS+=	--enable-application=comm/mail
# Disable WebRTC support for Thunderbird unconditionally.
CONFIGURE_ARGS+=	--disable-webrtc

NOT_PAX_MPROTECT_SAFE+=	lib/${MOZILLA}/${MOZILLA}
NOT_PAX_MPROTECT_SAFE+=	lib/${MOZILLA}/${MOZILLA}-bin

CONFIGURE_ARGS+=	--with-app-name=${MOZILLA}
LDFLAGS+=		${COMPILER_RPATH_FLAG}${PREFIX}/lib/${MOZILLA}

.include "../../mk/bsd.prefs.mk"

#SUBST_CLASSES+=		ext-compat
#SUBST_STAGE.ext-compat=	pre-configure
#SUBST_MESSAGE.ext-compat=	Fixing extension compatibility
#SUBST_FILES.ext-compat=	mailnews/extensions/enigmail/package/install.rdf
#SUBST_FILES.ext-compat+=	calendar/*/install.rdf
#SUBST_FILES.ext-compat+=	calendar/*/*/install.rdf
#SUBST_SED.ext-compat=		-e 's,\(<em:maxVersion>\).*<,\19.0<,g'

CHECK_WRKREF_SKIP+=	lib/${MOZILLA}/chrome/toolkit/content/global/buildconfig.html

post-extract:
	mv ${WRKSRC}${MOZILLA_DIR}/gfx/ycbcr/yuv_row_arm.s \
		${WRKSRC}${MOZILLA_DIR}/gfx/ycbcr/yuv_row_arm.S
	${CP} ${WRKSRC}/third_party/rust/cssparser/.cargo-checksum.json \
		${WRKSRC}/third_party/rust/cssparser/.cargo-checksum.json.orig
	${CAT} ${WRKSRC}/third_party/rust/cssparser/.cargo-checksum.json.orig | \
		${SED} -e 's/9ed4aec998221eb2d2ba99db2f9f82a02399fb0c3b8500627f68f5aab872adde/a90050bca85b7d52e976278752484ec47f1d0aebc0509afc8f40861f9a557e1a/' \
		> ${WRKSRC}/third_party/rust/cssparser/.cargo-checksum.json
	${CP} ${WRKSRC}/third_party/rust/url/.cargo-checksum.json \
		${WRKSRC}/third_party/rust/url/.cargo-checksum.json.orig
	${CAT} ${WRKSRC}/third_party/rust/url/.cargo-checksum.json.orig | \
		${SED} -e 's/894cc76c31357fb588292e990a87f4e951043e32ea3d9f38fddc145302d0b318/f132a35fdade0a52f1022792bb8a430dae1e50a34f5c05faeb84d386e7f50397/' \
		-e 's/320418526c4564a4469581d426e7467bcefe504eecd098e1eb90a2663a75fd80/d8c35e92375cafcd7e12c4f0d5374bab62aa1f333629d55b007a9c3d5c3cb615/' \
		> ${WRKSRC}/third_party/rust/url/.cargo-checksum.json
	# Use pre-generated binding files (generated by rust-1.37.0).
	# Original file is not up-to-date and rust-1.39.0 generates
	# incorrect files. Fix build with rust-1.39.0.
	${CP} ${FILESDIR}/*.rs ${WRKSRC}/servo/components/style/gecko/generated

pre-configure:
	cd ${WRKSRC} && mkdir ${OBJDIR}
	cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} autoconf
	cd ${WRKSRC}${MOZILLA_DIR} && ${SETENV} ${CONFIGURE_ENV} autoconf
	cd ${WRKSRC}${MOZILLA_DIR}/js/src && ${SETENV} ${CONFIGURE_ENV} autoconf
	touch ${WRKSRC}/.mozconfig

# For --disable-stylo-build-bindgen
post-configure:
	${MKDIR} -p ${WRKSRC}/${OBJDIR}/dist/rust_bindings/style
	${CP} ${FILESDIR}/*.rs ${WRKSRC}/${OBJDIR}/dist/rust_bindings/style

do-build:
# XXX for some reason it doesn't work unless -j is explicitly specified
	cd ${WRKSRC}/${OBJDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} -j${MAKE_JOBS:U1}

MOZILLA=	${PKGBASE}
MOZILLA_NAME=	${PKGBASE}
post-build:
	${SED} -e 's|@MOZILLA@|${MOZILLA}|g'				\
	  -e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|g'			\
	  -e 's|@MOZILLA_ICON@|${MOZILLA}.png|g'			\
	  < ${FILESDIR}/desktop.in					\
	  > ${WRKDIR}/desktop

INSTALLATION_DIRS+=	lib/${MOZILLA}/extensions
INSTALLATION_DIRS+=	share/applications share/pixmaps
post-install:
	${ECHO} '#! /bin/sh' > ${DESTDIR}${PREFIX}/bin/${MOZILLA}
	${ECHO} '${PREFIX}/lib/${MOZILLA}/${MOZILLA} "$$@"' >> \
		${DESTDIR}${PREFIX}/bin/${MOZILLA}
	${CHMOD} 755 ${DESTDIR}${PREFIX}/bin/${MOZILLA}
	${INSTALL_DATA} ${WRKDIR}/desktop				\
	  ${DESTDIR}${PREFIX}/share/applications/${MOZILLA}.desktop
	${INSTALL_DATA} ${WRKSRC}/${OBJDIR}/dist/${MOZILLA}/chrome/icons/default/default48.png	\
	  ${DESTDIR}${PREFIX}/share/pixmaps/${MOZILLA}.png

.include "../../www/firefox60/mozilla-common.mk"
.include "options.mk"
.include "../../sysutils/desktop-file-utils/desktopdb.mk"
.include "../../mk/bsd.pkg.mk"