summaryrefslogtreecommitdiffstats
path: root/package/cargo
Commit message (Collapse)AuthorAgeFilesLines
* package/cargo: pass appropriate library path to the linkerThomas Petazzoni2019-01-171-1/+1
| | | | | | | | | | | | | | | | When linking the host cargo binary, the linker should be told to find libraries in $(HOST_DIR)/lib, otherwise it will not work libraries such as libhttp_parser. This was found with per-package directory support, where the build failed with: = note: /usr/bin/ld: cannot find -lhttp_parser collect2: error: ld returned 1 exit status In order to fix this, instead of passing -L$(HOST_DIR)/lib during the build of Cargo, we make sure all flags in $(HOST_LDFLAGS) are passed. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* host-cargo: select host-rustcFabrice Fontaine2018-06-101-1/+2
| | | | | | | | | | | | | | | | | | | | | Buildroot documentation specifies that cargo-based package should only depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS and selects BR2_PACKAGE_HOST_CARGO but this fails with the following error: warning: (BR2_PACKAGE_LIBRSVG) selects BR2_PACKAGE_HOST_CARGO which has unmet direct dependencies (BR2_PACKAGE_HAS_HOST_RUSTC) Indeed, host-cargo depends on BR2_PACKAGE_HAS_HOST_RUSTC which is selected only when host-rustc is selected. So instead of having to select both cargo and rustc in each cargo-based package, replace BR2_PACKAGE_HAS_HOST_RUSTC dependency by BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS and select BR2_PACKAGE_HOST_RUSTC Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* cargo: bump version to 0.26.0Eric Le Bihan2018-05-022-5/+5
| | | | | Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* cargo: use HOST_CARGO_DL_DIR instead of CARGO_DL_DIRMaxime Hadjinlian2018-04-021-2/+2
| | | | | | | | | The infrastructure only provides HOST_CARGO_DL_DIR, because this package is host only. Ideally the infra should provide CARGO_DL_DIR, but it doesn't currently, and that requires more significant changes. Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* packages: use new $($PKG)_DL_DIR) variableMaxime Hadjinlian2018-04-021-2/+2
| | | | | | | | | | | | | | | | | | | | | Instead of DL_DIR, the package should now use $(PKG)_DL_DIR to ease the transition into a new directory structure for DL_DIR. This commit has been generated with the following scripts: for i in $(find . -iname "*.mk"); do if ! grep -q "\$(DL_DIR)" ${i}; then continue fi pkg_name="$(basename $(dirname ${i}))" [ "${pkg_name}" = "package" ] && continue raw_pkg_name=$(echo ${pkg_name} | tr [a-z] [A-Z] | tr '-' '_') pkg_dl_dir="${raw_pkg_name}_DL_DIR" sed -i "s/\$(DL_DIR)/\$($pkg_dl_dir)/" ${i} done Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* rustc: use RUSTC_{HOST,TARGET}_NAMEEric Le Bihan2018-02-132-2/+2
| | | | | | | | | | | | | | | utils/check-package complains as follows: package/rustc/rustc.mk:10: possible typo: RUST_TARGET_NAME -> *RUSTC* package/rustc/rustc.mk:18: possible typo: RUST_HOST_NAME -> *RUSTC* As RUST_{HOST,TARGET}_NAME are related to the Rust compiler, it sounds sensible to rename them to RUSTC_{HOST,TARGET}_NAME. So update all rust related packages to use the new variables. Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* cargo: new packageEric Le Bihan2018-02-054-0/+109
This new package provides Cargo, the Rust official package manager. Cargo is written in Rust and uses Cargo as its build system. It also depends on other Rust packages. Normally, a previously installed version of Cargo would be used to: 1. Fetch the dependencies. 2. Build the new version of Cargo, using the available Rust compiler. But the fetching step prevents offline builds. So instead two features of Cargo are leveraged: vendoring [1] and local registry. First, a tarball of the build dependencies generated using `cargo vendor` is fetched along with Cargo source code. Then, the build process is as follows: 1. The tarball of the build dependencies is uncompressed in a local registry. 2. A snapshot of Cargo, provided by cargo-bin, builds the final version of Cargo. 3. A configuration file telling Cargo how to cross-compile programs for the target is generated and installed. Currently, only the host variant is provided. [1] https://github.com/alexcrichton/cargo-vendor [Peter: use src.fedoraproject.org, fix comment] Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
OpenPOWER on IntegriCloud