Re: Portfile for CEF: Build from source or pre-built binary?

2023-08-07 Thread Jason Liu
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?

2023-08-06 Thread Jason Liu
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