[BACK]Return to Makefile CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / security / tor-browser

File: [cvs.NetBSD.org] / pkgsrc / security / tor-browser / Makefile (download)

Revision 1.75.2.2, Tue Nov 10 17:23:29 2020 UTC (3 years, 5 months ago) by bsiegert
Branch: pkgsrc-2020Q3
Changes since 1.75.2.1: +3 -3 lines

Pullup ticket #6358 - requested by wiz
security/tor-browser: security fix

Revisions pulled up:
- security/tor-browser/Makefile                                 1.77
- security/tor-browser/PLIST                                    1.10
- security/tor-browser/distinfo                                 1.30

---
   Module Name:	pkgsrc
   Committed By:	wiz
   Date:		Sat Oct 31 00:55:27 UTC 2020

   Modified Files:
   	pkgsrc/security/tor-browser: Makefile PLIST distinfo

   Log Message:
   tor-browser: update to 10.0.2.

   This release updates Firefox to 78.4.0esr and NoScript to 11.1.3.
   This release includes important security updates to Firefox.

   Note: Now Javascript on the Safest security level is governed by
   NoScript again. It was set as false when on Safest in 9.5a9. The
   javascript.enabled preference was reset to true for everyone using
   Safest beginning in Tor Browser 10.0 and you must re-set it as
   false if that is your preference.

# $NetBSD: Makefile,v 1.75.2.2 2020/11/10 17:23:29 bsiegert Exp $

DISTNAME=	src-firefox-tor-browser-78.4.0esr-10.0-2-build2
PKGNAME=	tor-browser-10.0.2
CATEGORIES=	security www
MASTER_SITES=	https://dist.torproject.org/torbrowser/${PKGVERSION_NOREV}/
EXTRACT_SUFX=	.tar.xz
DISTFILES=	${DISTNAME}${EXTRACT_SUFX}
DISTFILES+=	tor-browser-linux64-${PKGVERSION_NOREV}_en-US${EXTRACT_SUFX}
#DISTFILES+=	src-tor-launcher-0.2.21.8${EXTRACT_SUFX}

MAINTAINER=	wiz@NetBSD.org
HOMEPAGE=	https://www.torproject.org/projects/torbrowser.html.en
COMMENT=	Tor Browser based on Firefox
LICENSE=	mpl-1.1

