From owner-svn-ports-all@freebsd.org Fri Sep 15 18:01:20 2017 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 363FFE25AD0; Fri, 15 Sep 2017 18:01:20 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EDDF4716E4; Fri, 15 Sep 2017 18:01:19 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v8FI1Jdb094150; Fri, 15 Sep 2017 18:01:19 GMT (envelope-from dumbbell@FreeBSD.org) Received: (from dumbbell@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v8FI1ICO094138; Fri, 15 Sep 2017 18:01:18 GMT (envelope-from dumbbell@FreeBSD.org) Message-Id: <201709151801.v8FI1ICO094138@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dumbbell set sender to dumbbell@FreeBSD.org using -f From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Date: Fri, 15 Sep 2017 18:01:18 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r449914 - in head: . Mk Mk/Uses devel devel/cargo lang/rust lang/rust/files multimedia/librespot www/firefox X-SVN-Group: ports-head X-SVN-Commit-Author: dumbbell X-SVN-Commit-Paths: in head: . Mk Mk/Uses devel devel/cargo lang/rust lang/rust/files multimedia/librespot www/firefox X-SVN-Commit-Revision: 449914 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Sep 2017 18:01:20 -0000 Author: dumbbell Date: Fri Sep 15 18:01:17 2017 New Revision: 449914 URL: https://svnweb.freebsd.org/changeset/ports/449914 Log: lang/rust: Install Cargo + use bundled crates This port now provides Cargo. This is the recommended now because Cargo won't be provided separately in the future. To build Cargo, we set `extended = true` in `config.toml`. As a side effect, this flag also installs Rust source code. The port has a new `SOURCES` option (disabled by default) to keep those sources. As a consequence of this, `devel/cargo` is removed. Several ports and Makefiles in Mk were updated to depend on `lang/rust` instead of `devel/cargo`. The other big change in this patch is the use of the bundled crates, instead of relying on Cargo's registry (which was part of the distfiles, in order to allow offline builds). So now, we don't need to prepare the registry when updating this port. This has several other benefits: * It fixes the build with sudo(8). * It fixes the use of the ino-64 patch (it was not applied to the registry, thus not used). Compilation errors were fixed in the ino-64 patch. Various `.cargo-checksum.json` files are updated after the sources are patched (FBSD10_FIX, ino-64, and so on). This fixes builds which were failing with errors such as: error: the listed checksum of `.../rustc-1.19.0-src/src/vendor/lzma-sys/xz-5.2.3/build-aux/config.rpath` has changed: expected: c8b4c017079da9dfb3086a0583e60ffe736184d89005dc5973f0bb0fd17c04bb actual: 561b00eb30ecaef2c9da17bc195e7d2a7ea63facea38ea9849fbb0ed340bebba PR: 221088 Reported by: joneum@, nwhitehorn@, romain@, Ekaterina Vaartis , david@catwhisker.org, fullermd@over-yonder.net, rum1cro@yandex.ru, w.schwarzenfeld@utanet.at Differential Revision: https://reviews.freebsd.org/D11783 Deleted: head/devel/cargo/ Modified: head/MOVED head/Mk/Uses/cargo.mk head/Mk/bsd.gecko.mk head/UPDATING head/devel/Makefile head/lang/rust/Makefile head/lang/rust/distinfo head/lang/rust/files/config.toml head/lang/rust/files/extra-patch-ino64 head/multimedia/librespot/Makefile head/www/firefox/Makefile Modified: head/MOVED ============================================================================== --- head/MOVED Fri Sep 15 17:37:02 2017 (r449913) +++ head/MOVED Fri Sep 15 18:01:17 2017 (r449914) @@ -9545,3 +9545,4 @@ x11-toolkits/py33-tkinter||2017-09-03|Removed, please devel/py3-enum34||2017-09-03|Removed, Python 3.3 only security/clambc||2017-09-14|Has expired: Practically unmaintained, featuring issues elsewhere solved 6 years ago devel/cmake-modules||2017-09-14|Merged with devel/cmake +devel/cargo|lang/rust|2017-09-15|Merged with lang/rust Modified: head/Mk/Uses/cargo.mk ============================================================================== --- head/Mk/Uses/cargo.mk Fri Sep 15 17:37:02 2017 (r449913) +++ head/Mk/Uses/cargo.mk Fri Sep 15 18:01:17 2017 (r449914) @@ -46,10 +46,10 @@ DISTFILES+= ${CARGO_DIST_SUBDIR}/${_crate}.tar.gz:carg CARGO_BUILDDEP?= yes .if ${CARGO_BUILDDEP:tl} == "yes" -BUILD_DEPENDS+= cargo:devel/cargo rustc:lang/rust +BUILD_DEPENDS+= rust>=1.19.0:lang/rust .endif -# Location of cargo binary (default to devel/cargo binary) +# Location of cargo binary (default to lang/rust's Cargo binary) CARGO_CARGO_BIN?= ${LOCALBASE}/bin/cargo # Location of the cargo output directory. Modified: head/Mk/bsd.gecko.mk ============================================================================== --- head/Mk/bsd.gecko.mk Fri Sep 15 17:37:02 2017 (r449913) +++ head/Mk/bsd.gecko.mk Fri Sep 15 18:01:17 2017 (r449914) @@ -389,10 +389,7 @@ post-patch-SNDIO-on: .endif .if ${PORT_OPTIONS:MRUST} -BUILD_DEPENDS+= rust>=1.15.1:${RUST_PORT} -. if ${MOZILLA_VER:R:R} >= 51 -BUILD_DEPENDS+= cargo>=0.16.0:devel/cargo -. endif +BUILD_DEPENDS+= rust>=1.19.0:${RUST_PORT} RUST_PORT?= lang/rust MOZ_OPTIONS+= --enable-rust .else Modified: head/UPDATING ============================================================================== --- head/UPDATING Fri Sep 15 17:37:02 2017 (r449913) +++ head/UPDATING Fri Sep 15 18:01:17 2017 (r449914) @@ -5,6 +5,13 @@ they are unavoidable. You should get into the habit of checking this file for changes each time you update your ports collection, before attempting any port upgrades. +20170915: + AFFECTS: users of devel/cargo + AUTHOR: rust@FreeBSD.org + + Starting with version 1.19.0, Cargo is provided with Rust. Therefore, + devel/cargo was merged into lang/rust. + 20170914: AFFECTS: users of CMake AUTHOR: adridg@freebsd.org Modified: head/devel/Makefile ============================================================================== --- head/devel/Makefile Fri Sep 15 17:37:02 2017 (r449913) +++ head/devel/Makefile Fri Sep 15 18:01:17 2017 (r449914) @@ -255,7 +255,6 @@ SUBDIR += calibrator SUBDIR += capstone3 SUBDIR += capstone4 - SUBDIR += cargo SUBDIR += cask SUBDIR += catch SUBDIR += cbrowser Modified: head/lang/rust/Makefile ============================================================================== --- head/lang/rust/Makefile Fri Sep 15 17:37:02 2017 (r449913) +++ head/lang/rust/Makefile Fri Sep 15 18:01:17 2017 (r449914) @@ -3,7 +3,7 @@ PORTNAME= rust PORTVERSION?= 1.19.0 -PORTREVISION?= 1 +PORTREVISION?= 2 CATEGORIES= lang MASTER_SITES= http://static.rust-lang.org/dist/:src \ https://static.rust-lang.org/dist/:rust_bootstrap \ @@ -13,20 +13,14 @@ MASTER_SITES= http://static.rust-lang.org/dist/:src \ LOCAL/dumbbell/rust:cargo_bootstrap \ LOCAL/marino:bootstrap DISTNAME?= ${PORTNAME}c-${PORTVERSION}-src -BOOTSTRAP_FILES=${RUSTC_BOOTSTRAP}:rust_bootstrap \ +DISTFILES?= ${DISTNAME}${EXTRACT_SUFX}:src \ + ${RUSTC_BOOTSTRAP}:rust_bootstrap \ ${RUST_STD_BOOTSTRAP}:rust_bootstrap \ ${CARGO_BOOTSTRAP}:cargo_bootstrap -DISTFILES?= ${DISTNAME}${EXTRACT_SUFX}:src \ - ${BOOTSTRAP_FILES} -.if !defined(SKIP_CARGO_REGISTRY) -MASTER_SITES+= LOCAL/riggs/rust:registry \ - LOCAL/dumbbell/rust:registry -DISTFILES+= ${CARGO_REGISTRY}:registry -.endif DIST_SUBDIR?= rust EXTRACT_ONLY?= ${DISTFILES:N*\:*bootstrap:C/:.*//} -MAINTAINER?= rust@FreeBSD.org +MAINTAINER= rust@FreeBSD.org COMMENT= Language with a focus on memory safety and concurrency LICENSE= APACHE20 \ @@ -36,6 +30,8 @@ LICENSE_COMB= dual LICENSE_FILE_MIT= ${WRKSRC}/LICENSE-MIT BUILD_DEPENDS= cmake:devel/cmake +LIB_DEPENDS= libcurl.so:ftp/curl \ + libssh2.so:security/libssh2 ONLY_FOR_ARCHS?= aarch64 amd64 i386 ONLY_FOR_ARCHS_REASON= requires prebuilt bootstrap compiler @@ -58,7 +54,6 @@ RUST_STD_BOOTSTRAP= ${BOOTSTRAPS_DATE_${ARCH}:U${BOOT CARGO_BOOTSTRAP_VERSION?= 0.19.0 CARGO_BOOTSTRAP_VERSION_aarch64?=0.19.0 CARGO_BOOTSTRAP= ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/cargo-${CARGO_BOOTSTRAP_VERSION_${ARCH}:U${CARGO_BOOTSTRAP_VERSION}}-${RUST_TARGET}${EXTRACT_SUFX} -CARGO_REGISTRY= ${PORTNAME}-registry-${DISTVERSIONFULL}.tar.xz RUST_CHANNEL= ${PKGNAMESUFFIX:Ustable:S/^-//} @@ -70,11 +65,12 @@ RUST_ARCH_x86_64= x86_64 # dragonfly RUST_TARGET= ${RUST_ARCH_${ARCH}}-unknown-${OPSYS:tl} PLIST_SUB+= RUST_TARGET=${RUST_TARGET} -USES= compiler gmake libedit python:2.7,build +USES= compiler gmake libedit pkgconfig python:2.7,build ssl -OPTIONS_DEFINE= DOCS GDB LLNEXTGEN PORT_LLVM +OPTIONS_DEFINE= DOCS GDB LLNEXTGEN PORT_LLVM SOURCES GDB_DESC= Install ports gdb (necessary for debugging rust programs) LLNEXTGEN_DESC= Build with grammar verification +SOURCES_DESC= Install source files GDB_RUN_DEPENDS= ${LOCALBASE}/bin/gdb:devel/gdb LLNEXTGEN_BUILD_DEPENDS= LLnextgen:devel/llnextgen @@ -89,22 +85,30 @@ LLVM_CONFIG= ${LOCALBASE}/bin/llvm-config${LLVM_VER} # We use them in: # - pre-install to cleanup the ${STAGEDIR} # - post-install to populate the ${TMPPLIST} -RUST_MANIFESTS= lib/rustlib/manifest-rustc \ +RUST_MANIFESTS= lib/rustlib/manifest-cargo \ + lib/rustlib/manifest-rustc \ + lib/rustlib/manifest-rust-analysis-${RUST_TARGET} \ lib/rustlib/manifest-rust-std-${RUST_TARGET} -RUST_DOCS_MANIFESTS= lib/rustlib/manifest-rust-docs -DOCS_VARS= rust_manifests+=${RUST_DOCS_MANIFESTS} +RUST_DOCS_MANIFEST= lib/rustlib/manifest-rust-docs +RUST_SRC_MANIFEST= lib/rustlib/manifest-rust-src +DOCS_VARS= rust_manifests+=${RUST_DOCS_MANIFEST} +SOURCES_VARS= rust_manifests+=${RUST_SRC_MANIFEST} PLIST_FILES= lib/rustlib/components \ lib/rustlib/rust-installer-version .include .if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200031 -EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-ino64 +EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-ino64 .endif -X_PY_ENV = HOME=${WRKDIR} -X_PY_CMD = ${PYTHON_CMD} ${WRKSRC}/x.py +X_PY_ENV= HOME="${WRKDIR}" \ + OPENSSL_DIR="${OPENSSLBASE}" +X_PY_CMD= ${PYTHON_CMD} ${WRKSRC}/x.py +CRATES_PATCHED_BY_FBSD10_FIX= src/vendor/libssh2-sys \ + src/vendor/lzma-sys + pre-fetch: # FIXME: This is the same check for CONFLICTS as the standard # one, except port origins are not compared. This allows @@ -161,6 +165,9 @@ post-extract: post-patch: @${REINPLACE_CMD} -e 's|gdb|${LOCALBASE}/bin/gdb|' \ ${WRKSRC}/src/etc/rust-gdb +# If we override the versions and date of the bootstraps (for instance +# on aarch64 where we provide our own bootstraps), we need to update +# places where they are recorded. @if test "${BOOTSTRAPS_DATE_${ARCH}}"; then \ ${REINPLACE_CMD} -e \ 's|^date:.*|date: ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}|' \ @@ -179,6 +186,26 @@ post-patch: 's|cargo-nightly-|cargo-${CARGO_BOOTSTRAP_VERSION_${ARCH}:U${CARGO_BOOTSTRAP_VERSION}}-|' \ ${WRKSRC}/src/bootstrap/bootstrap.py; \ fi +# `extra-patch-ino64` may be applied. If that's the case, we need to +# update `.cargo-checksum.json` to reflect the new checksums verified by +# Cargo. + @cd "${WRKSRC}/src/vendor/libc"; \ + for file in $$(${FIND} * -name "*.orig"); do \ + old_checksum=$$(${SHA256} -q "$$file"); \ + new_checksum=$$(${SHA256} -q "$${file%%.orig}"); \ + regex="$$regex -e s|\"$${file%%.orig}\":\"$$old_checksum\"|\"$${file%%.orig}\":\"$$new_checksum\"|"; \ + done; \ + if test "$$regex"; then \ + ${REINPLACE_CMD} -E $$regex .cargo-checksum.json; \ + fi +# We make a backup of a few files before the FreeBSD 10 autotools +# fix is applied. We'll need them in `do-configure` to update the +# `.cargo-checksum.json` files. + @for crate in ${CRATES_PATCHED_BY_FBSD10_FIX}; do \ + for file in $$(${FIND} "${WRKSRC}/$$crate" -name "config.rpath"); do \ + ${CP} "$$file" "$$file.orig"; \ + done; \ + done do-configure: ${SED} -E \ @@ -190,6 +217,20 @@ do-configure: -e 's,%TARGET%,${RUST_TARGET},' \ < ${FILESDIR}/config.toml \ > ${WRKSRC}/config.toml +# The FreeBSD 10 autotools fix may modify some files just before +# `do-configure`. Like after `extra-path-ino64`, we need to update +# `.cargo-checksum.json`. + @for crate in ${CRATES_PATCHED_BY_FBSD10_FIX}; do \ + cd "${WRKSRC}/$$crate"; \ + for file in $$(${FIND} * -name "*.orig"); do \ + old_checksum=$$(${SHA256} -q "$$file"); \ + new_checksum=$$(${SHA256} -q "$${file%%.orig}"); \ + regex="$$regex -e s|\"$${file%%.orig}\":\"$$old_checksum\"|\"$${file%%.orig}\":\"$$new_checksum\"|"; \ + done; \ + if test "$$regex"; then \ + ${REINPLACE_CMD} -E $$regex .cargo-checksum.json; \ + fi; \ + done post-configure-DOCS-on: ${REINPLACE_CMD} -e 's,%DOCS%,true,' ${WRKSRC}/config.toml @@ -216,7 +257,7 @@ do-build: # new ones. Otherwise, the staging directory is polluted with unneeded # files. pre-install: - @for f in ${RUST_MANIFESTS} ${RUST_DOCS_MANIFESTS}; do \ + @for f in ${RUST_MANIFESTS} ${RUST_DOCS_MANIFEST} ${RUST_SRC_MANIFEST}; do \ if test -f "${STAGEDIR}${PREFIX}/$$f"; then \ ${SED} -E -e 's,^(file|dir):,${STAGEDIR},' \ < "${STAGEDIR}${PREFIX}/$$f" \ @@ -243,6 +284,12 @@ do-install: # on the absolute path of the source files. As it is user-specific, we # can't know their filename in advance. # +# Both rustc and Cargo components install the same README.md and LICENSE +# files. The install process backs up the first copy to install the +# second. Thus here, we need to remove those backups. We also need to +# dedup the entries in the generated PLIST, because both components' +# manifests list them. +# # We fix manpage entries in the generated manifests because Rust # installs them uncompressed but the Ports framework compresses them. post-install: @@ -266,17 +313,35 @@ post-install: }' \ ${STAGEDIR}${PREFIX}/$$f >> ${TMPPLIST}; \ done + ${RM} ${STAGEDIR}${PREFIX}/share/doc/rust/*.old + ${SORT} -u < ${TMPPLIST} > ${TMPPLIST}.uniq + ${MV} ${TMPPLIST}.uniq ${TMPPLIST} @${RM} \ ${STAGEDIR}${PREFIX}/lib/rustlib/install.log \ ${STAGEDIR}${PREFIX}/lib/rustlib/uninstall.sh # FIXME: Static libraries in lib/rustlib/*/lib/*.rlib are not stripped, # but they contain non-object files which make strip(1) unhappy. @${STRIP_CMD} \ + ${STAGEDIR}${PREFIX}/bin/cargo \ ${STAGEDIR}${PREFIX}/bin/rustc \ ${STAGEDIR}${PREFIX}/bin/rustdoc \ ${STAGEDIR}${PREFIX}/lib/*.so \ ${STAGEDIR}${PREFIX}/lib/rustlib/*/lib/*.so +# We set `extended = true` in config.toml because we want to build +# Cargo at the same time. However, this installs the rust-src component +# as well. If the user doesn't want that, I don't know how to prevent +# its install. So for now, use the rust-src manifest to remove it from +# ${STAGEDIR}. +post-install-SOURCES-off: + if test -f "${STAGEDIR}${PREFIX}/${RUST_SRC_MANIFEST}"; then \ + ${SED} -E -e 's,^(file|dir):,,' \ + < "${STAGEDIR}${PREFIX}/${RUST_SRC_MANIFEST}" \ + | ${XARGS} ${RM} -r; \ + ${RM} "${STAGEDIR}${PREFIX}/${RUST_SRC_MANIFEST}"; \ + ${RM} -r "${STAGEDIR}${PREFIX}/lib/rustlib/src"; \ + fi + # Note that make test does not work when rust is already installed. do-test: cd ${WRKSRC} && \ @@ -288,22 +353,3 @@ do-test: --jobs ${MAKE_JOBS_NUMBER} .include - -# "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 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} -C${.CURDIR} -DSKIP_CARGO_REGISTRY makesum - ${MAKE} -C${.CURDIR} -DSKIP_CARGO_REGISTRY - ${TAR} cJvf ${DISTDIR}/${DIST_SUBDIR}/${CARGO_REGISTRY} -C${WRKDIR} \ - --uid 0 --gid 0 \ - --exclude 'src/*/benches/' \ - --exclude 'src/*/ci/' \ - --exclude 'src/*/examples/' \ - --exclude 'index/github.com-*/.git/' \ - .cargo - ${MAKE} -C${.CURDIR} makesum Modified: head/lang/rust/distinfo ============================================================================== --- head/lang/rust/distinfo Fri Sep 15 17:37:02 2017 (r449913) +++ head/lang/rust/distinfo Fri Sep 15 18:01:17 2017 (r449914) @@ -19,5 +19,3 @@ SHA256 (rust/2017-06-08/rust-std-1.18.0-x86_64-unknown SIZE (rust/2017-06-08/rust-std-1.18.0-x86_64-unknown-freebsd.tar.gz) = 66585539 SHA256 (rust/2017-06-08/cargo-0.19.0-x86_64-unknown-freebsd.tar.gz) = a8d45ad508ecbe9ec9e19fddabda4476466486f97cfb1b59d0a43a1012acb788 SIZE (rust/2017-06-08/cargo-0.19.0-x86_64-unknown-freebsd.tar.gz) = 5176510 -SHA256 (rust/rust-registry-1.19.0.tar.xz) = 7f1d5b33ba11bbb05e468317680b54a61557e087e0d0deb0d69c2535f1b61146 -SIZE (rust/rust-registry-1.19.0.tar.xz) = 28571276 Modified: head/lang/rust/files/config.toml ============================================================================== --- head/lang/rust/files/config.toml Fri Sep 15 17:37:02 2017 (r449913) +++ head/lang/rust/files/config.toml Fri Sep 15 18:01:17 2017 (r449914) @@ -1,5 +1,11 @@ [build] +# Use bundled crates; this should permit offline build. +vendor = true + +# In addition to rustc, rust-std and rust-docs, build Cargo. +extended = true + # python(1) location. python = "%PYTHON_CMD%" @@ -20,3 +26,8 @@ channel = "%CHANNEL%" [target.%TARGET%] llvm-config = "%LLVM_CONFIG%" + +[dist] + +# Do not build the source archive. +src-tarball = false Modified: head/lang/rust/files/extra-patch-ino64 ============================================================================== --- head/lang/rust/files/extra-patch-ino64 Fri Sep 15 17:37:02 2017 (r449913) +++ head/lang/rust/files/extra-patch-ino64 Fri Sep 15 18:01:17 2017 (r449914) @@ -29,7 +29,7 @@ - pub st_birthtime: ::time_t, - pub st_birthtime_nsec: ::c_long, + pub st_gen: ::uint64_t, -+ pub st_spare: [::int64_t; 10], ++ pub st_spare: [::uint64_t; 10], } } --- ./src/liblibc/src/unix/bsd/freebsdlike/freebsd/mod.rs.orig 2017-04-24 18:56:45.000000000 +0000 @@ -97,7 +97,7 @@ - pub st_birthtime_nsec: ::c_long, - __unused: [u8; 8], + pub st_gen: ::uint64_t, -+ pub st_lspare: [::uint64_t; 10], ++ pub st_spare: [::uint64_t; 10], } } --- ./src/liblibc/src/unix/bsd/freebsdlike/freebsd/x86_64.rs.orig 2017-04-24 18:56:45.000000000 +0000 @@ -131,7 +131,7 @@ - pub st_birthtime: ::time_t, - pub st_birthtime_nsec: ::c_long, + pub st_gen: ::uint64_t, -+ pub st_spare: [::int64_t; 10], ++ pub st_spare: [::uint64_t; 10], } } --- ./src/liblibc/src/unix/bsd/freebsdlike/mod.rs.orig 2017-04-24 18:56:45.000000000 +0000 @@ -270,7 +270,7 @@ - pub st_birthtime: ::time_t, - pub st_birthtime_nsec: ::c_long, + pub st_gen: ::uint64_t, -+ pub st_spare: [::int64_t; 10], ++ pub st_spare: [::uint64_t; 10], } } --- ./src/vendor/libc/src/unix/bsd/freebsdlike/freebsd/x86_64.rs.orig 2017-04-24 20:20:26.000000000 +0000 @@ -282,10 +282,10 @@ - pub st_mode: ::mode_t, pub st_nlink: ::nlink_t, + pub st_mode: ::mode_t, -+ pub st_pad0: u16, ++ pub st_pad0: ::uint16_t, pub st_uid: ::uid_t, pub st_gid: ::gid_t, -+ pub st_pad1: ::u32, ++ pub st_pad1: ::uint32_t, pub st_rdev: ::dev_t, pub st_atime: ::time_t, pub st_atime_nsec: ::c_long, @@ -304,7 +304,7 @@ - pub st_birthtime: ::time_t, - pub st_birthtime_nsec: ::c_long, + pub st_gen: ::uint64_t, -+ pub st_spare: [u64; 10], ++ pub st_spare: [::uint64_t; 10], } } --- ./src/vendor/libc/src/unix/bsd/freebsdlike/freebsd/mod.rs.orig 2017-04-24 20:20:26.000000000 +0000 @@ -345,21 +345,21 @@ - pub st_mode: ::mode_t, pub st_nlink: ::nlink_t, + pub st_mode: ::mode_t, -+ pub st_pad0: u16, ++ pub st_pad0: ::uint16_t, pub st_uid: ::uid_t, pub st_gid: ::gid_t, -+ pub st_pad1: u32, ++ pub st_pad1: ::uint32_t, pub st_rdev: ::dev_t, -+ pub st_atime_ext: ::i32, ++ pub st_atime_ext: ::int32_t, pub st_atime: ::time_t, pub st_atime_nsec: ::c_long, -+ pub st_mtime_ext: ::i32, ++ pub st_mtime_ext: i32, pub st_mtime: ::time_t, pub st_mtime_nsec: ::c_long, -+ pub st_ctime_ext: ::i32, ++ pub st_ctime_ext: ::int32_t, pub st_ctime: ::time_t, pub st_ctime_nsec: ::c_long, -+ pub st_birthtime_ext: ::i32, ++ pub st_birthtime_ext: ::int32_t, + pub st_birthtime: ::time_t, + pub st_birthtime_nsec: ::c_long, pub st_size: ::off_t, @@ -372,7 +372,7 @@ - pub st_birthtime_nsec: ::c_long, - __unused: [u8; 8], + pub st_gen: ::uint64_t, -+ pub st_spare: [u64; 10], ++ pub st_spare: [::uint64_t; 10], } } --- ./src/vendor/libc/src/unix/bsd/freebsdlike/mod.rs.orig 2017-04-24 20:20:26.000000000 +0000 Modified: head/multimedia/librespot/Makefile ============================================================================== --- head/multimedia/librespot/Makefile Fri Sep 15 17:37:02 2017 (r449913) +++ head/multimedia/librespot/Makefile Fri Sep 15 18:01:17 2017 (r449914) @@ -12,7 +12,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE BROKEN= tries to clone git repository during build phase -BUILD_DEPENDS= cargo>0:devel/cargo \ +BUILD_DEPENDS= rust>=1.19.0:lang/rust \ portaudio>0:audio/portaudio USES= localbase pathfix pkgconfig shebangfix Modified: head/www/firefox/Makefile ============================================================================== --- head/www/firefox/Makefile Fri Sep 15 17:37:02 2017 (r449913) +++ head/www/firefox/Makefile Fri Sep 15 18:01:17 2017 (r449914) @@ -48,7 +48,7 @@ MOZ_OPTIONS= --enable-application=browser \ OPTIONS_DEFINE= RUST OPTIONS_DEFAULT= BUNDLED_CAIRO OPTIONS_EXCLUDE= GNOMEUI -# XXX lang/rust and devel/cargo currently build only on these platforms +# XXX lang/rust currently builds only on these platforms OPTIONS_DEFAULT_aarch64=RUST OPTIONS_DEFAULT_amd64= RUST OPTIONS_DEFAULT_i386= RUST