Bug 220508 (libsoup3)

Summary: [META][SOUP] Support libsoup3
Product: WebKit Reporter: Carlos Garcia Campos <cgarcia>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: aperez, balducci, bugs-noreply, mcatanzaro, pgriffis
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 220509, 220764, 221034, 221206, 221251, 221543, 221963, 222093, 222309, 222413, 223067, 223236, 223237, 223437, 224362, 224741, 224802, 224925, 225510    
Bug Blocks:    

Description Carlos Garcia Campos 2021-01-11 06:27:27 PST
Libsoup3 will be the new API version of libsoup.
Comment 1 gabriele balducci 2021-02-28 06:10:33 PST
building 2.31.90 with -DUSE_SOUP2=OFF fails for me because soup
version 2.4 is still hardcoded in the following files:

    ----8<----
    Tools/gtkdoc/generate-gtkdoc
    Source/WebKit/PlatformGTK.cmake
    Source/WebKit/gtk/webkit2gtk.pc.in
    Source/WebKit/gtk/webkit2gtk-web-extension.pc.in
    ---->8----

brute force fix of those definitions makes my build succeed; eg:


    ----8<----
    diff -c ./Source/WebKit/PlatformGTK.cmake.REALLY_SOUP_3 ./Source/WebKit/PlatformGTK.cmake
    *** ./Source/WebKit/PlatformGTK.cmake.REALLY_SOUP_3	2021-02-28 10:15:27.680399591 +0100
    --- ./Source/WebKit/PlatformGTK.cmake	2021-02-28 10:15:27.684399609 +0100
    ***************
    *** 684,690 ****
                  --nsversion=${WEBKITGTK_API_VERSION}
                  --include=GObject-2.0
                  --include=Gtk-${GTK_API_VERSION}.0
    !             --include=Soup-2.4
                  --include-uninstalled=${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
                  --library=webkit2gtk-${WEBKITGTK_API_VERSION}
                  --library=javascriptcoregtk-${WEBKITGTK_API_VERSION}
    --- 684,690 ----
                  --nsversion=${WEBKITGTK_API_VERSION}
                  --include=GObject-2.0
                  --include=Gtk-${GTK_API_VERSION}.0
    !             --include=Soup-3.0
                  --include-uninstalled=${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
                  --library=webkit2gtk-${WEBKITGTK_API_VERSION}
                  --library=javascriptcoregtk-${WEBKITGTK_API_VERSION}
    ***************
    *** 693,699 ****
                  --no-libtool
                  --pkg=gobject-2.0
                  --pkg=${GTK_PKGCONFIG_PACKAGE}
    !             --pkg=libsoup-2.4
                  --pkg-export=webkit2gtk-${WEBKITGTK_API_VERSION}
                  --output=${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
                  ${GIR_SOURCES_TOP_DIRS}
    --- 693,699 ----
                  --no-libtool
                  --pkg=gobject-2.0
                  --pkg=${GTK_PKGCONFIG_PACKAGE}
    !             --pkg=libsoup-3.0
                  --pkg-export=webkit2gtk-${WEBKITGTK_API_VERSION}
                  --output=${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
                  ${GIR_SOURCES_TOP_DIRS}
    ***************
    *** 731,737 ****
                  --nsversion=${WEBKITGTK_API_VERSION}
                  --include=GObject-2.0
                  --include=Gtk-${GTK_API_VERSION}.0
    !             --include=Soup-2.4
                  --include-uninstalled=${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
                  --library=webkit2gtk-${WEBKITGTK_API_VERSION}
                  --library=javascriptcoregtk-${WEBKITGTK_API_VERSION}
    --- 731,737 ----
                  --nsversion=${WEBKITGTK_API_VERSION}
                  --include=GObject-2.0
                  --include=Gtk-${GTK_API_VERSION}.0
    !             --include=Soup-3.0
                  --include-uninstalled=${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
                  --library=webkit2gtk-${WEBKITGTK_API_VERSION}
                  --library=javascriptcoregtk-${WEBKITGTK_API_VERSION}
    ***************
    *** 741,747 ****
                  --no-libtool
                  --pkg=gobject-2.0
                  --pkg=${GTK_PKGCONFIG_PACKAGE}
    !             --pkg=libsoup-2.4
                  --pkg-export=webkit2gtk-web-extension-${WEBKITGTK_API_VERSION}
                  --output=${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir
                  ${GIR_SOURCES_TOP_DIRS}
    --- 741,747 ----
                  --no-libtool
                  --pkg=gobject-2.0
                  --pkg=${GTK_PKGCONFIG_PACKAGE}
    !             --pkg=libsoup-3.0
                  --pkg-export=webkit2gtk-web-extension-${WEBKITGTK_API_VERSION}
                  --output=${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir
                  ${GIR_SOURCES_TOP_DIRS}
    ---->8----

and so on.

Building on linux with:

    ----8<----
    -DCMAKE_CXX_FLAGS="-fpermissive"
    -DPORT=GTK
    -DCMAKE_BUILD_TYPE=Release
    -DENABLE_CREDENTIAL_STORAGE=OFF
    -DENABLE_GEOLOCATION=OFF
    -DUSE_LIBNOTIFY=OFF
    -DUSE_LIBHYPHEN=OFF
    -DENABLE_FTL_JIT=ON
    -DUSE_WOFF2=OFF
    -DENABLE_JIT=ON
    -DUSE_OPENJPEG=OFF
    -DUSE_WPE_RENDERER=OFF
    -DENABLE_BUBBLEWRAP_SANDBOX=OFF
    -DUSE_SYSTEMD=OFF
    -DENABLE_GAMEPAD=OFF
    -DUSE_LD_GOLD=OFF
    -DUSE_SOUP2=OFF
    ---->8----


thanks
ciao
-gabriele