WRKSRC=		${WRKDIR}/${DISTNAME:S/src-//}

DEPENDS+=	tor-[0-9]*:../../net/tor
DEPENDS+=	tor-browser-https-everywhere>=2020.5.20:../../security/tor-browser-https-everywhere
DEPENDS+=	tor-browser-noscript>=11.0.32:../../security/tor-browser-noscript

# How to update this package:
#
# replace all patches with the one from the correspoding www/firefox${ESR_RELEASE}
# compare e.g. the output of
# diff -r -I NetBSD . ../../www/firefox78
# BUT keep:
# patch-.mozconfig (if still necessary)
# patch-browser_app_profile_000-tor-browser.js
# patch-toolkit_moz.configure (second chunk)
# patch-xpcom_io_TorFileUtils.cpp
# make the patches apply
#
# when packaged up, read MESSAGE and test by visiting https://check.torproject.org
# and https://panopticlick.eff.org

# Remove hardcoded build directory.
SUBST_CLASSES+=			fix-build-dir
SUBST_STAGE.fix-build-dir=	pre-configure
SUBST_FILES.fix-build-dir+=	.mozconfig
SUBST_SED.fix-build-dir+=	-e 's,mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@,,'

SUBST_CLASSES+=		fonts
SUBST_STAGE.fonts=	pre-configure
SUBST_FILES.fonts+=	tor-browser_en-US/Browser/TorBrowser/Data/fontconfig/fonts.conf
SUBST_SED.fonts+=	-e 's,<dir>fonts</dir>,<dir>${PREFIX}/lib/tor-browser/browser/fonts</dir>,'
SUBST_MESSAGE.fonts=	Fixing path to bundled fonts directory.

MOZILLA_DIR=	# empty

# Workaround for https://bugs.llvm.org/show_bug.cgi?id=46366
BUILDLINK_TRANSFORM.NetBSD+=	rm:-fexperimental-new-pass-manager

#
# Generate list of subst entries for various .cargo-checksum.json files.  These
# are all handled together in one big substitution to simplify things rather
# than one substitution entry per file, but are kept separate below to ease
# updating and verification.
#

CKSUM_CRATES+=	third_party/rust/libc

# patch-third__party_rust_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs
CKSUMS+=	a3540eab4dbc52e006e84e288bad17e1dae3865fea49020e0ed8b5a7724a9532
CKSUMS+=	5e58a2109f5eff0f497dfac150c161c1d517a2227b49e086da96c3d66522ac3a

CKSUM_CRATES+=	third_party/rust/getrandom

# patch-third__party_rust_getrandom_src_lib.rs
CKSUMS+=	0e52f6bde42d7bb05c297ce1c25b9879d61b28caba98f6226a152bff538db6c2
CKSUMS+=	394425b4ba03c21c494e64d993678f7014575b1e3d590b9ee452b5c2d83ec4ac

SUBST_CLASSES+=		cksum
SUBST_STAGE.cksum=	pre-configure
.for crate in ${CKSUM_CRATES}
SUBST_FILES.cksum+=	${crate}/.cargo-checksum.json
.endfor
.for from to in ${CKSUMS}
SUBST_SED.cksum+=	-e 's,${from},${to},g'
.endfor

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

CONFIGURE_ARGS+=	--enable-tor-browser-data-outside-app-dir
CONFIGURE_ARGS+=	--with-tor-browser-version=${PKGVERSION_NOREV}
CFLAGS+=		-DTOR_BROWSER_DATA_IN_HOME_DIR=1
CFLAGS+=		-DTOR_BROWSER_DATA_OUTSIDE_APP_DIR=1
CFLAGS+=		-fPIC

# workaround for link of libxul.so etc.
LDFLAGS+=		${COMPILER_RPATH_FLAG}${PREFIX}/lib/${PKGBASE}
LDFLAGS+=		${COMPILER_RPATH_FLAG}${PREFIX}/lib
LDFLAGS.DragonFly+=	-lplc4 -lnspr4
LDFLAGS.FreeBSD+=	-lplc4 -lnspr4
LDFLAGS.Linux+=		-lnspr4
LDFLAGS.SunOS+=		-lm

ALL_ENV+=		MOZ_APP_NAME=${PKGBASE}

NOT_PAX_MPROTECT_SAFE+=	lib/${PKGBASE}/tor-browser
NOT_PAX_MPROTECT_SAFE+=	lib/${PKGBASE}/tor-browser-bin

# Avoid ld "invalid section index" errors.
BUILDLINK_TRANSFORM.SunOS+=	rm:-fdata-sections
BUILDLINK_TRANSFORM.SunOS+=	rm:-ffunction-sections

.include "../../www/firefox78/mozilla-common.mk"
.include "options.mk"

CHECK_INTERPRETER_SKIP+=	lib/firefox-sdk/sdk/bin/header.py
CHECK_INTERPRETER_SKIP+=	lib/firefox-sdk/sdk/bin/typelib.py
CHECK_INTERPRETER_SKIP+=	lib/firefox-sdk/sdk/bin/xpidl.py
CHECK_INTERPRETER_SKIP+=	lib/firefox-sdk/sdk/bin/xpt.py

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

MOZILLA=	${PKGBASE}
MOZILLA_ICON=	${WRKSRC}/browser/branding/official/default48.png
MOZILLA_NAME=	TorBrowser

post-extract:
	mv ${WRKSRC}/gfx/ycbcr/yuv_row_arm.s ${WRKSRC}/gfx/ycbcr/yuv_row_arm.S
	${CP} ${FILESDIR}/cubeb_sun.c ${WRKSRC}/media/libcubeb/src/cubeb_sun.c
	mv ${WRKDIR}/tor-browser_en-US ${WRKSRC}
#	mv ${WRKDIR}/tor-launcher* ${WRKSRC}/browser/extensions/tor-launcher

pre-configure:
	cd ${WRKSRC} && mkdir ${OBJDIR}
	cd ${WRKSRC} && autoconf
	cd ${WRKSRC}/${OBJDIR} && touch old-configure.vars
	cd ${WRKSRC}/js/src && autoconf

post-build:
	${SED} -e 's|@MOZILLA@|${MOZILLA}|g'				\
	  -e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|g'			\
	  -e 's|@FIREFOX_ICON@|${MOZILLA}.png|g'			\
	  < ${FILESDIR}/desktop.in					\
	  > ${WRKDIR}/desktop
	${SED} -e 's|@PREFIX@|${PREFIX}|g'				\
	  < ${FILESDIR}/tor-browser.sh					\
	  > ${WRKDIR}/tor-browser.sh

INSTALLATION_DIRS+=	share/applications
INSTALLATION_DIRS+=	share/pixmaps
INSTALLATION_DIRS+=	${PREFIX}/lib/tor-browser/browser/fontconfig
INSTALLATION_DIRS+=	${PREFIX}/lib/tor-browser/browser/fonts

post-install:
	${INSTALL_SCRIPT} ${WRKDIR}/tor-browser.sh \
		${DESTDIR}${PREFIX}/bin/tor-browser
	${INSTALL_DATA} ${WRKDIR}/desktop				\
		${DESTDIR}${PREFIX}/share/applications/${MOZILLA}.desktop
	${INSTALL_DATA} ${MOZILLA_ICON}					\
		${DESTDIR}${PREFIX}/share/pixmaps/${MOZILLA}.png
	${INSTALL_DATA} ${WRKSRC}/tor-browser_en-US/Browser/TorBrowser/Data/fontconfig/fonts.conf \
		${DESTDIR}${PREFIX}/lib/tor-browser/browser/fontconfig
	${INSTALL_DATA} ${WRKSRC}/tor-browser_en-US/Browser/fonts/* \
		${DESTDIR}${PREFIX}/lib/tor-browser/browser/fonts

.include "../../sysutils/desktop-file-utils/desktopdb.mk"
.include "../../mk/bsd.pkg.mk"