| @@ -1,172 +1,172 @@ | | | @@ -1,172 +1,172 @@ |
1 | # $NetBSD: Makefile,v 1.11.2.1 2022/02/20 10:20:21 bsiegert Exp $ | | 1 | # $NetBSD: Makefile,v 1.11.2.2 2022/02/21 13:34:26 bsiegert Exp $ |
2 | | | 2 | |
3 | FIREFOX_VER= ${MOZ_BRANCH}${MOZ_BRANCH_MINOR} | | 3 | FIREFOX_VER= ${MOZ_BRANCH}${MOZ_BRANCH_MINOR} |
4 | MOZ_BRANCH= 91.5 | | 4 | MOZ_BRANCH= 91.6 |
5 | MOZ_BRANCH_MINOR= .0esr | | 5 | MOZ_BRANCH_MINOR= .0esr |
6 | | | 6 | |
7 | DISTNAME= firefox-${FIREFOX_VER}.source | | 7 | DISTNAME= firefox-${FIREFOX_VER}.source |
8 | PKGNAME= ${DISTNAME:S/.source//:S/b/beta/:S/esr//:S/firefox-/firefox91-/} | | 8 | PKGNAME= ${DISTNAME:S/.source//:S/b/beta/:S/esr//:S/firefox-/firefox91-/} |
9 | CATEGORIES= www | | 9 | CATEGORIES= www |
10 | MASTER_SITES+= ${MASTER_SITE_MOZILLA:=firefox/releases/${FIREFOX_VER}/source/} | | 10 | MASTER_SITES+= ${MASTER_SITE_MOZILLA:=firefox/releases/${FIREFOX_VER}/source/} |
11 | EXTRACT_SUFX= .tar.xz | | 11 | EXTRACT_SUFX= .tar.xz |
12 | | | 12 | |
13 | DISTFILES= ${DEFAULT_DISTFILES} nodejs-output-91.0.tgz | | 13 | DISTFILES= ${DEFAULT_DISTFILES} nodejs-output-91.0.tgz |
14 | SITES.nodejs-output-91.0.tgz= ${MASTER_SITE_LOCAL} | | 14 | SITES.nodejs-output-91.0.tgz= ${MASTER_SITE_LOCAL} |
15 | | | 15 | |
16 | MAINTAINER= ryoon@NetBSD.org | | 16 | MAINTAINER= ryoon@NetBSD.org |
17 | HOMEPAGE= https://www.mozilla.org/en-US/firefox/ | | 17 | HOMEPAGE= https://www.mozilla.org/en-US/firefox/ |
18 | COMMENT= Web browser with support for extensions (version ${FIREFOX_VER:tu:C/\\.[[:digit:]\.]*//}) | | 18 | COMMENT= Web browser with support for extensions (version ${FIREFOX_VER:tu:C/\\.[[:digit:]\.]*//}) |
19 | LICENSE= mpl-1.1 | | 19 | LICENSE= mpl-1.1 |
20 | | | 20 | |
21 | # -------- BEFORE UPDATING THIS PACKAGE PLEASE READ & UNDERSTAND: ------- | | 21 | # -------- BEFORE UPDATING THIS PACKAGE PLEASE READ & UNDERSTAND: ------- |
22 | # | | 22 | # |
23 | # This package works around a (stupid) build time dependency on nodejs | | 23 | # This package works around a (stupid) build time dependency on nodejs |
24 | # (which is not available for all architectures and unnecessary for the | | 24 | # (which is not available for all architectures and unnecessary for the |
25 | # real build). To do this, it places some additional burden on the | | 25 | # real build). To do this, it places some additional burden on the |
26 | # maintainer. | | 26 | # maintainer. |
27 | # | | 27 | # |
28 | # While working on the package, please make sure you have | | 28 | # While working on the package, please make sure you have |
29 | # | | 29 | # |
30 | # FIREFOX_MAINTAINER=yes | | 30 | # FIREFOX_MAINTAINER=yes |
31 | # | | 31 | # |
32 | # set in your build environment. | | 32 | # set in your build environment. |
33 | # When the package is ready for commit (but before commit), do: | | 33 | # When the package is ready for commit (but before commit), do: |
34 | # | | 34 | # |
35 | # make maintainer-files | | 35 | # make maintainer-files |
36 | # | | 36 | # |
37 | # This will do another round (depending on state of your work dir at this | | 37 | # This will do another round (depending on state of your work dir at this |
38 | # moment) of one or two builds and generate a cache of all output that | | 38 | # moment) of one or two builds and generate a cache of all output that |
39 | # nodejs generates during a build. | | 39 | # nodejs generates during a build. |
40 | # | | 40 | # |
41 | # When this is done, just commit the results (they will be in the files/ | | 41 | # When this is done, just commit the results (they will be in the files/ |
42 | # directory). | | 42 | # directory). |
43 | # | | 43 | # |
44 | # ----------------------------------------------------------------------- | | 44 | # ----------------------------------------------------------------------- |
45 | | | 45 | |
46 | UNLIMIT_RESOURCES+= datasize virtualsize | | 46 | UNLIMIT_RESOURCES+= datasize virtualsize |
47 | | | 47 | |
48 | WRKSRC= ${WRKDIR}/firefox-${FIREFOX_VER:S/esr//} | | 48 | WRKSRC= ${WRKDIR}/firefox-${FIREFOX_VER:S/esr//} |
49 | | | 49 | |
50 | MOZILLA_DIR= # empty | | 50 | MOZILLA_DIR= # empty |
51 | | | 51 | |
52 | # Note: when updating remember to conditionalise about-background.png in PLIST | | 52 | # Note: when updating remember to conditionalise about-background.png in PLIST |
53 | CONFIGURE_ARGS+= --enable-application=browser | | 53 | CONFIGURE_ARGS+= --enable-application=browser |
54 | | | 54 | |
55 | ALL_ENV+= MOZ_APP_NAME=${MOZILLA} | | 55 | ALL_ENV+= MOZ_APP_NAME=${MOZILLA} |
56 | | | 56 | |
57 | #CFLAGS+= -I${PREFIX}/include/nspr | | 57 | #CFLAGS+= -I${PREFIX}/include/nspr |
58 | # for lang/gcc6 | | 58 | # for lang/gcc6 |
59 | CFLAGS+= -D_GLIBCXX_INCLUDE_NEXT_C_HEADERS | | 59 | CFLAGS+= -D_GLIBCXX_INCLUDE_NEXT_C_HEADERS |
60 | CFLAGS.SunOS+= -D_POSIX_PTHREAD_SEMANTICS | | 60 | CFLAGS.SunOS+= -D_POSIX_PTHREAD_SEMANTICS |
61 | | | 61 | |
62 | LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/${PKGBASE} | | 62 | LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/${PKGBASE} |
63 | LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib | | 63 | LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib |
64 | LDFLAGS.DragonFly+= -lplc4 -lnspr4 | | 64 | LDFLAGS.DragonFly+= -lplc4 -lnspr4 |
65 | LDFLAGS.FreeBSD+= -lplc4 -lnspr4 | | 65 | LDFLAGS.FreeBSD+= -lplc4 -lnspr4 |
66 | LDFLAGS.Linux+= -lnspr4 | | 66 | LDFLAGS.Linux+= -lnspr4 |
67 | LDFLAGS.SunOS+= -lm | | 67 | LDFLAGS.SunOS+= -lm |
68 | | | 68 | |
69 | # XXX not sure how to test this! likely unnecessary | | 69 | # XXX not sure how to test this! likely unnecessary |
70 | NOT_PAX_MPROTECT_SAFE+= lib/${PKGBASE}/plugin-container | | 70 | NOT_PAX_MPROTECT_SAFE+= lib/${PKGBASE}/plugin-container |
71 | | | 71 | |
72 | # Avoid ld "invalid section index" errors. | | 72 | # Avoid ld "invalid section index" errors. |
73 | BUILDLINK_TRANSFORM.SunOS+= rm:-fdata-sections | | 73 | BUILDLINK_TRANSFORM.SunOS+= rm:-fdata-sections |
74 | BUILDLINK_TRANSFORM.SunOS+= rm:-ffunction-sections | | 74 | BUILDLINK_TRANSFORM.SunOS+= rm:-ffunction-sections |
75 | BUILDLINK_TRANSFORM.SunOS+= rm:-pie | | 75 | BUILDLINK_TRANSFORM.SunOS+= rm:-pie |
76 | | | 76 | |
77 | # Workaround for https://bugs.llvm.org/show_bug.cgi?id=46366 | | 77 | # Workaround for https://bugs.llvm.org/show_bug.cgi?id=46366 |
78 | BUILDLINK_TRANSFORM.NetBSD+= rm:-fexperimental-new-pass-manager | | 78 | BUILDLINK_TRANSFORM.NetBSD+= rm:-fexperimental-new-pass-manager |
79 | | | 79 | |
80 | SUBST_CLASSES+= dfly_malloc_h | | 80 | SUBST_CLASSES+= dfly_malloc_h |
81 | SUBST_STAGE.dfly_malloc_h= pre-configure | | 81 | SUBST_STAGE.dfly_malloc_h= pre-configure |
82 | SUBST_MESSAGE.dfly_malloc_h= Dont include malloc.h on dragonflybsd | | 82 | SUBST_MESSAGE.dfly_malloc_h= Dont include malloc.h on dragonflybsd |
83 | SUBST_SED.dfly_malloc_h= -e 's,HAVE_MALLOC_H,HAVE_MALLOC_H \&\& !defined(__DragonFly__),g' | | 83 | SUBST_SED.dfly_malloc_h= -e 's,HAVE_MALLOC_H,HAVE_MALLOC_H \&\& !defined(__DragonFly__),g' |
84 | SUBST_FILES.dfly_malloc_h+= media/ffvpx/libavutil/mem.c | | 84 | SUBST_FILES.dfly_malloc_h+= media/ffvpx/libavutil/mem.c |
85 | | | 85 | |
86 | .include "mozilla-common.mk" | | 86 | .include "mozilla-common.mk" |
87 | .include "options.mk" | | 87 | .include "options.mk" |
88 | | | 88 | |
89 | CHECK_INTERPRETER_SKIP+= lib/firefox-sdk/sdk/bin/header.py | | 89 | CHECK_INTERPRETER_SKIP+= lib/firefox-sdk/sdk/bin/header.py |
90 | CHECK_INTERPRETER_SKIP+= lib/firefox-sdk/sdk/bin/typelib.py | | 90 | CHECK_INTERPRETER_SKIP+= lib/firefox-sdk/sdk/bin/typelib.py |
91 | CHECK_INTERPRETER_SKIP+= lib/firefox-sdk/sdk/bin/xpidl.py | | 91 | CHECK_INTERPRETER_SKIP+= lib/firefox-sdk/sdk/bin/xpidl.py |
92 | CHECK_INTERPRETER_SKIP+= lib/firefox-sdk/sdk/bin/xpt.py | | 92 | CHECK_INTERPRETER_SKIP+= lib/firefox-sdk/sdk/bin/xpt.py |
93 | | | 93 | |
94 | CHECK_WRKREF_SKIP+= lib/${MOZILLA}/omni.ja | | 94 | CHECK_WRKREF_SKIP+= lib/${MOZILLA}/omni.ja |
95 | | | 95 | |
96 | MOZILLA= ${PKGBASE} | | 96 | MOZILLA= ${PKGBASE} |
97 | | | 97 | |
98 | .if !empty(PKG_OPTIONS:Mofficial-mozilla-branding) | | 98 | .if !empty(PKG_OPTIONS:Mofficial-mozilla-branding) |
99 | MOZILLA_NAME= Firefox | | 99 | MOZILLA_NAME= Firefox |
100 | MOZILLA_BRANDING= official | | 100 | MOZILLA_BRANDING= official |
101 | .else | | 101 | .else |
102 | MOZILLA_NAME= Browser | | 102 | MOZILLA_NAME= Browser |
103 | MOZILLA_BRANDING= unofficial | | 103 | MOZILLA_BRANDING= unofficial |
104 | .endif | | 104 | .endif |
105 | | | 105 | |
106 | pre-configure: | | 106 | pre-configure: |
107 | cd ${WRKSRC} && autoconf | | 107 | cd ${WRKSRC} && autoconf |
108 | cd ${WRKSRC}/js/src && autoconf | | 108 | cd ${WRKSRC}/js/src && autoconf |
109 | cd ${WRKSRC} && mkdir ${OBJDIR} | | 109 | cd ${WRKSRC} && mkdir ${OBJDIR} |
110 | cd ${WRKSRC}/${OBJDIR} && touch old-configure.vars | | 110 | cd ${WRKSRC}/${OBJDIR} && touch old-configure.vars |
111 | # Do not fetch Rust Cargo file via network during build | | 111 | # Do not fetch Rust Cargo file via network during build |
112 | .if !defined(FIREFOX_MAINTAINER) | | 112 | .if !defined(FIREFOX_MAINTAINER) |
113 | mv ${WRKDIR}/dist ${WRKSRC}/${OBJDIR} | | 113 | mv ${WRKDIR}/dist ${WRKSRC}/${OBJDIR} |
114 | .endif | | 114 | .endif |
115 | | | 115 | |
116 | .if defined(FIREFOX_MAINTAINER) | | 116 | .if defined(FIREFOX_MAINTAINER) |
117 | # Create files needed only by the firefox maintainer when updating | | 117 | # Create files needed only by the firefox maintainer when updating |
118 | # the package | | 118 | # the package |
119 | # XXX - manually removing the .*_done files is wrong! | | 119 | # XXX - manually removing the .*_done files is wrong! |
120 | .PHONY: build-list | | 120 | .PHONY: build-list |
121 | build-list: | | 121 | build-list: |
122 | cd ${WRKSRC}/${OBJDIR}/dist/bin/browser/chrome && \ | | 122 | cd ${WRKSRC}/${OBJDIR}/dist/bin/browser/chrome && \ |
123 | find . -type f | sort > ${OUT:Q} | | 123 | find . -type f | sort > ${OUT:Q} |
124 | | | 124 | |
125 | NODE_LIST= "${WRKDIR}/node.list" | | 125 | NODE_LIST= "${WRKDIR}/node.list" |
126 | NO_NODE_LIST= "${WRKDIR}/no-node.list" | | 126 | NO_NODE_LIST= "${WRKDIR}/no-node.list" |
127 | NODE_FILES= "${WRKDIR}/node.flist" | | 127 | NODE_FILES= "${WRKDIR}/node.flist" |
128 | | | 128 | |
129 | .PHONY: maintainer-files | | 129 | .PHONY: maintainer-files |
130 | maintainer-files: | | 130 | maintainer-files: |
131 | rm -f ${FILESDIR}/node-wrapper.sh | | 131 | rm -f ${FILESDIR}/node-wrapper.sh |
132 | V=$$( node -v ) && \ | | 132 | V=$$( node -v ) && \ |
133 | printf '#! /bin/sh\n\nVERS=%s\n\nif [ "$$1" = "-v" ] || [ "$$1" = "--version" ]; then\n\tprintf "$${VERS}\\n"\nfi\n\nexit 0\n' $$V \ | | 133 | printf '#! /bin/sh\n\nVERS=%s\n\nif [ "$$1" = "-v" ] || [ "$$1" = "--version" ]; then\n\tprintf "$${VERS}\\n"\nfi\n\nexit 0\n' $$V \ |
134 | > ${FILESDIR}/node-wrapper.sh && \ | | 134 | > ${FILESDIR}/node-wrapper.sh && \ |
135 | chmod 0755 ${FILESDIR}/node-wrapper.sh | | 135 | chmod 0755 ${FILESDIR}/node-wrapper.sh |
136 | rm -f ${WRKDIR}/.build_done ${WRKDIR}/.configure_done | | 136 | rm -f ${WRKDIR}/.build_done ${WRKDIR}/.configure_done |
137 | ${MAKE} MAINTAINER_INTERNAL=yes build | | 137 | ${MAKE} MAINTAINER_INTERNAL=yes build |
138 | ${MAKE} MAINTAINER_INTERNAL=yes OUT="${NO_NODE_LIST}" build-list | | 138 | ${MAKE} MAINTAINER_INTERNAL=yes OUT="${NO_NODE_LIST}" build-list |
139 | ${MAKE} OUT="${NODE_LIST}" build-list | | 139 | ${MAKE} OUT="${NODE_LIST}" build-list |
140 | ${DIFF} -u "${NO_NODE_LIST}" "${NODE_LIST}" | \ | | 140 | ${DIFF} -u "${NO_NODE_LIST}" "${NODE_LIST}" | \ |
141 | ${AWK} \ | | 141 | ${AWK} \ |
142 | '/^\+\.\//{ printf("dist/bin/browser/chrome/%s\n", gensub(/^\+\.\//, "", "")) }' \ | | 142 | '/^\+\.\//{ printf("dist/bin/browser/chrome/%s\n", gensub(/^\+\.\//, "", "")) }' \ |
143 | > "${NODE_FILES}" | | 143 | > "${NODE_FILES}" |
144 | cd ${WRKSRC}/${OBJDIR} && tar -c -T "${NODE_FILES}" -z \ | | 144 | cd ${WRKSRC}/${OBJDIR} && tar -c -T "${NODE_FILES}" -z \ |
145 | -f ${FILESDIR}/nodejs-output-${PKGVERSION_NOREV}.tgz | | 145 | -f ${FILESDIR}/nodejs-output-${PKGVERSION_NOREV}.tgz |
146 | .endif | | 146 | .endif |
147 | | | 147 | |
148 | post-build: | | 148 | post-build: |
149 | ${SED} -e 's|@MOZILLA@|${MOZILLA}|g' \ | | 149 | ${SED} -e 's|@MOZILLA@|${MOZILLA}|g' \ |
150 | -e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|g' \ | | 150 | -e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|g' \ |
151 | -e 's|@FIREFOX_ICON@|${MOZILLA}|g' \ | | 151 | -e 's|@FIREFOX_ICON@|${MOZILLA}|g' \ |
152 | < ${FILESDIR}/desktop.in \ | | 152 | < ${FILESDIR}/desktop.in \ |
153 | > ${WRKDIR}/desktop | | 153 | > ${WRKDIR}/desktop |
154 | | | 154 | |
155 | INSTALLATION_DIRS+= share/applications | | 155 | INSTALLATION_DIRS+= share/applications |
156 | | | 156 | |
157 | post-install: | | 157 | post-install: |
158 | ${ECHO} '#! /bin/sh' > ${DESTDIR}${PREFIX}/bin/${MOZILLA} | | 158 | ${ECHO} '#! /bin/sh' > ${DESTDIR}${PREFIX}/bin/${MOZILLA} |
159 | ${ECHO} '${PREFIX}/lib/${MOZILLA}/${MOZILLA} "$$@"' >> \ | | 159 | ${ECHO} '${PREFIX}/lib/${MOZILLA}/${MOZILLA} "$$@"' >> \ |
160 | ${DESTDIR}${PREFIX}/bin/${MOZILLA} | | 160 | ${DESTDIR}${PREFIX}/bin/${MOZILLA} |
161 | ${CHMOD} 755 ${DESTDIR}${PREFIX}/bin/${MOZILLA} | | 161 | ${CHMOD} 755 ${DESTDIR}${PREFIX}/bin/${MOZILLA} |
162 | ${INSTALL_DATA} ${WRKDIR}/desktop \ | | 162 | ${INSTALL_DATA} ${WRKDIR}/desktop \ |
163 | ${DESTDIR}${PREFIX}/share/applications/${MOZILLA}.desktop | | 163 | ${DESTDIR}${PREFIX}/share/applications/${MOZILLA}.desktop |
164 | .for i in 16 22 24 32 48 64 128 256 | | 164 | .for i in 16 22 24 32 48 64 128 256 |
165 | ${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/share/icons/hicolor/${i}x${i}/apps | | 165 | ${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/share/icons/hicolor/${i}x${i}/apps |
166 | ${INSTALL_DATA} ${WRKSRC}/browser/branding/${MOZILLA_BRANDING}/default${i}.png \ | | 166 | ${INSTALL_DATA} ${WRKSRC}/browser/branding/${MOZILLA_BRANDING}/default${i}.png \ |
167 | ${DESTDIR}${PREFIX}/share/icons/hicolor/${i}x${i}/apps/${MOZILLA}.png | | 167 | ${DESTDIR}${PREFIX}/share/icons/hicolor/${i}x${i}/apps/${MOZILLA}.png |
168 | .endfor | | 168 | .endfor |
169 | | | 169 | |
170 | .include "../../graphics/hicolor-icon-theme/buildlink3.mk" | | 170 | .include "../../graphics/hicolor-icon-theme/buildlink3.mk" |
171 | .include "../../sysutils/desktop-file-utils/desktopdb.mk" | | 171 | .include "../../sysutils/desktop-file-utils/desktopdb.mk" |
172 | .include "../../mk/bsd.pkg.mk" | | 172 | .include "../../mk/bsd.pkg.mk" |