Build script attempts to download portaudio code through plain http and without any signature checking (because there aren't any) and then run it.
|
pub const PORTAUDIO_URL: &'static str = "http://www.portaudio.com/archives/pa_stable_v19_20140130.tgz"; |
|
match Command::new("tar").arg("xvf").arg(PORTAUDIO_TAR).output() { |
|
Ok(_) => {}, |
|
Err(e) => panic!("{}", e) |
|
} |
|
|
|
// change dir to the portaudio folder |
|
match env::set_current_dir(PORTAUDIO_FOLDER) { |
|
Ok(_) => {}, |
|
Err(e) => panic!("{}", e) |
|
} |
|
|
|
// run portaudio autoconf |
|
Command::new("./configure") |
|
.args(&["--disable-shared", "--enable-static"]) // Only build static lib |
|
.args(&["--prefix", out_dir.to_str().unwrap()]) // Install on the outdir |
|
.arg("--with-pic") // Build position-independent code (required by Rust) |
|
.output() |
That's of course portaudio team's fault. But it's possible to download portaudio code from git as a safer alternative — https://app.assembla.com/spaces/portaudio/git/source.
I think, rust-portaudio should use this safer way to download code.
Build script attempts to download portaudio code through plain http and without any signature checking (because there aren't any) and then run it.
rust-portaudio/build.rs
Line 62 in c776b83
rust-portaudio/build.rs
Lines 75 to 91 in c776b83
That's of course portaudio team's fault. But it's possible to download portaudio code from git as a safer alternative — https://app.assembla.com/spaces/portaudio/git/source.
I think, rust-portaudio should use this safer way to download code.