summaryrefslogtreecommitdiff
path: root/firefox/Pkgfile
blob: 5308a073c92b654550a529397d3ccb56b33e926c (plain)
    1 # Description: The Mozilla Firefox browser with Alsa support
    2 # URL: https://www.mozilla.com/firefox/
    3 # Maintainer: Danny Rawlins, crux at romster dot me
    4 # Depends on: alsa-lib autoconf-2.13 cbindgen clang dbus-glib gtk libidl libnotify libxkbcommon lld nodejs nss unzip xorg-libxt yasm zip python
    5 # Optional: sccache jack
    6 
    7 name=firefox
    8 version=88.0
    9 release=1
   10 source=(https://archive.mozilla.org/pub/firefox/releases/$version/source/$name-$version.source.tar.xz
   11 	firefox.desktop
   12 	0001-Use-remoting-name-for-GDK-application-names.patch)
   13 
   14 build() {
   15 	cd firefox-$version
   16 
   17 	# https://bugzilla.mozilla.org/show_bug.cgi?id=1530052
   18 	patch -p1 -i $SRC/0001-Use-remoting-name-for-GDK-application-names.patch
   19 
   20 	if [ $(/usr/bin/python -c "import sys; print sys.stdout.encoding") = 'UTF-8' ]; then
   21 		printf "\e[031mError: set an UTF-8 locale to compile this!\033[0m\n"
   22 		exit 1
   23 	fi
   24 
   25 	if [ -e '/usr/bin/ccache' ]; then
   26 		export OS_CCACHE_COMPILERCHECK="$(/usr/bin/clang -dumpversion | sed -z 's/\n/ /g'; crux | cut -d' ' -f3)"
   27 		export CCACHE_COMPILERCHECK="string:$OS_CCACHE_COMPILERCHECK"
   28 		PATH=$(echo ${PATH} | awk -v RS=: -v ORS=: '/ccache/ {next} {print}' | sed 's/:*$//')
   29 	fi	
   30 
   31 	prt-get isinst sccache && export RUSTC_WRAPPER=/usr/bin/sccache
   32 	mkdir "$PKGMK_SOURCE_DIR/rust" || true
   33 	export CARGO_HOME="$PKGMK_SOURCE_DIR/rust"
   34 
   35 cat <<- EOF > .mozconfig
   36 	mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-shared
   37 	unset MOZ_TELEMETRY_REPORTING
   38 	ac_add_options --prefix=/usr
   39 	ac_add_options --enable-default-toolkit=cairo-gtk3
   40 	ac_add_options --enable-application=browser
   41 	ac_add_options --with-system-jpeg
   42 	ac_add_options --with-system-zlib
   43 	ac_add_options --with-system-png
   44 	ac_add_options --with-system-nspr
   45 	ac_add_options --with-system-nss
   46 	ac_add_options --enable-av1
   47 	ac_add_options --enable-system-ffi
   48 	ac_add_options --enable-system-pixman
   49 	ac_add_options --enable-alsa
   50 	ac_add_options --enable-optimize
   51 	ac_add_options --enable-release
   52 	ac_add_options --enable-rust-simd
   53 	ac_add_options --disable-debug-symbols
   54 	ac_add_options --disable-pulseaudio
   55 	ac_add_options --enable-official-branding
   56 	ac_add_options --with-distribution-id=nu.crux
   57 	ac_add_options --enable-extensions=default,-gnomevfs
   58 	ac_add_options --enable-linker=lld
   59 	ac_add_options --disable-tests
   60 	ac_add_options --disable-debug
   61 	ac_add_options --disable-updater
   62 	ac_add_options --disable-crashreporter
   63 	ac_add_options --disable-necko-wifi
   64 	ac_add_options --disable-elf-hack
   65 EOF
   66 
   67 	[[ -e '/usr/bin/ccache' ]] && echo 'ac_add_options --enable-ccache' >> .mozconfig
   68 
   69 	export CC=clang CXX=clang++ AR=llvm-ar NM=llvm-nm RANLIB=llvm-ranlib
   70 	export MOZ_MAKE_FLAGS="-j ${JOBS-1}"
   71 	export MOZBUILD_STATE_PATH="$PKGMK_SOURCE_DIR/.mozbuild"
   72 	export MOZ_NOSPAM=1
   73 	export MACH_USE_SYSTEM_PYTHON=1
   74 
   75 	./mach build
   76 	#./mach build toolkit/library/rust
   77 	DESTDIR=$PKG ./mach install
   78 
   79 	install -d $PKG/usr/share/pixmaps
   80 	ln -s /usr/lib/firefox/browser/chrome/icons/default/default48.png $PKG/usr/share/pixmaps/firefox_default48.png
   81 	install -D -m 0644 $SRC/firefox.desktop $PKG/usr/share/applications/firefox.desktop
   82 	# Remove crap
   83 	rm -r $PKG/usr/lib/firefox/browser/features
   84 	rm $PKG/usr/lib/firefox/removed-files
   85 
   86 	install -d $PKG/etc/revdep.d
   87 	echo "/usr/lib/firefox" > $PKG/etc/revdep.d/firefox
   88 }

Generated by cgit