Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove build.rs file #543

Merged
merged 2 commits into from Apr 10, 2023
Merged

Remove build.rs file #543

merged 2 commits into from Apr 10, 2023

Conversation

GuillaumeGomez
Copy link
Member

@GuillaumeGomez GuillaumeGomez commented Jan 6, 2023

Fixes #489.

This is another take on #490. Since Rust 1.60, cfg(target_has_atomic = "...") is stable so we can now use it. However, it'll change the MSRV to 1.60 as well.

I used target_has_atomic = "ptr" (and not target_has_atomic = "8" for example) because that's what is used in the std for AtomicUsize. You can see it in the macro declaring the AtomicUsize here.

cc @nnethercote (since you're the one who suggested this change)

EDIT: Just saw that this solution was mentioned by @KodrAus in the linked issue.

Copy link
Collaborator

@Thomasdezeeuw Thomasdezeeuw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm generally in favour of this. But I don't know if should bump our MSRV without bumping our minor version. Similar discussions are going in the libc crate: rust-lang/libs-team#72 and the time crate: time-rs/time#535.

What ever we decide on this, we should try a pick a consistent strategy with the other crates.

@GuillaumeGomez
Copy link
Member Author

Once it's figured out, we can then decide what to do with this PR. No hurry. ;)

@KodrAus
Copy link
Contributor

KodrAus commented Apr 10, 2023

1.60.0 is quite a jump, but is still just over 12 months old. I personally think the removal of a build.rs makes it worth it. I don't think it's worth doing a minor bump for this purely because we couldn't shim an 0.5.x build in 0.4.x without also bumping the MSRV of 0.4.x anyways, and wouldn't want to issue a breaking release for log that didn't automatically forward 0.4.x through 0.5.x.

@Thomasdezeeuw
Copy link
Collaborator

We could do a release with a bump to 1.60 and be prepared to yank it if people complain... Not an ideal solution, but maybe we're making a bigger deal of the MSRV bump than needed.

@KodrAus
Copy link
Contributor

KodrAus commented Apr 10, 2023

In this case, I think we've got something really tangible to offer people for the bump too; one less dependency running arbitrary code at build-time.

In our release notes we can mention why we couldn't do this in a minor bump, because the log macros for multiple versions need to forward through the same global logger. We can't even pull just this mechanism out into its own crate because that's the bit that needs the MSRV bump.

Copy link
Contributor

@KodrAus KodrAus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @GuillaumeGomez!

This looks good to me. If @Thomasdezeeuw is also happy I say we should get it merged and look at putting a release together 🙂

@KodrAus KodrAus merged commit 474699a into rust-lang:master Apr 10, 2023
@GuillaumeGomez
Copy link
Member Author

Thanks everyone!

@GuillaumeGomez GuillaumeGomez deleted the rm-build-rs branch April 11, 2023 08:21
@est31 est31 mentioned this pull request Apr 15, 2023
renovate bot added a commit to ziyadedher/evm-bench that referenced this pull request May 28, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [log](https://togithub.com/rust-lang/log) | dependencies | patch |
`0.4.17` -> `0.4.18` |

---

### Release Notes

<details>
<summary>rust-lang/log</summary>

###
[`v0.4.18`](https://togithub.com/rust-lang/log/blob/HEAD/CHANGELOG.md#&#8203;0418---2023-05-28)

[Compare
Source](https://togithub.com/rust-lang/log/compare/0.4.17...0.4.18)

- fix markdown links (again) by
[@&#8203;hellow554](https://togithub.com/hellow554) in
[rust-lang/log#513
- add cargo doc to workflow by
[@&#8203;hellow554](https://togithub.com/hellow554) in
[rust-lang/log#515
- Apply Clippy lints by
[@&#8203;hellow554](https://togithub.com/hellow554) in
[rust-lang/log#516
- Replace ad-hoc eq_ignore_ascii_case with slice::eq_ignore_ascii_case
by [@&#8203;glandium](https://togithub.com/glandium) in
[rust-lang/log#519
- fix up windows targets by
[@&#8203;KodrAus](https://togithub.com/KodrAus) in
[rust-lang/log#528
- typo fix by [@&#8203;jiangying000](https://togithub.com/jiangying000)
in
[rust-lang/log#529
- Remove dependency on cfg_if by
[@&#8203;EriKWDev](https://togithub.com/EriKWDev) in
[rust-lang/log#536
- GitHub Workflows security hardening by
[@&#8203;sashashura](https://togithub.com/sashashura) in
[rust-lang/log#538
- Fix build status badge by
[@&#8203;atouchet](https://togithub.com/atouchet) in
[rust-lang/log#539
- Add call_logger to the documentation by
[@&#8203;a1ecbr0wn](https://togithub.com/a1ecbr0wn) in
[rust-lang/log#547
- Remove build.rs file by
[@&#8203;GuillaumeGomez](https://togithub.com/GuillaumeGomez) in
[rust-lang/log#543
- Use stable internals for key-value API by
[@&#8203;KodrAus](https://togithub.com/KodrAus) in
[rust-lang/log#550
- Change wording of list of implementations by
[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw) in
[rust-lang/log#553
- Add std-logger to list of implementations by
[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw) in
[rust-lang/log#554
- Add `set_max_level_racy` and gate `set_max_level` by
[@&#8203;djkoloski](https://togithub.com/djkoloski) in
[rust-lang/log#544
- \[doc] src/lib.rs : prefix an unused variable with an underscore by
[@&#8203;OccupyMars2025](https://togithub.com/OccupyMars2025) in
[rust-lang/log#561
- \[doc] src/macros.rs : correct grammar errors of an example in lib
documentation by
[@&#8203;OccupyMars2025](https://togithub.com/OccupyMars2025) in
[rust-lang/log#562

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/ziyadedher/evm-bench).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMDIuMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNS4xMDIuMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
SilenLoc added a commit to SilenLoc/TypeFast that referenced this pull request May 30, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [log](https://togithub.com/rust-lang/log) | dependencies | patch |
`0.4.17` -> `0.4.18` |

---

### Release Notes

<details>
<summary>rust-lang/log</summary>

###
[`v0.4.18`](https://togithub.com/rust-lang/log/blob/HEAD/CHANGELOG.md#&#8203;0418---2023-05-28)

[Compare
Source](https://togithub.com/rust-lang/log/compare/0.4.17...0.4.18)

- fix markdown links (again) by
[@&#8203;hellow554](https://togithub.com/hellow554) in
[rust-lang/log#513
- add cargo doc to workflow by
[@&#8203;hellow554](https://togithub.com/hellow554) in
[rust-lang/log#515
- Apply Clippy lints by
[@&#8203;hellow554](https://togithub.com/hellow554) in
[rust-lang/log#516
- Replace ad-hoc eq_ignore_ascii_case with slice::eq_ignore_ascii_case
by [@&#8203;glandium](https://togithub.com/glandium) in
[rust-lang/log#519
- fix up windows targets by
[@&#8203;KodrAus](https://togithub.com/KodrAus) in
[rust-lang/log#528
- typo fix by [@&#8203;jiangying000](https://togithub.com/jiangying000)
in
[rust-lang/log#529
- Remove dependency on cfg_if by
[@&#8203;EriKWDev](https://togithub.com/EriKWDev) in
[rust-lang/log#536
- GitHub Workflows security hardening by
[@&#8203;sashashura](https://togithub.com/sashashura) in
[rust-lang/log#538
- Fix build status badge by
[@&#8203;atouchet](https://togithub.com/atouchet) in
[rust-lang/log#539
- Add call_logger to the documentation by
[@&#8203;a1ecbr0wn](https://togithub.com/a1ecbr0wn) in
[rust-lang/log#547
- Remove build.rs file by
[@&#8203;GuillaumeGomez](https://togithub.com/GuillaumeGomez) in
[rust-lang/log#543
- Use stable internals for key-value API by
[@&#8203;KodrAus](https://togithub.com/KodrAus) in
[rust-lang/log#550
- Change wording of list of implementations by
[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw) in
[rust-lang/log#553
- Add std-logger to list of implementations by
[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw) in
[rust-lang/log#554
- Add `set_max_level_racy` and gate `set_max_level` by
[@&#8203;djkoloski](https://togithub.com/djkoloski) in
[rust-lang/log#544
- \[doc] src/lib.rs : prefix an unused variable with an underscore by
[@&#8203;OccupyMars2025](https://togithub.com/OccupyMars2025) in
[rust-lang/log#561
- \[doc] src/macros.rs : correct grammar errors of an example in lib
documentation by
[@&#8203;OccupyMars2025](https://togithub.com/OccupyMars2025) in
[rust-lang/log#562

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/SilenLoc/TypeFast).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMDIuMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNS4xMDIuMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->
github-merge-queue bot pushed a commit to knope-dev/knope that referenced this pull request May 31, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [log](https://togithub.com/rust-lang/log) | dependencies | patch |
`0.4.17` -> `0.4.18` |

---

### Release Notes

<details>
<summary>rust-lang/log</summary>

###
[`v0.4.18`](https://togithub.com/rust-lang/log/blob/HEAD/CHANGELOG.md#&#8203;0418---2023-05-28)

[Compare
Source](https://togithub.com/rust-lang/log/compare/0.4.17...0.4.18)

- fix markdown links (again) by
[@&#8203;hellow554](https://togithub.com/hellow554) in
[rust-lang/log#513
- add cargo doc to workflow by
[@&#8203;hellow554](https://togithub.com/hellow554) in
[rust-lang/log#515
- Apply Clippy lints by
[@&#8203;hellow554](https://togithub.com/hellow554) in
[rust-lang/log#516
- Replace ad-hoc eq_ignore_ascii_case with slice::eq_ignore_ascii_case
by [@&#8203;glandium](https://togithub.com/glandium) in
[rust-lang/log#519
- fix up windows targets by
[@&#8203;KodrAus](https://togithub.com/KodrAus) in
[rust-lang/log#528
- typo fix by [@&#8203;jiangying000](https://togithub.com/jiangying000)
in
[rust-lang/log#529
- Remove dependency on cfg_if by
[@&#8203;EriKWDev](https://togithub.com/EriKWDev) in
[rust-lang/log#536
- GitHub Workflows security hardening by
[@&#8203;sashashura](https://togithub.com/sashashura) in
[rust-lang/log#538
- Fix build status badge by
[@&#8203;atouchet](https://togithub.com/atouchet) in
[rust-lang/log#539
- Add call_logger to the documentation by
[@&#8203;a1ecbr0wn](https://togithub.com/a1ecbr0wn) in
[rust-lang/log#547
- Remove build.rs file by
[@&#8203;GuillaumeGomez](https://togithub.com/GuillaumeGomez) in
[rust-lang/log#543
- Use stable internals for key-value API by
[@&#8203;KodrAus](https://togithub.com/KodrAus) in
[rust-lang/log#550
- Change wording of list of implementations by
[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw) in
[rust-lang/log#553
- Add std-logger to list of implementations by
[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw) in
[rust-lang/log#554
- Add `set_max_level_racy` and gate `set_max_level` by
[@&#8203;djkoloski](https://togithub.com/djkoloski) in
[rust-lang/log#544
- \[doc] src/lib.rs : prefix an unused variable with an underscore by
[@&#8203;OccupyMars2025](https://togithub.com/OccupyMars2025) in
[rust-lang/log#561
- \[doc] src/macros.rs : correct grammar errors of an example in lib
documentation by
[@&#8203;OccupyMars2025](https://togithub.com/OccupyMars2025) in
[rust-lang/log#562

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/knope-dev/knope).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMDIuMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNS4xMDIuMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
github-merge-queue bot pushed a commit to knope-dev/knope that referenced this pull request May 31, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [log](https://togithub.com/rust-lang/log) | dependencies | patch |
`0.4.17` -> `0.4.18` |

---

### Release Notes

<details>
<summary>rust-lang/log</summary>

###
[`v0.4.18`](https://togithub.com/rust-lang/log/blob/HEAD/CHANGELOG.md#&#8203;0418---2023-05-28)

[Compare
Source](https://togithub.com/rust-lang/log/compare/0.4.17...0.4.18)

- fix markdown links (again) by
[@&#8203;hellow554](https://togithub.com/hellow554) in
[rust-lang/log#513
- add cargo doc to workflow by
[@&#8203;hellow554](https://togithub.com/hellow554) in
[rust-lang/log#515
- Apply Clippy lints by
[@&#8203;hellow554](https://togithub.com/hellow554) in
[rust-lang/log#516
- Replace ad-hoc eq_ignore_ascii_case with slice::eq_ignore_ascii_case
by [@&#8203;glandium](https://togithub.com/glandium) in
[rust-lang/log#519
- fix up windows targets by
[@&#8203;KodrAus](https://togithub.com/KodrAus) in
[rust-lang/log#528
- typo fix by [@&#8203;jiangying000](https://togithub.com/jiangying000)
in
[rust-lang/log#529
- Remove dependency on cfg_if by
[@&#8203;EriKWDev](https://togithub.com/EriKWDev) in
[rust-lang/log#536
- GitHub Workflows security hardening by
[@&#8203;sashashura](https://togithub.com/sashashura) in
[rust-lang/log#538
- Fix build status badge by
[@&#8203;atouchet](https://togithub.com/atouchet) in
[rust-lang/log#539
- Add call_logger to the documentation by
[@&#8203;a1ecbr0wn](https://togithub.com/a1ecbr0wn) in
[rust-lang/log#547
- Remove build.rs file by
[@&#8203;GuillaumeGomez](https://togithub.com/GuillaumeGomez) in
[rust-lang/log#543
- Use stable internals for key-value API by
[@&#8203;KodrAus](https://togithub.com/KodrAus) in
[rust-lang/log#550
- Change wording of list of implementations by
[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw) in
[rust-lang/log#553
- Add std-logger to list of implementations by
[@&#8203;Thomasdezeeuw](https://togithub.com/Thomasdezeeuw) in
[rust-lang/log#554
- Add `set_max_level_racy` and gate `set_max_level` by
[@&#8203;djkoloski](https://togithub.com/djkoloski) in
[rust-lang/log#544
- \[doc] src/lib.rs : prefix an unused variable with an underscore by
[@&#8203;OccupyMars2025](https://togithub.com/OccupyMars2025) in
[rust-lang/log#561
- \[doc] src/macros.rs : correct grammar errors of an example in lib
documentation by
[@&#8203;OccupyMars2025](https://togithub.com/OccupyMars2025) in
[rust-lang/log#562

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/knope-dev/knope).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMDIuMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNS4xMDIuMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
TheBlueMatt added a commit to TheBlueMatt/rust-lightning that referenced this pull request Jun 12, 2023
The `log` crate decided to break support for rustc 1.48 (Debian
bullseye) the day the next release of Debian comes out, obviously
before anyone has had a chance to upgrade to the new Debian
bookworm (at rust-lang/log#543). Thus, we
have to manually pin it back to the previous release.

Sadly, the `log` crate is a transitive dependency of `tokio` until
0.20, which requires rustc 1.49. Luckily at least we won't have to
deal with this again, as `log` won't be a dependency of ours
anymore soon.
TheBlueMatt added a commit to TheBlueMatt/rust-lightning that referenced this pull request Jun 12, 2023
The `log` crate decided to break support for rustc 1.48 (Debian
bullseye) the day the next release of Debian comes out, obviously
before anyone has had a chance to upgrade to the new Debian
bookworm (at rust-lang/log#543). Thus, we
have to manually pin it back to the previous release.

Sadly, the `log` crate is a transitive dependency of `tokio` until
0.20, which requires rustc 1.49. Luckily at least we won't have to
deal with this again, as `log` won't be a dependency of ours
anymore soon.
EFanZh pushed a commit to EFanZh/log that referenced this pull request Jul 23, 2023
* Avoid potential panicking in `args::parse` by using `Vec::get` instead of indexing
* Refactor: Simplify `opts::{resolve, install}` API
   Many parameters can be shared and put into `opts::Options` intead and
   that would also avoid a few `Arc<Path>`.
* Optimize `get_install_path`: Avoid cloning `install_path`
* Optimize `LazyJobserverClient`: Un`Arc` & remove `Clone` impl
   to avoid additional boxing
* Optimize `find_version`: Avoid cloning `semver::Version`
* Optimize `GhCrateMeta::launch_baseline_find_tasks`
   return `impl Iterator<Item = impl Future<Output = ...>>`
   instead of `impl Iterator<Item = AutoAbortJoinHandle<...>>`
   to avoid unnecessary spawning.
   
   Each task spawned has to be boxed and then polled by tokio runtime.
   They might also be moved.
   
   While they increase parallelism, spawning these futures does not justify
   the costs because:
    - Each `Future` only calls `remote_exists`
    - Each `remote_exists` call send requests to the same domain, which is
      likely to share the same http2 connection.
      Since the conn is shared anyway, spawning does not speedup anything
      but merely add communication overhead.
    - Plus the tokio runtime spawning cost
* Optimize `install_crates`: Destruct `Args` before any `.await` point
   to reduce size of the future
* Refactor `logging`: Replace param `arg` with `log_level` & `json_output`
   to avoid dep on `Args`
* Add dep strum & strum_macros to crates/bin
* Derive `strum_macros::EnumCount` for `Strategy`
* Optimize strategies parsing in `install_crates`
* Fix panic in `install_crates` when `Compile` is not the last strategy specified
* Optimize: Take `Vec<Self>` instead of slice in `CrateName::dedup`
* Refactor: Extract new fn `compute_resolvers`
* Refactor: Extract new fn `compute_paths_and_load_manifests`
* Refactor: Extract new fn `filter_out_installed_crates`
* Reorder `install_crates`: Only run target detection if args are valid
   and there are some crates to be installed.
* Optimize `filter_out_installed_crates`: Avoid allocation
   by returning an `Iterator`
* Fix user_agent of `remote::Client`: Let user specify it
* Refactor: Replace `UIThread` with `ui::confirm`
   which is much simpler.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
optout21 pushed a commit to optout21/rust-lightning that referenced this pull request Jul 24, 2023
The `log` crate decided to break support for rustc 1.48 (Debian
bullseye) the day the next release of Debian comes out, obviously
before anyone has had a chance to upgrade to the new Debian
bookworm (at rust-lang/log#543). Thus, we
have to manually pin it back to the previous release.

Sadly, the `log` crate is a transitive dependency of `tokio` until
0.20, which requires rustc 1.49. Luckily at least we won't have to
deal with this again, as `log` won't be a dependency of ours
anymore soon.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Remove build.rs
3 participants