135 lines
4.5 KiB
Makefile
135 lines
4.5 KiB
Makefile
# $NetBSD: Makefile,v 1.41 2022/03/28 10:59:31 tnn Exp $
|
|
|
|
FIREFOX_VER= ${MOZ_BRANCH}${MOZ_BRANCH_MINOR}
|
|
MOZ_BRANCH= 78.15
|
|
MOZ_BRANCH_MINOR= .0esr
|
|
|
|
DISTNAME= firefox-${FIREFOX_VER}.source
|
|
PKGNAME= ${DISTNAME:S/.source//:S/b/beta/:S/esr//:S/firefox-/firefox78-/}
|
|
PKGREVISION= 2
|
|
CATEGORIES= www
|
|
MASTER_SITES+= ${MASTER_SITE_MOZILLA:=firefox/releases/${FIREFOX_VER}/source/}
|
|
EXTRACT_SUFX= .tar.xz
|
|
|
|
MAINTAINER= ryoon@NetBSD.org
|
|
HOMEPAGE= https://www.mozilla.org/en-US/firefox/
|
|
COMMENT= Web browser with support for extensions (version ${FIREFOX_VER:tu:C/\\.[[:digit:]\.]*//})
|
|
LICENSE= mpl-1.1
|
|
|
|
UNLIMIT_RESOURCES+= datasize virtualsize
|
|
|
|
WRKSRC= ${WRKDIR}/firefox-${FIREFOX_VER:S/esr//}
|
|
|
|
MOZILLA_DIR= # empty
|
|
|
|
# Note: when updating remember to conditionalise about-background.png in PLIST
|
|
CONFIGURE_ARGS+= --enable-application=browser
|
|
|
|
#CFLAGS+= -I${PREFIX}/include/nspr
|
|
# for lang/gcc6
|
|
CFLAGS+= -D_GLIBCXX_INCLUDE_NEXT_C_HEADERS
|
|
CFLAGS.SunOS+= -D_POSIX_PTHREAD_SEMANTICS
|
|
|
|
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=${MOZILLA}
|
|
|
|
# Avoid ld "invalid section index" errors.
|
|
BUILDLINK_TRANSFORM.SunOS+= rm:-fdata-sections
|
|
BUILDLINK_TRANSFORM.SunOS+= rm:-ffunction-sections
|
|
BUILDLINK_TRANSFORM.SunOS+= rm:-pie
|
|
|
|
# Workaround for https://bugs.llvm.org/show_bug.cgi?id=46366
|
|
BUILDLINK_TRANSFORM.NetBSD+= rm:-fexperimental-new-pass-manager
|
|
|
|
SUBST_CLASSES+= dfly_malloc_h
|
|
SUBST_STAGE.dfly_malloc_h= pre-configure
|
|
SUBST_MESSAGE.dfly_malloc_h= Dont include malloc.h on dragonflybsd
|
|
SUBST_SED.dfly_malloc_h= -e 's,HAVE_MALLOC_H,HAVE_MALLOC_H \&\& !defined(__DragonFly__),g'
|
|
SUBST_FILES.dfly_malloc_h+= media/ffvpx/libavutil/mem.c
|
|
|
|
.include "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/${MOZILLA}/chrome/toolkit/content/global/buildconfig.html
|
|
|
|
MOZILLA= ${PKGBASE}
|
|
|
|
.if !empty(PKG_OPTIONS:Mofficial-mozilla-branding)
|
|
MOZILLA_NAME= Firefox
|
|
MOZILLA_BRANDING= official
|
|
.else
|
|
MOZILLA_NAME= Browser
|
|
MOZILLA_BRANDING= unofficial
|
|
.endif
|
|
|
|
#
|
|
# 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
|
|
|
|
pre-configure:
|
|
cd ${WRKSRC} && autoconf-2.13
|
|
cd ${WRKSRC}/js/src && autoconf-2.13
|
|
cd ${WRKSRC} && mkdir ${OBJDIR}
|
|
cd ${WRKSRC}/${OBJDIR} && touch old-configure.vars
|
|
# Do not fetch Rust Cargo file via network during build
|
|
|
|
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
|
|
|
|
INSTALLATION_DIRS+= share/applications
|
|
|
|
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
|
|
.for i in 16 22 24 32 48 64 128 256
|
|
${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/share/icons/hicolor/${i}x${i}/apps
|
|
${INSTALL_DATA} ${WRKSRC}/browser/branding/${MOZILLA_BRANDING}/default${i}.png \
|
|
${DESTDIR}${PREFIX}/share/icons/hicolor/${i}x${i}/apps/${MOZILLA}.png
|
|
.endfor
|
|
|
|
.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
|
|
.include "../../sysutils/desktop-file-utils/desktopdb.mk"
|
|
.include "../../mk/bsd.pkg.mk"
|