// External definitions used by this recipe: // // workdir: String // name: String // destdir: String // build: Platform // build_depend: (task: TaskID) -> TaskDep // host_depend: (task: TaskID) -> TaskDep version = "6.3.0"; sourcedir = "{{workdir}}/{{name}}-{{version}}"; builddir = "{{workdir}}/{{name}}-build"; fetch source { url = ["https://invalid/{{name}}-{{version}}.tar.xz"]; // TODO: Move to lockfile sha256 = "a3c2b80201b89e68616f4ad30bc66aee4927c3ce50e33929ca819d5c43538898"; } task unpack() { depends = [source]; run = ``` tar xf {{source.path}} ```; } task configure(host: Platform) { parent = unpack(); depends = [ build_depend(toolchain::build_depends), host_depend(toolchain::depends), ]; run = ``` mkdir {{builddir}} cd {{builddir}} {{sourcedir}}/configure \ --build={{build.gnu_triplet}} \ --host={{host.gnu_triplet}} \ --prefix={{host.prefix}} ```; } task compile(host: Platform) { parent = configure(host); run = ``` cd {{builddir}} make ```; } task install(host: Platform) { parent = compile(host); output = { default = { runtime_depends = [host_depend(toolchain::depends)], }, }; run = ``` cd {{builddir}} make DESTDIR={{destdir}} install rm {{destdir}}{{host.prefix}}/lib/*.a rm {{destdir}}{{host.prefix}}/lib/*.la ```; }