跳到主要内容

kmpkg_download_sourceforge

从 SourceForge 上的项目下载文件。

此函数会自动检查一组 SourceForge 镜像源。可通过三元组(triplet)中的 KMPKG_SOURCEFORGE_EXTRA_MIRRORS 列表变量注入额外的镜像源。

若要将下载的文件用作源码,应优先使用 kmpkg_from_sourceforge,而非此函数搭配 kmpkg_extract_source_archive 使用。

用法

kmpkg_download_sourceforge(
<OUT_VARIABLE>
REPO <cunit/CUnit>
[REF <2.1-3>]
SHA512 <547b417109332...>
FILENAME <CUnit-2.1-3.tar.bz2>
)

参数

OUT_VARIABLE

此变量会被赋值为已下载文件的完整路径。

REPO

SourceForge 上的组织/用户,以及对应的仓库(可选)。

REF

内容不会变更的稳定版本号。

FILENAME

文件的本地命名。文件会在不同端口间共享,因此可能需要重命名文件,以明确归属此端口并避免命名冲突。

示例如下,假设有如下下载链接: https://sourceforge.net/settings/mirror_choices?projectname=mad&filename=libmad/0.15.1b/libmad-0.15.1b.tar.gz&selected=nchc 则 REPO 为 mad/libmad,REF 为 0.15.1b,FILENAME 为 libmad-0.15.1b.tar.gz

对于一些特殊链接(无版本子目录): https://sourceforge.net/settings/mirror_choices?projectname=soxr&filename=soxr-0.1.3-Source.tar.xz&selected=nchc 则 REPO 为 soxr,REF 留空,FILENAME 为 soxr-0.1.3-Source.tar.xz

SHA512

应与归档文件匹配的 SHA512 哈希值。

获取该哈希值最便捷的方式是:先将此参数设为 0,然后尝试构建该端口;构建失败时的报错信息会包含文件完整的 SHA512 哈希值,直接复制该值回填到端口文件即可。

源码

scripts/cmake/kmpkg_download_sourceforge.cmake