What the bundle scripts ship¶
Every bundle script runs scripts/third_party_notices.py for the product
crate and the target it builds (x86_64-pc-windows-msvc for --target
windows). It writes:
THIRD-PARTY-NOTICES.txt: each linked third-party crate's name, version, declared licence and repository, followed by the full text of everyLICENSE*,LICENCE*,COPYING*,COPYRIGHT*,NOTICE*andUNLICENSE*file in its archive. A crate whose archive has no licence file is listed with a note (none in this graph).RAVET-LICENSE.txt: RAVET's GPL licence text. Commercial licensees follow their agreement instead.RUST-STANDARD-LIBRARY-COPYRIGHT.html, or a short.txtpointer when the toolchain has norust-docscomponent;- Windows products that link
ravet-webview:WebView2-SDK-LICENSE.txtandWebView2-SDK-NOTICE.txt, copied fromRAVET_WEBVIEW2_SDK. Without that variable a reminder is printed and the files are not written; - Linux products that link
ravet-webvieworalsa-sys:SYSTEM-LIBRARIES-LGPL.txt, with the LGPL 2.1 text found on the build machine (Arch, Debian/Ubuntu or Fedora locations), or a link and a printed reminder when none is found.
Crates whose archive has no licence file get the reconstructed MIT notice described above, and a reminder is printed for each.
| Script | Bundle | Notices location |
|---|---|---|
bundle-clap.py |
.clap |
macOS: Contents/Resources/notices/. Linux and Windows (single file): a <Name> notices directory beside <Name>.clap |
bundle-vst3.py (generic_vst3_bundle.py) |
.vst3 |
Contents/Resources/notices/, with Steinberg-VST3-LICENSE.txt |
bundle-au.py (au_native_bundle.py) |
.component |
Contents/Resources/notices/, with Apple-AudioUnitSDK-LICENSE.txt |
bundle-aax.py (aax_plugin.py) |
.aaxplugin |
Contents/Resources/notices/, with AAX-SDK-NOTICE.txt |
bundle-lv2.py (lv2_generic.py) |
.lv2 |
Bundle root, with LV2-SDK-LICENSE.txt and RAVET-LICENSING.md |
Single-file CLAP plug-ins have no resources folder, so an installer must carry
the <Name> notices directory with them. bundle-au.py --product-library
packages a prebuilt library whose crate graph is unknown; it prints a reminder
to add that library's notices. Standalone applications have no bundle script;
run the generator for the application crate and the target, and ship its
output with the application. For your own product crate, run the generator
directly:
python3 scripts/third_party_notices.py <crate> <directory> [--target <triple>] [--manifest-path <Cargo.toml>]