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

Tweak dependencies #710

Merged
merged 7 commits into from
May 4, 2021
Merged

Conversation

Johannesd3
Copy link
Contributor

@Johannesd3 Johannesd3 commented May 1, 2021

  • Applied latest updates of crypto dependencies (most notably: the crates aes and aes-ctr were unified) but not aes since it requires rust 1.49.
  • I realized that the block-modes dependency wasn't used anywhere so I removed it.
  • Bumped zerocopy from 0.3 to 0.5. (Needs rust version 1.51)
  • Update Cargo.lock
  • The latest versions of hyper and libmdns require rust 1.46, and sdl requires 1.48, so I bumped the MSRV.
  • Adjusted some lower bounds of the version range to match the functionality we use. Unfortunately I was not able to make rm Cargo.lock && cargo +nightly build -Z minimal-versions work, but it's a step into the right direction.

Copy link
Member

@roderickvd roderickvd left a comment

Choose a reason for hiding this comment

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

Yes I think the new zerocopy requires an even higher MSRV? Likewise the new sdl2 uses some previously experimental features.

@roderickvd
Copy link
Member

While you're at it, there's a new libc too.

@Johannesd3
Copy link
Contributor Author

We don't use libc anywhere directly?

Let's try MSRV 1.48 next. This is the rustc version of the upcoming debian release.

@roderickvd
Copy link
Member

It's here:

libc = { version = "0.2", optional = true }

But you're right it's only a dependency for various backends and I think libvorbis so might as well be removed here?

@Johannesd3
Copy link
Contributor Author

Let's see whether this works

@Johannesd3
Copy link
Contributor Author

libc was used in the pulseaudio backend but wasn't removed when it wasn't needed anymore: 0411e69

Johannesd3 added 3 commits May 1, 2021 12:59
hyper, libmdns and sdl require a higher version.
@roderickvd
Copy link
Member

I just tried and it's OK to update sdl2 on Rust 1.48:

diff --git a/playback/Cargo.toml b/playback/Cargo.toml
index b8736db..92bfb4a 100644
--- a/playback/Cargo.toml
+++ b/playback/Cargo.toml
@@ -31,7 +31,7 @@ libpulse-binding        = { version = "2", optional = true, default-features = f
 libpulse-simple-binding = { version = "2", optional = true, default-features = false }
 jack            = { version = "0.6", optional = true }
 libc            = { version = "0.2", optional = true }
-sdl2            = { version = "0.34.3", optional = true }
+sdl2            = { version = "0.34", optional = true }
 gstreamer       = { version = "0.16", optional = true }
 gstreamer-app   = { version = "0.16", optional = true }
 glib            = { version = "0.10", optional = true }

@Johannesd3
Copy link
Contributor Author

Johannesd3 commented May 1, 2021

0.34.3 means >=0.34.3, <0.35.0 and 0.34 is equivalent to 0.34.0 which means >=0.34.0,<0.35.0. If you look at the Cargo.lock, you'll see that sdl2 is already on 0.34.5.

@roderickvd
Copy link
Member

Ah I see, thanks.

@sashahilton00 sashahilton00 merged commit cb6ffef into librespot-org:dev May 4, 2021
@Johannesd3 Johannesd3 deleted the dependencies branch May 4, 2021 11:20
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.

3 participants