ozkriff / zemeroth

😠⚔️😈 A minimalistic 2D turn-based tactical game in Rust
https://ozkriff.itch.io/zemeroth
Apache License 2.0
1.4k stars 87 forks source link

Fix duplicated deps #251

Open ozkriff opened 6 years ago

ozkriff commented 6 years ago

After merging https://github.com/ozkriff/zemeroth/issues/237 Cargo.lock contains a lot of duplicated deps (some even has THREE different versions - syn) that increase compilation time andbloat executable's size:

Old `cargo tree -d` listing: ```text $ cargo tree -d bitflags v0.7.0 └── sdl2 v0.31.0 ├── gfx_window_sdl v0.8.0 │ └── ggez v0.4.2 │ ├── ggwp-zgui v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zgui) │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) │ ├── ggwp-zscene v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zscene) │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) └── ggez v0.4.2 (*) bitflags v1.0.3 ├── draw_state v0.8.0 │ ├── gfx v0.17.1 │ │ ├── gfx_window_sdl v0.8.0 │ │ │ └── ggez v0.4.2 │ │ │ ├── ggwp-zgui v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zgui) │ │ │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) │ │ │ ├── ggwp-zscene v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zscene) │ │ │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ │ └── ggez v0.4.2 (*) │ └── gfx_core v0.8.2 │ ├── gfx v0.17.1 (*) │ ├── gfx_device_gl v0.15.2 │ │ ├── gfx_window_sdl v0.8.0 (*) │ │ └── ggez v0.4.2 (*) │ └── gfx_window_sdl v0.8.0 (*) ├── gfx_core v0.8.2 (*) ├── png v0.11.0 │ └── image v0.18.0 │ └── ggez v0.4.2 (*) ├── ron v0.2.2 │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) └── xml-rs v0.7.0 └── gl_generator v0.9.0 lazy_static v0.2.11 ├── cpal v0.6.0 │ └── rodio v0.6.0 │ └── ggez v0.4.2 │ ├── ggwp-zgui v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zgui) │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) │ ├── ggwp-zscene v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zscene) │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) └── sdl2 v0.31.0 ├── gfx_window_sdl v0.8.0 │ └── ggez v0.4.2 (*) └── ggez v0.4.2 (*) lazy_static v1.0.0 ├── crossbeam-epoch v0.3.1 │ └── crossbeam-deque v0.2.0 │ └── rayon-core v1.4.0 │ └── rayon v1.0.1 │ └── jpeg-decoder v0.1.14 │ └── image v0.18.0 │ └── ggez v0.4.2 │ ├── ggwp-zgui v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zgui) │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) │ ├── ggwp-zscene v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zscene) │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) ├── rayon-core v1.4.0 (*) ├── rodio v0.6.0 │ └── ggez v0.4.2 (*) └── thread_local v0.3.5 └── regex v1.0.0 └── env_logger v0.5.10 └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) num-traits v0.1.43 ├── alga v0.5.4 │ └── nalgebra v0.14.4 │ └── ggez v0.4.2 │ ├── ggwp-zgui v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zgui) │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) │ ├── ggwp-zscene v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zscene) │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) ├── cgmath v0.14.1 │ └── rodio v0.6.0 │ └── ggez v0.4.2 (*) ├── enum_primitive v0.1.1 │ └── image v0.18.0 │ └── ggez v0.4.2 (*) ├── euclid v0.17.3 │ └── lyon_geom v0.10.1 │ └── lyon_path v0.10.1 │ └── lyon_tessellation v0.10.1 │ └── lyon v0.10.1 │ └── ggez v0.4.2 (*) ├── image v0.18.0 (*) ├── lyon_geom v0.10.1 (*) ├── nalgebra v0.14.4 (*) ├── ordered-float v0.5.0 │ └── rusttype v0.5.2 │ └── ggez v0.4.2 (*) └── sid v0.5.0 └── lyon_tessellation v0.10.1 (*) num-traits v0.2.4 ├── num v0.1.42 │ └── sdl2 v0.31.0 │ ├── gfx_window_sdl v0.8.0 │ │ └── ggez v0.4.2 │ │ ├── ggwp-zgui v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zgui) │ │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) │ │ ├── ggwp-zscene v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zscene) │ │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ └── ggez v0.4.2 (*) ├── num-complex v0.1.43 │ ├── alga v0.5.4 │ │ └── nalgebra v0.14.4 │ │ └── ggez v0.4.2 (*) │ └── nalgebra v0.14.4 (*) ├── num-integer v0.1.38 │ ├── num v0.1.42 (*) │ ├── num-iter v0.1.37 │ │ ├── image v0.18.0 │ │ │ └── ggez v0.4.2 (*) │ │ ├── num v0.1.42 (*) │ │ └── png v0.11.0 │ │ └── image v0.18.0 (*) │ └── num-rational v0.1.42 │ └── image v0.18.0 (*) ├── num-iter v0.1.37 (*) ├── num-rational v0.1.42 (*) └── num-traits v0.1.43 ├── alga v0.5.4 (*) ├── cgmath v0.14.1 │ └── rodio v0.6.0 │ └── ggez v0.4.2 (*) ├── enum_primitive v0.1.1 │ └── image v0.18.0 (*) ├── euclid v0.17.3 │ └── lyon_geom v0.10.1 │ └── lyon_path v0.10.1 │ └── lyon_tessellation v0.10.1 │ └── lyon v0.10.1 │ └── ggez v0.4.2 (*) ├── image v0.18.0 (*) ├── lyon_geom v0.10.1 (*) ├── nalgebra v0.14.4 (*) ├── ordered-float v0.5.0 │ └── rusttype v0.5.2 │ └── ggez v0.4.2 (*) └── sid v0.5.0 └── lyon_tessellation v0.10.1 (*) quote v0.3.15 ├── derivative v1.0.0 │ ├── gfx v0.17.1 │ │ ├── gfx_window_sdl v0.8.0 │ │ │ └── ggez v0.4.2 │ │ │ ├── ggwp-zgui v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zgui) │ │ │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) │ │ │ ├── ggwp-zscene v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zscene) │ │ │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ │ └── ggez v0.4.2 (*) │ └── gfx_core v0.8.2 │ ├── gfx v0.17.1 (*) │ ├── gfx_device_gl v0.15.2 │ │ ├── gfx_window_sdl v0.8.0 (*) │ │ └── ggez v0.4.2 (*) │ └── gfx_window_sdl v0.8.0 (*) ├── smart-default v0.2.0 │ └── ggez v0.4.2 (*) ├── syn v0.10.8 │ └── derivative v1.0.0 (*) └── syn v0.11.11 └── smart-default v0.2.0 (*) quote v0.6.2 ├── serde_derive v1.0.62 │ ├── ggez v0.4.2 │ │ ├── ggwp-zgui v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zgui) │ │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) │ │ ├── ggwp-zscene v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zscene) │ │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ ├── serde v1.0.62 │ │ ├── ggez v0.4.2 (*) │ │ ├── ron v0.2.2 │ │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ │ ├── toml v0.4.6 │ │ │ └── ggez v0.4.2 (*) │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) └── syn v0.14.0 └── serde_derive v1.0.62 (*) rand v0.3.22 ├── cgmath v0.14.1 │ └── rodio v0.6.0 │ └── ggez v0.4.2 │ ├── ggwp-zgui v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zgui) │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) │ ├── ggwp-zscene v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zscene) │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) └── sdl2 v0.31.0 ├── gfx_window_sdl v0.8.0 │ └── ggez v0.4.2 (*) └── ggez v0.4.2 (*) rand v0.4.2 ├── nalgebra v0.14.4 │ └── ggez v0.4.2 │ ├── ggwp-zgui v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zgui) │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) │ ├── ggwp-zscene v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zscene) │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) ├── rand v0.3.22 │ ├── cgmath v0.14.1 │ │ └── rodio v0.6.0 │ │ └── ggez v0.4.2 (*) │ └── sdl2 v0.31.0 │ ├── gfx_window_sdl v0.8.0 │ │ └── ggez v0.4.2 (*) │ └── ggez v0.4.2 (*) └── rayon-core v1.4.0 └── rayon v1.0.1 └── jpeg-decoder v0.1.14 └── image v0.18.0 └── ggez v0.4.2 (*) rand v0.5.0 └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) syn v0.10.8 └── derivative v1.0.0 ├── gfx v0.17.1 │ ├── gfx_window_sdl v0.8.0 │ │ └── ggez v0.4.2 │ │ ├── ggwp-zgui v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zgui) │ │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) │ │ ├── ggwp-zscene v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zscene) │ │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ └── ggez v0.4.2 (*) └── gfx_core v0.8.2 ├── gfx v0.17.1 (*) ├── gfx_device_gl v0.15.2 │ ├── gfx_window_sdl v0.8.0 (*) │ └── ggez v0.4.2 (*) └── gfx_window_sdl v0.8.0 (*) syn v0.11.11 └── smart-default v0.2.0 └── ggez v0.4.2 ├── ggwp-zgui v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zgui) │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) ├── ggwp-zscene v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zscene) │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) syn v0.14.0 └── serde_derive v1.0.62 ├── ggez v0.4.2 │ ├── ggwp-zgui v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zgui) │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) │ ├── ggwp-zscene v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zscene) │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) ├── serde v1.0.62 │ ├── ggez v0.4.2 (*) │ ├── ron v0.2.2 │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ ├── toml v0.4.6 │ │ └── ggez v0.4.2 (*) │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) unicode-xid v0.0.4 ├── syn v0.10.8 │ └── derivative v1.0.0 │ ├── gfx v0.17.1 │ │ ├── gfx_window_sdl v0.8.0 │ │ │ └── ggez v0.4.2 │ │ │ ├── ggwp-zgui v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zgui) │ │ │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) │ │ │ ├── ggwp-zscene v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zscene) │ │ │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ │ └── ggez v0.4.2 (*) │ └── gfx_core v0.8.2 │ ├── gfx v0.17.1 (*) │ ├── gfx_device_gl v0.15.2 │ │ ├── gfx_window_sdl v0.8.0 (*) │ │ └── ggez v0.4.2 (*) │ └── gfx_window_sdl v0.8.0 (*) ├── syn v0.11.11 │ └── smart-default v0.2.0 │ └── ggez v0.4.2 (*) └── synom v0.11.3 └── syn v0.11.11 (*) unicode-xid v0.1.0 ├── proc-macro2 v0.4.3 │ ├── quote v0.6.2 │ │ ├── serde_derive v1.0.62 │ │ │ ├── ggez v0.4.2 │ │ │ │ ├── ggwp-zgui v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zgui) │ │ │ │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) │ │ │ │ ├── ggwp-zscene v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zscene) │ │ │ │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ │ │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ │ │ ├── serde v1.0.62 │ │ │ │ ├── ggez v0.4.2 (*) │ │ │ │ ├── ron v0.2.2 │ │ │ │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ │ │ │ ├── toml v0.4.6 │ │ │ │ │ └── ggez v0.4.2 (*) │ │ │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ │ │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) │ │ └── syn v0.14.0 │ │ └── serde_derive v1.0.62 (*) │ ├── serde_derive v1.0.62 (*) │ └── syn v0.14.0 (*) └── syn v0.14.0 (*) unreachable v0.1.1 └── ordered-float v0.5.0 └── rusttype v0.5.2 └── ggez v0.4.2 ├── ggwp-zgui v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zgui) │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) ├── ggwp-zscene v0.1.0 (file:///home/ozkriff/zemeroth/main/ggwp-zscene) │ └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) (*) unreachable v1.0.0 └── thread_local v0.3.5 └── regex v1.0.0 └── env_logger v0.5.10 └── zemeroth v0.4.0 (file:///home/ozkriff/zemeroth/main) ```
ozkriff commented 1 year ago

Most duplicates are gone now, except for syn v1-vs-v2.

$ cargo tree -d
syn v1.0.109
└── derive_more v0.99.17 (proc-macro)
    └── zemeroth v0.7.0-snapshot (/home/ozkriff/ozkriff_games/zemeroth)

syn v2.0.18
└── serde_derive v1.0.164 (proc-macro)
    └── serde v1.0.164
        ├── ron v0.8.0
        │   └── zemeroth v0.7.0-snapshot (/home/ozkriff/ozkriff_games/zemeroth)
        └── zemeroth v0.7.0-snapshot (/home/ozkriff/ozkriff_games/zemeroth)

syn v1 comes from derive_more but seems like it'll be updated soon: https://github.com/JelteF/derive_more/pull/251 + https://github.com/JelteF/derive_more/milestone/3