forked from mirrors/nixpkgs
firefox: use rustPlatform.bindgenHook
This commit is contained in:
parent
6d900390ca
commit
e60782c7fa
|
@ -11,7 +11,7 @@
|
||||||
, hunspell, libevent, libstartup_notification
|
, hunspell, libevent, libstartup_notification
|
||||||
, libvpx
|
, libvpx
|
||||||
, icu70, libpng, glib, pciutils
|
, icu70, libpng, glib, pciutils
|
||||||
, autoconf213, which, gnused, rustPackages
|
, autoconf213, which, gnused, rustPackages, rustPlatform
|
||||||
, rust-cbindgen, nodejs, nasm, fetchpatch
|
, rust-cbindgen, nodejs, nasm, fetchpatch
|
||||||
, gnum4
|
, gnum4
|
||||||
, gtk3, wrapGAppsHook
|
, gtk3, wrapGAppsHook
|
||||||
|
@ -196,6 +196,7 @@ buildStdenv.mkDerivation ({
|
||||||
which
|
which
|
||||||
unzip
|
unzip
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
|
rustPlatform.bindgenHook
|
||||||
]
|
]
|
||||||
++ lib.optionals buildStdenv.isDarwin [ xcbuild rsync ]
|
++ lib.optionals buildStdenv.isDarwin [ xcbuild rsync ]
|
||||||
++ extraNativeBuildInputs;
|
++ extraNativeBuildInputs;
|
||||||
|
@ -210,28 +211,8 @@ buildStdenv.mkDerivation ({
|
||||||
rm -f .mozconfig*
|
rm -f .mozconfig*
|
||||||
# this will run autoconf213
|
# this will run autoconf213
|
||||||
configureScript="$(realpath ./mach) configure"
|
configureScript="$(realpath ./mach) configure"
|
||||||
export MOZCONFIG=$(pwd)/mozconfig
|
|
||||||
export MOZBUILD_STATE_PATH=$(pwd)/mozbuild
|
export MOZBUILD_STATE_PATH=$(pwd)/mozbuild
|
||||||
|
|
||||||
# Set C flags for Rust's bindgen program. Unlike ordinary C
|
|
||||||
# compilation, bindgen does not invoke $CC directly. Instead it
|
|
||||||
# uses LLVM's libclang. To make sure all necessary flags are
|
|
||||||
# included we need to look in a few places.
|
|
||||||
# TODO: generalize this process for other use-cases.
|
|
||||||
|
|
||||||
BINDGEN_CFLAGS="$(< ${buildStdenv.cc}/nix-support/libc-crt1-cflags) \
|
|
||||||
$(< ${buildStdenv.cc}/nix-support/libc-cflags) \
|
|
||||||
$(< ${buildStdenv.cc}/nix-support/cc-cflags) \
|
|
||||||
$(< ${buildStdenv.cc}/nix-support/libcxx-cxxflags) \
|
|
||||||
${lib.optionalString buildStdenv.cc.isClang "-idirafter ${buildStdenv.cc.cc.lib}/lib/clang/${lib.getVersion buildStdenv.cc.cc}/include"} \
|
|
||||||
${lib.optionalString buildStdenv.cc.isGNU "-isystem ${lib.getDev buildStdenv.cc.cc}/include/c++/${lib.getVersion buildStdenv.cc.cc} -isystem ${buildStdenv.cc.cc}/include/c++/${lib.getVersion buildStdenv.cc.cc}/${buildStdenv.hostPlatform.config}"} \
|
|
||||||
$NIX_CFLAGS_COMPILE"
|
|
||||||
${
|
|
||||||
# Bindgen doesn't like the flag added by `separateDebugInfo`.
|
|
||||||
lib.optionalString enableDebugSymbols ''
|
|
||||||
BINDGEN_CFLAGS="''${BINDGEN_CFLAGS/ -Wa,--compress-debug-sections/}"
|
|
||||||
''}
|
|
||||||
echo "ac_add_options BINDGEN_CFLAGS='$BINDGEN_CFLAGS'" >> $MOZCONFIG
|
|
||||||
'' + (lib.optionalString googleAPISupport ''
|
'' + (lib.optionalString googleAPISupport ''
|
||||||
# Google API key used by Chromium and Firefox.
|
# Google API key used by Chromium and Firefox.
|
||||||
# Note: These are for NixOS/nixpkgs use ONLY. For your own distribution,
|
# Note: These are for NixOS/nixpkgs use ONLY. For your own distribution,
|
||||||
|
|
Loading…
Reference in a new issue