Add curl recipe

This commit is contained in:
Jeremy Soller 2020-05-21 21:13:39 -06:00
parent decf39197d
commit db9f4e40bf
No known key found for this signature in database
GPG Key ID: E988B49EE78A7FB1
2 changed files with 44 additions and 0 deletions

39
recipes/curl/recipe.toml Normal file
View File

@ -0,0 +1,39 @@
[source]
git = "https://gitlab.redox-os.org/redox-os/curl.git"
branch = "redox"
[build]
template = "custom"
dependencies = [
"nghttp2",
"openssl",
"zlib"
]
script = """
rsync -av --delete "${COOKBOOK_SOURCE}/" ./
wget -O config.sub http://git.savannah.gnu.org/cgit/config.git/plain/config.sub
autoreconf -i
COOKBOOK_CONFIGURE="./configure"
COOKBOOK_CONFIGURE_FLAGS=(
--build="$(cc -dumpmachine)"
--host="${TARGET}"
--prefix=""
--disable-ftp
--disable-ipv6
--disable-ntlm-wb
--disable-shared
--disable-tftp
--disable-threaded-resolver
--enable-static
--with-ca-path=/ssl/certs
--with-nghttp2="${COOKBOOK_SYSROOT}"
--with-ssl="${COOKBOOK_SYSROOT}"
--with-zlib="${COOKBOOK_SYSROOT}"
)
cookbook_configure
"""
[package]
dependencies = [
"ca-certificates"
]

View File

@ -339,6 +339,9 @@ fn build(recipe_dir: &Path, source_dir: &Path, build: &BuildRecipe) -> Result<Pa
}
let pre_script = r#"# Common pre script
# Add cookbook bins to path
export PATH="${COOKBOOK_ROOT}/bin:${PATH}"
# This puts cargo build artifacts in the build directory
export CARGO_TARGET_DIR="${COOKBOOK_BUILD}/target"
@ -414,12 +417,14 @@ fi
//TODO: remove unwraps
let cookbook_build = build_dir.canonicalize().unwrap();
let cookbook_recipe = recipe_dir.canonicalize().unwrap();
let cookbook_root = Path::new(".").canonicalize().unwrap();
let cookbook_stage = stage_dir_tmp.canonicalize().unwrap();
let cookbook_source = source_dir.canonicalize().unwrap();
let cookbook_sysroot = sysroot_dir.canonicalize().unwrap();
command.current_dir(&cookbook_build);
command.env("COOKBOOK_BUILD", &cookbook_build);
command.env("COOKBOOK_RECIPE", &cookbook_recipe);
command.env("COOKBOOK_ROOT", &cookbook_root);
command.env("COOKBOOK_STAGE", &cookbook_stage);
command.env("COOKBOOK_SOURCE", &cookbook_source);
command.env("COOKBOOK_SYSROOT", &cookbook_sysroot);