diff options
author | Doug Goldstein <cardoe@gentoo.org> | 2016-11-26 09:22:13 -0600 |
---|---|---|
committer | Doug Goldstein <cardoe@gentoo.org> | 2016-11-30 11:17:51 -0600 |
commit | 89f261de268b9b381b8e7593e270287ff281728c (patch) | |
tree | b0046fae2b90ea80d578554927b97681da8bceaf /dev-util/cargo | |
parent | eclass/cargo: extend to support building packages (diff) | |
download | gentoo-89f261de268b9b381b8e7593e270287ff281728c.tar.gz gentoo-89f261de268b9b381b8e7593e270287ff281728c.tar.bz2 gentoo-89f261de268b9b381b8e7593e270287ff281728c.zip |
dev-util/cargo: preserve older build method
Cargo bootstraps itself with a 0.10.0 version of Cargo that does not
support the newer features we're rolling into the eclass. As a result
this lifts out bits from the eclass and moves it into the Cargo ebuilds
so that the eclass can be updated.
Signed-off-by: Doug Goldstein <cardoe@gentoo.org>
Diffstat (limited to 'dev-util/cargo')
-rw-r--r-- | dev-util/cargo/cargo-0.12.0.ebuild | 46 | ||||
-rw-r--r-- | dev-util/cargo/cargo-0.13.0-r1.ebuild | 46 | ||||
-rw-r--r-- | dev-util/cargo/cargo-0.13.0.ebuild | 46 | ||||
-rw-r--r-- | dev-util/cargo/cargo-0.14.0.ebuild | 46 |
4 files changed, 184 insertions, 0 deletions
diff --git a/dev-util/cargo/cargo-0.12.0.ebuild b/dev-util/cargo/cargo-0.12.0.ebuild index 68140cd502ad..3ab9f1147b4e 100644 --- a/dev-util/cargo/cargo-0.12.0.ebuild +++ b/dev-util/cargo/cargo-0.12.0.ebuild @@ -103,6 +103,52 @@ DEPEND="${COMMON_DEPEND} sys-apps/findutils sys-apps/sed" +# Until cargo bootstraps itself with a version based on 0.13.0, this needs +# to stay (these variables and src_unpack) +ECARGO_HOME="${WORKDIR}/cargo_home" +ECARGO_REPO="github.com-88ac128001ac3a9a" +ECARGO_INDEX="${ECARGO_HOME}/registry/index/${ECARGO_REPO}" +ECARGO_SRC="${ECARGO_HOME}/registry/src/${ECARGO_REPO}" +ECARGO_CACHE="${ECARGO_HOME}/registry/cache/${ECARGO_REPO}" + +src_unpack() { + mkdir -p "${ECARGO_INDEX}" || die + mkdir -p "${ECARGO_CACHE}" || die + mkdir -p "${ECARGO_SRC}" || die + mkdir -p "${S}" || die + + local archive + for archive in ${A}; do + case "${archive}" in + *.crate) + ebegin "Unpacking ${archive}" + cp "${DISTDIR}"/${archive} "${ECARGO_CACHE}/" || die + tar -xf "${DISTDIR}"/${archive} -C "${ECARGO_SRC}/" || die + eend $? + ;; + cargo-snapshot*) + ebegin "Unpacking ${archive}" + mkdir -p "${S}"/target/snapshot + tar -xzf "${DISTDIR}"/${archive} -C "${S}"/target/snapshot --strip-components 2 || die + # cargo's makefile needs this otherwise it will try to + # download it + touch "${S}"/target/snapshot/bin/cargo || die + eend $? + ;; + cargo-registry*) + ebegin "Unpacking ${archive}" + tar -xzf "${DISTDIR}"/${archive} -C "${ECARGO_INDEX}" --strip-components 1 || die + # prevent cargo from attempting to download this again + touch "${ECARGO_INDEX}"/.cargo-index-lock || die + eend $? + ;; + *) + unpack ${archive} + ;; + esac + done +} + src_configure() { # Cargo only supports these GNU triples: # - Linux: <arch>-unknown-linux-gnu diff --git a/dev-util/cargo/cargo-0.13.0-r1.ebuild b/dev-util/cargo/cargo-0.13.0-r1.ebuild index c6a5f05bec40..12d1dd2f3944 100644 --- a/dev-util/cargo/cargo-0.13.0-r1.ebuild +++ b/dev-util/cargo/cargo-0.13.0-r1.ebuild @@ -115,6 +115,52 @@ DEPEND="${COMMON_DEPEND} sys-apps/findutils sys-apps/sed" +# Until cargo bootstraps itself with a version based on 0.13.0, this needs +# to stay (these variables and src_unpack) +ECARGO_HOME="${WORKDIR}/cargo_home" +ECARGO_REPO="github.com-88ac128001ac3a9a" +ECARGO_INDEX="${ECARGO_HOME}/registry/index/${ECARGO_REPO}" +ECARGO_SRC="${ECARGO_HOME}/registry/src/${ECARGO_REPO}" +ECARGO_CACHE="${ECARGO_HOME}/registry/cache/${ECARGO_REPO}" + +src_unpack() { + mkdir -p "${ECARGO_INDEX}" || die + mkdir -p "${ECARGO_CACHE}" || die + mkdir -p "${ECARGO_SRC}" || die + mkdir -p "${S}" || die + + local archive + for archive in ${A}; do + case "${archive}" in + *.crate) + ebegin "Unpacking ${archive}" + cp "${DISTDIR}"/${archive} "${ECARGO_CACHE}/" || die + tar -xf "${DISTDIR}"/${archive} -C "${ECARGO_SRC}/" || die + eend $? + ;; + cargo-snapshot*) + ebegin "Unpacking ${archive}" + mkdir -p "${S}"/target/snapshot + tar -xzf "${DISTDIR}"/${archive} -C "${S}"/target/snapshot --strip-components 2 || die + # cargo's makefile needs this otherwise it will try to + # download it + touch "${S}"/target/snapshot/bin/cargo || die + eend $? + ;; + cargo-registry*) + ebegin "Unpacking ${archive}" + tar -xzf "${DISTDIR}"/${archive} -C "${ECARGO_INDEX}" --strip-components 1 || die + # prevent cargo from attempting to download this again + touch "${ECARGO_INDEX}"/.cargo-index-lock || die + eend $? + ;; + *) + unpack ${archive} + ;; + esac + done +} + src_configure() { # Cargo only supports these GNU triples: # - Linux: <arch>-unknown-linux-gnu diff --git a/dev-util/cargo/cargo-0.13.0.ebuild b/dev-util/cargo/cargo-0.13.0.ebuild index 3f74ad6ccd12..56c77720b48c 100644 --- a/dev-util/cargo/cargo-0.13.0.ebuild +++ b/dev-util/cargo/cargo-0.13.0.ebuild @@ -114,6 +114,52 @@ DEPEND="${COMMON_DEPEND} sys-apps/findutils sys-apps/sed" +# Until cargo bootstraps itself with a version based on 0.13.0, this needs +# to stay (these variables and src_unpack) +ECARGO_HOME="${WORKDIR}/cargo_home" +ECARGO_REPO="github.com-88ac128001ac3a9a" +ECARGO_INDEX="${ECARGO_HOME}/registry/index/${ECARGO_REPO}" +ECARGO_SRC="${ECARGO_HOME}/registry/src/${ECARGO_REPO}" +ECARGO_CACHE="${ECARGO_HOME}/registry/cache/${ECARGO_REPO}" + +src_unpack() { + mkdir -p "${ECARGO_INDEX}" || die + mkdir -p "${ECARGO_CACHE}" || die + mkdir -p "${ECARGO_SRC}" || die + mkdir -p "${S}" || die + + local archive + for archive in ${A}; do + case "${archive}" in + *.crate) + ebegin "Unpacking ${archive}" + cp "${DISTDIR}"/${archive} "${ECARGO_CACHE}/" || die + tar -xf "${DISTDIR}"/${archive} -C "${ECARGO_SRC}/" || die + eend $? + ;; + cargo-snapshot*) + ebegin "Unpacking ${archive}" + mkdir -p "${S}"/target/snapshot + tar -xzf "${DISTDIR}"/${archive} -C "${S}"/target/snapshot --strip-components 2 || die + # cargo's makefile needs this otherwise it will try to + # download it + touch "${S}"/target/snapshot/bin/cargo || die + eend $? + ;; + cargo-registry*) + ebegin "Unpacking ${archive}" + tar -xzf "${DISTDIR}"/${archive} -C "${ECARGO_INDEX}" --strip-components 1 || die + # prevent cargo from attempting to download this again + touch "${ECARGO_INDEX}"/.cargo-index-lock || die + eend $? + ;; + *) + unpack ${archive} + ;; + esac + done +} + src_configure() { # Cargo only supports these GNU triples: # - Linux: <arch>-unknown-linux-gnu diff --git a/dev-util/cargo/cargo-0.14.0.ebuild b/dev-util/cargo/cargo-0.14.0.ebuild index b78e2057d1c2..1b8d661b3a11 100644 --- a/dev-util/cargo/cargo-0.14.0.ebuild +++ b/dev-util/cargo/cargo-0.14.0.ebuild @@ -116,6 +116,52 @@ DEPEND="${COMMON_DEPEND} sys-apps/findutils sys-apps/sed" +# Until cargo bootstraps itself with a version based on 0.13.0, this needs +# to stay (these variables and src_unpack) +ECARGO_HOME="${WORKDIR}/cargo_home" +ECARGO_REPO="github.com-88ac128001ac3a9a" +ECARGO_INDEX="${ECARGO_HOME}/registry/index/${ECARGO_REPO}" +ECARGO_SRC="${ECARGO_HOME}/registry/src/${ECARGO_REPO}" +ECARGO_CACHE="${ECARGO_HOME}/registry/cache/${ECARGO_REPO}" + +src_unpack() { + mkdir -p "${ECARGO_INDEX}" || die + mkdir -p "${ECARGO_CACHE}" || die + mkdir -p "${ECARGO_SRC}" || die + mkdir -p "${S}" || die + + local archive + for archive in ${A}; do + case "${archive}" in + *.crate) + ebegin "Unpacking ${archive}" + cp "${DISTDIR}"/${archive} "${ECARGO_CACHE}/" || die + tar -xf "${DISTDIR}"/${archive} -C "${ECARGO_SRC}/" || die + eend $? + ;; + cargo-snapshot*) + ebegin "Unpacking ${archive}" + mkdir -p "${S}"/target/snapshot + tar -xzf "${DISTDIR}"/${archive} -C "${S}"/target/snapshot --strip-components 2 || die + # cargo's makefile needs this otherwise it will try to + # download it + touch "${S}"/target/snapshot/bin/cargo || die + eend $? + ;; + cargo-registry*) + ebegin "Unpacking ${archive}" + tar -xzf "${DISTDIR}"/${archive} -C "${ECARGO_INDEX}" --strip-components 1 || die + # prevent cargo from attempting to download this again + touch "${ECARGO_INDEX}"/.cargo-index-lock || die + eend $? + ;; + *) + unpack ${archive} + ;; + esac + done +} + src_configure() { # Cargo only supports these GNU triples: # - Linux: <arch>-unknown-linux-gnu |