summaryrefslogtreecommitdiff
path: root/www/webkitgtk4/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'www/webkitgtk4/Makefile')
-rw-r--r--www/webkitgtk4/Makefile156
1 files changed, 156 insertions, 0 deletions
diff --git a/www/webkitgtk4/Makefile b/www/webkitgtk4/Makefile
new file mode 100644
index 0000000..26d51b4
--- /dev/null
+++ b/www/webkitgtk4/Makefile
@@ -0,0 +1,156 @@
1# patches/patch-Source_JavaScriptCore_javascriptcoregtk_pc_in
2# patches/patch-Source_WebKit_gtk_webkit2gtk-web-extension_pc_in
3# patches/patch-Source_WebKit_gtk_webkit2gtk_pc_in
4USE_WXNEEDED = Yes
5
6BROKEN-alpha = GCC 5.0.0 is required to build WebKitGTK+, use a newer GCC version or clang
7BROKEN-hppa = GCC 5.0.0 is required to build WebKitGTK+, use a newer GCC version or clang
8BROKEN-arm = JavaScriptCore/runtime/MachineContext.h, various sigcontext-related
9
10PORTROACH = limitw:1,even
11
12COMMENT = GTK+ port of the WebKit rendering engine
13
14V = 2.36.0
15DISTNAME = webkitgtk-${V}
16PKGNAME = webkitgtk4-${V}
17REVISION = 1
18
19EXTRACT_SUFX = .tar.xz
20API = 4.0
21SUBST_VARS = API
22DPB_PROPERTIES = parallel
23
24SHARED_LIBS += javascriptcoregtk-${API} 3.6 # 18.13.3
25SHARED_LIBS += webkit2gtk-${API} 3.6 # 37.37.2
26
27CATEGORIES = www
28
29HOMEPAGE = https://webkitgtk.org/
30
31MAINTAINER = Antoine Jacoutot <ajacoutot@openbsd.org>
32
33# LGPLv2 and BSD
34PERMIT_PACKAGE = Yes
35
36WANTLIB += ${COMPILER_LIBCXX} EGL GL X11 Xcomposite Xdamage Xrender
37WANTLIB += Xt atk-1.0 c cairo cairo-gobject enchant-2 fontconfig
38WANTLIB += freetype gcrypt gdk-3 gdk_pixbuf-2.0 gio-2.0 glib-2.0
39WANTLIB += gmodule-2.0 gobject-2.0 gpg-error gstapp-1.0 gstaudio-1.0
40WANTLIB += gstbase-1.0 gstfft-1.0 gstgl-1.0 gstpbutils-1.0 gstreamer-1.0
41WANTLIB += gsttag-1.0 gstvideo-1.0 gtk-3 harfbuzz harfbuzz-icu
42WANTLIB += hyphen icudata icui18n icuuc intl jpeg lcms2 m notify
43WANTLIB += openjp2 pango-1.0 pangocairo-1.0 png secret-1 soup-2.4
44WANTLIB += sqlite3 tasn1 webp webpdemux woff2dec xml2 xslt z
45
46MASTER_SITES = https://webkitgtk.org/releases/
47
48MODULES = devel/cmake \
49 lang/python \
50 lang/ruby \
51 x11/gnome
52
53COMPILER = base-clang ports-gcc
54
55MODRUBY_RUNDEP = No
56MODPY_RUNDEP = No
57MODPY_ADJ_FILES = Tools/glib/generate-inspector-gresource-manifest.py
58MODGNOME_TOOLS = gobject-introspection
59
60# XXX set DEBUG=-g1 because libWebCoreGTK.a is too big (4.1G)
61# https://bugs.webkit.org/show_bug.cgi?id=140384
62# ld.lld: error: lib/libWebCoreGTK.a:
63# could not get the member for symbol WebCore::WorkerThread::runEventLoop():
64# truncated or malformed archive (terminator characters in archive member "ar" not the correct "`\n" values for the archive member header for 12__retguard_29)
65DEBUG_PACKAGES = ${BUILD_PACKAGES}
66DEBUG = -g1
67
68NO_TEST = Yes
69
70BUILD_DEPENDS = devel/bison \
71 devel/gettext,-tools \
72 devel/gperf \
73 geo/geoclue2
74
75RUN_DEPENDS = geo/geoclue2 \
76 multimedia/gstreamer1/plugins-good
77
78LIB_DEPENDS = archivers/woff2 \
79 devel/harfbuzz,-icu \
80 devel/libnotify \
81 devel/libsoup \
82 graphics/libwebp \
83 graphics/openjp2 \
84 multimedia/gstreamer1/plugins-base \
85 textproc/enchant2 \
86 textproc/hyphen \
87 textproc/libxslt \
88 x11/gnome/libsecret \
89 x11/gtk+3
90
91CONFIGURE_ENV = WK_USE_CCACHE=NO
92CONFIGURE_ARGS = -DPORT=GTK \
93 -DENABLE_MINIBROWSER=ON \
94 -DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}" \
95 -DCMAKE_SHARED_LINKER_FLAGS="${LDFLAGS}" \
96 -DENABLE_JOURNALD_LOG=OFF \
97 -DUSE_SOUP2=ON
98
99# XXX broken at run time
100#CONFIGURE_ARGS += -DUSE_SYSTEM_MALLOC=ON
101
102# required for faking a better user-agent
103.if ${MACHINE_ARCH} == "amd64"
104CPUARCH = x86_64
105.else
106CPUARCH = ${ARCH}
107.endif
108CONFIGURE_ARGS += -DUSER_AGENT_BRANDING="Linux ${CPUARCH}"
109
110# needs Wayland (libwpe -> WPEBackend-fdo -> Wayland)
111CONFIGURE_ARGS += -DUSE_WPE_RENDERER=OFF
112
113# Needs GUdev
114CONFIGURE_ARGS += -DENABLE_GAMEPAD=OFF
115
116# sync with Source/JavaScriptCore/assembler/MacroAssembler.h
117# native support for riscv64 in LLInt fails to link with relocation errors
118.if ${MACHINE_ARCH} != "aarch64" && ${MACHINE_ARCH} != "amd64" && \
119 ${MACHINE_ARCH} != "arm" && ${MACHINE_ARCH} != "i386" && \
120 ${MACHINE_ARCH} != "mips64" && ${MACHINE_ARCH} != "mips64el"
121# #error "The MacroAssembler is not supported on this platform."
122CONFIGURE_ARGS += -DENABLE_JIT=OFF
123CONFIGURE_ARGS += -DENABLE_C_LOOP=ON
124.endif
125
126
127# we don't want an allocation of 1GB, it's above the default ulimit
128.if ${MACHINE_ARCH} == "amd64"
129CXXFLAGS += -DFIXED_EXECUTABLE_MEMORY_POOL_SIZE_IN_MB=512
130.endif
131CXXFLAGS += -DSTRUCTURE_HEAP_ADDRESS_SIZE_IN_MB=256
132
133# XXX fatal error: 'X11/Xlib.h' file not found
134CXXFLAGS += -I${X11BASE}/include
135
136.include <bsd.port.arch.mk>
137
138# disable thin archives for bfd
139.if !${PROPERTIES:Mlld}
140CONFIGURE_ARGS += -DUSE_THIN_ARCHIVES=FALSE
141.endif
142
143.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "i386"
144# Don't make LLVM run out of memory
145DPB_PROPERTIES = lonesome
146LDFLAGS += -Wl,--no-keep-memory
147.endif
148
149post-extract:
150 ln -sf ${MODPY_BIN} ${WRKDIR}/bin/python
151 ln -sf ${RUBY} ${WRKDIR}/bin/ruby
152
153pre-configure:
154 ${SUBST_CMD} ${WRKSRC}/Source/cmake/WebKitCommon.cmake
155
156.include <bsd.port.mk>