Commit graph

61 commits

Author SHA1 Message Date
circl 0af92e05d8 Documentation: Clean up some parts of the build instructions 2024-07-28 20:45:25 -06:00
sideshowbarker 8affa377fb Documentation: Add guidance on “can’t find Ninja” error message 2024-07-25 20:57:32 +01:00
Timothy Flynn b659b62dec Documentation: Add pkg-config to Debian dependencies 2024-07-23 08:59:05 +02:00
Timothy Flynn 61da7d2213 Documentation: Recommend installing PulseAudio on Debian by default 2024-07-23 08:59:05 +02:00
Timothy Flynn 5b38057802 CI+Documentation: Alphabetically sort system dependencies 2024-07-23 08:59:05 +02:00
Alec Murphy 20e2cc12a8 Documentation: Add missing Fedora dependency
This PR adds the dependency `zlib-ng-compat-static` which is required
for building on Fedora.
2024-07-18 07:36:38 +01:00
sideshowbarker 570814a31e Meta: Make all pre-commit CI scripts work with Bash 3.2
This change makes all the pre-commit CI scripts runnable under Bash 3.2,
by replacing “mapfile” invocations in them code that first explicitly
creates an array, and then uses a while loop to populate the array.

Otherwise, without this change, the scripts all fail to run under Bash
3.2 — due to lack of support for “mapfile”.

Fixes https://github.com/LadybirdBrowser/ladybird/issues/283

This also drops bash from the list of homebrew dependencies in the build
instructions — because with this change, homebrew bash (v4) is no longer
needed; things will now work with the Apple-provided bash (v3.2)
2024-07-16 08:56:22 -06:00
Andrew Kaster 31eec0a145 Documentation+Toolchain: Don't try to build CMake from source
This build step is a bit excessive. Let's require people to have an
up-to-date CMake from their system package manager instead.
2024-07-15 10:15:40 +02:00
Andrew Kaster 53f4e98818 Documentation: Re-organize and update build instructions
Add CMake 3.25 download instructions from apt.kitware.org, and add
option to grab gcc-13 from ubuntu-toolchain-r/test PPA.
2024-07-15 10:15:40 +02:00
sideshowbarker 6d097a1aa9 Documentation: Add how-to for building a Debug binary 2024-07-11 11:06:08 -06:00
Jess dba448799d Meta: Docs: Update Nix dev-shell commands 2024-07-10 10:19:43 -06:00
Timothy Flynn 2a36fd2aed Documentation: List nasm as a required package
This is required for libavif.
2024-07-09 20:08:38 -04:00
sideshowbarker 322b088505 Documentation: Add how-to for building with homebrew clang on macOS 2024-07-09 04:41:42 -06:00
Andrew Kaster 22d7aa53fa Meta: Tell vcpkg we don't need to build vulkan-loader
Trying to build VulkanLoader from source is a giant headache of
unnecessary packages. Every modern distro has vulkan packages, let's
depend on those instead of trying to build something for both wayland
and X11.
2024-07-07 09:51:29 -06:00
Jörg Strebel 1140c965cd Documentation: Extend openSUSE Leap build instructions 2024-07-06 15:51:58 -06:00
lalitrn44 eaf2384f1c Documentation: Add new dependencies libx11-dev libxrandr-dev 2024-07-06 14:50:10 -06:00
Dario Castañé be26cc106c Documentation: Update BuildInstructionsLadybird.md for openSUSE
Adding packages that are required to compile without errors
2024-07-05 07:15:29 +02:00
mendhak 24651233b0 Documentation: Add missing libssl dependency for Ubuntu 2024-07-04 14:46:28 +02:00
Jason Fairchild afaaa23c70 Documentation: Add automake as dependency on Arch, Fedora and openSUSE 2024-07-03 23:26:04 -06:00
Daeraxa cf64118821 Documentation: Add libavcodec-free-devel for Fedora build 2024-07-03 20:06:13 -06:00
Andrew Kaster d220cf3abd CMake: Add a command for codesigning with the get-task-allow entitlement
This allows developers on macOS to open Ladybird.app in Instruments.

Add some documentation for how to use the command as well. It is enabled
automatically when CMAKE_BUILD_TYPE is not Release or RelWithDebInfo.
2024-07-02 16:57:51 -06:00
lalitrn44 2248ea1ae3 Documentation: Add steps to install clang 2024-07-01 10:15:58 -06:00
Zaggy1024 81001b37ce LibMedia: Use FFmpeg to decode more video formats
VP9 continues to function, but this also allows AV1 to be decoded. With
this commit, H.264 is still non-functional, as the decoder requires
some extra initial data from the track definition in the Matroska file.
2024-06-24 12:41:32 -06:00
ryan gibbons 1a9dbd28e5 Documentation: Add pkg-config to homebrew deps 2024-06-21 11:40:15 -06:00
Alec Murphy 6957b87ac2 Documentation: Add missing required Fedora package
Same as with #117, this package is required for building on Fedora.
2024-06-09 21:05:50 -04:00
Matthew Olsson 37a5fedcd6 Documentation: Add missing required Arch package 2024-06-09 15:55:50 +01:00
Timothy Flynn 221507c567 LibLocale: Install ICU package and link into LibLocale
Rather than removing LibLocale entirely, we will use it as a wrapper
around ICU (which has some C-like interfaces, and uses UTF-16 for its
string types). Using ICU will provide better web compatibility overall,
and will let us implement features we were previously unable to (e.g.
Intl.Collator requires data that is not in the JSON export of the CLDR).
2024-06-09 10:47:28 +02:00
Alexander Rigbo 33cfa8f5a6 Documentation: Add new dependencies for vcpkg 2024-06-07 09:49:29 +02:00
Simon Wanner da8ad13510 Documentation: Add some fonts to required packages
Sometimes, especially on WSL, no fonts are installed, which will fail
`VERIFY(m_default_font)` in Ladybird/FontPlugin.

