tce-load -i compiletc cmake ninja gst-plugins-bad-dev libsecret-dev ruby-dev gudev-lib-dev enchant2-dev geoclue-dev gobject-introspection-dev hicolor-icon-theme gperf perl5 libxslt-dev gettext harfbuzz-icu-dev libsoup3-dev gtk3-gir libsoup3-gir openjpeg-dev bwrap libavif-dev libseccomp-dev unifdef xdg-dbus-proxy

wget https://webkitgtk.org/releases/webkitgtk-2.42.4.tar.xz

cd webkitgtk-2.42.4

edit Source/JavaScriptCore/inspector/scripts/codegen/preprocess.pl
        $preprocessor = $ENV{CC} || (-x "/usr/bin/clang" ? "/usr/bin/clang" : "/usr/local/bin/gcc");

mkdir build
cd build

cmake -LAH -DCMAKE_C_FLAGS_RELEASE="-mtune=generic -Os -pipe" -DCMAKE_CXX_FLAGS_RELEASE="-mtune=generic -Os -pipe -DNDEBUG" -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_INSTALL_LIBEXECDIR=/usr/local/lib -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_RPATH=ON -DENABLE_MINIBROWSER=ON -DUSE_LIBHYPHEN=OFF -DPORT=GTK -DUSE_WOFF2=OFF -DUSE_WPE_RENDERER=ON -DCMAKE_VERBOSE_MAKEFILE=TRUE -DENABLE_GAMEPAD=OFF -DENABLE_DOCUMENTATION=OFF -DUSE_GTK4=OFF -DUSE_JPEGXL=OFF -DENABLE_JOURNALD_LOG=OFF -DENABLE_BUBBLEWRAP_SANDBOX=ON -DDBUS_PROXY_EXECUTABLE=/usr/local/bin/xdg-dbus-proxy -Wno-dev -G Ninja ../

[lto fails]

ninja [4h 0m 39s]

open2: exec of /usr/bin/gcc -E -P -x c++ -C -DENABLE_RESOURCE_USAGE -DENABLE_SERVICE_WORKER -DENABLE_VIDEO -DENABLE_WEBGL /usr/src/webkitgtk-2.42.4/build/JavaScriptCore/DerivedSources/inspector/InspectorBackendCommands.js.in failed: No such file or directory at /usr/src/webkitgtk-2.42.4/Source/JavaScriptCore/inspector/scripts/codegen/preprocess.pl line 94.
Traceback (most recent call last):
  File "/usr/src/webkitgtk-2.42.4/Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py", line 306, in <module>
    generate_from_specification(**options)
  File "/usr/src/webkitgtk-2.42.4/Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py", line 233, in generate_from_specification
    subprocess.check_call(["perl", os.path.join(os.path.dirname(__file__), "codegen", "preprocess.pl"), "--input", temporary_input_filepath, "--defines", protocol.condition_flags, "--output", temporary_output_filepath])
  File "/usr/local/lib/python3.9/subprocess.py", line 373, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['perl', '/usr/src/webkitgtk-2.42.4/Source/JavaScriptCore/inspector/scripts/codegen/preprocess.pl', '--input', '/usr/src/webkitgtk-2.42.4/build/JavaScriptCore/DerivedSources/inspector/InspectorBackendCommands.js.in', '--defines', ' ENABLE_RESOURCE_USAGE ENABLE_SERVICE_WORKER ENABLE_VIDEO ENABLE_WEBGL', '--output', '/usr/src/webkitgtk-2.42.4/build/JavaScriptCore/DerivedSources/inspector/InspectorBackendCommands.js.out']' returned non-zero exit status 2.


sudo ninja install

libwebkit2gtk-4.1.so.0

-- Enabled features:
--  ENABLE_BUBBLEWRAP_SANDBOX ..................... ON
--  ENABLE_DOCUMENTATION                            OFF
--  ENABLE_DRAG_SUPPORT ........................... ON
--  ENABLE_GAMEPAD                                  OFF
--  ENABLE_INTROSPECTION .......................... ON
--  ENABLE_JOURNALD_LOG                             OFF
--  ENABLE_MINIBROWSER ............................ ON
--  ENABLE_PDFJS                                    ON
--  ENABLE_QUARTZ_TARGET .......................... OFF
--  ENABLE_SPELLCHECK                               ON
--  ENABLE_TOUCH_EVENTS ........................... ON
--  ENABLE_VIDEO                                    ON
--  ENABLE_WAYLAND_TARGET ......................... ON
--  ENABLE_WEBDRIVER                                ON
--  ENABLE_WEB_AUDIO .............................. ON
--  ENABLE_WEB_CRYPTO                               ON
--  ENABLE_X11_TARGET ............................. ON
--  USE_AVIF                                        ON
--  USE_GBM ....................................... ON
--  USE_GSTREAMER_TRANSCODER                        ON
--  USE_GSTREAMER_WEBRTC .......................... OFF
--  USE_GTK4                                        OFF
--  USE_JPEGXL .................................... OFF
--  USE_LCMS                                        ON
--  USE_LIBHYPHEN ................................. OFF
--  USE_LIBSECRET                                   ON
--  USE_OPENGL_OR_ES .............................. ON
--  USE_OPENJPEG                                    ON
--  USE_SOUP2 ..................................... OFF
--  USE_WOFF2                                       OFF
