summaryrefslogtreecommitdiff
path: root/lang/rust-bin
AgeCommit message (Collapse)AuthorFilesLines
2022-12-11lang/rust-bin: Sync to main rust version, upgrade rust-bin to 1.64.0.he2-48/+48
2022-10-23lang/rust-bin: also drop compat80 requirement for armv6hf.he1-2/+2
2022-10-23lang/rust-bin: add bits for the NetBSD/armv6 version.he2-2/+15
This remains untested for now, but at least the build from over in lang/rust didn't fail...
2022-10-13rust-bin: fix packaging on Linuxgutteridge1-2/+2
Rust 1.63 no longer ships lib/rustlib/${RUST_ARCH}/bin/gcc-ld/ld64.
2022-10-10lang/rust-bin: Sync to main rust version, upgrade rust-bin to 1.63.0.he2-45/+45
2022-09-04lang/rust-bin: complete the transition to .tar.xz for the NetBSD targets.he1-2/+2
Thanks to rjs@ for reporting.
2022-09-04rust-bin: reduce repetition in NetBSD section, fix aarch64eb entry.he1-16/+24
Thanks to pkglint for the need to fix aarch64eb.
2022-09-04rust-bin: add the aarch64_be NetBSD variant.he2-2/+12
2022-09-02rust-bin: update to 1.62.1.he2-60/+60
NetBSD ports go to EXTRACT_SUFX=.tar.xz, so adapt accordingly. For details of other changes, see commit log for the main rust package.
2022-07-01lang/rust-bin: Bump minimum rust versionpin1-2/+2
By now a large number of Rust projects have migrated to edition = 2021, which requires Rust >= 1.56. Some projects still using edition = 2018 could, technically build with 1.20. But, since several libs have also adopted edition = 2021, many would fail while building dependencies.
2022-05-26Sync to main rust version, upgrade rust-bin to 1.60.0.he2-42/+42
2022-04-30rust-bin: sync with rustnia1-5/+5
2022-04-30rust-bin: use OPSYS_VERSION for NetBSDnia1-3/+4
2022-04-16Sync to main rust version, upgrade rust-bin to 1.59.0.he2-45/+42
2022-03-03Sync to main rust version, upgrade rust-bin to 1.58.1.he2-42/+45
2022-01-30Mark the package as MKPIE-unsupportedpho1-1/+4
2021-12-10rust-bin: fix Linux packaginggutteridge1-2/+2
2021-11-30lang/rust-bin: Update to 1.56.1gdt2-42/+42
This catches up with lang/rust, updates for which contain upstream changes.
2021-11-28lang/rust-bin: Clarify DESCRgdt1-1/+3
Note that a TNF-built binary is used on NetBSD versions not supported by upstream.
2021-10-07lang: Remove SHA1 hashes for distfilesnia1-14/+1
2021-09-12rust-bin: fix Linux packaging after version updategutteridge1-2/+3
2021-09-11rust-bin: sync version with lang/rustnia2-64/+60
2021-09-08rust-bin: fix FreeBSD and NetBSD packaging of some binariesgutteridge1-13/+9
Re-do my previous Linux packaging fix in r. 1.26. FreeBSD and NetBSD both don't need a particular code block that runs patchelf; doing so only mangles the resulting binaries, so things can be simplified.
2021-08-25rust-bin: Linux repackaging fixgutteridge1-3/+10
Some upstream-provided binaries weren't covered in a code block that uses patch-elf to tinker with their RPATH entries. There's also an extra binary provided vs. the NetBSD package, and possibly those for other OSes. (I don't have Darwin or FreeBSD test environments; those OSes could need tweaking for this, too.)
2021-08-21rust-bin: pax is a tool dependencygutteridge1-2/+2
Build fix for Linux distros that don't ship pax by default.
2021-07-11Correct the names for the NetBSD versions to use.he1-7/+10
This uses the faster "install.sh" script, and also omits the "rust-doc" subset, for a much faster installation. This is a temporary hack for this version, will be removed on the next go-around. Apologies for this going un-committed, only myself to blame. Should fix part of PR#56304.
2021-06-13lang/rust-bin: pull over patch to files/install.sh from rust.he2-13/+13
Better patch for src/tools/rust-installer/install-template.sh - remove one path component after share/doc/ as the original code does - do not change spacing for HACK: section Bump PKGREVISION.
2021-06-13No more patch to install.sh, since we use files/install.sh now.he1-2/+1
(Apparently I forgot to re-compute patch checksums...)
2021-06-12Update the NetBSD binaries to ones not including the "docs" part.he4-58/+1020
Also, pull over the patched install.sh script from the main package, for quite a lot faster installation, also for the benefit of the upstream-delivered binaries. (Fix submitted upstream.) Use the nb1 version suffix on the NetBSD binaries (one-time job for 1.52.1, to be removed on next go-around), but they still extract to the non-nb1 work directory, so some adjustment needed for that. Bump PKGREVISION.
2021-06-12rust-bin: sync with lang/rustnia2-59/+55
2021-05-19rust-bin: not broken on -8 powerpcnia1-2/+1
2021-05-18Various minor adjustments:he2-14/+26
* Paste NetBSD rust URL only in one place. * Follow up a few pkglint messages * Add tentative support for NetBSD/powerpc 9.0, apparently ABI changed for C++ between 8.0 and 9.0, the 8.0 binary results in unresolved symbol.
2021-05-18rust-bin: add support for ARM, PowerPC, SPARCnia2-3/+80
2021-04-25rust-bin: sync with lang/rust by updating to 1.50.0nia2-46/+46
2021-01-02rust-bin: Update to 1.48.0nia2-37/+38
Sync version with lang/rust.
2020-10-22rust-bin: remove reference to obsolete filesnia1-3/+1
2020-10-10rust-bin: Update to 1.47.0nia2-35/+35
This release contains no new language features, though it does add one long-awaited standard library feature. It is mostly quality of life improvements, library stabilizations and const-ifications, and toolchain improvements. https://blog.rust-lang.org/2020/10/08/Rust-1.47.html
2020-08-31rust-bin: apparently, CHECK_RELRO_SKIP takes shell patternsnia1-9/+2
2020-08-30rust-bin: Move compat80 DEPENDS to more sensible locationnia1-4/+2
2020-08-30rust-bin: Update to 1.46.0nia2-59/+51
according to various people on tech-pkg@, there are no problems with the Firefox build Version 1.46.0 (2020-08-27) ========================== Language -------- - [`if`, `match`, and `loop` expressions can now be used in const functions.][72437] - [Additionally you are now also able to coerce and cast to slices (`&[T]`) in const functions.][73862] - [The `#[track_caller]` attribute can now be added to functions to use the function's caller's location information for panic messages.][72445] - [Recursively indexing into tuples no longer needs parentheses.][71322] E.g. `x.0.0` over `(x.0).0`. - [`mem::transmute` can now be used in static and constants.][72920] **Note** You currently can't use `mem::transmute` in constant functions. Compiler -------- - [You can now use the `cdylib` target on Apple iOS and tvOS platforms.][73516] - [Enabled static "Position Independent Executables" by default for `x86_64-unknown-linux-musl`.][70740] Libraries --------- - [`mem::forget` is now a `const fn`.][73887] - [`String` now implements `From<char>`.][73466] - [The `leading_ones`, and `trailing_ones` methods have been stabilised for all integer types.][73032] - [`vec::IntoIter<T>` now implements `AsRef<[T]>`.][72583] - [All non-zero integer types (`NonZeroU8`) now implement `TryFrom` for their zero-able equivalent (e.g. `TryFrom<u8>`).][72717] - [`&[T]` and `&mut [T]` now implement `PartialEq<Vec<T>>`.][71660] - [`(String, u16)` now implements `ToSocketAddrs`.][73007] - [`vec::Drain<'_, T>` now implements `AsRef<[T]>`.][72584] Stabilized APIs --------------- - [`Option::zip`] - [`vec::Drain::as_slice`] Cargo ----- Added a number of new environment variables that are now available when compiling your crate. - [`CARGO_BIN_NAME` and `CARGO_CRATE_NAME`][cargo/8270] Providing the name of the specific binary being compiled and the name of the crate. - [`CARGO_PKG_LICENSE`][cargo/8325] The license from the manifest of the package. - [`CARGO_PKG_LICENSE_FILE`][cargo/8387] The path to the license file. Compatibility Notes ------------------- - [The target configuration option `abi_blacklist` has been renamed to `unsupported_abis`.][74150] The old name will still continue to work. - [Rustc will now warn if you cast a C-like enum that implements `Drop`.][72331] This was previously accepted but will become a hard error in a future release. - [Rustc will fail to compile if you have a struct with `#[repr(i128)]` or `#[repr(u128)]`.][74109] This representation is currently only allowed on `enum`s. - [Tokens passed to `macro_rules!` are now always captured.][73293] This helps ensure that spans have the correct information, and may cause breakage if you were relying on receiving spans with dummy information. - [The InnoSetup installer for Windows is no longer available.][72569] This was a legacy installer that was replaced by a MSI installer a few years ago but was still being built. - [`{f32, f64}::asinh` now returns the correct values for negative numbers.][72486] - [Rustc will no longer accept overlapping trait implementations that only differ in how the lifetime was bound.][72493] - [Rustc now correctly relates the lifetime of an existential associated type.][71896] This fixes some edge cases where `rustc` would erroneously allow you to pass a shorter lifetime than expected. - [Rustc now dynamically links to `libz` (also called `zlib`) on Linux.][74420] The library will need to be installed for `rustc` to work, even though we expect it to be already available on most systems. - [Tests annotated with `#[should_panic]` are broken on ARMv7 while running under QEMU.][74820] - [Pretty printing of some tokens in procedural macros changed.][75453] The exact output returned by rustc's pretty printing is an unstable implementation detail: we recommend any macro relying on it to switch to a more robust parsing system. [75453]: https://github.com/rust-lang/rust/issues/75453/ [74820]: https://github.com/rust-lang/rust/issues/74820/ [74420]: https://github.com/rust-lang/rust/issues/74420/ [74109]: https://github.com/rust-lang/rust/pull/74109/ [74150]: https://github.com/rust-lang/rust/pull/74150/ [73862]: https://github.com/rust-lang/rust/pull/73862/ [73887]: https://github.com/rust-lang/rust/pull/73887/ [73466]: https://github.com/rust-lang/rust/pull/73466/ [73516]: https://github.com/rust-lang/rust/pull/73516/ [73293]: https://github.com/rust-lang/rust/pull/73293/ [73007]: https://github.com/rust-lang/rust/pull/73007/ [73032]: https://github.com/rust-lang/rust/pull/73032/ [72920]: https://github.com/rust-lang/rust/pull/72920/ [72569]: https://github.com/rust-lang/rust/pull/72569/ [72583]: https://github.com/rust-lang/rust/pull/72583/ [72584]: https://github.com/rust-lang/rust/pull/72584/ [72717]: https://github.com/rust-lang/rust/pull/72717/ [72437]: https://github.com/rust-lang/rust/pull/72437/ [72445]: https://github.com/rust-lang/rust/pull/72445/ [72486]: https://github.com/rust-lang/rust/pull/72486/ [72493]: https://github.com/rust-lang/rust/pull/72493/ [72331]: https://github.com/rust-lang/rust/pull/72331/ [71896]: https://github.com/rust-lang/rust/pull/71896/ [71660]: https://github.com/rust-lang/rust/pull/71660/ [71322]: https://github.com/rust-lang/rust/pull/71322/ [70740]: https://github.com/rust-lang/rust/pull/70740/ [cargo/8270]: https://github.com/rust-lang/cargo/pull/8270/ [cargo/8325]: https://github.com/rust-lang/cargo/pull/8325/ [cargo/8387]: https://github.com/rust-lang/cargo/pull/8387/ [`Option::zip`]: https://doc.rust-lang.org/stable/std/option/enum.Option.html#method.zip [`vec::Drain::as_slice`]: https://doc.rust-lang.org/stable/std/vec/struct.Drain.html#method.as_slice
2020-07-15urst-bin: Correct sense of conditionnia1-2/+2
2020-06-14Rename rust-bin's PKGNAME to rust-bin. Add rust.mk for rust packages.nia2-6/+16
This allows rust-bin and rust to coexist in bulk builds (for testing, etc), but the packages still may not be installed at the same time. rust.mk as a solution for picking the correct rust variant was suggested by gdt@. It is intended to be included directly by packages that do not use cargo.mk, and indirectly by packages that do use cargo.mk. rust.mk provides one user-settable variable: RUST_TYPE as before, whether to bootstrap rust from source or use official binaries. may be "src" or "bin" And two package-settable variables: RUST_REQ the minimum version of Rust required by the package. defaults to "1.20.0" RUST_RUNTIME whether Rust is a runtime dependency, may be "yes" or "no"
2020-06-09rustc: Update to 1.44.0nia2-59/+62
Version 1.44.0 (2020-06-04) ========================== Language -------- - [You can now use `async/.await` with `#[no_std]` enabled.][69033] - [Added the `unused_braces` lint.][70081] **Syntax-only changes** - [Expansion-driven outline module parsing][69838] ```rust #[cfg(FALSE)] mod foo { mod bar { mod baz; // `foo/bar/baz.rs` doesn't exist, but no error! } } ``` These are still rejected semantically, so you will likely receive an error but these changes can be seen and parsed by macros and conditional compilation. Compiler -------- - [Rustc now respects the `-C codegen-units` flag in incremental mode.][70156] Additionally when in incremental mode rustc defaults to 256 codegen units. - [Refactored `catch_unwind` to have zero-cost, unless unwinding is enabled and a panic is thrown.][67502] - [Added tier 3\* support for the `aarch64-unknown-none` and `aarch64-unknown-none-softfloat` targets.][68334] - [Added tier 3 support for `arm64-apple-tvos` and `x86_64-apple-tvos` targets.][68191] Libraries --------- - [Special cased `vec![]` to map directly to `Vec::new()`.][70632] This allows `vec![]` to be able to be used in `const` contexts. - [`convert::Infallible` now implements `Hash`.][70281] - [`OsString` now implements `DerefMut` and `IndexMut` returning a `&mut OsStr`.][70048] - [Unicode 13 is now supported.][69929] - [`String` now implements `From<&mut str>`.][69661] - [`IoSlice` now implements `Copy`.][69403] - [`Vec<T>` now implements `From<[T; N]>`.][68692] Where `N` is at most 32. - [`proc_macro::LexError` now implements `fmt::Display` and `Error`.][68899] - [`from_le_bytes`, `to_le_bytes`, `from_be_bytes`, `to_be_bytes`, `from_ne_bytes`, and `to_ne_bytes` methods are now `const` for all integer types.][69373] Stabilized APIs --------------- - [`PathBuf::with_capacity`] - [`PathBuf::capacity`] - [`PathBuf::clear`] - [`PathBuf::reserve`] - [`PathBuf::reserve_exact`] - [`PathBuf::shrink_to_fit`] - [`f32::to_int_unchecked`] - [`f64::to_int_unchecked`] - [`Layout::align_to`] - [`Layout::pad_to_align`] - [`Layout::array`] - [`Layout::extend`] Cargo ----- - [Added the `cargo tree` command which will print a tree graph of your dependencies.][cargo/8062] E.g. ``` mdbook v0.3.2 (/Users/src/rust/mdbook) ├── ammonia v3.0.0 │ ├── html5ever v0.24.0 │ │ ├── log v0.4.8 │ │ │ └── cfg-if v0.1.9 │ │ ├── mac v0.1.1 │ │ └── markup5ever v0.9.0 │ │ ├── log v0.4.8 (*) │ │ ├── phf v0.7.24 │ │ │ └── phf_shared v0.7.24 │ │ │ ├── siphasher v0.2.3 │ │ │ └── unicase v1.4.2 │ │ │ [build-dependencies] │ │ │ └── version_check v0.1.5 ... ``` You can also display dependencies on multiple versions of the same crate with `cargo tree -d` (short for `cargo tree --duplicates`). Misc ---- - [Rustdoc now allows you to specify `--crate-version` to have rustdoc include the version in the sidebar.][69494] Compatibility Notes ------------------- - [Rustc now correctly generates static libraries on Windows GNU targets with the `.a` extension, rather than the previous `.lib`.][70937] - [Removed the `-C no_integrated_as` flag from rustc.][70345] - [The `file_name` property in JSON output of macro errors now points the actual source file rather than the previous format of `<NAME macros>`.][70969] **Note:** this may not point to a file that actually exists on the user's system. - [The minimum required external LLVM version has been bumped to LLVM 8.][71147] - [`mem::{zeroed, uninitialised}` will now panic when used with types that do not allow zero initialization such as `NonZeroU8`.][66059] This was previously a warning. - [In 1.45.0 (the next release) converting a `f64` to `u32` using the `as` operator has been defined as a saturating operation.][71269] This was previously undefined behaviour, but you can use the `{f64, f32}::to_int_unchecked` methods to continue using the current behaviour, which may be desirable in rare performance sensitive situations. Internal Only ------------- These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools. - [dep_graph Avoid allocating a set on when the number reads are small.][69778] - [Replace big JS dict with JSON parsing.][71250] [69373]: https://github.com/rust-lang/rust/pull/69373/ [66059]: https://github.com/rust-lang/rust/pull/66059/ [68191]: https://github.com/rust-lang/rust/pull/68191/ [68899]: https://github.com/rust-lang/rust/pull/68899/ [71147]: https://github.com/rust-lang/rust/pull/71147/ [71250]: https://github.com/rust-lang/rust/pull/71250/ [70937]: https://github.com/rust-lang/rust/pull/70937/ [70969]: https://github.com/rust-lang/rust/pull/70969/ [70632]: https://github.com/rust-lang/rust/pull/70632/ [70281]: https://github.com/rust-lang/rust/pull/70281/ [70345]: https://github.com/rust-lang/rust/pull/70345/ [70048]: https://github.com/rust-lang/rust/pull/70048/ [70081]: https://github.com/rust-lang/rust/pull/70081/ [70156]: https://github.com/rust-lang/rust/pull/70156/ [71269]: https://github.com/rust-lang/rust/pull/71269/ [69838]: https://github.com/rust-lang/rust/pull/69838/ [69929]: https://github.com/rust-lang/rust/pull/69929/ [69661]: https://github.com/rust-lang/rust/pull/69661/ [69778]: https://github.com/rust-lang/rust/pull/69778/ [69494]: https://github.com/rust-lang/rust/pull/69494/ [69403]: https://github.com/rust-lang/rust/pull/69403/ [69033]: https://github.com/rust-lang/rust/pull/69033/ [68692]: https://github.com/rust-lang/rust/pull/68692/ [68334]: https://github.com/rust-lang/rust/pull/68334/ [67502]: https://github.com/rust-lang/rust/pull/67502/ [cargo/8062]: https://github.com/rust-lang/cargo/pull/8062/ [`PathBuf::with_capacity`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.with_capacity [`PathBuf::capacity`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.capacity [`PathBuf::clear`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.clear [`PathBuf::reserve`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.reserve [`PathBuf::reserve_exact`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.reserve_exact [`PathBuf::shrink_to_fit`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.shrink_to_fit [`f32::to_int_unchecked`]: https://doc.rust-lang.org/std/primitive.f32.html#method.to_int_unchecked [`f64::to_int_unchecked`]: https://doc.rust-lang.org/std/primitive.f64.html#method.to_int_unchecked [`Layout::align_to`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.align_to [`Layout::pad_to_align`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.pad_to_align [`Layout::array`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.array [`Layout::extend`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.extend
2020-06-03rust*: Add PKG_SKIP_REASON depending on the value of RUST_TYPEnia1-1/+7
2020-05-25The ld.elf_so in NetBSD/8.x only obeys RPATH, not RUNPATH,he1-4/+8
so fix to force RPATH usage on that platform. Bump PKGREVISION for good measure.
2020-05-19rust-bin: llvm-ar needs fixing too.nia1-2/+2
2020-05-19rust-bin: Add compat80 to the local llvm rpath. Limit this to NetBSD<9nia1-3/+11
Workaround for a problem reported by wiz on pkgsrc-users, pending more investigation
2020-05-19rust-bin: set CHECK_RELRO_SKIP for prebuilt binarieswiz1-1/+10
2020-05-18rust: Update COMMENTnia1-2/+2
2020-05-18lang: Add rust-bin.nia4-0/+215
Dumb package that selects and installs a binary rust distribution based on its guess of your platform (FreeBSD, NetBSD, Linux x86_64 are all supported). These binaries are the official ones provided by rust upstream and are the same as those provided by the `rustup` tool. You can choose to use a binary rust distribution by setting: RUST_TYPE=bin in mk.conf (or source distribution with RUST_TYPE=src). Currently, RUST_TYPE=bin by default ONLY for NetBSD-x86_64. This is because TNF has been shown to _repeatedly_ be unable and _unwilling_ to ensure that rust-dependent packages build properly on their infrastructure, and NetBSD users are all suffering for it. This was based on minskim's work in pkgsrc-wip. It was tested by building librsvg and firefox-esr with the resulting binaries.