aboutsummaryrefslogtreecommitdiff
path: root/www/ladybird/Makefile
blob: 3ce387acce00f7dd99302c2d19a5f64e42933ee7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
PORTNAME=	ladybird
PORTVERSION=	g20240226
CATEGORIES=	www
MASTER_SITES=	https://github.com/unicode-org/cldr-json/releases/download/${CLDRVERSION}/:cldr \
		https://www.unicode.org/Public/${UCDVERSION}/ucd/:ucd \
		https://www.unicode.org/Public/emoji/${UCDVERSION:R}/:emoji \
		https://www.unicode.org/Public/idna/${UCDVERSION}/:idna \
		https://curl.se/ca/:cacert
DISTFILES=	cldr-${CLDRVERSION}-json-modern.zip:cldr \
		UCD.zip:ucd \
		emoji-test.txt:emoji \
		IdnaMappingTable.txt:idna \
		cacert-${CACERTVERSION}.pem:cacert
DIST_SUBDIR=	${PORTNAME}-${PORTVERSION}
EXTRACT_ONLY=	${_DISTFILES:M*${GH_ACCOUNT}*}

MAINTAINER=	fuz@FreeBSD.org
COMMENT=	SerenityOS web browser
WWW=		https://ladybird.dev/

LICENSE=	BSD2CLAUSE
LICENSE_FILE=	${WRKSRC}/LICENSE

# see Userland/Libraries/LibWeb/Loader/ResourceLoader.h
ONLY_FOR_ARCHS=	aarch64 amd64 i386 riscv64
ONLY_FOR_ARCHS_REASON=	other architectures not recognised by build system
BROKEN_FreeBSD_15_amd64=	clang crashes, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276703

BUILD_DEPENDS=	${LOCALBASE}/share/public_suffix_list/public_suffix_list.dat:dns/public_suffix_list \
		${LOCALBASE}/share/color/Adobe/CMYK/USWebCoatedSWOP.icc:graphics/icc-profiles-adobe-cs4
RUN_DEPENDS=	${LOCALBASE}/share/fonts/Liberation/LiberationMono-Bold.ttf:x11-fonts/liberation-fonts-ttf

USES=		cmake:testing compiler:c++20-lang gl localbase:ldflags python:build qt:6
USE_GITHUB=	yes
GH_ACCOUNT=	SerenityOS
GH_PROJECT=	serenity
GH_TAGNAME=	a8a1d8746e28e743a7d86e6e660140fc28949e4f
USE_GL=		egl
USE_LDCONFIG=	yes
USE_QT=		base tools:build wayland multimedia

CACERTVERSION=	2023-08-22
CLDRVERSION=	44.0.1
UCDVERSION=	15.1.0

CMAKE_ARGS=	SERENITY_CACHE_DIR=${_DISTDIR}
CMAKE_OFF=	ENABLE_LAGOM_CCACHE \
		ENABLE_COMMONMARK_SPEC_DOWNLOAD \
		ENABLE_CACERT_DOWNLOAD \
		ENABLE_TIME_ZONE_DATABASE_DOWNLOAD \
		INCLUDE_WASM_SPEC_TESTS \
		INCLUDE_FLAC_SPEC_TESTS \
		ENABLE_NETWORK_DOWNLOADS
CMAKE_SOURCE_PATH=	${WRKSRC}/Ladybird

BINARY_ALIAS=	python3=${PYTHON_CMD}
DESKTOP_ENTRIES=	"Ladybird" "SerenityOS web browser" "ladybird" "${PREFIX}/bin/Ladybird" "Network;WebBrowser;" false

PLIST_FILES=	${PLIST_FILES_${ARCH}}
PLIST_FILES_amd64=	lib/liblagom-x86.so \
			lib/liblagom-x86.so.0 \
			lib/liblagom-x86.so.0.0.0

OPTIONS_DEFINE=	PULSEAUDIO
OPTIONS_DEFAULT=	PULSEAUDIO
PULSEAUDIO_LIB_DEPENDS=	libpulse.so:audio/pulseaudio
PULSEAUDIO_CMAKE_BOOL=	HAVE_PULSEAUDIO

post-extract:
	${MKDIR} ${CONFIGURE_WRKSRC}/caches/PublicSuffix ${CONFIGURE_WRKSRC}/caches/AdobeICCProfiles
	${LN} -s ${LOCALBASE}/share/public_suffix_list/public_suffix_list.dat \
	    ${CONFIGURE_WRKSRC}/caches/PublicSuffix/
	${LN} -s ${LOCALBASE}/share/color/Adobe ${CONFIGURE_WRKSRC}/caches/AdobeICCProfiles/'Adobe ICC Profiles (end-user)'

post-configure:
	${MKDIR} ${CONFIGURE_WRKSRC}/caches/CLDR ${CONFIGURE_WRKSRC}/caches/UCD
	${TAR} -x -C ${CONFIGURE_WRKSRC}/caches/CLDR -f ${_DISTDIR}/cldr-${CLDRVERSION}-json-modern.zip
	${TAR} -x -C ${CONFIGURE_WRKSRC}/caches/UCD -f ${_DISTDIR}/UCD.zip
	${CP} ${_DISTDIR}/emoji-test.txt ${CONFIGURE_WRKSRC}/caches/UCD
	${CP} ${_DISTDIR}/IdnaMappingTable.txt ${CONFIGURE_WRKSRC}/caches/UCD
	${CP} ${_DISTDIR}/cacert-${CACERTVERSION}.pem ${CONFIGURE_WRKSRC}/Lagom/cacert.pem

post-install:
	${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/256x256/apps
	${INSTALL_DATA} ${WRKSRC}/Ladybird/Icons/ladybird.png \
	    ${STAGEDIR}${PREFIX}/share/icons/hicolor/256x256/apps/

.include <bsd.port.mk>