Bug 267934 - www/webkit2-gtk4: fails to build in poudriere with no OPTIONS set
Summary: www/webkit2-gtk4: fails to build in poudriere with no OPTIONS set
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-gnome (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-11-22 20:48 UTC by Philipp Ost
Modified: 2023-06-03 11:25 UTC (History)
1 user (show)

See Also:
tcberner: maintainer-feedback+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philipp Ost 2022-11-22 20:48:55 UTC
www/webkit2-gtk4 fails to build in poudriere ('poudriere testport' to be exact).

Relevant configuration details:

port directory: /usr/ports/www/webkit2-gtk4
package name: webkit2-gtk4-2.34.6_1
building for: FreeBSD 131Ramd64-ports_wip 13.1-RELEASE-p2 FreeBSD 13.1-RELEASE-p2 amd64
maintained by: gnome@FreeBSD.org
Makefile datestamp: -rw-r--r--  1 1001  staff  3734 Oct 24 15:46 /usr/ports/www/webkit2-gtk4/Makefile
Poudriere version: poudriere-git-3.3.99.20220831
Host OSVERSION: 1301507
Jail OSVERSION: 1301000


---Begin OPTIONS List---
===> The following configuration options are available for webkit2-gtk4-2.34.6_1:
     DEBUG=off: Build with debugging support
     GEOIP=off: GeoIP IP location support
     GSTREAMER=off: Multimedia support via GStreamer
     WAYLAND=off: Wayland (graphics) support
===> Use 'make config' to modify these settings
---End OPTIONS List---


This seems to be the culprit:
----8<----
In file included from /wrkdirs/usr/ports/www/webkit2-gtk4/work/webkitgtk-2.34.6/Source/WebKit/UIProcess/gtk/ClipboardGtk4.cpp:31:
In file included from /wrkdirs/usr/ports/www/webkit2-gtk4/work/webkitgtk-2.34.6/Source/WebKit/UIProcess/WebPasteboardProxy.h:28:
In file included from /wrkdirs/usr/ports/www/webkit2-gtk4/work/webkitgtk-2.34.6/Source/WebKit/Platform/IPC/MessageReceiver.h:29:
In file included from /wrkdirs/usr/ports/www/webkit2-gtk4/work/.build/WTF/Headers/wtf/WeakPtr.h:30:
In file included from /wrkdirs/usr/ports/www/webkit2-gtk4/work/.build/WTF/Headers/wtf/Threading.h:39:
In file included from /wrkdirs/usr/ports/www/webkit2-gtk4/work/.build/WTF/Headers/wtf/HashMap.h:25:
/wrkdirs/usr/ports/www/webkit2-gtk4/work/.build/WTF/Headers/wtf/HashTable.h:1569:109: warning: 'iterator<std::forward_iterator_tag, WebCore::NativeImage::Observer *, long, WebCore::NativeImage::Observer *const *, WebCore::NativeImage::Observer *const &>' is depre
cated [-Wdeprecated-declarations]
    template<typename HashTableType, typename ValueType> struct HashTableConstIteratorAdapter : public std::iterator<std::forward_iterator_tag, ValueType, std::ptrdiff_t, const ValueType*, const ValueType&> {
                                                                                                            ^
/wrkdirs/usr/ports/www/webkit2-gtk4/work/.build/WebCore/PrivateHeaders/WebCore/NativeImage.h:64:66: note: in instantiation of template class 'WTF::HashTableConstIteratorAdapter<WTF::HashTable<WebCore::NativeImage::Observer *, WebCore::NativeImage::Observer *, WTF
::IdentityExtractor, WTF::DefaultHash<WebCore::NativeImage::Observer *>, WTF::HashTraits<WebCore::NativeImage::Observer *>, WTF::HashTraits<WebCore::NativeImage::Observer *>>, WebCore::NativeImage::Observer *>' requested here
    void removeObserver(Observer& observer) { m_observers.remove(&observer); }
                                                                 ^
/usr/include/c++/v1/__iterator/iterator.h:27:29: note: 'iterator<std::forward_iterator_tag, WebCore::NativeImage::Observer *, long, WebCore::NativeImage::Observer *const *, WebCore::NativeImage::Observer *const &>' has been explicitly marked deprecated here
struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 iterator
                            ^
/usr/include/c++/v1/__config:1016:39: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17'
#  define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED
                                      ^
/usr/include/c++/v1/__config:993:48: note: expanded from macro '_LIBCPP_DEPRECATED'
#    define _LIBCPP_DEPRECATED __attribute__ ((deprecated))
                                               ^
/wrkdirs/usr/ports/www/webkit2-gtk4/work/webkitgtk-2.34.6/Source/WebKit/UIProcess/gtk/ClipboardGtk4.cpp:83:25: error: expected ';' after expression
        GUniquePtr<char> text(gdk_clipboard_read_text_finish(GDK_CLIPBOARD(clipboard), result, nullptr));
                        ^
                        ;
/wrkdirs/usr/ports/www/webkit2-gtk4/work/webkitgtk-2.34.6/Source/WebKit/UIProcess/gtk/ClipboardGtk4.cpp:83:9: error: use of undeclared identifier 'GUniquePtr'
        GUniquePtr<char> text(gdk_clipboard_read_text_finish(GDK_CLIPBOARD(clipboard), result, nullptr));
        ^
/wrkdirs/usr/ports/www/webkit2-gtk4/work/webkitgtk-2.34.6/Source/WebKit/UIProcess/gtk/ClipboardGtk4.cpp:83:26: error: use of undeclared identifier 'text'
        GUniquePtr<char> text(gdk_clipboard_read_text_finish(GDK_CLIPBOARD(clipboard), result, nullptr));
                         ^
/wrkdirs/usr/ports/www/webkit2-gtk4/work/webkitgtk-2.34.6/Source/WebKit/UIProcess/gtk/ClipboardGtk4.cpp:84:50: error: use of undeclared identifier 'text'
        data->completionHandler(String::fromUTF8(text.get()));
                                                 ^
/wrkdirs/usr/ports/www/webkit2-gtk4/work/webkitgtk-2.34.6/Source/WebKit/UIProcess/gtk/ClipboardGtk4.cpp:111:34: error: expected ';' after expression
                GUniquePtr<gchar> filename(g_file_get_path(file));
                                 ^
                                 ;
/wrkdirs/usr/ports/www/webkit2-gtk4/work/webkitgtk-2.34.6/Source/WebKit/UIProcess/gtk/ClipboardGtk4.cpp:111:17: error: use of undeclared identifier 'GUniquePtr'
                GUniquePtr<gchar> filename(g_file_get_path(file));
                ^
/wrkdirs/usr/ports/www/webkit2-gtk4/work/webkitgtk-2.34.6/Source/WebKit/UIProcess/gtk/ClipboardGtk4.cpp:111:35: error: use of undeclared identifier 'filename'
                GUniquePtr<gchar> filename(g_file_get_path(file));
                                  ^
/wrkdirs/usr/ports/www/webkit2-gtk4/work/webkitgtk-2.34.6/Source/WebKit/UIProcess/gtk/ClipboardGtk4.cpp:112:21: error: use of undeclared identifier 'filename'
                if (filename)
                    ^
/wrkdirs/usr/ports/www/webkit2-gtk4/work/webkitgtk-2.34.6/Source/WebKit/UIProcess/gtk/ClipboardGtk4.cpp:113:55: error: use of undeclared identifier 'filename'
                    filePaths.append(String::fromUTF8(filename.get()));
                                                      ^
12 warnings and 9 errors generated.
---->8----

The complete logfile is available here: http://philippost.de/tmp/ports/webkit2-gtk4-2.34.6_1.log.xz

The port also fails to build on bare metal with the same errors on at least two independant machines (both running 13.1-STABLE, one from early October, the other from early November; both amd64).
Comment 1 commit-hook freebsd_committer freebsd_triage 2023-06-01 08:49:10 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=67c938aca598f2c7719ad1872e304f477c44d08a

commit 67c938aca598f2c7719ad1872e304f477c44d08a
Author:     Tobias C. Berner <tcberner@FreeBSD.org>
AuthorDate: 2023-06-01 07:56:18 +0000
Commit:     Tobias C. Berner <tcberner@FreeBSD.org>
CommitDate: 2023-06-01 08:48:14 +0000

    www/webkit2-gtk4: add ustream fix for missing include

    Obtained from:  https://github.com/WebKit/WebKit/commit/285ff73b5f6d46d6e502aca30061667e41a3114b
    PR:             267934

 www/webkit2-gtk4/Makefile | 3 +++
 www/webkit2-gtk4/distinfo | 4 +++-
 2 files changed, 6 insertions(+), 1 deletion(-)
Comment 2 Tobias C. Berner freebsd_committer freebsd_triage 2023-06-01 08:51:38 UTC
This should hopefully be fixed by above commit.

mfg Toibas
Comment 3 Philipp Ost 2023-06-03 11:25:19 UTC
(In reply to Tobias C. Berner from comment #2)

Yes, this does fix the issue. It now builds fine both in poudriere and on bare metal.

Thank you!