diff --git a/Mk/Uses/cargo.mk b/Mk/Uses/cargo.mk --- a/Mk/Uses/cargo.mk +++ b/Mk/Uses/cargo.mk @@ -97,7 +97,7 @@ CARGO_BUILDDEP?= yes . if ${CARGO_BUILDDEP:tl} == "yes" -BUILD_DEPENDS+= ${RUST_DEFAULT}>=1.59.0:lang/${RUST_DEFAULT} +BUILD_DEPENDS+= ${RUST_DEFAULT}>=1.60.0:lang/${RUST_DEFAULT} . endif # Location of toolchain (default to lang/rust's toolchain) diff --git a/Mk/bsd.gecko.mk b/Mk/bsd.gecko.mk --- a/Mk/bsd.gecko.mk +++ b/Mk/bsd.gecko.mk @@ -79,7 +79,7 @@ BUILD_DEPENDS+= llvm${LLVM_DEFAULT}>0:devel/llvm${LLVM_DEFAULT} \ rust-cbindgen>=0.19.0:devel/rust-cbindgen \ - ${RUST_DEFAULT}>=1.59.0:lang/${RUST_DEFAULT} \ + ${RUST_DEFAULT}>=1.60.0:lang/${RUST_DEFAULT} \ node:www/node LIB_DEPENDS+= libdrm.so:graphics/libdrm RUN_DEPENDS+= ${LOCALBASE}/lib/libpci.so:devel/libpci diff --git a/devel/racer/Makefile b/devel/racer/Makefile --- a/devel/racer/Makefile +++ b/devel/racer/Makefile @@ -13,6 +13,10 @@ LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE-MIT +BROKEN= fails to build: unknown feature thread_local_const_init +DEPRECATED= Racer is not actively developped now. Please consider using newer software such as devel/rust-analyzer. +EXPIRATION_DATE=2022-06-30 + USES= cargo CARGO_CRATES= aho-corasick-0.7.10 \ annotate-snippets-0.8.0 \ diff --git a/lang/rust-bootstrap/Makefile b/lang/rust-bootstrap/Makefile --- a/lang/rust-bootstrap/Makefile +++ b/lang/rust-bootstrap/Makefile @@ -2,7 +2,7 @@ # to upload them to ~/public_distfiles on freefall in preparation # for the next lang/rust update. PORTNAME= rust -PORTVERSION= 1.59.0 +PORTVERSION= 1.60.0 CATEGORIES= lang MASTER_SITES= https://static.rust-lang.org/dist/ PKGNAMEPREFIX= ${FLAVOR:S/_/-/g}- diff --git a/lang/rust-bootstrap/distinfo b/lang/rust-bootstrap/distinfo --- a/lang/rust-bootstrap/distinfo +++ b/lang/rust-bootstrap/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1646648374 -SHA256 (rust/rustc-1.59.0-src.tar.xz) = 375996ead731cab2203ec10a66a3c4568ab6997d7e5d3ae597658164fe27be3d -SIZE (rust/rustc-1.59.0-src.tar.xz) = 128942756 +TIMESTAMP = 1649150849 +SHA256 (rust/rustc-1.60.0-src.tar.xz) = a025876deccbcb3f288d8e02623ea321f94623f31305d3c5c6f17855bb9685db +SIZE (rust/rustc-1.60.0-src.tar.xz) = 136183048 diff --git a/lang/rust/Makefile b/lang/rust/Makefile --- a/lang/rust/Makefile +++ b/lang/rust/Makefile @@ -1,13 +1,12 @@ # Created by: Jyun-Yan You PORTNAME= rust -PORTVERSION?= 1.59.0 +PORTVERSION?= 1.60.0 PORTREVISION?= 0 CATEGORIES= lang MASTER_SITES= https://static.rust-lang.org/dist/:src \ https://dev-static.rust-lang.org/dist/:src \ - LOCAL/tobik/rust:bootstrap \ - LOCAL/mikael/rust:bootstrap \ + LOCAL/rust:bootstrap \ https://static.rust-lang.org/dist/:bootstrap DISTNAME?= ${PORTNAME}c-${PORTVERSION}-src DISTFILES?= ${NIGHTLY_DATE:D${NIGHTLY_DATE}/}${DISTNAME}${EXTRACT_SUFX}:src \ @@ -32,7 +31,7 @@ BUILD_DEPENDS= cmake:devel/cmake LIB_DEPENDS= libcurl.so:ftp/curl -USES= cpe ninja:build pkgconfig python:3.6+,build ssl tar:xz +USES= cpe ninja:build pkgconfig python:3.7+,build shebangfix ssl tar:xz CPE_VENDOR= rust-lang @@ -52,7 +51,7 @@ OPTIONS_DEFINE= DOCS GDB SOURCES WASM OPTIONS_DEFAULT= SOURCES WASM -OPTIONS_EXCLUDE_armv6= DOCS +OPTIONS_EXCLUDE= DOCS # https://github.com/rust-lang/rust/issues/76526 GDB_DESC= Install ports gdb (necessary for debugging rust programs) SOURCES_DESC= Install source files @@ -61,14 +60,16 @@ DOCS_VARS= _RUST_BUILD_DOCS=true DOCS_VARS_OFF= _RUST_BUILD_DOCS=false GDB_RUN_DEPENDS= ${LOCALBASE}/bin/gdb:devel/gdb -SOURCES_VARS= _RUST_TOOLS+=src -WASM_VARS= _RUST_BUILD_WASM=true \ +SOURCES_VARS= _COMPONENTS+=rust-src-${_PACKAGE_VERS} \ + _RUST_TOOLS+=src +WASM_VARS= _COMPONENTS+="rust-analysis-${_PACKAGE_VERS}-wasm32-unknown-unknown rust-std-${_PACKAGE_VERS}-wasm32-unknown-unknown" \ + _RUST_BUILD_WASM=true \ _RUST_TARGETS+=wasm32-unknown-unknown WASM_VARS_OFF= _RUST_BUILD_WASM=false # See WRKSRC/src/stage0.json for the date and version values -BOOTSTRAPS_DATE?= 2022-01-20 -RUST_BOOTSTRAP_VERSION?= 1.58.1 +BOOTSTRAPS_DATE?= 2022-02-24 +RUST_BOOTSTRAP_VERSION?= 1.59.0 BOOTSTRAPS_SUFFIX?= ${BOOTSTRAPS_SUFFIX_${ARCH}} BOOTSTRAPS_SUFFIX_powerpc64?= -${PPC_ABI:tl} @@ -87,6 +88,19 @@ _RUST_STD_BOOTSTRAP= ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/rust-std-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${_RUST_TARGET} _CARGO_BOOTSTRAP= ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/cargo-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${_RUST_TARGET} +_PACKAGE_VERS= ${NIGHTLY_DATE:?nightly:${PORTVERSION}} +_COMPONENTS+= cargo-${_PACKAGE_VERS}-${_RUST_TARGET} \ + clippy-${_PACKAGE_VERS}-${_RUST_TARGET} \ + rustc-${_PACKAGE_VERS}-${_RUST_TARGET} \ + rustfmt-${_PACKAGE_VERS}-${_RUST_TARGET} \ + rust-analysis-${_PACKAGE_VERS}-${_RUST_TARGET} \ + rust-std-${_PACKAGE_VERS}-${_RUST_TARGET} + +# https://github.com/bjorn3/rustc_codegen_cranelift/commit/83d470d91c15d0cb5890705291e6ee9e5be8a842 +# https://github.com/rust-lang/rustc_codegen_gcc/pull/160 +SHEBANG_FILES= compiler/rustc_codegen_cranelift/scripts/* \ + compiler/rustc_codegen_gcc/*.sh compiler/rustc_codegen_gcc/build_sysroot/*.sh + .include .if ${OPSYS} != FreeBSD @@ -98,8 +112,19 @@ BUILD_DEPENDS+= ld.bfd:devel/binutils .else MAKE_ENV+= RUST_BACKTRACE=1 -# rls needs 64-bit atomics +.endif + +# rls doesn't build on rust nightly +# rls needs 64-bit atomics: it doesn't build on powerpc +.if !defined(NIGHTLY_DATE) && ${ARCH} != powerpc _RUST_TOOLS+= rls +_COMPONENTS+= rls-${_PACKAGE_VERS}-${_RUST_TARGET} +.endif + +# per https://rust-lang.github.io/rustup/concepts/components.html +# rustc-dev is only usefull on nightly +.if defined(NIGHTLY_DATE) +_COMPONENTS+= rustc-dev-${_PACKAGE_VERS}-${_RUST_TARGET} .endif .if exists(${PATCHDIR}/${ARCH}${BOOTSTRAPS_SUFFIX}) @@ -238,20 +263,30 @@ do-build: @cd ${WRKSRC} && \ - ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} x.py build --jobs=${MAKE_JOBS_NUMBER} + ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} x.py dist --jobs=${MAKE_JOBS_NUMBER} do-install: - @cd ${WRKSRC} && \ - ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} x.py install --jobs=${MAKE_JOBS_NUMBER} + ${RM} -r ${WRKDIR}/_extractdist +.for _c in ${_COMPONENTS} + ${MKDIR} ${WRKDIR}/_extractdist + ${TAR} xf ${WRKDIR}/_build/dist/${_c}.tar.xz -C ${WRKDIR}/_extractdist + cd ${WRKDIR}/_extractdist/${_c} && \ + ${SH} install.sh \ + --docdir="${STAGEDIR}${DOCSDIR}" \ + --mandir="${STAGEDIR}${PREFIX}/share/man" \ + --prefix="${STAGEDIR}${PREFIX}" + ${RM} -r ${WRKDIR}/_extractdist +.endfor + # We autogenerate the plist file. We do that, instead of the # regular pkg-plist, because several libraries have a computed # filename based on the absolute path of the source files. As it # is user-specific, we cannot know their filename in advance. - @${RM} -r ${STAGEDIR}${DOCSDIR}/*.old \ - ${STAGEDIR}${DOCSDIR}/html/.lock \ - ${STAGEDIR}${DOCSDIR}/html/.stamp \ + @${RM} ${STAGEDIR}${DOCSDIR}/*.old \ + ${STAGEDIR}${PREFIX}/lib/rustlib/components \ ${STAGEDIR}${PREFIX}/lib/rustlib/install.log \ ${STAGEDIR}${PREFIX}/lib/rustlib/manifest-* \ + ${STAGEDIR}${PREFIX}/lib/rustlib/rust-installer-version \ ${STAGEDIR}${PREFIX}/lib/rustlib/uninstall.sh @${FIND} ${STAGEDIR}${PREFIX}/bin ${STAGEDIR}${PREFIX}/lib \ ${STAGEDIR}${PREFIX}/libexec -exec ${FILE} -i {} + | \ diff --git a/lang/rust/distinfo b/lang/rust/distinfo --- a/lang/rust/distinfo +++ b/lang/rust/distinfo @@ -1,63 +1,63 @@ -TIMESTAMP = 1646648477 -SHA256 (rust/rustc-1.59.0-src.tar.xz) = 375996ead731cab2203ec10a66a3c4568ab6997d7e5d3ae597658164fe27be3d -SIZE (rust/rustc-1.59.0-src.tar.xz) = 128942756 -SHA256 (rust/2022-01-20/rustc-1.58.1-aarch64-unknown-freebsd.tar.xz) = e34a7a90f31326ef0d7a56c4df61205ffad91ecefab192f79a8f50759aa86f64 -SIZE (rust/2022-01-20/rustc-1.58.1-aarch64-unknown-freebsd.tar.xz) = 49629860 -SHA256 (rust/2022-01-20/rust-std-1.58.1-aarch64-unknown-freebsd.tar.xz) = 40a8430d595ec0fa5f2b0889069bb4b74e8550be76445f699422e136e98f13ed -SIZE (rust/2022-01-20/rust-std-1.58.1-aarch64-unknown-freebsd.tar.xz) = 22066068 -SHA256 (rust/2022-01-20/cargo-1.58.1-aarch64-unknown-freebsd.tar.xz) = dbd317208a43f6437cc6d0637e4495b83541595b695156dfd70c41abcb0d9ef8 -SIZE (rust/2022-01-20/cargo-1.58.1-aarch64-unknown-freebsd.tar.xz) = 4563964 -SHA256 (rust/2022-01-20/rustc-1.58.1-x86_64-unknown-freebsd.tar.xz) = 78fc6d5abaae2e7d05c3570c464e3026ea02040e28e5595561a3200f251000f9 -SIZE (rust/2022-01-20/rustc-1.58.1-x86_64-unknown-freebsd.tar.xz) = 44721628 -SHA256 (rust/2022-01-20/rust-std-1.58.1-x86_64-unknown-freebsd.tar.xz) = a2d0b510b421de864ee7cd2b3b803b8f843605fbf19d9daf49dc9b3ccae0a641 -SIZE (rust/2022-01-20/rust-std-1.58.1-x86_64-unknown-freebsd.tar.xz) = 22227776 -SHA256 (rust/2022-01-20/cargo-1.58.1-x86_64-unknown-freebsd.tar.xz) = d958dad7ebcf4c2a6cba8cea7ef1add8c3928715dcfbb73aa7a7a5992f53077f -SIZE (rust/2022-01-20/cargo-1.58.1-x86_64-unknown-freebsd.tar.xz) = 5296884 -SHA256 (rust/2022-01-20/rustc-1.58.1-armv6-unknown-freebsd.tar.xz) = 593ca881e40b907f6b09d346ebfb42dc16c4f450a5ac6c7d2a0381b416456196 -SIZE (rust/2022-01-20/rustc-1.58.1-armv6-unknown-freebsd.tar.xz) = 50451208 -SHA256 (rust/2022-01-20/rust-std-1.58.1-armv6-unknown-freebsd.tar.xz) = fd4009b30db0212b91481597ea2054ea24323bf0e3a755190c1527dc1f78f4de -SIZE (rust/2022-01-20/rust-std-1.58.1-armv6-unknown-freebsd.tar.xz) = 20316724 -SHA256 (rust/2022-01-20/cargo-1.58.1-armv6-unknown-freebsd.tar.xz) = 75016cf2d3ee35f9f74aade08ffaf870286d5a4012b1ea3af69358a9102627c0 -SIZE (rust/2022-01-20/cargo-1.58.1-armv6-unknown-freebsd.tar.xz) = 4600584 -SHA256 (rust/2022-01-20/rustc-1.58.1-armv7-unknown-freebsd.tar.xz) = bc4e1fa2905639d5989127f668bf3a54498bcc80b54848270c0ae246c7dbce19 -SIZE (rust/2022-01-20/rustc-1.58.1-armv7-unknown-freebsd.tar.xz) = 50293136 -SHA256 (rust/2022-01-20/rust-std-1.58.1-armv7-unknown-freebsd.tar.xz) = 9add6afedee77c8e65608c3fefa7d7bb2d7eee22763fd9562ffdf9bbcb8311c3 -SIZE (rust/2022-01-20/rust-std-1.58.1-armv7-unknown-freebsd.tar.xz) = 21240724 -SHA256 (rust/2022-01-20/cargo-1.58.1-armv7-unknown-freebsd.tar.xz) = 10d412dd707ecfa656fe4e9f3e08f92a4c396dffedcfabb10405b0bafb0849c2 -SIZE (rust/2022-01-20/cargo-1.58.1-armv7-unknown-freebsd.tar.xz) = 4588676 -SHA256 (rust/2022-01-20/rustc-1.58.1-i686-unknown-freebsd.tar.xz) = 1a50ddeefb20da5851c665465869202bb6f762988a7bf523950418d3f4049c84 -SIZE (rust/2022-01-20/rustc-1.58.1-i686-unknown-freebsd.tar.xz) = 53748856 -SHA256 (rust/2022-01-20/rust-std-1.58.1-i686-unknown-freebsd.tar.xz) = 248a070d8a4f8ab87c323476c709d7db83118bdb8b3b32c1f787092941dc3bae -SIZE (rust/2022-01-20/rust-std-1.58.1-i686-unknown-freebsd.tar.xz) = 22017868 -SHA256 (rust/2022-01-20/cargo-1.58.1-i686-unknown-freebsd.tar.xz) = 885da898ea041d8f108a2678ed0c5e0a88e3f914231fccc0c74f5193e450aca2 -SIZE (rust/2022-01-20/cargo-1.58.1-i686-unknown-freebsd.tar.xz) = 5454892 -SHA256 (rust/2022-01-20/rustc-1.58.1-powerpc-unknown-freebsd.tar.xz) = 9f3a19cb004ed98fb1773b0b85dbd0b613ca9ac88cc64617be93ed8f10027304 -SIZE (rust/2022-01-20/rustc-1.58.1-powerpc-unknown-freebsd.tar.xz) = 51339132 -SHA256 (rust/2022-01-20/rust-std-1.58.1-powerpc-unknown-freebsd.tar.xz) = e0ec787bc6122402df83bc58854ea0adc141476c611d7d5a820d74d37cee0da6 -SIZE (rust/2022-01-20/rust-std-1.58.1-powerpc-unknown-freebsd.tar.xz) = 19986132 -SHA256 (rust/2022-01-20/cargo-1.58.1-powerpc-unknown-freebsd.tar.xz) = f9f363c90b61857d7166f07ab105ddfbb8834feb2391a234577688085efcd1b2 -SIZE (rust/2022-01-20/cargo-1.58.1-powerpc-unknown-freebsd.tar.xz) = 5044396 -SHA256 (rust/2022-01-20/rustc-1.58.1-powerpc64-unknown-freebsd-elfv1.tar.xz) = 41a65df771fbdb707f397c46051494b6643bc372ccba5e00d85fd243f58ae9a8 -SIZE (rust/2022-01-20/rustc-1.58.1-powerpc64-unknown-freebsd-elfv1.tar.xz) = 59874020 -SHA256 (rust/2022-01-20/rust-std-1.58.1-powerpc64-unknown-freebsd-elfv1.tar.xz) = 235a1882af9f82c8be19561705fa42826485540eb5e12f877a01d77849bfcd5f -SIZE (rust/2022-01-20/rust-std-1.58.1-powerpc64-unknown-freebsd-elfv1.tar.xz) = 20142520 -SHA256 (rust/2022-01-20/cargo-1.58.1-powerpc64-unknown-freebsd-elfv1.tar.xz) = 9dcc2ed48ea9c5195b4bcbec8bdbad9107f422ef2d94fb6581c639d91f60f757 -SIZE (rust/2022-01-20/cargo-1.58.1-powerpc64-unknown-freebsd-elfv1.tar.xz) = 5124252 -SHA256 (rust/2022-01-20/rustc-1.58.1-powerpc64le-unknown-freebsd.tar.xz) = a4dcc3cb8dba4bd683a39410abde7142cfbd01a210721d065891fa9722d6a94a -SIZE (rust/2022-01-20/rustc-1.58.1-powerpc64le-unknown-freebsd.tar.xz) = 51876588 -SHA256 (rust/2022-01-20/rust-std-1.58.1-powerpc64le-unknown-freebsd.tar.xz) = 70620d17631dc2224aa33e731d34a258f01f8011a4b977e4bcb39f7eca21b37f -SIZE (rust/2022-01-20/rust-std-1.58.1-powerpc64le-unknown-freebsd.tar.xz) = 20287396 -SHA256 (rust/2022-01-20/cargo-1.58.1-powerpc64le-unknown-freebsd.tar.xz) = 5f0393765a6fd7f131f7f161d9036486e5fbae23a49717e21cc88b86949e64f7 -SIZE (rust/2022-01-20/cargo-1.58.1-powerpc64le-unknown-freebsd.tar.xz) = 5035344 -SHA256 (rust/2022-01-20/rustc-1.58.1-riscv64gc-unknown-freebsd.tar.xz) = 30e83e1682819d0dd0af59a657c7c9e43a0ab12c65e895450bc4c6217644567a -SIZE (rust/2022-01-20/rustc-1.58.1-riscv64gc-unknown-freebsd.tar.xz) = 146101152 -SHA256 (rust/2022-01-20/rust-std-1.58.1-riscv64gc-unknown-freebsd.tar.xz) = 996617dbf439fbbaeeaf561f8df2384f6911ed3a5f37aac5299d7c2fe7c04d59 -SIZE (rust/2022-01-20/rust-std-1.58.1-riscv64gc-unknown-freebsd.tar.xz) = 27900440 -SHA256 (rust/2022-01-20/cargo-1.58.1-riscv64gc-unknown-freebsd.tar.xz) = 1fadc4457e169c5adf9226bd39e3baa429c19934d66d35082fccf12d36177d23 -SIZE (rust/2022-01-20/cargo-1.58.1-riscv64gc-unknown-freebsd.tar.xz) = 25171860 -SHA256 (rust/2022-01-20/rustc-1.58.1-powerpc64-unknown-freebsd-elfv2.tar.xz) = f51bbce85904167eb3140fd338c0db1461d773a12816eda5a9e23d99e7d43858 -SIZE (rust/2022-01-20/rustc-1.58.1-powerpc64-unknown-freebsd-elfv2.tar.xz) = 49776472 -SHA256 (rust/2022-01-20/rust-std-1.58.1-powerpc64-unknown-freebsd-elfv2.tar.xz) = f66dc338c191603a84b8c2765035a3de0e8ea24720448ca708d75a318464a79e -SIZE (rust/2022-01-20/rust-std-1.58.1-powerpc64-unknown-freebsd-elfv2.tar.xz) = 20119252 -SHA256 (rust/2022-01-20/cargo-1.58.1-powerpc64-unknown-freebsd-elfv2.tar.xz) = 125db61c8bcd860b31250bc621bc4899cc7a35f6a320f2bf55887580af5019c6 -SIZE (rust/2022-01-20/cargo-1.58.1-powerpc64-unknown-freebsd-elfv2.tar.xz) = 4773656 +TIMESTAMP = 1649150849 +SHA256 (rust/rustc-1.60.0-src.tar.xz) = a025876deccbcb3f288d8e02623ea321f94623f31305d3c5c6f17855bb9685db +SIZE (rust/rustc-1.60.0-src.tar.xz) = 136183048 +SHA256 (rust/2022-02-24/rustc-1.59.0-aarch64-unknown-freebsd.tar.xz) = 0c3d2c9bc8491937932a992a489670025e3af85def7c1e539718c10e8ecd49c7 +SIZE (rust/2022-02-24/rustc-1.59.0-aarch64-unknown-freebsd.tar.xz) = 41050564 +SHA256 (rust/2022-02-24/rust-std-1.59.0-aarch64-unknown-freebsd.tar.xz) = d2486c8e4a98602901862856670635362ed7a3adde87468ef5d300d73c704c59 +SIZE (rust/2022-02-24/rust-std-1.59.0-aarch64-unknown-freebsd.tar.xz) = 22577656 +SHA256 (rust/2022-02-24/cargo-1.59.0-aarch64-unknown-freebsd.tar.xz) = 80d23f538affffcde6c48c263a2e6558958982e31da03d5ab3609c900d0f5dff +SIZE (rust/2022-02-24/cargo-1.59.0-aarch64-unknown-freebsd.tar.xz) = 4421792 +SHA256 (rust/2022-02-24/rustc-1.59.0-x86_64-unknown-freebsd.tar.xz) = 347fd661cc1c455f3b30fa53f759c9f2fcdac8f418ecf2df56c7967b7fc99f4d +SIZE (rust/2022-02-24/rustc-1.59.0-x86_64-unknown-freebsd.tar.xz) = 37789512 +SHA256 (rust/2022-02-24/rust-std-1.59.0-x86_64-unknown-freebsd.tar.xz) = 35ddf333c4c943851eb544e11531144c786a9a1fbf2e9e82e9a15a3aa9531f9a +SIZE (rust/2022-02-24/rust-std-1.59.0-x86_64-unknown-freebsd.tar.xz) = 22778748 +SHA256 (rust/2022-02-24/cargo-1.59.0-x86_64-unknown-freebsd.tar.xz) = 6066e3df548aef04b9ad9b0c7dd42e0a873d9dcae92e3ec6869ad7a7c947b459 +SIZE (rust/2022-02-24/cargo-1.59.0-x86_64-unknown-freebsd.tar.xz) = 5162252 +SHA256 (rust/2022-02-24/rustc-1.59.0-armv6-unknown-freebsd.tar.xz) = 622597d01bae8c134a4b94ea627507183f1274590b93147c9a8d18676b069ade +SIZE (rust/2022-02-24/rustc-1.59.0-armv6-unknown-freebsd.tar.xz) = 42435404 +SHA256 (rust/2022-02-24/rust-std-1.59.0-armv6-unknown-freebsd.tar.xz) = e39ab0f876741e9af5b51141ff696a8508e79897d51f66489f476243e2931469 +SIZE (rust/2022-02-24/rust-std-1.59.0-armv6-unknown-freebsd.tar.xz) = 20834404 +SHA256 (rust/2022-02-24/cargo-1.59.0-armv6-unknown-freebsd.tar.xz) = 5ff0274c0deddba82e17bbe79c12a356541604d9b153f585f51d1382998f41bc +SIZE (rust/2022-02-24/cargo-1.59.0-armv6-unknown-freebsd.tar.xz) = 4485388 +SHA256 (rust/2022-02-24/rustc-1.59.0-armv7-unknown-freebsd.tar.xz) = 1098292e557bfb7218478c08b0c1cdd0575ab7867311977b192a2180511d834c +SIZE (rust/2022-02-24/rustc-1.59.0-armv7-unknown-freebsd.tar.xz) = 42455852 +SHA256 (rust/2022-02-24/rust-std-1.59.0-armv7-unknown-freebsd.tar.xz) = 387644c5dded45b54c0f1b433851904b0afc6eb57e2c64b8cf43be50835e52e7 +SIZE (rust/2022-02-24/rust-std-1.59.0-armv7-unknown-freebsd.tar.xz) = 21911820 +SHA256 (rust/2022-02-24/cargo-1.59.0-armv7-unknown-freebsd.tar.xz) = 7458e91fc799b191b2a5a0d7be03b49568979f1bf9086aa9207c20b49f348da3 +SIZE (rust/2022-02-24/cargo-1.59.0-armv7-unknown-freebsd.tar.xz) = 4472188 +SHA256 (rust/2022-02-24/rustc-1.59.0-i686-unknown-freebsd.tar.xz) = 2c7a633fdd4baed67fec386b42240bade2b467656a1fbbf6add440183563c27c +SIZE (rust/2022-02-24/rustc-1.59.0-i686-unknown-freebsd.tar.xz) = 46912192 +SHA256 (rust/2022-02-24/rust-std-1.59.0-i686-unknown-freebsd.tar.xz) = 3964122e38d71c8e85bdfebf526e8145444ba327a1e4df7108b85818e36ba7cd +SIZE (rust/2022-02-24/rust-std-1.59.0-i686-unknown-freebsd.tar.xz) = 22754924 +SHA256 (rust/2022-02-24/cargo-1.59.0-i686-unknown-freebsd.tar.xz) = ba02bbfd73608fe77629a04baa20664f0b503e9e1b07f4c0a3f87dcdbc4c3651 +SIZE (rust/2022-02-24/cargo-1.59.0-i686-unknown-freebsd.tar.xz) = 5300496 +SHA256 (rust/2022-02-24/rustc-1.59.0-powerpc-unknown-freebsd.tar.xz) = c3a100399552b7fb1bccfcd702357e57ccb924cace09026cabbd22af0f9274c6 +SIZE (rust/2022-02-24/rustc-1.59.0-powerpc-unknown-freebsd.tar.xz) = 43965252 +SHA256 (rust/2022-02-24/rust-std-1.59.0-powerpc-unknown-freebsd.tar.xz) = 16e0139998cec181d4c31c323b069498a933fe3a2bf7ac6b27198510802a492f +SIZE (rust/2022-02-24/rust-std-1.59.0-powerpc-unknown-freebsd.tar.xz) = 20527232 +SHA256 (rust/2022-02-24/cargo-1.59.0-powerpc-unknown-freebsd.tar.xz) = 3ebebe88bcd43ed0367b8060c9f5065b7d34132f5dc8d4102ed3be9f55ff19f8 +SIZE (rust/2022-02-24/cargo-1.59.0-powerpc-unknown-freebsd.tar.xz) = 4890476 +SHA256 (rust/2022-02-24/rustc-1.59.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 97ad75f47fb6a1044f9b917d5a6ffbcfb0dadc8a878fd851acc333d3deceb19c +SIZE (rust/2022-02-24/rustc-1.59.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 50379384 +SHA256 (rust/2022-02-24/rust-std-1.59.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 33e9fa830279431040cfe3e6cc0feb2a24b2c8c2d44546051ad8019bb98de5ef +SIZE (rust/2022-02-24/rust-std-1.59.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 20765208 +SHA256 (rust/2022-02-24/cargo-1.59.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = ffdc5207e74e5ffce283ab3166d2876a2721110bc5edae8005f9493a55582f38 +SIZE (rust/2022-02-24/cargo-1.59.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 4976872 +SHA256 (rust/2022-02-24/rustc-1.59.0-powerpc64le-unknown-freebsd.tar.xz) = 1e06b3bcb63cc4498436c70d236d5c6e7b98aa92b07b01b1f7ef9f2a2e5e0887 +SIZE (rust/2022-02-24/rustc-1.59.0-powerpc64le-unknown-freebsd.tar.xz) = 44181548 +SHA256 (rust/2022-02-24/rust-std-1.59.0-powerpc64le-unknown-freebsd.tar.xz) = d6a8ec902b529ee048bac70ea8e3989317167052a3438fef3763755b720d833f +SIZE (rust/2022-02-24/rust-std-1.59.0-powerpc64le-unknown-freebsd.tar.xz) = 20722244 +SHA256 (rust/2022-02-24/cargo-1.59.0-powerpc64le-unknown-freebsd.tar.xz) = 5bb65faeea8be4f76a898b0e86e3de189b87a3a928e0a51036e616a607c67154 +SIZE (rust/2022-02-24/cargo-1.59.0-powerpc64le-unknown-freebsd.tar.xz) = 4893140 +SHA256 (rust/2022-02-24/rustc-1.59.0-riscv64gc-unknown-freebsd.tar.xz) = 919e17d5962a434cde698f020e30fd8b08e53abb94da952851699e06b186712d +SIZE (rust/2022-02-24/rustc-1.59.0-riscv64gc-unknown-freebsd.tar.xz) = 138775268 +SHA256 (rust/2022-02-24/rust-std-1.59.0-riscv64gc-unknown-freebsd.tar.xz) = f6c4ab3f101ed628f52ae4a426ad94ff531b51986998cf118321ab12d31249c7 +SIZE (rust/2022-02-24/rust-std-1.59.0-riscv64gc-unknown-freebsd.tar.xz) = 28278800 +SHA256 (rust/2022-02-24/cargo-1.59.0-riscv64gc-unknown-freebsd.tar.xz) = 3bd8b26b91b85b318e29ed27862a5214f5abec1c9479915679c66bdb805e579f +SIZE (rust/2022-02-24/cargo-1.59.0-riscv64gc-unknown-freebsd.tar.xz) = 24261364 +SHA256 (rust/2022-02-24/rustc-1.59.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 143acd58436b3e469effc8fa38c2de036ed29d4a21ea78d0778b451ff92c346b +SIZE (rust/2022-02-24/rustc-1.59.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 42083776 +SHA256 (rust/2022-02-24/rust-std-1.59.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 760b5baa42f654bcf0e26a62f48527150186024cd227cd676195aa101005d5ea +SIZE (rust/2022-02-24/rust-std-1.59.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 20682952 +SHA256 (rust/2022-02-24/cargo-1.59.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 1358d9dad2379f4342e6b189280c2bf42e1bb1de8269bba95f04d0f05c5d206e +SIZE (rust/2022-02-24/cargo-1.59.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 4645868 diff --git a/lang/rust/files/patch-src_bootstrap_native.rs b/lang/rust/files/patch-src_bootstrap_native.rs new file mode 100644 --- /dev/null +++ b/lang/rust/files/patch-src_bootstrap_native.rs @@ -0,0 +1,15 @@ +Revert part of [1] as it causes cross build problem with lang/rust-bootstrap@powerpc + +[1] https://github.com/rust-lang/rust/commit/07dae5a97b64100f5abd511f1e2d5a6263a54006 + +--- src/bootstrap/native.rs.orig 2022-04-13 15:53:33.692586000 +0200 ++++ src/bootstrap/native.rs 2022-04-13 15:53:47.191939000 +0200 +@@ -318,7 +318,7 @@ impl Step for Llvm { + + // Workaround for ppc32 lld limitation + if target == "powerpc-unknown-freebsd" { +- ldflags.exe.push(" -fuse-ld=bfd"); ++ cfg.define("CMAKE_EXE_LINKER_FLAGS", "-fuse-ld=bfd"); + } + + // https://llvm.org/docs/HowToCrossCompileLLVM.html diff --git a/lang/rust/files/patch-src_llvm-project_compiler-rt_lib_builtins_cpu__model.c b/lang/rust/files/patch-src_llvm-project_compiler-rt_lib_builtins_cpu__model.c deleted file mode 100644 --- a/lang/rust/files/patch-src_llvm-project_compiler-rt_lib_builtins_cpu__model.c +++ /dev/null @@ -1,19 +0,0 @@ -https://reviews.llvm.org/D109330 - ---- src/llvm-project/compiler-rt/lib/builtins/cpu_model.c.orig 2021-07-12 08:53:30 UTC -+++ src/llvm-project/compiler-rt/lib/builtins/cpu_model.c -@@ -775,8 +775,14 @@ _Bool __aarch64_have_lse_atomics - #define HWCAP_ATOMICS (1 << 8) - #endif - static void CONSTRUCTOR_ATTRIBUTE init_have_lse_atomics(void) { -+#if defined(__FreeBSD__) -+ unsigned long hwcap; -+ int result = elf_aux_info(AT_HWCAP, &hwcap, sizeof hwcap); -+ __aarch64_have_lse_atomics = result == 0 && (hwcap & HWCAP_ATOMICS) != 0; -+#else - unsigned long hwcap = getauxval(AT_HWCAP); - __aarch64_have_lse_atomics = (hwcap & HWCAP_ATOMICS) != 0; -+#endif - } - #endif // defined(__has_include) - #endif // __has_include() diff --git a/lang/rust/files/powerpc/patch-vendor_rustc__ap__rustc__target_src_spec_mod.rs b/lang/rust/files/powerpc/patch-vendor_rustc__ap__rustc__target_src_spec_mod.rs deleted file mode 100644 --- a/lang/rust/files/powerpc/patch-vendor_rustc__ap__rustc__target_src_spec_mod.rs +++ /dev/null @@ -1,10 +0,0 @@ ---- vendor/rustc-ap-rustc_target/src/spec/mod.rs.orig 2021-04-24 18:21:48.422522000 -0500 -+++ vendor/rustc-ap-rustc_target/src/spec/mod.rs 2021-04-24 18:22:21.105142000 -0500 -@@ -684,6 +684,7 @@ supported_targets! { - ("armv6-unknown-freebsd", armv6_unknown_freebsd), - ("armv7-unknown-freebsd", armv7_unknown_freebsd), - ("i686-unknown-freebsd", i686_unknown_freebsd), -+ ("powerpc-unknown-freebsd", powerpc_unknown_freebsd), - ("powerpc64-unknown-freebsd", powerpc64_unknown_freebsd), - ("x86_64-unknown-freebsd", x86_64_unknown_freebsd), - diff --git a/lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_freebsd11_mod.rs b/lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_freebsd11_mod.rs deleted file mode 100644 --- a/lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_freebsd11_mod.rs +++ /dev/null @@ -1,12 +0,0 @@ ---- vendor/libc-0.2.108/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs.orig 2021-11-29 20:27:33 UTC -+++ vendor/libc-0.2.108/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs -@@ -217,7 +217,8 @@ extern "C" { - - cfg_if! { - if #[cfg(any(target_arch = "x86_64", -- target_arch = "aarch64"))] { -+ target_arch = "aarch64", -+ target_arch = "riscv64"))] { - mod b64; - pub use self::b64::*; - } diff --git a/lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_freebsd12_mod.rs b/lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_freebsd12_mod.rs deleted file mode 100644 --- a/lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_freebsd12_mod.rs +++ /dev/null @@ -1,12 +0,0 @@ ---- vendor/libc-0.2.108/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs.orig 2021-11-29 20:27:33 UTC -+++ vendor/libc-0.2.108/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs -@@ -241,7 +241,8 @@ extern "C" { - - cfg_if! { - if #[cfg(any(target_arch = "x86_64", -- target_arch = "aarch64"))] { -+ target_arch = "aarch64", -+ target_arch = "riscv64"))] { - mod b64; - pub use self::b64::*; - } diff --git a/lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_freebsd13_mod.rs b/lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_freebsd13_mod.rs deleted file mode 100644 --- a/lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_freebsd13_mod.rs +++ /dev/null @@ -1,12 +0,0 @@ ---- vendor/libc-0.2.108/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs.orig 2021-11-29 20:27:33 UTC -+++ vendor/libc-0.2.108/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs -@@ -271,7 +271,8 @@ extern "C" { - - cfg_if! { - if #[cfg(any(target_arch = "x86_64", -- target_arch = "aarch64"))] { -+ target_arch = "aarch64", -+ target_arch = "riscv64"))] { - mod b64; - pub use self::b64::*; - } diff --git a/lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_mod.rs b/lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_mod.rs deleted file mode 100644 --- a/lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_mod.rs +++ /dev/null @@ -1,12 +0,0 @@ ---- vendor/libc-0.2.108/src/unix/bsd/freebsdlike/freebsd/mod.rs.orig 2021-11-29 20:27:33 UTC -+++ vendor/libc-0.2.108/src/unix/bsd/freebsdlike/freebsd/mod.rs -@@ -2021,6 +2021,9 @@ cfg_if! { - } else if #[cfg(target_arch = "powerpc")] { - mod powerpc; - pub use self::powerpc::*; -+ } else if #[cfg(target_arch = "riscv64")] { -+ mod riscv64; -+ pub use self::riscv64::*; - } else { - // Unknown target_arch - } diff --git a/lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_riscv64.rs b/lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_riscv64.rs deleted file mode 100644 --- a/lang/rust/files/riscv64/patch-vendor_libc-0.2.108_src_unix_bsd_freebsdlike_freebsd_riscv64.rs +++ /dev/null @@ -1,157 +0,0 @@ ---- vendor/libc-0.2.108/src/unix/bsd/freebsdlike/freebsd/riscv64.rs.orig 2021-11-05 13:41:21 UTC -+++ vendor/libc-0.2.108/src/unix/bsd/freebsdlike/freebsd/riscv64.rs -@@ -0,0 +1,154 @@ -+pub type c_char = u8; -+pub type c_long = i64; -+pub type c_ulong = u64; -+pub type wchar_t = ::c_int; -+pub type time_t = i64; -+pub type suseconds_t = ::c_long; -+pub type register_t = i64; -+ -+// should be pub(crate), but that requires Rust 1.18.0 -+cfg_if! { -+ if #[cfg(libc_const_size_of)] { -+ #[doc(hidden)] -+ pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_longlong>() - 1; -+ } else { -+ #[doc(hidden)] -+ pub const _ALIGNBYTES: usize = 8 - 1; -+ } -+} -+ -+s_no_extra_traits! { -+ pub struct gpregs { -+ pub gp_ra: ::register_t, -+ pub gp_sp: ::register_t, -+ pub gp_gp: ::register_t, -+ pub gp_tp: ::register_t, -+ pub gp_t: [::register_t; 7], -+ pub gp_s: [::register_t; 12], -+ pub gp_a: [::register_t; 8], -+ pub gp_sepc: ::register_t, -+ pub gp_sstatus: ::register_t, -+ } -+ -+ pub struct fpregs { -+ pub fp_x: [[::register_t; 2]; 32], -+ pub fp_fcsr: ::register_t, -+ pub fp_flags: ::c_int, -+ pub fp_pad: ::c_int, -+ } -+ -+ pub struct mcontext_t { -+ pub mc_gpregs: gpregs, -+ pub mc_fpregs: fpregs, -+ pub mc_flags: ::c_int, -+ pub mc_pad: ::c_int, -+ pub mc_spare: [u64; 8], -+ } -+} -+ -+cfg_if! { -+ if #[cfg(feature = "extra_traits")] { -+ impl PartialEq for gpregs { -+ fn eq(&self, other: &gpregs) -> bool { -+ self.gp_ra == other.gp_ra && -+ self.gp_sp == other.gp_sp && -+ self.gp_gp == other.gp_gp && -+ self.gp_tp == other.gp_tp && -+ self.gp_t.iter().zip(other.gp_t.iter()).all(|(a, b)| a == b) && -+ self.gp_s.iter().zip(other.gp_s.iter()).all(|(a, b)| a == b) && -+ self.gp_a.iter().zip(other.gp_a.iter()).all(|(a, b)| a == b) && -+ self.gp_sepc == other.gp_sepc && -+ self.gp_sstatus == other.gp_sstatus -+ } -+ } -+ impl Eq for gpregs {} -+ impl ::fmt::Debug for gpregs { -+ fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { -+ f.debug_struct("gpregs") -+ .field("gp_ra", &self.gp_ra) -+ .field("gp_sp", &self.gp_sp) -+ .field("gp_gp", &self.gp_gp) -+ .field("gp_tp", &self.gp_tp) -+ .field("gp_t", &self.gp_t) -+ .field("gp_s", &self.gp_s) -+ .field("gp_a", &self.gp_a) -+ .field("gp_sepc", &self.gp_sepc) -+ .field("gp_sstatus", &self.gp_sstatus) -+ .finish() -+ } -+ } -+ impl ::hash::Hash for gpregs { -+ fn hash(&self, state: &mut H) { -+ self.gp_ra.hash(state); -+ self.gp_sp.hash(state); -+ self.gp_gp.hash(state); -+ self.gp_tp.hash(state); -+ self.gp_t.hash(state); -+ self.gp_s.hash(state); -+ self.gp_a.hash(state); -+ self.gp_sepc.hash(state); -+ self.gp_sstatus.hash(state); -+ } -+ } -+ impl PartialEq for fpregs { -+ fn eq(&self, other: &fpregs) -> bool { -+ self.fp_x == other.fp_x && -+ self.fp_fcsr == other.fp_fcsr && -+ self.fp_flags == other.fp_flags && -+ self.fp_pad == other.fp_pad -+ } -+ } -+ impl Eq for fpregs {} -+ impl ::fmt::Debug for fpregs { -+ fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { -+ f.debug_struct("fpregs") -+ .field("fp_x", &self.fp_x) -+ .field("fp_fcsr", &self.fp_fcsr) -+ .field("fp_flags", &self.fp_flags) -+ .field("fp_pad", &self.fp_pad) -+ .finish() -+ } -+ } -+ impl ::hash::Hash for fpregs { -+ fn hash(&self, state: &mut H) { -+ self.fp_x.hash(state); -+ self.fp_fcsr.hash(state); -+ self.fp_flags.hash(state); -+ self.fp_pad.hash(state); -+ } -+ } -+ impl PartialEq for mcontext_t { -+ fn eq(&self, other: &mcontext_t) -> bool { -+ self.mc_gpregs == other.mc_gpregs && -+ self.mc_fpregs == other.mc_fpregs && -+ self.mc_flags == other.mc_flags && -+ self.mc_pad == other.mc_pad && -+ self.mc_spare.iter().zip(other.mc_spare.iter()).all(|(a, b)| a == b) -+ } -+ } -+ impl Eq for mcontext_t {} -+ impl ::fmt::Debug for mcontext_t { -+ fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { -+ f.debug_struct("mcontext_t") -+ .field("mc_gpregs", &self.mc_gpregs) -+ .field("mc_fpregs", &self.mc_fpregs) -+ .field("mc_flags", &self.mc_flags) -+ .field("mc_pad", &self.mc_pad) -+ .field("mc_spare", &self.mc_spare) -+ .finish() -+ } -+ } -+ impl ::hash::Hash for mcontext_t { -+ fn hash(&self, state: &mut H) { -+ self.mc_gpregs.hash(state); -+ self.mc_fpregs.hash(state); -+ self.mc_flags.hash(state); -+ self.mc_pad.hash(state); -+ self.mc_spare.hash(state); -+ } -+ } -+ } -+} -+ -+pub const MAP_32BIT: ::c_int = 0x00080000; -+pub const MINSIGSTKSZ: ::size_t = 4096; // 1024 * 4 diff --git a/lang/rust/files/riscv64/patch-vendor_rustc__ap__rustc__target_src_spec_mod.rs b/lang/rust/files/riscv64/patch-vendor_rustc__ap__rustc__target_src_spec_mod.rs deleted file mode 100644 --- a/lang/rust/files/riscv64/patch-vendor_rustc__ap__rustc__target_src_spec_mod.rs +++ /dev/null @@ -1,9 +0,0 @@ ---- vendor/rustc-ap-rustc_target/src/spec/mod.rs.orig 2021-11-04 11:23:50 UTC -+++ vendor/rustc-ap-rustc_target/src/spec/mod.rs -@@ -805,6 +805,7 @@ supported_targets! { - ("powerpc-unknown-freebsd", powerpc_unknown_freebsd), - ("powerpc64-unknown-freebsd", powerpc64_unknown_freebsd), -+ ("riscv64gc-unknown-freebsd", riscv64gc_unknown_freebsd), - ("x86_64-unknown-freebsd", x86_64_unknown_freebsd), - - ("x86_64-unknown-dragonfly", x86_64_unknown_dragonfly),