Index: branches/2016Q1/devel/cargo/Makefile =================================================================== --- branches/2016Q1/devel/cargo/Makefile (revision 406866) +++ branches/2016Q1/devel/cargo/Makefile (revision 406867) @@ -1,156 +1,146 @@ # Created by: Jean-Sébastien Pédron # $FreeBSD$ PORTNAME= cargo -PORTVERSION= 0.4.0.20150720 +PORTVERSION= 0.7.0 CATEGORIES= devel MAINTAINER= dumbbell@FreeBSD.org COMMENT= Rust's Package Manager # ' <-- Help Vim syntax hilighting... LICENSE= APACHE20 \ MIT LICENSE_COMB= dual -LICENSE_FILE= ${WRKSRC}/LICENSE-APACHE \ - ${WRKSRC}/LICENSE-MIT +# APACHE20 license is standard, see Templates/Licenses/APACHE20 +LICENSE_FILE_MIT= ${WRKSRC}/LICENSE-MIT # The following files are required: # # Main source archive from GitHub # This is the source of Cargo, taken from GitHub. # # :bootstrap # Like Rust, this is a prebuilt "cargo" used to bootstrap it, because # Cargo is a standard Rust package itself. # # :registry # Cargo clones several Git repositories for its dependencies and # caches them in its "registry". This is an archive of this registry # so nothing is downloaded during the build. # # :rust_installer # This is a collection of mainly shell scripts which are used to # install Cargo. MASTER_SITES= https://static.rust-lang.org/cargo-dist/2015-04-02/:bootstrap \ - LOCAL/dumbbell:registry - -DISTFILES= ${CARGO_BOOT}:bootstrap -EXTRACT_ONLY= ${DISTNAME}${_GITHUB_EXTRACT_SUFX} \ - ${DISTFILE_rust_installer} - -.if (${.TARGET} != gen-registry) && !defined(SKIP_CARGO_REGISTRY) + LOCAL/jbeich:registry +.if !defined(SKIP_CARGO_REGISTRY) DISTFILES+= ${CARGO_REGISTRY}:registry -EXTRACT_ONLY+= ${CARGO_REGISTRY} .endif USE_GITHUB= yes GH_ACCOUNT= rust-lang -GH_PROJECT= ${PORTNAME} \ - rust-installer:rust_installer -GH_TAGNAME= 9c5ffcb871 \ - c37d374:rust_installer +GH_PROJECT= rust-installer:rust_installer +GH_TAGNAME= 4915c75:rust_installer -CARGO_BOOT_SIG= x86_64-unknown-freebsd +CARGO_BOOT_SIG= ${ARCH:S/amd64/x86_64/}-unknown-${OPSYS:tl} CARGO_BOOT= ${PORTNAME}-nightly-${CARGO_BOOT_SIG}${EXTRACT_SUFX} -CARGO_REGISTRY= ${DISTNAME:S/${GH_ACCOUNT}-${PORTNAME}/${PORTNAME}-registry/}${EXTRACT_SUFX} +CARGO_REGISTRY= ${PORTNAME}-registry-${DISTVERSIONFULL}.tar.xz +CARGO_REGISTRY_BOOT_HASH= 1ecc6299db9ec823 +# Like above but with: pnacl-build-helper, libressl-pnacl-sys +CARGO_REGISTRY_CUR_HASH= 88ac128001ac3a9a -USES= gmake python:2,build pkgconfig - -# The bootstrapped cargo is built with OpenSSL from ports (libssl.so.8). -USE_OPENSSL= yes -WITH_OPENSSL_PORT=yes - # We don't USES=cmake here, because cmake is not Cargo's build system. # It's used by a bundled dependency (libgit2). -BUILD_DEPENDS= ${LOCALBASE}/bin/cmake:${PORTSDIR}/devel/cmake \ - rustc:${PORTSDIR}/lang/rust-nightly +BUILD_DEPENDS= cmake:${PORTSDIR}/devel/cmake \ + ${RUST_PORT:T}>=1.5.0:${PORTSDIR}/${RUST_PORT} LIB_DEPENDS= libssh2.so:${PORTSDIR}/security/libssh2 \ libcurl.so:${PORTSDIR}/ftp/curl +RUN_DEPENDS= rustc:${PORTSDIR}/${RUST_PORT} +RUST_PORT?= lang/rust -# FIXME: Don't add rust as a runtime dependency. As we need rust-nightly -# to build Cargo, the same version would be pulled by installing Cargo, -# preventing its use with the stable version of Rust. -# RUN_DEPENDS= rustc:${PORTSDIR}/lang/rust - +USES= gmake python:-2.7,build pkgconfig +USE_OPENSSL= yes HAS_CONFIGURE= yes -CONFIGURE_ARGS= --mandir=${MANPREFIX}/man -MAKE_ENV+= LD_LIBRARY_PATH="${WRKSRC}/target/snapshot/cargo/lib" +CONFIGURE_ARGS= --prefix="${PREFIX}" --mandir="${MANPREFIX}/man" +MAKE_ENV= ARGS="${CARGO_ARGS}" +CARGO_ARGS= --jobs ${MAKE_JOBS_NUMBER} -# git log -1 --date=short --pretty=format:'%cd' -CFG_VER_DATE= ${PORTVERSION:C/.*\.([0-9]{4})([0-9]{2})([0-9]{2})/\1-\2-\3/} -# git rev-parse --short HEAD -CFG_VER_HASH= ${GH_TAGNAME} - .if defined(BATCH) || defined(PACKAGE_BUILDING) MAKE_ARGS+= VERBOSE=1 .endif -MAKE_JOBS_UNSAFE= yes +OPTIONS_DEFINE= BOOTSTRAP +OPTIONS_DEFAULT=BOOTSTRAP -.include +BOOTSTRAP_DESC= Bootstrap using pre-built vendor snapshot +BOOTSTRAP_CONFIGURE_OFF=--local-cargo="$$(command -v cargo)" # respect PATH +BOOTSTRAP_VARS_OFF= EXTRACT_AFTER_ARGS="-s/${CARGO_REGISTRY_BOOT_HASH}/${CARGO_REGISTRY_CUR_HASH}/" +BOOTSTRAP_DISTFILES= ${CARGO_BOOT}:bootstrap +BOOTSTRAP_EXTRACT_ONLY= ${DISTFILES:N*\:bootstrap:C/:.*//} +BOOTSTRAP_MAKE_ENV= LD_LIBRARY_PATH="${WRKSRC}/target/snapshot/cargo/lib" +BOOTSTRAP_VARS= EXTRACT_AFTER_ARGS="-s/${CARGO_REGISTRY_CUR_HASH}/${CARGO_REGISTRY_BOOT_HASH}/" +.if !exists(/usr/lib/libssl.so.8) # OPENSSL_SHLIBVER +BOOTSTRAP_VARS+= WITH_OPENSSL_PORT=yes +.endif post-extract: - @(${RMDIR} ${WRKSRC}/src/rust-installer && \ - ${MV} ${WRKSRC_rust_installer} ${WRKSRC}/src/rust-installer) + @${RMDIR} ${WRKSRC}/src/rust-installer + @${MV} ${WRKSRC_rust_installer} ${WRKSRC}/src/rust-installer + +post-extract-BOOTSTRAP-on: @${MKDIR} ${WRKSRC}/target/dl ${LN} -sf ${DISTDIR}/${CARGO_BOOT} ${WRKSRC}/target/dl/ post-patch: - ${REINPLACE_CMD} \ - -e 's|^CFG_VER_DATE =.*|CFG_VER_DATE = ${CFG_VER_DATE}|' \ - -e 's|^CFG_VER_HASH =.*|CFG_VER_HASH = ${CFG_VER_HASH}|' \ +# Fix mandir and don't install licenses outside of ${_LICENSE_DIR} + @${REINPLACE_CMD} -e 's,share/man,man,' \ + -e 's, LICENSE-[^[:space:]]*,,g' \ ${WRKSRC}/Makefile.in # In case the previous "make stage" failed, this ensures rust's # install.sh won't backup previously staged files before reinstalling # new ones. Otheriwe, the staging directory is polluted with unneeded # files. pre-install: @if test -f ${STAGEDIR}${PREFIX}/lib/rustlib/manifest-cargo; then \ ${SED} -E -e 's,^(dir|file:),${STAGEDIR},' \ < ${STAGEDIR}${PREFIX}/lib/rustlib/manifest-cargo \ | ${XARGS} ${RM}; \ fi @${RM} \ ${STAGEDIR}${PREFIX}/lib/rustlib/components \ ${STAGEDIR}${PREFIX}/lib/rustlib/manifest-cargo \ ${STAGEDIR}${PREFIX}/lib/rustlib/rust-installer-version \ ${STAGEDIR}${PREFIX}/lib/rustlib/uninstall.sh post-install: @${RM} ${STAGEDIR}${PREFIX}/lib/rustlib/install.log - @${MV} ${STAGEDIR}${PREFIX}/share/man/man1/cargo.1 \ - ${STAGEDIR}${PREFIX}/man/man1/cargo.1 - @${RMDIR} ${STAGEDIR}${PREFIX}/share/man/man1 \ - ${STAGEDIR}${PREFIX}/share/man - @${REINPLACE_CMD} -e 's|${STAGEDIR}||' \ - -e 's|share/man/man1/cargo\.1|man/man1/cargo.1.gz|' \ + @${REINPLACE_CMD} -i '' -e 's|${STAGEDIR}||' \ ${STAGEDIR}${PREFIX}/lib/rustlib/manifest-cargo - @${RM} ${STAGEDIR}${PREFIX}/lib/rustlib/manifest-cargo.bak @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/cargo @${RM} \ ${STAGEDIR}${PREFIX}/lib/rustlib/components \ ${STAGEDIR}${PREFIX}/lib/rustlib/rust-installer-version \ ${STAGEDIR}${PREFIX}/lib/rustlib/uninstall.sh # "make gen-registry" is a special target to ease this port update. # # After changing the version number and the Git revision, you can run -# "make registry" to update the distinfo and create a new snapshot of +# "make gen-registry" to update the distinfo and create a new snapshot of # the registry. The new registry is written to ${DISTDIR} and can be # uploaded. gen-registry: - ${MAKE} -DSKIP_CARGO_REGISTRY makesum - ${MAKE} -DSKIP_CARGO_REGISTRY - cd ${WRKDIR} && \ - ${TAR} cvf - \ + ${MAKE} -C${.CURDIR} -DSKIP_CARGO_REGISTRY makesum + ${MAKE} -C${.CURDIR} -DSKIP_CARGO_REGISTRY + ${TAR} cJvf ${_DISTDIR}/${CARGO_REGISTRY} -C${WRKDIR} \ + --uid 0 --gid 0 \ --exclude libgit2/tests/ \ --exclude curl/tests/ \ --exclude 'index/github.com-*/.git/' \ - .cargo | ${GZIP_CMD} > ${DISTDIR}/${CARGO_REGISTRY} - ${MAKE} makesum + .cargo + ${MAKE} -C${.CURDIR} makesum -.include +.include Index: branches/2016Q1/devel/cargo/distinfo =================================================================== --- branches/2016Q1/devel/cargo/distinfo (revision 406866) +++ branches/2016Q1/devel/cargo/distinfo (revision 406867) @@ -1,8 +1,10 @@ +SHA256 (cargo-registry-0.7.0.tar.xz) = 72542abb20b8871d3f030c5c3855cf49902300fa3dfc58cef74fdb8984a579c9 +SIZE (cargo-registry-0.7.0.tar.xz) = 17769584 +SHA256 (cargo-nightly-x86_64-unknown-dragonfly.tar.gz) = 49d70c798362fba7d691144a4c97ce1be29a921c3a38d2fe8ffa76f9daf628ab +SIZE (cargo-nightly-x86_64-unknown-dragonfly.tar.gz) = 2621548 SHA256 (cargo-nightly-x86_64-unknown-freebsd.tar.gz) = de678e858de5d2923cc206b7aa1cc84ddc67be00748160f66fc9b7325409e7c7 SIZE (cargo-nightly-x86_64-unknown-freebsd.tar.gz) = 7663548 -SHA256 (cargo-registry-0.4.0.20150720-9c5ffcb871_GH0.tar.gz) = 7d8b5d53e0d3f28e0f8d0078586a8d94c834d9f6c35e00b56abe00bd54ee9944 -SIZE (cargo-registry-0.4.0.20150720-9c5ffcb871_GH0.tar.gz) = 16391914 -SHA256 (rust-lang-cargo-0.4.0.20150720-9c5ffcb871_GH0.tar.gz) = af6a6b609b3d6bf52f55fdcc2f8e299016e9b805748e824ec6b92d4f8ed92c07 -SIZE (rust-lang-cargo-0.4.0.20150720-9c5ffcb871_GH0.tar.gz) = 351554 -SHA256 (rust-lang-rust-installer-c37d374_GH0.tar.gz) = 7cc41029b14de023dd4f250b332470c98cf9d1a77d174a20e93d78d07e4255f1 -SIZE (rust-lang-rust-installer-c37d374_GH0.tar.gz) = 19267 +SHA256 (rust-lang-cargo-0.7.0_GH0.tar.gz) = b1067d710e64b66a197294df2fa3dd4fb1d645171eaa517b93d42678bb687338 +SIZE (rust-lang-cargo-0.7.0_GH0.tar.gz) = 512415 +SHA256 (rust-lang-rust-installer-4915c75_GH0.tar.gz) = 022116173684c97d61e014940aada20f3830d2d3e1670887bf1861997133c234 +SIZE (rust-lang-rust-installer-4915c75_GH0.tar.gz) = 19234 Index: branches/2016Q1/devel/cargo/pkg-descr =================================================================== --- branches/2016Q1/devel/cargo/pkg-descr (revision 406866) +++ branches/2016Q1/devel/cargo/pkg-descr (revision 406867) @@ -1,4 +1,4 @@ Cargo is Cargo, Rust's Package Manager. Cargo downloads your Rust -project’s dependencies and compiles your project. +project's dependencies and compiles your project. WWW: http://doc.crates.io/ Index: branches/2016Q1/devel/cargo/pkg-plist =================================================================== --- branches/2016Q1/devel/cargo/pkg-plist (revision 406866) +++ branches/2016Q1/devel/cargo/pkg-plist (revision 406867) @@ -1,9 +1,6 @@ bin/cargo etc/bash_completion.d/cargo lib/rustlib/manifest-cargo man/man1/cargo.1.gz -%%PORTDOCS%%%%DOCSDIR%%/LICENSE-APACHE -%%PORTDOCS%%%%DOCSDIR%%/LICENSE-MIT -%%PORTDOCS%%%%DOCSDIR%%/LICENSE-THIRD-PARTY %%PORTDOCS%%%%DOCSDIR%%/README.md share/zsh/site-functions/_cargo Index: branches/2016Q1 =================================================================== --- branches/2016Q1 (revision 406866) +++ branches/2016Q1 (revision 406867) Property changes on: branches/2016Q1 ___________________________________________________________________ Modified: svn:mergeinfo ## -0,0 +0,1 ## Merged /head:r406516