svn commit: r496795 - in head: Mk/Uses audio/spotifyd devel/bingrep
Tobias Kortkamp
tobik at FreeBSD.org
Mon Mar 25 06:28:21 UTC 2019
Author: tobik
Date: Mon Mar 25 06:28:20 2019
New Revision: 496795
URL: https://svnweb.freebsd.org/changeset/ports/496795
Log:
Mk/Uses/cargo.mk: Add GitLab support and drop CARGO_GH_CARGOTOML
- Add a CARGO_USE_GITHUB equivalent for GitLab instances,
CARGO_USE_GITLAB
- Replace CARGO_GH_CARGOTOML with a ${FIND} and just patch
all Cargo.toml under ${WRKDIR}. It is too tedious to find all
the Cargo.toml that need patching manually due to transitive
dependencies.
Modified:
head/Mk/Uses/cargo.mk
head/audio/spotifyd/Makefile
head/devel/bingrep/Makefile
Modified: head/Mk/Uses/cargo.mk
==============================================================================
--- head/Mk/Uses/cargo.mk Mon Mar 25 06:12:34 2019 (r496794)
+++ head/Mk/Uses/cargo.mk Mon Mar 25 06:28:20 2019 (r496795)
@@ -94,14 +94,16 @@ CARGO_BUILD?= yes
CARGO_CONFIGURE?= yes
CARGO_INSTALL?= yes
CARGO_TEST?= yes
+
+# Set CARGO_USE_GIT{HUB,LAB} to yes if your application requires
+# some dependencies from git repositories hosted on GitHub or
+# GitLab instances. All Cargo.toml files will be patched to point
+# to the right offline sources based on what is defined in
+# {GH,GL}_TUPLE. This makes sure that cargo does not attempt to
+# access the network during the build.
CARGO_USE_GITHUB?= no
+CARGO_USE_GITLAB?= no
-# If your application has multiple Cargo.toml files which all use
-# git-sourced dependencies and require the use of CARGO_USE_GITHUB and
-# GH_TUPLE, then you add them to CARGO_GH_CARGOTOML to also point them
-# to the correct offline sources.
-CARGO_GH_CARGOTOML?= ${CARGO_CARGOTOML}
-
# Manage crate features.
.if !empty(CARGO_FEATURES)
CARGO_BUILD_ARGS+= --features='${CARGO_FEATURES}'
@@ -213,16 +215,26 @@ cargo-extract:
> ${CARGO_VENDOR_DIR}/${_crate}/.cargo-checksum.json
.endfor
+_CARGO_GIT_PATCH_CARGOTOML=
.if ${CARGO_USE_GITHUB:tl} == "yes"
-_USES_patch+= 600:cargo-patch-github
-
-.for _group in ${GH_TUPLE:C@^[^:]*:[^:]*:[^:]*:(([^:/]*)?)((/.*)?)@\2@}
-_CARGO_GH_PATCH_CARGOTOML:= ${_CARGO_GH_PATCH_CARGOTOML} \
+. for _group in ${GH_TUPLE:C@^[^:]*:[^:]*:[^:]*:(([^:/]*)?)((/.*)?)@\2@}
+_CARGO_GIT_PATCH_CARGOTOML:= ${_CARGO_GIT_PATCH_CARGOTOML} \
-e 's at git = "(https|http|git)://github.com/${GH_ACCOUNT_${_group}}/${GH_PROJECT_${_group}}(\.git)?"@path = "${WRKSRC_${_group}}"@'
-.endfor
+. endfor
+.endif
+.if ${CARGO_USE_GITLAB:tl} == "yes"
+. for _group in ${GL_TUPLE:C@^(([^:]*://[^:/]*(:[0-9]{1,5})?(/[^:]*[^/])?:)?)([^:]*):([^:]*):([^:]*)(:[^:/]*)((/.*)?)@\8@:S/^://}
+_CARGO_GIT_PATCH_CARGOTOML:= ${_CARGO_GIT_PATCH_CARGOTOML} \
+ -e 's at git = "${GL_SITE_${_group}}/${GL_ACCOUNT_${_group}}/${GL_PROJECT_${_group}}(\.git)?"@path = "${WRKSRC_${_group}}"@'
+. endfor
+.endif
-cargo-patch-github:
- @${SED} -i.dist -E ${_CARGO_GH_PATCH_CARGOTOML} ${CARGO_GH_CARGOTOML}
+.if !empty(_CARGO_GIT_PATCH_CARGOTOML)
+_USES_patch+= 600:cargo-patch-git
+
+cargo-patch-git:
+ @${FIND} ${WRKDIR} -name Cargo.toml -type f -exec \
+ ${SED} -i.dist -E ${_CARGO_GIT_PATCH_CARGOTOML} {} +
.endif
.if !target(do-configure) && ${CARGO_CONFIGURE:tl} == "yes"
Modified: head/audio/spotifyd/Makefile
==============================================================================
--- head/audio/spotifyd/Makefile Mon Mar 25 06:12:34 2019 (r496794)
+++ head/audio/spotifyd/Makefile Mon Mar 25 06:28:20 2019 (r496795)
@@ -293,16 +293,6 @@ CARGO_CRATES= MacTypes-sys-2.1.0 \
ws2_32-sys-0.2.1 \
xdg-2.2.0
CARGO_USE_GITHUB= yes
-CARGO_GH_CARGOTOML= ${CARGO_CARGOTOML} \
- ${WRKSRC_alsa}/Cargo.toml \
- ${WRKSRC_dnsparser}/Cargo.toml \
- ${WRKSRC_librespot}/audio/Cargo.toml \
- ${WRKSRC_librespot}/Cargo.toml \
- ${WRKSRC_librespot}/connect/Cargo.toml \
- ${WRKSRC_librespot}/playback/Cargo.toml \
- ${WRKSRC_mdns}/Cargo.toml \
- ${WRKSRC_rustcrypto}/Cargo.toml \
- ${WRKSRC_tremor}/Cargo.toml
CARGO_BUILD_ARGS= --no-default-features
CARGO_INSTALL_ARGS= --no-default-features
Modified: head/devel/bingrep/Makefile
==============================================================================
--- head/devel/bingrep/Makefile Mon Mar 25 06:12:34 2019 (r496794)
+++ head/devel/bingrep/Makefile Mon Mar 25 06:28:20 2019 (r496795)
@@ -71,7 +71,6 @@ CARGO_CRATES= aho-corasick-0.6.3 \
winapi-build-0.1.1 \
wincolor-0.1.4
CARGO_USE_GITHUB= yes
-CARGO_GH_CARGOTOML= ${WRKSRC}/Cargo.toml ${WRKSRC_metagoblin}/Cargo.toml
PLIST_FILES= bin/bingrep
More information about the svn-ports-all
mailing list