-
Notifications
You must be signed in to change notification settings - Fork 59
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
Ship pre-built library by default? #192
Comments
I agree that there is a lot of wasted time and energy, though having two separate ways to build the library has its own maintenance overhead. Would you be interested in proposing a PR to improve on the status quo along the lines you suggested? |
@djc So something along the lines of this? #![allow(non_camel_case_types, clippy::unreadable_literal)]
#[cfg(feature = "timezone-filter")]
include!(concat!(env!("OUT_DIR"), "/timezones.rs"));
#[cfg(not(feature = "timezone-filter"))]
include!("prebuilt_timezones.rs"); I'm not sure by the way whether this would be considered a breaking change or not. It means that without setting the |
I also believe we need to pin a specific version of Arguably this is already broken in |
Yes, something like this seems reasonable.
One the one hand, it feels not great when users who have explicitly enabled features that will limit their binary size implicitly loose that optimization in a semver-compatible upgrade. On the other hand, they're probably in the (tiny) minority and so making life better for everyone else without having them opt-in to the improvement might still make sense?
Pinning a specific version sounds like a non-starter to me, but I also don't exactly see why it's necessary? |
@djc Unless I misunderstand something, for them to work correctly the
In this scenario the crate resolver might choose |
I think trusting the phf maintainers is probably the best option here, yes. |
As far as I can see, since the timezone database is vendored into the released crate anyway, if you don't set
CHRONO_TZ_TIMEZONE_FILTER
, every user will spend time and energy compiling the following set of packages to get exactly the same result as everyone else:This seems like a lot of wasted time and energy.
I suggest making
CHRONO_TZ_TIMEZONE_FILTER
locked behind an optional feature, and just use a pre-bakedchrono-tz
version by default so that none of the build-dependencies need to be built.The text was updated successfully, but these errors were encountered: