firefox-unwrapped: fix cross compilation
This commit is contained in:
parent
be29f4575e
commit
f6c5761935
@ -65,6 +65,7 @@
|
||||
, xorg
|
||||
, zip
|
||||
, zlib
|
||||
, pkgsBuildBuild
|
||||
|
||||
# optionals
|
||||
|
||||
@ -139,16 +140,21 @@ let
|
||||
|
||||
# Target the LLVM version that rustc is built with for LTO.
|
||||
llvmPackages0 = rustc.llvmPackages;
|
||||
llvmPackagesBuildBuild0 = pkgsBuildBuild.rustc.llvmPackages;
|
||||
|
||||
# Force the use of lld and other llvm tools for LTO
|
||||
llvmPackages = llvmPackages0.override {
|
||||
bootBintoolsNoLibc = null;
|
||||
bootBintools = null;
|
||||
};
|
||||
llvmPackagesBuildBuild = llvmPackagesBuildBuild0.override {
|
||||
bootBintoolsNoLibc = null;
|
||||
bootBintools = null;
|
||||
};
|
||||
|
||||
# LTO requires LLVM bintools including ld.lld and llvm-ar.
|
||||
buildStdenv = overrideCC llvmPackages.stdenv (llvmPackages.stdenv.cc.override {
|
||||
inherit (llvmPackages) bintools;
|
||||
bintools = if ltoSupport then buildPackages.rustc.llvmPackages.bintools else stdenv.cc.bintools;
|
||||
});
|
||||
|
||||
# Compile the wasm32 sysroot to build the RLBox Sandbox
|
||||
@ -193,10 +199,15 @@ buildStdenv.mkDerivation ({
|
||||
# two patches.
|
||||
patchFlags = [ "-p1" "-l" ];
|
||||
|
||||
# if not explicitly set, wrong cc from buildStdenv would be used
|
||||
HOST_CC = "${llvmPackagesBuildBuild.stdenv.cc}/bin/cc";
|
||||
HOST_CXX = "${llvmPackagesBuildBuild.stdenv.cc}/bin/c++";
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoconf
|
||||
cargo
|
||||
llvmPackages.llvm # llvm-objdump
|
||||
gnum4
|
||||
llvmPackagesBuildBuild.bintools
|
||||
makeWrapper
|
||||
nodejs
|
||||
perl
|
||||
@ -273,13 +284,16 @@ buildStdenv.mkDerivation ({
|
||||
export MOZILLA_OFFICIAL=1
|
||||
'';
|
||||
|
||||
# firefox has a different definition of configurePlatforms from nixpkgs, see configureFlags
|
||||
configurePlatforms = [ ];
|
||||
|
||||
configureFlags = [
|
||||
"--disable-tests"
|
||||
"--disable-updater"
|
||||
"--enable-application=${application}"
|
||||
"--enable-default-toolkit=cairo-gtk3${lib.optionalString waylandSupport "-wayland"}"
|
||||
"--enable-system-pixman"
|
||||
"--with-libclang-path=${llvmPackages.libclang.lib}/lib"
|
||||
"--with-libclang-path=${llvmPackagesBuildBuild.libclang.lib}/lib"
|
||||
"--with-system-ffi"
|
||||
"--with-system-icu"
|
||||
"--with-system-jpeg"
|
||||
@ -290,6 +304,9 @@ buildStdenv.mkDerivation ({
|
||||
"--with-system-png" # needs APNG support
|
||||
"--with-system-webp"
|
||||
"--with-system-zlib"
|
||||
# for firefox, host is buildPlatform, target is hostPlatform
|
||||
"--host=${buildStdenv.buildPlatform.config}"
|
||||
"--target=${buildStdenv.hostPlatform.config}"
|
||||
]
|
||||
# LTO is done using clang and lld on Linux.
|
||||
++ lib.optionals ltoSupport [
|
||||
@ -332,7 +349,6 @@ buildStdenv.mkDerivation ({
|
||||
fontconfig
|
||||
freetype
|
||||
glib
|
||||
gnum4
|
||||
gtk3
|
||||
icu
|
||||
libffi
|
||||
|
@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
|
||||
buildInputs = lib.optional stdenv.hostPlatform.isLinux alsa-lib;
|
||||
configurePlatforms = [];
|
||||
|
||||
postInstall = ''
|
||||
install -Dm644 contrib/sndiod.service $out/lib/systemd/system/sndiod.service
|
||||
|
@ -26447,11 +26447,7 @@ with pkgs;
|
||||
|
||||
filezilla = callPackage ../applications/networking/ftp/filezilla { };
|
||||
|
||||
buildMozillaMach =
|
||||
let callPackage = newScope {
|
||||
inherit (rustPackages) cargo rustc;
|
||||
};
|
||||
in opts: callPackage (import ../applications/networking/browsers/firefox/common.nix opts) {};
|
||||
buildMozillaMach = opts: callPackage (import ../applications/networking/browsers/firefox/common.nix opts) {};
|
||||
|
||||
firefoxPackages = recurseIntoAttrs (callPackage ../applications/networking/browsers/firefox/packages.nix {});
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user