Re: Portfile for CEF: Build from source or pre-built binary?
On Sun, Aug 6, 2023 at 10:19 PM Ryan Schmidt wrote: > Most of the buildbot workers have about 90GB disk space total, sometimes > with as little as 15GB free. mpbb is currently coded to attempt to free > disk space by uninstalling ports until at least 15GB is free. Well, considering that CEF needs ~200 GB of free disk space, that would seem to preclude the possibility of building from source on the MacPorts buildbots, no? -- Jason Liu On Sun, Aug 6, 2023 at 10:19 PM Ryan Schmidt wrote: > On Aug 6, 2023, at 16:57, Jason Liu wrote: > > > > On their website, CEF states that building from source on a Mac requires > "At least 16 GB of RAM and 200 GB of free disk space" [1]. > > My opinion remains that most ports should build from source if that's > possible. If a project is closed source and only a binary is available, > then obviously we can't build from source. > > Ports that require an unusually large amount of free disk space should be > coded to verify that enough free disk space exists first (e.g. in a > pre-fetch block). > > Most of the buildbot workers have about 90GB disk space total, sometimes > with as little as 15GB free. mpbb is currently coded to attempt to free > disk space by uninstalling ports until at least 15GB is free. >
Portfile for CEF: Build from source or pre-built binary?
Hi everyone, I'm working on writing a Portfile for the Chromium Embedded Framework (CEF), and I have a question for the mailing list. The question is the perennial one of: should the port be built from source, or should the port download the pre-built binary distribution? In this particular case, I don't think it's necessarily a question of how difficult or complex it is to build from source; rather, I think it's a question of the resources required to build from source. If we were to build CEF from source, it would require downloading the entire source code for both CEF itself and Chromium. On their website, CEF states that building from source on a Mac requires "At least 16 GB of RAM and 200 GB of free disk space" [1]. In addition, a full build from source apparently takes "Approximately 4 hours with a fast internet connection (100 Mbps) and fast build machine (2.4 GHz, 16 logical cores, SSD)" [2]. On the other hand, Spotify hosts the official pre-built binary distributions of CEF [3]; the "standard distribution" seems to hover at around 200 MB in size. If building from source takes that many resources, I guess it's no wonder why Spotify (but not Google?) hosts pre-built binaries. Thoughts? Opinions? [1] https://bitbucket.org/chromiumembedded/cef/wiki/AutomatedBuildSetup.md#markdown-header-macos-configuration [2] https://bitbucket.org/chromiumembedded/cef/wiki/MasterBuildQuickStart.md#markdown-header-mac-os-x-setup [3] https://cef-builds.spotifycdn.com/index.html -- Jason Liu