Commit graph

61 commits

Author SHA1 Message Date
0GreenClover0
c286d38765 Meta: Update vcpkg to latest master
Some checks failed
CI / Lagom (x86_64, Fuzzers_CI, false, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (arm64, Sanitizer_CI, false, macos-15, macOS, Clang) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, false, ubuntu-24.04, Linux, GNU) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, true, ubuntu-24.04, Linux, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (arm64, macos-15, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (x86_64, ubuntu-24.04, Linux, Linux-x86_64) (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
Push notes / build (push) Waiting to run
Build Dev Container Image / build (push) Has been cancelled
Includes a fix for vcpkg git commands not working in git versions
below 2.35.
2025-04-12 19:14:58 -06:00
rmg-x
20e6de9340 Meta: Update curl to 8.13.0 2025-04-05 14:26:09 -04:00
Andrew Kaster
20352cc05b Meta: Update vcpkg to latest main revision
This should resolve CMake 4.0 issues on macOS using the fix upstream
vcpkg came up with.
2025-04-03 08:03:48 -06:00
Andrew Kaster
8e0786641f Meta: Explicitly enable zstd feature for tiff in vcpkg
Without this, the library was pulling system libzstd implicitly.
2025-04-02 10:50:18 -06:00
Andrew Kaster
1fec9d6917 Meta: Update vcpkg to latest master
This includes some fixes for cmake 4.0, but not all.
2025-04-02 10:50:18 -06:00
devgianlu
3d3e77cd3e Meta: Add explicit vcpkg dependency for zlib
zlib is already included transitively for other dependencies, include it
explicitly and link it with `LibCompress`.
2025-03-19 13:46:50 +01:00
Luke Wilde
14ebcd4881 vcpkg: Explicitly use OpenSSL backend with curl
The generic `ssl` feature selects Secure Transport on macOS, which is a
deprecated library and support for it in curl is also deprecated and
scheduled for removal after May 2025: https://daniel.haxx.se/blog/tag/securetransport/

Secure Transport is replaced by Network Framework, but as per the blog
post above, there's no foreseeable future of curl supporting it.

With this information, we now explicitly use OpenSSL as the backend for
curl, inline with the default choice for Linux.

This gives us some key benefits:
- A maintained and current TLS library
- TLS 1.0 and 1.1 is disabled by default
- TLS 1.3 is now available
- Modern cipher suites
- Removal of TLS_EMPTY_RENEGOTIATION_INFO_SCSV extension
- Opportunity to support HTTP/3 with nghttp3 and OpenSSL's QUIC support
- More extensions, key exchanges, EC point formats, etc.
2025-02-28 14:28:29 -05:00
Andrew Kaster
71942d53eb LibWebSocket+RequestServer: Add a WebSocketImpl using libcurl
This implementation can be better improved in the future by ripping
out a lot of the manual logic in LibWebSocket and rely on libcurl to
parse our message payloads. But for now, this uses the 'raw mode' of
curl websockets in connect-only mode to allow for somewhat seamless
integration into our event loop.
2025-02-20 15:04:50 -07:00
Lucas CHOLLET
2e3bd988ef Meta: Update libpng to version 1.6.45 2025-02-12 12:03:30 -05:00
Lucas CHOLLET
2760061e7a Meta: Update vcpkg to latest master 2025-02-12 12:03:30 -05:00
Timothy Flynn
6a564376fc Meta+LibUnicode+LibJS: Upgrade to ICU 76.1
This updates our local ICU overlay port to use ICU 76.1. This includes
Unicode 16 and CLDR 46.

Upstream vcpkg is not able to supply versions past 74 yet due to various
dependency issues, but we are able to use this version ourselves. The
overlay port now includes a patch to revert ICU's dependence on autoconf
2.72 for now, as this version is not yet available on all systems.

All of the test changes were cross-referenced with Firefox to ensure
correctness.
2025-01-18 17:56:40 -05:00
Pavel Shliak
6293556935 Meta: Update ffmpeg to 7.1 2025-01-06 12:29:02 +01:00
Pavel Shliak
9e2eb93cc4 Meta: Update curl to 8.11.1 2025-01-06 11:46:49 +01:00
Pavel Shliak
48a4cc9ba3 Meta: Update libjpeg-turbo to 3.1.0 2024-12-28 10:13:13 -08:00
Pavel Shliak
8b523a1786 Meta: Update sqlite to 3.47.2 2024-12-28 10:12:59 -08:00
Timothy Flynn
4d866f22a4 Meta: Pin recently added vcpkg dependencies 2024-12-25 12:00:43 +01:00
devgianlu
002a93a33c LibCrypto: Link with OpenSSL
Add OpenSSL with vcpkg and link with LibCrypto using CMake.

Also added a placeholder GN setup.
2024-12-22 18:53:45 +01:00
Lucas CHOLLET
868052a865 Meta: Update libjxl to version 0.11.1 2024-12-22 11:33:19 +01:00
Lucas CHOLLET
91edc06fad Meta: Update vcpkg to the December 2024 release 2024-12-22 11:33:19 +01:00
Aliaksandr Kalenik
4f219f46ee LibWeb: Add ANGLE
ANGLE is going to be used for WebGL implementation in upcoming changes.
2024-12-03 23:35:45 +01:00
Bram Borggreve
6de4f75d32 Meta: Update vcpkg to the November 2024 release 2024-11-30 21:17:54 -05:00
PiyushXCoder
ec425702a4 Build: Fix libpxbackend dependency mismatch
libpxbackend was not being installed from vcpkg which lead to use of
libpxbackend on the system causing library mismatch in rolling
distros(ie arch linux)

a
2024-11-29 09:50:46 -05:00
stasoid
d224d1f22c LibCore: Fix pthread-related errors on Windows
Fixes compilation error in Notifier.h and
link errors in ThreadEventQueue.cpp
2024-11-29 10:50:00 +01:00
stasoid
3f7affa825 LibCore/System: Add mmap, munmap for Windows 2024-11-26 10:00:11 +01:00
Andrew Kaster
eda7f03994 Meta: Add ffmpeg to vcpkg dependencies
Now that we are using shared libraries, it is possible to add
into our vcpkg dependencies without worrying about LGPL
2024-11-08 11:10:31 -07:00
Andrew Kaster
eaafaa53ef Meta: Explicitly list required features for harfbuzz and skia 2024-11-08 11:10:31 -07:00
Andrew Kaster
064e85a373 Meta: Bump simdutf to version 5.6.0
With luck, this will blast the old vcpkg cache for simdutf in
github actions and allow us to move forward with the new dynamic
linking support.
2024-11-06 10:38:57 -07:00
Timothy Flynn
35639ebc77 Meta: Update libpng to version 1.6.43#3
This is a fix to the vcpkg package itself to fix some exported symbols.
2024-11-06 10:38:57 -07:00
Timothy Flynn
3d200296e3 Meta: Update vcpkg to the October 2024 release 2024-11-06 10:38:57 -07:00
stasoid
16ab3c5f9d LibCore: Port DirIterator to Windows using vcpkg dirent.h 2024-11-05 10:42:44 -07:00
pheonixfirewingz
83bfba79b6 Meta: Add windows options to vcpkg 2024-10-10 21:48:41 -06:00
ChaseKnowlden
f4648f7551 Meta: Update vcpkg to fix build error 2024-10-04 12:00:48 -06:00
Lucas CHOLLET
2eb2d96e78 Meta: Update libjxl to version 0.11.0 2024-09-20 08:15:21 +02:00
Timothy Flynn
d19b31529f AK+Meta: Update simdutf to version 5.5.0
Contains many fixes found upstream by fuzzers. Also includes fixes for
CPU-specific inconsistencies with null inputs.
2024-09-19 15:48:57 -04:00
Timothy Flynn
ee060ed206 Meta: Update sqlite3 to version 3.46.1 2024-09-19 15:48:57 -04:00
Timothy Flynn
7d97fe91b3 Meta: Update curl to version 8.10.1
Contains a fix for CVE-2024-8096.
2024-09-19 15:48:57 -04:00
Aliaksandr Kalenik
15c47dc623 Meta+LibWeb: Update Skia to version 129 2024-09-19 14:07:16 -04:00
Aliaksandr Kalenik
ea4a6c347f Meta: Update vcpkg to the September 2024 build 2024-09-19 14:07:16 -04:00
Andreas Kling
e483bb70f0 RequestServer: Use libcurl for HTTP and HTTPS downloads
This replaces the use of our home-grown implementations inherited
from SerenityOS.
2024-09-19 07:37:46 +02:00
Timothy Flynn
60252eca2e Meta: Update simdutf to version 5.3.4 2024-08-30 15:08:25 -04:00
Timothy Flynn
aa0e5873d1 Meta: Update vcpkg to the August 2024 release 2024-08-30 15:08:25 -04:00
Andreas Kling
dd1b8de671 Ladybird+LibWeb+LibGfx: Add option to force use of fontconfig
This allows us to get identical metrics on macOS and Linux. Without
this, Skia will use CoreText on macOS and give us slightly different
text metrics. That causes layout tests to be slightly different on
different platforms, which is a huge headache. So let's not do that.

You can now launch Ladybird and headless-browser with --force-fontconfig
to load fonts through fontconfig. Tests run in this mode by default.
2024-08-20 09:30:05 +02:00
BenJilks
0d63269cb7 LibGfx+LibWeb: Use harfbuzz for text shaping
This replaces glyph positioning system with harfbuzz's shaping
algorithm. Adding support for bidirectional encoded text.
2024-08-16 22:28:34 +02:00
Lucas CHOLLET
1039561280 LibGfx: Use libjxl to decode JPEG XL images
It currently doesn't support animated image.

Note that Gfx::Bitmap has no support for get_pixel when the format is
RGBA8888. This is why it has been removed from the tests.
2024-07-22 09:15:16 +02:00
doctortheemh
0140e5e9cc LibGfx: Decode WebP images with libwebp 2024-07-17 10:04:25 -06:00
Timothy Flynn
bfc9dc447f AK+LibWeb: Replace our home-grown base64 encoder/decoders with simdutf
We currently have 2 base64 coders: one in AK, another in LibWeb for a
"forgiving" implementation. ECMA-262 has an upcoming proposal which will
require a third implementation.

Instead, let's use the base64 implementation that is used by Node.js and
recommended by the upcoming proposal. It handles forgiving decoding as
well.

Our users of AK's implementation should be fine with the forgiving
implementation. The AK impl originally had naive forgiving behavior, but
that was removed solely for performance reasons.

Using http://mattmahoney.net/dc/enwik8.zip (100MB unzipped) as a test,
performance of our old home-grown implementations vs. the simdutf
implementation (on Linux x64):

                Encode    Decode
AK base64       0.226s    0.169s
LibWeb base64   N/A       1.244s
simdutf         0.161s    0.047s
2024-07-16 10:27:39 +02:00
doctortheemh
4ef76f3198 LibGfx: Decode AVIF images
Use libavif to decode AVIF images in LibGfx.
2024-07-09 08:15:47 +02:00
Ali Mohammad Pur
e0465b8939 Revert "LibTLS+Everywhere: Switch to using WolfSSL"
This reverts commit 8bb610b97a.
Linking wolfSSL seems to cause more legal trouble than it's worth due to
it being GPLv2, so let's undo this for now.
2024-07-06 15:15:34 -06:00
Ali Mohammad Pur
8bb610b97a LibTLS+Everywhere: Switch to using WolfSSL
This commit replaces all TLS connection code with wolfssl.
The certificate parsing code has to remain for now, as wolfssl does not
seem to have any exposed API for that.
2024-07-06 22:15:19 +02:00
Andrew Kaster
bd97442771 Meta: Add vulkan and vulkan-headers to vcpkg dependencies
Also require a specific ICU version to not run into unexpected problems.
2024-07-06 01:44:58 +02:00