JuliaPackaging / Yggdrasil

Collection of builder repositories for BinaryBuilder.jl
https://binarybuilder.org
Other
308 stars 554 forks source link

Builds with big static libraries, big logs, or big docs #864

Closed KristofferC closed 3 years ago

KristofferC commented 4 years ago

Here is a list of some builds that bundle:

Static libraries:

Docs:

Logs:

KristofferC commented 4 years ago

It's quite easy to see these by using a program like windirstat, k4dirstat, disk inventory x etc:

image

ViralBShah commented 4 years ago

Note that some packages are meant to be only BuildDependencys and have only static libraries.

ViralBShah commented 4 years ago

Can BB simply not ship the logs at all? For docs, perhaps a warning or audit step could be introduced, I imagine.

giordano commented 4 years ago

The log are sometime precious for debugging

ViralBShah commented 4 years ago

Presumably we can store them elsewhere and not ship them to every user?

jaakkor2 commented 4 years ago

How about the import libraries on Windows (*.dll.a) ? Are they needed in some use scenario? My system has those 4% of packages+artifacts size. These are from artifacts directory with size > 1 MB

  "libopenblas64_.dll.a" => 5660794
             "libgeos.dll.a" => 3605936
           "libcrypto.dll.a" => 2840812
            "libipopt.dll.a" => 2191024
   "libMagick++-6.Q16.dll.a" => 2030248
             "libx264.dll.a" => 1474428
     "libspatialindex.dll.a" => 1164128
             "libxml2.dll.a" => 1069626
giordano commented 4 years ago

I think they're needed to build libraries that link to them

giordano commented 4 years ago

After https://github.com/JuliaPackaging/BinaryBuilder.jl/pull/755, uncompressed logs/ directory of OpenBLAS_jll for x86_64-apple-darwin14-libgfortran4 in v0.3.9+4 is down to 464 KiB, from 7.8 MiB in v0.3.9+2.

giordano commented 4 years ago

1006 halved the size of the tarballs of all packages involved excluding x264 (there was already no static archive in there)

KristofferC commented 4 years ago

Feel free to close this whenever you think it is in a good enough state right now.