Annotation of pkgsrc/security/tor-browser/Makefile, Revision 1.76
1.76 ! wiz 1: # $NetBSD: Makefile,v 1.75 2020/08/31 18:11:22 wiz Exp $
1.1 ryoon 2:
1.76 ! wiz 3: DISTNAME= src-firefox-tor-browser-78.3.0esr-10.0-2-build2
! 4: PKGNAME= tor-browser-10.0
1.56 wiz 5: CATEGORIES= security www
6: MASTER_SITES= https://dist.torproject.org/torbrowser/${PKGVERSION_NOREV}/
1.43 wiz 7: EXTRACT_SUFX= .tar.xz
1.63 wiz 8: DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
9: DISTFILES+= tor-browser-linux64-${PKGVERSION_NOREV}_en-US${EXTRACT_SUFX}
1.66 wiz 10: #DISTFILES+= src-tor-launcher-0.2.21.8${EXTRACT_SUFX}
1.1 ryoon 11:
1.56 wiz 12: MAINTAINER= wiz@NetBSD.org
1.1 ryoon 13: HOMEPAGE= https://www.torproject.org/projects/torbrowser.html.en
14: COMMENT= Tor Browser based on Firefox
15: LICENSE= mpl-1.1
16:
1.43 wiz 17: WRKSRC= ${WRKDIR}/${DISTNAME:S/src-//}
1.14 ryoon 18:
1.37 wiz 19: DEPENDS+= tor-[0-9]*:../../net/tor
1.69 wiz 20: DEPENDS+= tor-browser-https-everywhere>=2020.5.20:../../security/tor-browser-https-everywhere
21: DEPENDS+= tor-browser-noscript>=11.0.32:../../security/tor-browser-noscript
1.43 wiz 22:
1.37 wiz 23: # How to update this package:
24: #
25: # replace all patches with the one from the correspoding www/firefox${ESR_RELEASE}
1.69 wiz 26: # compare e.g. the output of
1.76 ! wiz 27: # diff -r -I NetBSD . ../../www/firefox78
1.69 wiz 28: # BUT keep:
29: # patch-.mozconfig (if still necessary)
30: # patch-browser_app_profile_000-tor-browser.js
31: # patch-toolkit_moz.configure (second chunk)
32: # patch-xpcom_io_TorFileUtils.cpp
1.37 wiz 33: # make the patches apply
34: #
35: # when packaged up, read MESSAGE and test by visiting https://check.torproject.org
1.63 wiz 36: # and https://panopticlick.eff.org
1.1 ryoon 37:
38: # Remove hardcoded build directory.
39: SUBST_CLASSES+= fix-build-dir
1.37 wiz 40: SUBST_STAGE.fix-build-dir= pre-configure
1.1 ryoon 41: SUBST_FILES.fix-build-dir+= .mozconfig
42: SUBST_SED.fix-build-dir+= -e 's,mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@,,'
43:
1.63 wiz 44: SUBST_CLASSES+= fonts
45: SUBST_STAGE.fonts= pre-configure
46: SUBST_FILES.fonts+= tor-browser_en-US/Browser/TorBrowser/Data/fontconfig/fonts.conf
47: SUBST_SED.fonts+= -e 's,<dir>fonts</dir>,<dir>${PREFIX}/lib/tor-browser/browser/fonts</dir>,'
48: SUBST_MESSAGE.fonts= Fixing path to bundled fonts directory.
49:
1.1 ryoon 50: MOZILLA_DIR= # empty
51:
1.76 ! wiz 52: # Workaround for https://bugs.llvm.org/show_bug.cgi?id=46366
! 53: BUILDLINK_TRANSFORM.NetBSD+= rm:-fexperimental-new-pass-manager
! 54:
! 55: #
! 56: # Generate list of subst entries for various .cargo-checksum.json files. These
! 57: # are all handled together in one big substitution to simplify things rather
! 58: # than one substitution entry per file, but are kept separate below to ease
! 59: # updating and verification.
! 60: #
! 61:
! 62: CKSUM_CRATES+= third_party/rust/libc
! 63:
! 64: # patch-third__party_rust_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs
! 65: CKSUMS+= a3540eab4dbc52e006e84e288bad17e1dae3865fea49020e0ed8b5a7724a9532
! 66: CKSUMS+= 5e58a2109f5eff0f497dfac150c161c1d517a2227b49e086da96c3d66522ac3a
! 67:
! 68: CKSUM_CRATES+= third_party/rust/getrandom
! 69:
! 70: # patch-third__party_rust_getrandom_src_lib.rs
! 71: CKSUMS+= 0e52f6bde42d7bb05c297ce1c25b9879d61b28caba98f6226a152bff538db6c2
! 72: CKSUMS+= 394425b4ba03c21c494e64d993678f7014575b1e3d590b9ee452b5c2d83ec4ac
! 73:
! 74: SUBST_CLASSES+= cksum
! 75: SUBST_STAGE.cksum= pre-configure
! 76: .for crate in ${CKSUM_CRATES}
! 77: SUBST_FILES.cksum+= ${crate}/.cargo-checksum.json
! 78: .endfor
! 79: .for from to in ${CKSUMS}
! 80: SUBST_SED.cksum+= -e 's,${from},${to},g'
! 81: .endfor
! 82:
1.30 jperkin 83: .include "../../mk/bsd.prefs.mk"
84:
1.37 wiz 85: CONFIGURE_ARGS+= --enable-tor-browser-data-outside-app-dir
1.56 wiz 86: CONFIGURE_ARGS+= --with-tor-browser-version=${PKGVERSION_NOREV}
1.14 ryoon 87: CFLAGS+= -DTOR_BROWSER_DATA_IN_HOME_DIR=1
88: CFLAGS+= -DTOR_BROWSER_DATA_OUTSIDE_APP_DIR=1
1.19 wiz 89: CFLAGS+= -fPIC
1.1 ryoon 90:
1.6 joerg 91: # workaround for link of libxul.so etc.
1.37 wiz 92: LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/${PKGBASE}
93: LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib
94: LDFLAGS.DragonFly+= -lplc4 -lnspr4
95: LDFLAGS.FreeBSD+= -lplc4 -lnspr4
96: LDFLAGS.Linux+= -lnspr4
1.1 ryoon 97: LDFLAGS.SunOS+= -lm
98:
1.37 wiz 99: ALL_ENV+= MOZ_APP_NAME=${PKGBASE}
1.1 ryoon 100:
1.37 wiz 101: NOT_PAX_MPROTECT_SAFE+= lib/${PKGBASE}/tor-browser
102: NOT_PAX_MPROTECT_SAFE+= lib/${PKGBASE}/tor-browser-bin
1.8 wiz 103:
1.1 ryoon 104: # Avoid ld "invalid section index" errors.
1.2 jperkin 105: BUILDLINK_TRANSFORM.SunOS+= rm:-fdata-sections
106: BUILDLINK_TRANSFORM.SunOS+= rm:-ffunction-sections
1.1 ryoon 107:
1.76 ! wiz 108: .include "../../www/firefox78/mozilla-common.mk"
1.1 ryoon 109: .include "options.mk"
110:
1.51 rillig 111: CHECK_INTERPRETER_SKIP+= lib/firefox-sdk/sdk/bin/header.py
112: CHECK_INTERPRETER_SKIP+= lib/firefox-sdk/sdk/bin/typelib.py
113: CHECK_INTERPRETER_SKIP+= lib/firefox-sdk/sdk/bin/xpidl.py
114: CHECK_INTERPRETER_SKIP+= lib/firefox-sdk/sdk/bin/xpt.py
1.1 ryoon 115:
1.37 wiz 116: CHECK_WRKREF_SKIP+= lib/${PKGBASE}/chrome/toolkit/content/global/buildconfig.html
117:
118: MOZILLA= ${PKGBASE}
119: MOZILLA_ICON= ${WRKSRC}/browser/branding/official/default48.png
1.1 ryoon 120: MOZILLA_NAME= TorBrowser
121:
1.14 ryoon 122: post-extract:
123: mv ${WRKSRC}/gfx/ycbcr/yuv_row_arm.s ${WRKSRC}/gfx/ycbcr/yuv_row_arm.S
1.46 nia 124: ${CP} ${FILESDIR}/cubeb_sun.c ${WRKSRC}/media/libcubeb/src/cubeb_sun.c
1.63 wiz 125: mv ${WRKDIR}/tor-browser_en-US ${WRKSRC}
1.56 wiz 126: # mv ${WRKDIR}/tor-launcher* ${WRKSRC}/browser/extensions/tor-launcher
1.14 ryoon 127:
1.1 ryoon 128: pre-configure:
129: cd ${WRKSRC} && mkdir ${OBJDIR}
130: cd ${WRKSRC} && autoconf
1.37 wiz 131: cd ${WRKSRC}/${OBJDIR} && touch old-configure.vars
1.1 ryoon 132: cd ${WRKSRC}/js/src && autoconf
133:
134: post-build:
135: ${SED} -e 's|@MOZILLA@|${MOZILLA}|g' \
136: -e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|g' \
137: -e 's|@FIREFOX_ICON@|${MOZILLA}.png|g' \
138: < ${FILESDIR}/desktop.in \
139: > ${WRKDIR}/desktop
1.63 wiz 140: ${SED} -e 's|@PREFIX@|${PREFIX}|g' \
141: < ${FILESDIR}/tor-browser.sh \
142: > ${WRKDIR}/tor-browser.sh
143:
144: INSTALLATION_DIRS+= share/applications
145: INSTALLATION_DIRS+= share/pixmaps
146: INSTALLATION_DIRS+= ${PREFIX}/lib/tor-browser/browser/fontconfig
147: INSTALLATION_DIRS+= ${PREFIX}/lib/tor-browser/browser/fonts
1.1 ryoon 148:
149: post-install:
1.63 wiz 150: ${INSTALL_SCRIPT} ${WRKDIR}/tor-browser.sh \
151: ${DESTDIR}${PREFIX}/bin/tor-browser
1.1 ryoon 152: ${INSTALL_DATA} ${WRKDIR}/desktop \
1.63 wiz 153: ${DESTDIR}${PREFIX}/share/applications/${MOZILLA}.desktop
1.1 ryoon 154: ${INSTALL_DATA} ${MOZILLA_ICON} \
1.63 wiz 155: ${DESTDIR}${PREFIX}/share/pixmaps/${MOZILLA}.png
156: ${INSTALL_DATA} ${WRKSRC}/tor-browser_en-US/Browser/TorBrowser/Data/fontconfig/fonts.conf \
157: ${DESTDIR}${PREFIX}/lib/tor-browser/browser/fontconfig
158: ${INSTALL_DATA} ${WRKSRC}/tor-browser_en-US/Browser/fonts/* \
159: ${DESTDIR}${PREFIX}/lib/tor-browser/browser/fonts
1.1 ryoon 160:
161: .include "../../sysutils/desktop-file-utils/desktopdb.mk"
162: .include "../../mk/bsd.pkg.mk"
CVSweb <webmaster@jp.NetBSD.org>