Hi Andrew -- On 8/20/2023 3:58 PM, Andrew Kaster wrote: > Brian, > > I added a CMake option last week called ENABLE_NETWORK_DOWNLOADS that should > make one of your patches obsolete. Setting it to OFF should have the desired > effect. We recently added another required download for the Public Suffix > list from https://github.com/publicsuffix/list > <https://github.com/publicsuffix/list> as well. >
That's helpful. Setting things up manually beforehand is not all that difficult once you know what you need. > I'm surprised by your clang 15 -> clang 13 patch. Last time I tried to use > that version of clang to compile ladybird, the compiler ICE'd pretty badly. > I wasn't sure how to answer this when Linus said something, and I'm still not sure how to answer this. I have multiple reports from developers and users that Ladybird works on OpenBSD on amd64 and aarch64 with the in-base compiler. Whether that's because OpenBSD clang backported some fixes or some other reason, I don't know. > Ladybird is known to work on both amd64 and aarch64, fwiw. I've at least > tested it on aarch64 macOS and Asahi Linux (on the same Apple silicon > machine) > It also works on OpenBSD on an M2, reported by tobhe@: https://bsd.network/web/@tobhe/110748264101076472 > Your build script looks similar-ish to a few that I've been messing around > with for nixOS [1] and Flatpak [2]. I'm not sure what the best way around > manually setting up the Cache directory for the data files is though. > If there's a common strategy to ease maintenance for all portable targets, let me know I can move to that. > If you want /usr/local/ladybird/res then passing -DCMAKE_INSTALL_DATADIR > should do the right thing, assuming you also patch Ladybird/Utilities.cpp > to tell Ladybird where its "resource root" is (i.e. /usr/local/ladybird). > It should be /usr/local/share/ladybird/res to match the general package structure (I typo'd my original email), but the end result is the same. I did not try this but would be worth trying. > One snag with bumping up to a revision with ENABLE_NETWORK_DOWNLOADS is that > I moved the "current binary directory" detection logic out of Qt to > reduce the > dependence on Qt in the helper processes (WebContent, RequestServer, etc). > But all the googling I tried showed that OpenBSD doesn't have a good way to > figure that out aside from looking for argv[0] in $PATH. The logic is in > LibCore/System.cpp:1734 in current_executable_path. Of course for what it's > used for in Ladybird, one could simply hardcode "/usr/local/bin/foobar" and > it would probably work. > We would hardcode "/usr/local/bin/ladybird" for the OpenBSD package. I'll try to get a new package/port out over the next few days after updating the codebase and trying some of this out. ~Brian