|
| 1 | +# $NetBSD: Makefile,v 1.1 2025/04/25 21:25:03 nia Exp $ |
| 2 | +# This package is mostly derived from www/palemoon since they use the |
| 3 | +# same backend. However, several key things are different. |
| 4 | + |
| 5 | +PKGNAME= basilisk-2025.04.23 |
| 6 | +CATEGORIES= www |
| 7 | + |
| 8 | +DIST_SUBDIR= basilisk-${PKGVERSION_NOREV} |
| 9 | +DISTFILES+= basilisk.tar.gz |
| 10 | +DISTFILES+= uxp.tar.gz |
| 11 | +DISTFILES+= psutil.tar.gz |
| 12 | + |
| 13 | +SITES.basilisk.tar.gz= \ |
| 14 | + -https://repo.palemoon.org/Basilisk-Dev/Basilisk/archive/v${PKGVERSION_NOREV}.tar.gz |
| 15 | + |
| 16 | +SITES.uxp.tar.gz= \ |
| 17 | + -https://repo.palemoon.org/MoonchildProductions/UXP/archive/d892468fd052cb8961b7e36d5b087e53eb625f8e.tar.gz |
| 18 | + |
| 19 | +SITES.psutil.tar.gz= \ |
| 20 | + -https://files.pythonhosted.org/packages/7b/58/2675697b6831e6ac4b7b7bc4e5dcdb24a2f39f8411186573eb0de16eb6d5/psutil-3.4.2.tar.gz |
| 21 | + |
| 22 | +MAINTAINER= nia@NetBSD.org |
| 23 | +HOMEPAGE= https://www.basilisk-browser.org/ |
| 24 | +COMMENT= UXP-based web browser inspired by pre-Servo Firefox |
| 25 | +LICENSE= mpl-2.0 |
| 26 | + |
| 27 | +USE_TOOLS+= perl pkg-config autoconf213 |
| 28 | +USE_TOOLS+= zip unzip gmake |
| 29 | + |
| 30 | +HAS_CONFIGURE= yes |
| 31 | +USE_LANGUAGES= c c++ |
| 32 | + |
| 33 | +# "ERROR: Only GCC 9.1 or newer is supported" |
| 34 | +# Use GCC 10 because 9 is untested. |
| 35 | +GCC_REQD+= 10 |
| 36 | + |
| 37 | +WRKSRC= ${WRKDIR}/basilisk |
| 38 | + |
| 39 | +LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/basilisk-52.9.0 |
| 40 | + |
| 41 | +CONFIG_GUESS_OVERRIDE+= platform/build/autoconf/config.guess |
| 42 | +CONFIG_GUESS_OVERRIDE+= platform/intl/icu/source/config.guess |
| 43 | +CONFIG_GUESS_OVERRIDE+= platform/ipc/chromium/src/third_party/libevent/config.guess |
| 44 | +CONFIG_GUESS_OVERRIDE+= platform/js/src/ctypes/libffi/config.guess |
| 45 | +CONFIG_GUESS_OVERRIDE+= platform/nsprpub/build/autoconf/config.guess |
| 46 | + |
| 47 | +CONFIG_SUB_OVERRIDE+= platform/build/autoconf/config.sub |
| 48 | +CONFIG_SUB_OVERRIDE+= platform/intl/icu/source/config.sub |
| 49 | +CONFIG_SUB_OVERRIDE+= platform/ipc/chromium/src/third_party/libevent/config.sub |
| 50 | +CONFIG_SUB_OVERRIDE+= platform/js/src/ctypes/libffi/config.sub |
| 51 | +CONFIG_SUB_OVERRIDE+= platform/nsprpub/build/autoconf/config.sub |
| 52 | + |
| 53 | +CONFIGURE_DIRS= ${WRKDIR}/build |
| 54 | +CONFIGURE_SCRIPT= ${WRKSRC}/configure |
| 55 | + |
| 56 | +# see basilisk/mozconfigs/linux/x86_64/gtk3_unofficial_branding.mozconfig |
| 57 | +CONFIGURE_ARGS+= --enable-optimize=-O3 |
| 58 | +CONFIGURE_ARGS+= --enable-application=basilisk |
| 59 | +CONFIGURE_ARGS+= --enable-devtools |
| 60 | +CONFIGURE_ARGS+= --enable-av1 |
| 61 | +CONFIGURE_ARGS+= --enable-jxl |
| 62 | +CONFIGURE_ARGS+= --enable-pie |
| 63 | +CONFIGURE_ARGS+= --disable-tests |
| 64 | +CONFIGURE_ARGS+= --disable-gamepad # non-default |
| 65 | +CONFIGURE_ARGS+= --disable-debug |
| 66 | +CONFIGURE_ARGS+= --disable-necko-wifi |
| 67 | +CONFIGURE_ARGS+= --disable-updater |
| 68 | +CONFIGURE_ARGS+= --with-pthreads |
| 69 | +CONFIGURE_ARGS+= --disable-gconf |
| 70 | +# unlike palemoon/firefox, basilisk *only* has "unofficial branding" |
| 71 | +CONFIGURE_ARGS+= --disable-official-branding |
| 72 | + |
| 73 | +# non-default: causes build failures on NetBSD |
| 74 | +CONFIGURE_ARGS+= --disable-precompiled-startupcache |
| 75 | + |
| 76 | +# non-default: do not override system memory allocator |
| 77 | +CONFIGURE_ARGS+= --disable-jemalloc |
| 78 | + |
| 79 | +# non-default options to integrate better with pkgsrc |
| 80 | +# do not use system cairo, causes segfaults |
| 81 | +CONFIGURE_ARGS+= --prefix=${PREFIX} |
| 82 | +CONFIGURE_ARGS+= --with-system-bz2=${BUILDLINK_PREFIX.bzip2} |
| 83 | +CONFIGURE_ARGS+= --with-system-zlib |
| 84 | + |
| 85 | +.include "../../mk/bsd.prefs.mk" |
| 86 | + |
| 87 | +.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" |
| 88 | +TOOL_DEPENDS+= yasm>=1.1:../../devel/yasm |
| 89 | +.endif |
| 90 | + |
| 91 | +.if ${MACHINE_PLATFORM:MNetBSD-*-earm*} |
| 92 | +LDFLAGS+= -Wl,--no-keep-memory |
| 93 | +.endif |
| 94 | + |
| 95 | +PLIST_VARS+= ffvpx |
| 96 | + |
| 97 | +.if ${MACHINE_ARCH} == "x86_64" |
| 98 | +PLIST.ffvpx= yes # see platform/old-configure.in |
| 99 | +.endif |
| 100 | + |
| 101 | +SUBST_CLASSES+= desktop |
| 102 | +SUBST_STAGE.desktop= pre-configure |
| 103 | +SUBST_FILES.desktop= platform/toolkit/mozapps/installer/linux/rpm/mozilla.desktop |
| 104 | +SUBST_SED.desktop= -e 's,@MOZ_APP_DISPLAYNAME@,Basilisk,g' |
| 105 | +SUBST_SED.desktop+= -e 's,@MOZ_APP_NAME@,basilisk,g' |
| 106 | + |
| 107 | +INSTALLATION_DIRS+= share/applications |
| 108 | +INSTALLATION_DIRS+= share/icons/hicolor/16x16/apps |
| 109 | +INSTALLATION_DIRS+= share/icons/hicolor/32x32/apps |
| 110 | +INSTALLATION_DIRS+= share/icons/hicolor/48x48/apps |
| 111 | +INSTALLATION_DIRS+= share/icons/hicolor/128x128/apps |
| 112 | + |
| 113 | +CHECK_PORTABILITY_SKIP+= platform/js/src/tests/*.sh |
| 114 | +CHECK_PORTABILITY_SKIP+= platform/memory/jemalloc/src/configure |
| 115 | +CHECK_PORTABILITY_SKIP+= platform/security/nss/tests/*/*.sh |
| 116 | + |
| 117 | +PYTHON_VERSIONS_ACCEPTED= 27 |
| 118 | +PYTHON_FOR_BUILD_ONLY= tool |
| 119 | + |
| 120 | +pre-configure: |
| 121 | + ${MKDIR} ${CONFIGURE_DIRS} |
| 122 | + cd ${WRKSRC} && autoconf-2.13 |
| 123 | + cd ${WRKSRC}/basilisk && autoconf-2.13 |
| 124 | + cd ${WRKSRC}/platform/js/src && autoconf-2.13 |
| 125 | + |
| 126 | +pre-patch: |
| 127 | + ${MV} ${WRKDIR}/uxp/* ${WRKSRC}/platform/ |
| 128 | + ${RM} -rf ${WRKSRC}/platform/python/psutil |
| 129 | + ${MV} ${WRKDIR}/psutil-3.4.2 ${WRKSRC}/platform/python/psutil |
| 130 | + |
| 131 | +pre-build: |
| 132 | + ${TOUCH} ${WRKSRC}/platform/configure |
| 133 | + ${TOUCH} ${WRKDIR}/build/config.status |
| 134 | + |
| 135 | +post-install: |
| 136 | + ${FIND} ${DESTDIR}${PREFIX} -name '*.a' -exec ${RM} '{}' ';' |
| 137 | + ${RM} -rf ${DESTDIR}${PREFIX}/include |
| 138 | + ${RM} -rf ${DESTDIR}${PREFIX}/share/idl |
| 139 | + ${RM} -rf ${DESTDIR}${PREFIX}/lib/*-devel* |
| 140 | + ${RM} -rf ${DESTDIR}${PREFIX}/lib/basilisk-devel-${PKGVERSION_NOREV} |
| 141 | + ${INSTALL_DATA} ${WRKSRC}/basilisk/branding/unofficial/default16.png \ |
| 142 | + ${DESTDIR}${PREFIX}/share/icons/hicolor/16x16/apps/basilisk.png |
| 143 | + ${INSTALL_DATA} ${WRKSRC}/basilisk/branding/unofficial/default32.png \ |
| 144 | + ${DESTDIR}${PREFIX}/share/icons/hicolor/32x32/apps/basilisk.png |
| 145 | + ${INSTALL_DATA} ${WRKSRC}/basilisk/branding/unofficial/default48.png \ |
| 146 | + ${DESTDIR}${PREFIX}/share/icons/hicolor/48x48/apps/basilisk.png |
| 147 | + ${INSTALL_DATA} ${WRKSRC}/basilisk/branding/unofficial/mozicon128.png \ |
| 148 | + ${DESTDIR}${PREFIX}/share/icons/hicolor/128x128/apps/basilisk.png |
| 149 | + ${INSTALL_DATA} ${WRKSRC}/platform/toolkit/mozapps/installer/linux/rpm/mozilla.desktop \ |
| 150 | + ${DESTDIR}${PREFIX}/share/applications/basilisk.desktop |
| 151 | + |
| 152 | +.include "options.mk" |
| 153 | +.include "../../archivers/bzip2/buildlink3.mk" |
| 154 | +.if ${OPSYS} == "Linux" |
| 155 | +. include "../../audio/alsa-lib/buildlink3.mk" |
| 156 | +.endif |
| 157 | +.include "../../devel/zlib/buildlink3.mk" |
| 158 | +.include "../../graphics/hicolor-icon-theme/buildlink3.mk" |
| 159 | +.include "../../lang/python/batteries-included.mk" |
| 160 | +.include "../../lang/python/application.mk" |
| 161 | +.include "../../lang/python/tool.mk" |
| 162 | +.include "../../multimedia/ffmpeg6/buildlink3.mk" |
| 163 | +.include "../../security/openssl/buildlink3.mk" |
| 164 | +.include "../../sysutils/desktop-file-utils/desktopdb.mk" |
| 165 | +.if ${OPSYS} == "Darwin" |
| 166 | +CONFIGURE_ARGS+= --enable-default-toolkit=cairo-cocoa |
| 167 | +.else |
| 168 | +CONFIGURE_ARGS+= --enable-default-toolkit=cairo-gtk3 |
| 169 | +. include "../../x11/gtk2/buildlink3.mk" |
| 170 | +. include "../../x11/gtk3/buildlink3.mk" |
| 171 | +. include "../../x11/libXt/buildlink3.mk" |
| 172 | +.endif |
| 173 | +.include "../../mk/atomic64.mk" |
| 174 | +.include "../../mk/bsd.pkg.mk" |
0 commit comments