freebsd-ports/www/webkit2-gtk4/Makefile
Stefan Eßer b7f05445c0 Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.

Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.

There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.

This commit implements such a proposal and moves one of the WWW: entries
of each pkg-descr file into the respective port's Makefile. A heuristic
attempts to identify the most relevant URL in case there is more than
one WWW: entry in some pkg-descr file. URLs that are not moved into the
Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr
files in order to preserve them.

There are 1256 ports that had no WWW: entries in pkg-descr files. These
ports will not be touched in this commit.

The portlint port has been adjusted to expect a WWW entry in each port
Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as
deprecated.

Approved by:		portmgr (tcberner)
2022-09-07 23:10:59 +02:00

115 lines
3.6 KiB
Makefile

PORTNAME= webkit
DISTVERSION= 2.34.6
CATEGORIES= www
MASTER_SITES= https://webkitgtk.org/releases/
PKGNAMESUFFIX= 2-gtk4
DISTNAME= ${PORTNAME}gtk-${PORTVERSION}
DIST_SUBDIR= gnome
MAINTAINER= gnome@FreeBSD.org
COMMENT= Opensource browser engine using the GTK+ 4 toolkit
WWW= https://webkitgtk.org/
LICENSE= BSD2CLAUSE GPLv2
LICENSE_COMB= dual
BUILD_DEPENDS= ${LOCALBASE}/bin/ar:devel/binutils
LIB_DEPENDS= libenchant-2.so:textproc/enchant2 \
libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2 \
libfribidi.so:converters/fribidi \
libgcrypt.so:security/libgcrypt \
libharfbuzz-icu.so:print/harfbuzz-icu \
libharfbuzz.so:print/harfbuzz \
libhyphen.so:textproc/hyphen \
libicutu.so:devel/icu \
libnotify.so:devel/libnotify \
libopenjp2.so:graphics/openjpeg \
libpng.so:graphics/png \
libsecret-1.so:security/libsecret \
libsoup-3.0.so:devel/libsoup3 \
libtasn1.so:security/libtasn1 \
libwebp.so:graphics/webp \
libwoff2dec.so:devel/woff2
PORTSCOUT= limitw:1,even
USES= bison cmake compiler:c++14-lang cpe gettext gl gnome gperf jpeg \
localbase:ldflags perl5 pkgconfig python:build sqlite tar:xz \
xorg
USE_GNOME= cairo gdkpixbuf2 gtk40 libxml2 libxslt introspection:build
USE_GL= egl gl glesv2
USE_LDCONFIG= yes
USE_PERL5= build
USE_RUBY= yes
RUBY_NO_RUN_DEPENDS= yes
USE_XORG= ice x11 xcomposite xdamage xext xrender xt
CPE_VENDOR= webkitgtk
CPE_PRODUCT= webkitgtk
BINARY_ALIAS= python=${PYTHON_CMD}
CXXFLAGS+= -DFIXED_EXECUTABLE_MEMORY_POOL_SIZE_IN_MB=32
CXXFLAGS_powerpc= -DENABLE_YARR_JIT=0
CXXFLAGS_powerpc64= -DENABLE_YARR_JIT=0
CMAKE_ARGS= -DPORT=GTK
CMAKE_OFF= ${CMAKE_OFF_${ARCH}:U} ENABLE_GAMEPAD ENABLE_GLES2 \
USE_LD_GOLD USE_SYSTEMD
CMAKE_ON= ENABLE_MINIBROWSER USE_GTK4 USE_SYSTEM_MALLOC
CMAKE_OFF_armv6= ENABLE_JIT
CMAKE_OFF_armv7= ENABLE_JIT
CMAKE_OFF_powerpc= ENABLE_JIT
CMAKE_OFF_powerpc64= ENABLE_JIT
INSTALL_TARGET= install
OPTIONS_DEFINE= DEBUG GEOIP GSTREAMER WAYLAND
OPTIONS_DEFAULT= GEOIP GSTREAMER WAYLAND
OPTIONS_SUB= yes
# Building WebKit with debugging symbols requires ar and ld with
# support for thin archives. Also see
# https://bugs.webkit.org/show_bug.cgi?id=140384
DEBUG_CMAKE_ON= -DCMAKE_AR=${LOCALBASE}/bin/ar \
-DCMAKE_LINKER=${LOCALBASE}/bin/ld \
-DCMAKE_RANLIB=${LOCALBASE}/bin/ranlib
DEBUG_CXXFLAGS= -B${LOCALBASE}/bin
DEBUG_CMAKE_OFF= -DCMAKE_AR=/usr/bin/ar \
-DCMAKE_LINKER=/usr/bin/ld \
-DCMAKE_RANLIB=/usr/bin/ranlib
DEBUG_CXXFLAGS_OFF= -B/usr/bin
DEBUG_CFLAGS_OFF= -DNDEBUG
GEOIP_CMAKE_BOOL= ENABLE_GEOLOCATION
GEOIP_BUILD_DEPENDS= geoclue>=2.4.3:net/geoclue
GEOIP_RUN_DEPENDS= geoclue>=2.4.3:net/geoclue
GSTREAMER_USES= gstreamer
GSTREAMER_USE= GSTREAMER=bad,gl
GSTREAMER_CMAKE_BOOL= ENABLE_VIDEO ENABLE_WEB_AUDIO
WAYLAND_CMAKE_BOOL= ENABLE_WAYLAND_TARGET
WAYLAND_BUILD_DEPENDS= wayland-protocols>=1.12:graphics/wayland-protocols
WAYLAND_LIB_DEPENDS= libwayland-egl.so:graphics/wayland \
libwpe-1.0.so:www/libwpe \
libWPEBackend-fdo-1.0.so:www/wpebackend-fdo
pre-configure:
# .if !exists() evaluates too early before cairo has a chance to be installed
@if ! pkg-config --exists cairo-egl; then \
${ECHO_MSG} "${PKGNAME}: Needs cairo with OPENGL support enabled."; \
${FALSE}; \
fi
post-install:
@${RLN} ${STAGEDIR}${PREFIX}/libexec/webkit2gtk-5.0/jsc \
${STAGEDIR}${PREFIX}/bin/jsc-5
@${RLN} ${STAGEDIR}${PREFIX}/libexec/webkit2gtk-5.0/MiniBrowser \
${STAGEDIR}${PREFIX}/bin/MiniBrowser-5
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/*.so.*.*
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/webkit2gtk-5.0/injected-bundle/*.so
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/webkit2gtk-5.0/*
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/WebKitWebDriver-5
.include <bsd.port.mk>