Date: Mon, 25 Mar 2019 06:28:20 +0000 (UTC) From: Tobias Kortkamp <tobik@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r496795 - in head: Mk/Uses audio/spotifyd devel/bingrep Message-ID: <201903250628.x2P6SKmv078168@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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@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@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201903250628.x2P6SKmv078168>