Note that Liberation Sans does not provide fonts for `cursive` and
`fantasy`, which will fall back to the default, sans-serif, font.

To cover all generic font families Microsoft's "Core fonts for the Web"
are available as `ttf-mscorefonts-installer`, `ttf-ms-fonts`, etc.
2024-06-07 09:42:50 +02:00
Andrew Kaster f234429392 Documentation: Update Build instructions for new and removed features
Removed options, the fact that the CMakePresests.json exists, etc.
2024-06-05 12:23:54 -04:00
Andrew Kaster c6e9f0e7b5 Meta+Documentation: Switch default build dir to Build/Ladybird
Also prefer using the new top-level CMakeLists.txt
2024-06-04 13:44:22 -06:00
Andrew Kaster 9dd24991a8 Documentation: Remove references to serenity.sh and its build configs
Build/lagom only now.
2024-06-03 10:53:53 +02:00
Andrew Kaster 6d3a54e4a8 Meta: Update Documentation and CI for repo move 2024-06-03 10:53:53 +02:00
Timothy Flynn b4af851c74 Meta: Update gcc version requirement to 13+
The project can no longer be compiled with gcc-12.
2024-05-17 15:40:07 -06:00
Andreas Kling 76df5ae030 Meta: Update Clang version requirement to 17+ 2024-05-10 19:53:15 +02:00
Andrew Kaster 77e890b15e Meta+Documentation+Ports: Move from C++20 to C++23
Now that oss-fuzz is on a clang commit > the 17.x release candidates,
we can start looking at some shiny new features to enable.
2024-05-06 11:46:28 -06:00
Andrew Kaster e5415f6d86 Documentation: Add more specific instructions on how to use the GN build 2024-04-08 18:49:41 -06:00
RGBCube 720feaa658 nix: Clean up files, use good practices 2024-03-25 14:19:34 -06:00
Andrew Kaster c83e50af0b Documentation: Update for the removal of SERENITY_SOURCE_DIR requirement 2024-02-26 13:16:27 -07:00
networkException b95e7772e7 Documentation: Improve nix related commands
This patch fixes `nix develop` commands not using proper paths, uses
the serenity root directory as an assumption for all commands and
adds variants of nix commands to use a custom entry point, for example
a shell.
2023-12-04 08:03:29 +00:00
Timothy Flynn 08572d45b8 Documentation: Change macOS Ladybird command to launch in the foreground
Also add flags to direct stdout/stderr to the terminal, and show how to
pass arguments to the browser.
2023-11-17 19:14:53 +01:00
Timothy Flynn bbdd624d50 Ladybird: Do not require Qt6 Multimedia if PulseAudio is available
If PulseAudio is available, the Qt6 audio plugin will never be used. So
let's remove it from the build.

Note that on macOS, the Qt6 audio plugin will be used if the Qt chrome
is enabled. Otherwise, Audio Unit will be used for the AppKit chrome.
2023-11-04 08:36:34 -04:00
Andrew Kaster 4dbb73b360 Meta+Documentation+Ladybird: Update places that use ladybird filename
Fallout from 01feae24b2

These places referred to the filename "ladybird" directly, but we
changed the OUTPUT_NAME of ladybird to "Ladybird".
2023-10-27 07:11:35 +02:00
Timothy Flynn 1682e46df9 Ladybird+Meta: Make the AppKit chrome the default on macOS
The Qt chrome is still available and may be enabled with CMake.
2023-10-26 11:00:56 +02:00
nipos 2c9bf5b935 Documentation: Add Ladybird build instructions for Haiku 2023-09-17 13:38:12 -06:00
Andrew Kaster 78ebeb6a5a Ladybird/Android: Move gradle files to Ladybird/Android directory
And add documentation for how to use the thing
2023-09-15 14:18:52 -06:00
Ali Caglayan 0347d04289 Ladybird: Add ladybird.nix to nix flake in Toolchain/
Add another dev shell to `Toolchain/flake.nix` called `ladybird.nix`
that pulls in the dependencies for building Ladybird.

Also update the documentation to mention building with a flake.
2023-09-09 11:22:00 -06:00
falkdavid 4a83771a75 Documentation: Fix ladybird executable path 2023-09-06 21:09:13 +02:00
Andrew Kaster 3216cc34a6 Documentation: Remove outdated Android build docs
We'll add new docs once the new build has been tested by enough folks
:^)
2023-09-03 11:38:51 +02:00
Timothy Flynn 5d7e73adfe Meta: Add and document convenient method to build non-Qt Ladybird chrome
This lets us switch between the AppKit and Qt chromes more easily.
2023-08-27 19:02:36 -04:00