serenity icon indicating copy to clipboard operation
serenity copied to clipboard

Cannot build without network access

Open hramrach opened this issue 2 years ago • 4 comments

I tried to run sandboxed build of ladybird. Predictably it failed to download the tzdb.

However, downloading the tzdb and copying it to the cache directory does not fix the problem - tzdb download is still attempred, and fails.

No instructions are provided how to download the files before build.

hramrach avatar Dec 16 '23 14:12 hramrach

You need to also provide the version.txt file.

See this WIP branch on my fork with a flatpak build, and my PR to nixpkgs that kept failing on x86_64 macOS (which I do not have a machine for)

Flatpak: https://github.com/ADKaster/serenity/blob/single-commit-gtk4/Ladybird/GTK/org.serenityos.Ladybird-gtk4.json#L39 nixpkgs: https://github.com/NixOS/nixpkgs/pull/248456/files

The -DENABLE_NETWORK_DOWNLOADS=OFF CMake option is supposed to facilitate offline builds.

ADKaster avatar Dec 16 '23 18:12 ADKaster

Yes, figured out that some files need to be accompanied by version.txt.

Perhaps some separate download script would be nice.

The downloads happen at configuration time so they probably cannot be a target.

hramrach avatar Dec 16 '23 19:12 hramrach

Is an offline build really that common a need for developers? At the moment we are much more focused on developer experience than packager experience, especially since we don't feel that the application is ready for prime time in any of the main distros. We wouldn't want an end user's first experience with the browser to be its current state.

That being said, I suppose a separate download script wouldn't be that crazy. but we already have multiple places to update whenever we want to bump a data dependency (CMake, gn, soon the flatpak JSON, etc.)

ADKaster avatar Dec 16 '23 19:12 ADKaster

If cmake used the script which would extract the data from json that would become one place, not sure what gn is.

hramrach avatar Dec 16 '23 21:12 hramrach