Skip to content

Ship pre-built library by default? #192

Open
@orlp

Description

@orlp

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:

[build-dependencies]
└── chrono-tz-build v0.4.0
    ├── parse-zoneinfo v0.3.1
    │   └── regex v1.11.1
    │       ├── aho-corasick v1.1.3
    │       │   └── memchr v2.7.4
    │       ├── memchr v2.7.4
    │       ├── regex-automata v0.4.9
    │       │   ├── aho-corasick v1.1.3 (*)
    │       │   ├── memchr v2.7.4
    │       │   └── regex-syntax v0.8.5
    │       └── regex-syntax v0.8.5
    └── phf_codegen v0.11.2
        ├── phf_generator v0.11.2
        │   ├── phf_shared v0.11.2
        │   │   └── siphasher v0.3.11
        │   └── rand v0.8.5
        │       └── rand_core v0.6.4
        │           └── getrandom v0.2.15
        │               ├── cfg-if v1.0.0
        │               └── libc v0.2.169
        └── phf_shared v0.11.2 (*)

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-baked chrono-tz version by default so that none of the build-dependencies need to be built.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions