Also updates beta, nightly, nightlyBin, and bootstrap compilers. Also updates the registry. Also consolidates logic between bootstrap and nightlyBin compilers. Also contains some miscellaneous cleanups. Also patches firefox to build with the newer cargowip/yesman
parent
53835c93cb
commit
1e0866e064
@ -0,0 +1,33 @@ |
||||
diff --git a/media/libstagefright/binding/mp4parse-cargo.patch b/media/libstagefright/binding/mp4parse-cargo.patch
|
||||
index 1dd13d2..f98b722 100644
|
||||
--- a/media/libstagefright/binding/mp4parse-cargo.patch
|
||||
+++ b/media/libstagefright/binding/mp4parse-cargo.patch
|
||||
@@ -27,12 +27,13 @@ diff --git a/media/libstagefright/binding/mp4parse_capi/Cargo.toml b/media/libst
|
||||
index aeeebc65..5c0836a 100644
|
||||
--- a/media/libstagefright/binding/mp4parse_capi/Cargo.toml
|
||||
+++ b/media/libstagefright/binding/mp4parse_capi/Cargo.toml
|
||||
-@@ -18,18 +18,10 @@ exclude = [
|
||||
+@@ -18,17 +18,12 @@ exclude = [
|
||||
"*.mp4",
|
||||
]
|
||||
|
||||
-build = "build.rs"
|
||||
--
|
||||
++build = false
|
||||
++
|
||||
[dependencies]
|
||||
byteorder = "1.0.0"
|
||||
"mp4parse" = {version = "0.6.0", path = "../mp4parse"}
|
||||
diff --git a/media/libstagefright/binding/mp4parse_capi/Cargo.toml b/media/libstagefright/binding/mp4parse_capi/Cargo.toml
|
||||
index aee7ee9..d7e3f55 100644
|
||||
--- a/media/libstagefright/binding/mp4parse_capi/Cargo.toml
|
||||
+++ b/media/libstagefright/binding/mp4parse_capi/Cargo.toml
|
||||
@@ -18,6 +18,8 @@ exclude = [
|
||||
"*.mp4",
|
||||
]
|
||||
|
||||
+build = false
|
||||
+
|
||||
[dependencies]
|
||||
byteorder = "1.0.0"
|
||||
"mp4parse" = {version = "0.6.0", path = "../mp4parse"}
|
@ -0,0 +1,99 @@ |
||||
{ stdenv, fetchurl, makeWrapper, cacert, zlib, buildRustPackage, curl |
||||
, version |
||||
, src |
||||
, platform |
||||
, versionType |
||||
}: |
||||
|
||||
let |
||||
inherit (stdenv.lib) optionalString; |
||||
|
||||
needsPatchelf = stdenv.isLinux; |
||||
|
||||
bootstrapping = versionType == "bootstrap"; |
||||
|
||||
installComponents |
||||
= "rustc,rust-std-${platform}" |
||||
+ (optionalString bootstrapping ",rust-docs,cargo") |
||||
; |
||||
in |
||||
|
||||
rec { |
||||
inherit buildRustPackage; |
||||
|
||||
rustc = stdenv.mkDerivation rec { |
||||
name = "rustc-${versionType}-${version}"; |
||||
|
||||
inherit version; |
||||
inherit src; |
||||
|
||||
meta = with stdenv.lib; { |
||||
homepage = http://www.rust-lang.org/; |
||||
description = "A safe, concurrent, practical language"; |
||||
maintainers = with maintainers; [ qknight ]; |
||||
license = [ licenses.mit licenses.asl20 ]; |
||||
}; |
||||
|
||||
phases = ["unpackPhase" "installPhase"]; |
||||
|
||||
installPhase = '' |
||||
./install.sh --prefix=$out \ |
||||
--components=${installComponents} |
||||
|
||||
${optionalString (needsPatchelf && bootstrapping) '' |
||||
patchelf \ |
||||
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ |
||||
"$out/bin/rustdoc" |
||||
patchelf \ |
||||
--set-rpath "${stdenv.lib.makeLibraryPath [ curl zlib ]}" \ |
||||
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ |
||||
"$out/bin/cargo" |
||||
''} |
||||
|
||||
${optionalString needsPatchelf '' |
||||
patchelf \ |
||||
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ |
||||
"$out/bin/rustc" |
||||
|
||||
# Do NOT, I repeat, DO NOT use `wrapProgram` on $out/bin/rustc |
||||
# (or similar) here. It causes strange effects where rustc loads |
||||
# the wrong libraries in a bootstrap-build causing failures that |
||||
# are very hard to track dow. For details, see |
||||
# https://github.com/rust-lang/rust/issues/34722#issuecomment-232164943 |
||||
''} |
||||
''; |
||||
|
||||
}; |
||||
|
||||
cargo = stdenv.mkDerivation rec { |
||||
name = "cargo-${versionType}-${version}"; |
||||
|
||||
inherit version; |
||||
inherit src; |
||||
|
||||
meta = with stdenv.lib; { |
||||
homepage = http://www.rust-lang.org/; |
||||
description = "A safe, concurrent, practical language"; |
||||
maintainers = with maintainers; [ qknight ]; |
||||
license = [ licenses.mit licenses.asl20 ]; |
||||
}; |
||||
|
||||
buildInputs = [ makeWrapper ]; |
||||
phases = ["unpackPhase" "installPhase"]; |
||||
|
||||
installPhase = '' |
||||
./install.sh --prefix=$out \ |
||||
--components=cargo |
||||
|
||||
${optionalString needsPatchelf '' |
||||
patchelf \ |
||||
--set-rpath "${stdenv.lib.makeLibraryPath [ curl zlib ]}" \ |
||||
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ |
||||
"$out/bin/cargo" |
||||
''} |
||||
|
||||
wrapProgram "$out/bin/cargo" \ |
||||
--suffix PATH : "${rustc}/bin" |
||||
''; |
||||
}; |
||||
} |
@ -1,87 +1,23 @@ |
||||
{ stdenv, fetchurl, makeWrapper, cacert, zlib, buildRustPackage, curl }: |
||||
|
||||
let |
||||
inherit (stdenv.lib) optionalString; |
||||
|
||||
platform = if stdenv.system == "x86_64-linux" |
||||
then "x86_64-unknown-linux-gnu" |
||||
else throw "missing bootstrap url for platform ${stdenv.system}"; |
||||
|
||||
bootstrapHash = |
||||
if stdenv.system == "x86_64-linux" |
||||
then "1d5h34dkm1r1ff562szygn9xk2qll1pjryvypl0lazzanxdh5gv5" |
||||
then "21f38f46bf16373d3240a38b775e1acff9bb429f1570a4d4da8b3000315d0085" |
||||
else throw "missing bootstrap hash for platform ${stdenv.system}"; |
||||
|
||||
needsPatchelf = stdenv.isLinux; |
||||
|
||||
src = fetchurl { |
||||
url = "https://static.rust-lang.org/dist/${version}/rust-nightly-${platform}.tar.gz"; |
||||
sha256 = bootstrapHash; |
||||
}; |
||||
|
||||
version = "2017-03-16"; |
||||
in |
||||
|
||||
rec { |
||||
inherit buildRustPackage; |
||||
|
||||
rustc = stdenv.mkDerivation rec { |
||||
name = "rustc-nightly-${version}"; |
||||
|
||||
inherit version; |
||||
inherit src; |
||||
|
||||
meta = with stdenv.lib; { |
||||
homepage = http://www.rust-lang.org/; |
||||
description = "A safe, concurrent, practical language"; |
||||
maintainers = with maintainers; [ qknight ]; |
||||
license = [ licenses.mit licenses.asl20 ]; |
||||
}; |
||||
|
||||
buildInputs = [ makeWrapper ]; |
||||
phases = ["unpackPhase" "installPhase"]; |
||||
|
||||
installPhase = '' |
||||
./install.sh --prefix=$out \ |
||||
--components=rustc,rust-std-x86_64-unknown-linux-gnu |
||||
|
||||
${optionalString needsPatchelf '' |
||||
patchelf \ |
||||
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ |
||||
"$out/bin/rustc" |
||||
patchelf \ |
||||
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ |
||||
"$out/bin/rustdoc" |
||||
''} |
||||
''; |
||||
|
||||
}; |
||||
cargo = stdenv.mkDerivation rec { |
||||
name = "cargo-nightly-${version}"; |
||||
|
||||
inherit version; |
||||
inherit src; |
||||
|
||||
meta = with stdenv.lib; { |
||||
homepage = http://www.rust-lang.org/; |
||||
description = "A safe, concurrent, practical language"; |
||||
maintainers = with maintainers; [ qknight ]; |
||||
license = [ licenses.mit licenses.asl20 ]; |
||||
}; |
||||
|
||||
buildInputs = [ makeWrapper curl ]; |
||||
phases = ["unpackPhase" "installPhase"]; |
||||
|
||||
installPhase = '' |
||||
./install.sh --prefix=$out \ |
||||
--components=cargo |
||||
|
||||
${optionalString needsPatchelf '' |
||||
patchelf \ |
||||
--set-rpath "${stdenv.lib.makeLibraryPath [ curl zlib ]}" \ |
||||
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ |
||||
"$out/bin/cargo" |
||||
''} |
||||
''; |
||||
}; |
||||
} |
||||
version = "2017-05-30"; |
||||
in import ./binaryBuild.nix |
||||
{ inherit stdenv fetchurl makeWrapper cacert zlib buildRustPackage curl; |
||||
inherit version src platform; |
||||
versionType = "nightly"; |
||||
} |
||||
|
Loading…
Reference in new issue