ladybird/Meta/CMake/flatpak/angle-install.sh
Andrew Kaster 44d2e22b93 CMake: Add a flatpak build for org.ladybird.Ladybird
This build depends on the KDE Flatpak SDK, and builds any missing
dependencies manually as source modules.

The flatpak can be built with the following command:

```sh
flatpak-builder --user --force-clean --install-deps-from=flathub \
    --ccache --repo=Build/repo --install Build/flatpak \
    Meta/CMake/flatpak/org.ladybird.Ladybird.json
```

After building, the flatpak can be run with:

```sh
flatpak run --user --devel org.ladybird.Ladybird
```

If there are issues launching RequestServer, the .pid and .sock files
under $XDG_RUNTIME_DIR may need removed.

```sh
flatpak run --user --command=sh --devel org.ladybird.Ladybird
rm -f $XDG_RUNTIME_DIR/Ladybird.*
```
2025-07-08 11:45:32 -06:00

46 lines
1023 B
Bash
Executable File

#!/usr/bin/env bash
set -e
export PATH=$PWD/depot_tools:$PATH
cd angle
# Headers
pushd include
find . -type f -and -name "*.h" -exec install -D -m644 {} "$FLATPAK_DEST/include/angle/"{} \;
popd
# Libraries
libs=(
libEGL.so
libEGL_vulkan_secondaries.so
libGLESv1_CM.so
libGLESv2.so
libGLESv2_vulkan_secondaries.so
libGLESv2_with_capture.so
libchrome_zlib.so
libfeature_support.so
libthird_party_abseil-cpp_absl.so
)
for lib in "${libs[@]}"; do
install -D -m644 out/"$lib" "$FLATPAK_DEST/lib/$lib"
done
# Pkg-config
mkdir -p "$FLATPAK_DEST/lib/pkgconfig"
cat > "$FLATPAK_DEST/lib/pkgconfig/angle.pc" <<EOF
prefix=${FLATPAK_DEST}
exec_prefix=\${prefix}
libdir=\${prefix}/lib
includedir=\${prefix}/include
Name: angle
Description: A conformant OpenGL ES implementation for Windows, Mac, Linux, iOS and Android.
URL: https://angleproject.org/
Version: 7258
Libs: -L\${libdir} -lEGL -lGLESv2
Cflags: -I\${includedir}/angle
EOF
git reset --hard origin/main