125 lines
4.9 KiB
Makefile
125 lines
4.9 KiB
Makefile
# $NetBSD: Makefile,v 1.36 2020/01/05 02:18:53 ryoon Exp $
|
|
|
|
FIREFOX_VER= ${MOZ_BRANCH}${MOZ_BRANCH_MINOR}
|
|
MOZ_BRANCH= 60.9
|
|
MOZ_BRANCH_MINOR= .0esr
|
|
|
|
DISTNAME= firefox-${FIREFOX_VER}.source
|
|
PKGNAME= firefox${MOZ_BRANCH:C/\..*$//}-${MOZ_BRANCH}${MOZ_BRANCH_MINOR:S/b/beta/:S/esr//}
|
|
PKGREVISION= 1
|
|
CATEGORIES= www
|
|
MASTER_SITES+= ${MASTER_SITE_MOZILLA:=firefox/releases/${FIREFOX_VER}/source/}
|
|
EXTRACT_SUFX= .tar.xz
|
|
|
|
MAINTAINER= ryoon@NetBSD.org
|
|
HOMEPAGE= https://www.mozilla.com/en-US/firefox/
|
|
COMMENT= Web browser with support for extensions (version ${FIREFOX_VER:C/\..*//})
|
|
LICENSE= mpl-1.1
|
|
|
|
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
|
|
|
|
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
|
|
|
|
NOT_PAX_MPROTECT_SAFE+= lib/${PKGBASE}/firefox60
|
|
NOT_PAX_MPROTECT_SAFE+= lib/${PKGBASE}/firefox60-bin
|
|
NOT_PAX_MPROTECT_SAFE+= lib/${PKGBASE}/plugin-container
|
|
|
|
ALL_ENV+= MOZ_APP_NAME=firefox60
|
|
|
|
# Avoid ld "invalid section index" errors.
|
|
BUILDLINK_TRANSFORM.SunOS+= rm:-fdata-sections
|
|
BUILDLINK_TRANSFORM.SunOS+= rm:-ffunction-sections
|
|
|
|
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/libav/libavutil/mem.c
|
|
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/${PKGBASE}/chrome/toolkit/content/global/buildconfig.html
|
|
|
|
MOZILLA= ${PKGBASE}
|
|
MOZILLA_ICON= ${WRKSRC}/${OBJDIR}/dist/firefox60/browser/chrome/icons/default/default48.png
|
|
.if !empty(PKG_OPTIONS:Mofficial-mozilla-branding)
|
|
MOZILLA_NAME= Firefox
|
|
.else
|
|
MOZILLA_NAME= Browser
|
|
.endif
|
|
|
|
SUBST_CLASSES+= sys-dic
|
|
SUBST_STAGE.sys-dic= pre-configure
|
|
SUBST_MESSAGE.sys-dic= Reference to system hunspell dictionaries.
|
|
SUBST_FILES.sys-dic= extensions/spellcheck/hunspell/glue/mozHunspell.cpp
|
|
SUBST_VARS.sys-dic= PREFIX
|
|
|
|
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
|
|
${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} && autoconf
|
|
cd ${WRKSRC}/js/src && autoconf
|
|
cd ${WRKSRC} && mkdir ${OBJDIR}
|
|
cd ${WRKSRC}/${OBJDIR} && touch old-configure.vars
|
|
|
|
# For --disable-stylo-build-bindgen
|
|
post-configure:
|
|
${MKDIR} -p ${WRKSRC}/${OBJDIR}/dist/rust_bindings/style
|
|
${CP} ${FILESDIR}/*.rs ${WRKSRC}/${OBJDIR}/dist/rust_bindings/style
|
|
|
|
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 share/pixmaps
|
|
post-install:
|
|
${ECHO} '#! /bin/sh' > ${DESTDIR}${PREFIX}/bin/${MOZILLA}
|
|
${ECHO} '${PREFIX}/lib/firefox60/firefox60 "$$@"' >> \
|
|
${DESTDIR}${PREFIX}/bin/${MOZILLA}
|
|
${CHMOD} 755 ${DESTDIR}${PREFIX}/bin/${MOZILLA}
|
|
${INSTALL_DATA} ${WRKDIR}/desktop \
|
|
${DESTDIR}${PREFIX}/share/applications/${MOZILLA}.desktop
|
|
${INSTALL_DATA} ${MOZILLA_ICON} \
|
|
${DESTDIR}${PREFIX}/share/pixmaps/${MOZILLA}.png
|
|
|
|
.include "../../sysutils/desktop-file-utils/desktopdb.mk"
|
|
.include "../../mk/bsd.pkg.mk"
|