[vlc-devel] [PATCH 0/8] Rust contribs support

Thomas Guillem thomas at gllm.fr
Tue Aug 25 16:45:01 CEST 2020


Hello,

Kartik proposed in a first set to install and use cargo/rustup from
extra/tools/bin, mainly because I suggested him to do it like that. This caused
a major issue: how to know the wanted rustup target to install.

This new set of patches change how cargo and rustup are used: the rustup/cargo
installation is now in contrib/bin/.cargo. When a package requires cargo from a
contrib (like ".rav1e: rav1e .cargo-c"), rustup will be installed if needed,
and the correct target will be installed from cargo.

This set also add support for cargo vendor archives.
cf. https://doc.rust-lang.org/cargo/commands/cargo-vendor.html
'cargo vendor' fetch all dependencies required by a Rust project.

This will be used to create an archive containing all dependencies of a rust
project. Such archive will be uploaded by VideoLAN administrators into the
VideoLAN FTP. The main purpose is to be able to get all the sources from a
specific VLC version.

The vendor archive will also be used as the principal crates source. If the
vendor archive is present and the checksum is correct, the cargo installation
of a contrib project won't require any network and use this source. If the
archive is not present or invalid, the cargo installation will use the default
crates.io.

Best regards,
Kartik Ohri (4):
  contrib: add rust targets and cargo to contrib makefile
  contrib: add rustup
  contrib: add rav1e
  codec: add rav1e encoder module

Thomas Guillem (4):
  contrib: specify the .sum- prefix in the checksum function
  contrib: add cargo rules
  contrib: add cargo-vendor-archive.sh script
  WIP: contrib: rav1e: add cargo-vendor checksum

 configure.ac                              |   5 +
 contrib/cargo-vendor-archive.sh           |  53 ++++
 contrib/src/main-rust.mak                 |  65 +++++
 contrib/src/main.mak                      |  11 +-
 contrib/src/rav1e/SHA512SUMS              |   1 +
 contrib/src/rav1e/cargo-vendor-SHA512SUMS |   1 +
 contrib/src/rav1e/rules.mak               |  32 +++
 contrib/src/rustup/SHA512SUMS             |   1 +
 contrib/src/rustup/rules.mak              |  29 +++
 modules/codec/Makefile.am                 |   8 +
 modules/codec/rav1e.c                     | 303 ++++++++++++++++++++++
 11 files changed, 506 insertions(+), 3 deletions(-)
 create mode 100755 contrib/cargo-vendor-archive.sh
 create mode 100644 contrib/src/main-rust.mak
 create mode 100644 contrib/src/rav1e/SHA512SUMS
 create mode 100644 contrib/src/rav1e/cargo-vendor-SHA512SUMS
 create mode 100644 contrib/src/rav1e/rules.mak
 create mode 100644 contrib/src/rustup/SHA512SUMS
 create mode 100644 contrib/src/rustup/rules.mak
 create mode 100644 modules/codec/rav1e.c

-- 
2.28.0



More information about the vlc-devel mailing list