diff options
Diffstat (limited to 'www/webkitgtk4/Makefile')
| -rw-r--r-- | www/webkitgtk4/Makefile | 156 |
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 | ||
| 4 | USE_WXNEEDED = Yes | ||
| 5 | |||
| 6 | BROKEN-alpha = GCC 5.0.0 is required to build WebKitGTK+, use a newer GCC version or clang | ||
| 7 | BROKEN-hppa = GCC 5.0.0 is required to build WebKitGTK+, use a newer GCC version or clang | ||
| 8 | BROKEN-arm = JavaScriptCore/runtime/MachineContext.h, various sigcontext-related | ||
| 9 | |||
| 10 | PORTROACH = limitw:1,even | ||
| 11 | |||
| 12 | COMMENT = GTK+ port of the WebKit rendering engine | ||
| 13 | |||
| 14 | V = 2.36.0 | ||
| 15 | DISTNAME = webkitgtk-${V} | ||
| 16 | PKGNAME = webkitgtk4-${V} | ||
| 17 | REVISION = 1 | ||
| 18 | |||
| 19 | EXTRACT_SUFX = .tar.xz | ||
| 20 | API = 4.0 | ||
| 21 | SUBST_VARS = API | ||
| 22 | DPB_PROPERTIES = parallel | ||
| 23 | |||
| 24 | SHARED_LIBS += javascriptcoregtk-${API} 3.6 # 18.13.3 | ||
| 25 | SHARED_LIBS += webkit2gtk-${API} 3.6 # 37.37.2 | ||
| 26 | |||
| 27 | CATEGORIES = www | ||
| 28 | |||
| 29 | HOMEPAGE = https://webkitgtk.org/ | ||
| 30 | |||
| 31 | MAINTAINER = Antoine Jacoutot <ajacoutot@openbsd.org> | ||
| 32 | |||
| 33 | # LGPLv2 and BSD | ||
| 34 | PERMIT_PACKAGE = Yes | ||
| 35 | |||
| 36 | WANTLIB += ${COMPILER_LIBCXX} EGL GL X11 Xcomposite Xdamage Xrender | ||
| 37 | WANTLIB += Xt atk-1.0 c cairo cairo-gobject enchant-2 fontconfig | ||
| 38 | WANTLIB += freetype gcrypt gdk-3 gdk_pixbuf-2.0 gio-2.0 glib-2.0 | ||
| 39 | WANTLIB += gmodule-2.0 gobject-2.0 gpg-error gstapp-1.0 gstaudio-1.0 | ||
| 40 | WANTLIB += gstbase-1.0 gstfft-1.0 gstgl-1.0 gstpbutils-1.0 gstreamer-1.0 | ||
| 41 | WANTLIB += gsttag-1.0 gstvideo-1.0 gtk-3 harfbuzz harfbuzz-icu | ||
| 42 | WANTLIB += hyphen icudata icui18n icuuc intl jpeg lcms2 m notify | ||
| 43 | WANTLIB += openjp2 pango-1.0 pangocairo-1.0 png secret-1 soup-2.4 | ||
| 44 | WANTLIB += sqlite3 tasn1 webp webpdemux woff2dec xml2 xslt z | ||
| 45 | |||
| 46 | MASTER_SITES = https://webkitgtk.org/releases/ | ||
| 47 | |||
| 48 | MODULES = devel/cmake \ | ||
| 49 | lang/python \ | ||
| 50 | lang/ruby \ | ||
| 51 | x11/gnome | ||
| 52 | |||
| 53 | COMPILER = base-clang ports-gcc | ||
| 54 | |||
| 55 | MODRUBY_RUNDEP = No | ||
| 56 | MODPY_RUNDEP = No | ||
| 57 | MODPY_ADJ_FILES = Tools/glib/generate-inspector-gresource-manifest.py | ||
| 58 | MODGNOME_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) | ||
| 65 | DEBUG_PACKAGES = ${BUILD_PACKAGES} | ||
| 66 | DEBUG = -g1 | ||
| 67 | |||
| 68 | NO_TEST = Yes | ||
| 69 | |||
| 70 | BUILD_DEPENDS = devel/bison \ | ||
| 71 | devel/gettext,-tools \ | ||
| 72 | devel/gperf \ | ||
| 73 | geo/geoclue2 | ||
| 74 | |||
| 75 | RUN_DEPENDS = geo/geoclue2 \ | ||
| 76 | multimedia/gstreamer1/plugins-good | ||
| 77 | |||
| 78 | LIB_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 | |||
| 91 | CONFIGURE_ENV = WK_USE_CCACHE=NO | ||
| 92 | CONFIGURE_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" | ||
| 104 | CPUARCH = x86_64 | ||
| 105 | .else | ||
| 106 | CPUARCH = ${ARCH} | ||
| 107 | .endif | ||
| 108 | CONFIGURE_ARGS += -DUSER_AGENT_BRANDING="Linux ${CPUARCH}" | ||
| 109 | |||
| 110 | # needs Wayland (libwpe -> WPEBackend-fdo -> Wayland) | ||
| 111 | CONFIGURE_ARGS += -DUSE_WPE_RENDERER=OFF | ||
| 112 | |||
| 113 | # Needs GUdev | ||
| 114 | CONFIGURE_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." | ||
| 122 | CONFIGURE_ARGS += -DENABLE_JIT=OFF | ||
| 123 | CONFIGURE_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" | ||
| 129 | CXXFLAGS += -DFIXED_EXECUTABLE_MEMORY_POOL_SIZE_IN_MB=512 | ||
| 130 | .endif | ||
| 131 | CXXFLAGS += -DSTRUCTURE_HEAP_ADDRESS_SIZE_IN_MB=256 | ||
| 132 | |||
| 133 | # XXX fatal error: 'X11/Xlib.h' file not found | ||
| 134 | CXXFLAGS += -I${X11BASE}/include | ||
| 135 | |||
| 136 | .include <bsd.port.arch.mk> | ||
| 137 | |||
| 138 | # disable thin archives for bfd | ||
| 139 | .if !${PROPERTIES:Mlld} | ||
| 140 | CONFIGURE_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 | ||
| 145 | DPB_PROPERTIES = lonesome | ||
| 146 | LDFLAGS += -Wl,--no-keep-memory | ||
| 147 | .endif | ||
| 148 | |||
| 149 | post-extract: | ||
| 150 | ln -sf ${MODPY_BIN} ${WRKDIR}/bin/python | ||
| 151 | ln -sf ${RUBY} ${WRKDIR}/bin/ruby | ||
| 152 | |||
| 153 | pre-configure: | ||
| 154 | ${SUBST_CMD} ${WRKSRC}/Source/cmake/WebKitCommon.cmake | ||
| 155 | |||
| 156 | .include <bsd.port.mk> | ||
