1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-19 00:13:33 +00:00

www/ladybird: SerenityOS Web Browser

Ladybird is a web browser built on the LibWeb and LibJS engines from
SerenityOS with a cross-platform GUI in Qt.

See this blog post for some more background:
https://awesomekling.github.io/Ladybird-a-new-cross-platform-browser-project/

WWW: https://ladybird.dev
This commit is contained in:
Robert Clausecker 2023-11-21 01:26:06 +01:00
parent b632464b29
commit eafa04a07d
6 changed files with 1245 additions and 0 deletions

View File

@ -295,6 +295,7 @@
SUBDIR += kineto
SUBDIR += kiwix-tools
SUBDIR += kohana
SUBDIR += ladybird
SUBDIR += lagrange
SUBDIR += larbin
SUBDIR += libapreq2

85
www/ladybird/Makefile Normal file
View File

@ -0,0 +1,85 @@
PORTNAME= ladybird
PORTVERSION= g20231120
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://curl.se/ca/:cacert
DISTFILES= cldr-${CLDRVERSION}-json-modern.zip:cldr \
UCD.zip:ucd \
emoji-test.txt:emoji \
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_12= C++ template fuckery
BUILD_DEPENDS= ${LOCALBASE}/share/public_suffix_list/public_suffix_list.dat:dns/public_suffix_list
LIB_DEPENDS= libpulse.so:audio/pulseaudio
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= cc9de38ea4ccf06024913b78b6283d8e4bc26536
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
post-extract:
${MKDIR} ${CONFIGURE_WRKSRC}/caches/PublicSuffix
${LN} -s ${LOCALBASE}/share/public_suffix_list/public_suffix_list.dat \
${CONFIGURE_WRKSRC}/caches/PublicSuffix/
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}/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/
.for font in Mono Sans Serif
. for shape in Bold BoldItalic Italic Regular
${LN} -shf ${LOCALBASE}/share/fonts/Liberation/Liberation${font}-${shape}.ttf \
${STAGEDIR}${PREFIX}/share/res/fonts/
. endfor
.endfor
.include <bsd.port.mk>

11
www/ladybird/distinfo Normal file
View File

@ -0,0 +1,11 @@
TIMESTAMP = 1700523273
SHA256 (ladybird-g20231120/cldr-44.0.1-json-modern.zip) = 6daf783158fb3b09aa026a048e1f5ed5773148387b1edadfad33f303371f332a
SIZE (ladybird-g20231120/cldr-44.0.1-json-modern.zip) = 47935704
SHA256 (ladybird-g20231120/UCD.zip) = cb1c663d053926500cd501229736045752713a066bd75802098598b7a7056177
SIZE (ladybird-g20231120/UCD.zip) = 8248819
SHA256 (ladybird-g20231120/emoji-test.txt) = d876ee249aa28eaa76cfa6dfaa702847a8d13b062aa488d465d0395ee8137ed9
SIZE (ladybird-g20231120/emoji-test.txt) = 639405
SHA256 (ladybird-g20231120/cacert-2023-08-22.pem) = 23c2469e2a568362a62eecf1b49ed90a15621e6fa30e29947ded3436422de9b9
SIZE (ladybird-g20231120/cacert-2023-08-22.pem) = 221470
SHA256 (ladybird-g20231120/SerenityOS-serenity-g20231120-cc9de38ea4ccf06024913b78b6283d8e4bc26536_GH0.tar.gz) = 389e98bd4ae264bcde4268e026d0072ea7cd9d48e5582fa73fe91dce92752834
SIZE (ladybird-g20231120/SerenityOS-serenity-g20231120-cc9de38ea4ccf06024913b78b6283d8e4bc26536_GH0.tar.gz) = 65705758

View File

@ -0,0 +1,17 @@
--- Userland/Libraries/LibJS/CMakeLists.txt.orig 2023-11-20 19:50:53 UTC
+++ Userland/Libraries/LibJS/CMakeLists.txt
@@ -270,13 +270,8 @@ set(SOURCES
serenity_lib(LibJS js)
target_link_libraries(LibJS PRIVATE LibCore LibCrypto LibFileSystem LibRegex LibSyntax LibLocale LibUnicode LibTimeZone LibJIT)
-if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64")
+if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "amd64")
target_link_libraries(LibJS PRIVATE LibX86)
-endif()
-
-# TODO: This is probably also needed on RISC-V.
-if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "i.86.*")
- target_link_libraries(LibJS PRIVATE atomic)
endif()
target_compile_options(LibJS PRIVATE -fno-omit-frame-pointer)

5
www/ladybird/pkg-descr Normal file
View File

@ -0,0 +1,5 @@
Ladybird is a web browser built on the LibWeb and LibJS engines from
SerenityOS with a cross-platform GUI in Qt.
See this blog post for some more background:
https://awesomekling.github.io/Ladybird-a-new-cross-platform-browser-project/

1126
www/ladybird/pkg-plist Normal file

File diff suppressed because it is too large Load Diff