Skip to content

Commit 0271fa8

Browse files
committed
UI: Remove the Gtk port
This was added before the recent efforts to make the Qt port look good everywhere, and has since been entirely unmaintained. Let's remove it for now. In the future, if we decide we want a Gtk port again, let's start with safe-language bindings from the get-go.
1 parent 9454b86 commit 0271fa8

53 files changed

Lines changed: 60 additions & 5371 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.devcontainer/features/ladybird/install-fedora.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ set -e
55
dnf install -y git gh
66

77
# Ladybird dev dependencies
8-
dnf install -y autoconf-archive automake bison ccache cmake curl google-noto-sans-mono-fonts liberation-sans-fonts \
8+
dnf install -y autoconf-archive automake ccache cmake curl google-noto-sans-mono-fonts liberation-sans-fonts \
99
libdrm-devel libglvnd-devel libtool nasm ncurses-devel ninja-build patchelf perl-FindBin perl-IPC-Cmd perl-lib perl-Time-Piece qt6-qtbase-devel \
1010
qt6-qttools-devel qt6-qtwayland-devel tar unzip zip zlib-ng-compat-static

.devcontainer/features/ladybird/install-ubuntu.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ install_cmake() {
3131
### Install packages
3232

3333
apt update -y
34-
apt install -y autoconf autoconf-archive automake bison build-essential ccache curl fonts-liberation2 git glslang-tools libdrm-dev libgl1-mesa-dev libncurses-dev libtool libxkbcommon-dev lsb-release nasm ninja-build pkg-config python3 qt6-base-dev qt6-tools-dev-tools qt6-wayland shellcheck tar unzip zip
34+
apt install -y autoconf autoconf-archive automake build-essential ccache curl fonts-liberation2 git glslang-tools libdrm-dev libgl1-mesa-dev libncurses-dev libtool lsb-release nasm ninja-build pkg-config python3 qt6-base-dev qt6-tools-dev-tools qt6-wayland shellcheck tar unzip zip
3535

3636
install_cmake
3737

.github/workflows/lagom-template.yml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,6 @@ jobs:
9292
echo "host_cxx=$(xcrun --find clang++)" >> "$GITHUB_OUTPUT"
9393
fi
9494
95-
if ${{ inputs.os_name == 'Linux' && inputs.build_preset == 'Sanitizer' }} ; then
96-
CMAKE_OPTIONS="$CMAKE_OPTIONS -DLADYBIRD_GUI_FRAMEWORK=Gtk"
97-
fi
98-
9995
if ${{ inputs.clang_plugins }} ; then
10096
echo "ccache_key=${{ inputs.build_preset }}-CLANG_PLUGINS" >> "$GITHUB_OUTPUT"
10197
CMAKE_OPTIONS="$CMAKE_OPTIONS -DENABLE_CLANG_PLUGINS=ON"
@@ -176,7 +172,7 @@ jobs:
176172
cmake --install . --strip --prefix "${GITHUB_WORKSPACE}/Install"
177173
178174
- name: Build with Qt
179-
if: ${{ (inputs.os_name == 'macOS' || inputs.os_name == 'Linux') && inputs.build_preset == 'Sanitizer' }}
175+
if: ${{ inputs.os_name == 'macOS' && inputs.build_preset == 'Sanitizer' }}
180176
working-directory: ${{ github.workspace }}
181177
run: |
182178
cmake --preset ${{ inputs.build_preset }} -B Build -DLADYBIRD_GUI_FRAMEWORK=Qt

CMakeLists.txt

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,26 +14,20 @@ if (APPLE AND NOT CMAKE_OSX_DEPLOYMENT_TARGET)
1414
set(CMAKE_OSX_DEPLOYMENT_TARGET 14.0)
1515
endif()
1616

17-
include("Meta/CMake/gui_framework.cmake")
18-
1917
# Pass additional information to vcpkg if we are using it.
2018
if (CMAKE_TOOLCHAIN_FILE MATCHES "vcpkg.cmake$")
2119
set(CMAKE_PROJECT_ladybird_INCLUDE_BEFORE "Meta/CMake/vcpkg/generate_vcpkg_toolchain_variables.cmake")
22-
if (LADYBIRD_GUI_FRAMEWORK STREQUAL "Qt" OR LADYBIRD_GUI_FRAMEWORK STREQUAL "Gtk")
23-
string(TOLOWER "${LADYBIRD_GUI_FRAMEWORK}" framework_feature)
24-
set(VCPKG_MANIFEST_FEATURES "${framework_feature}" CACHE STRING "" FORCE)
25-
endif()
2620
endif()
2721

2822
if (APPLE AND NOT CMAKE_OSX_SYSROOT)
2923
set(CMAKE_OSX_SYSROOT macosx)
3024
endif()
3125

3226
project(ladybird
33-
VERSION 0.1.0
34-
LANGUAGES C CXX
35-
DESCRIPTION "Ladybird Web Browser"
36-
HOMEPAGE_URL "https://ladybird.org"
27+
VERSION 0.1.0
28+
LANGUAGES C CXX
29+
DESCRIPTION "Ladybird Web Browser"
30+
HOMEPAGE_URL "https://ladybird.org"
3731
)
3832

3933
if (ANDROID OR IOS)

Documentation/BuildInstructionsLadybird.md

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,6 @@ If you want to run other applications, such as the JS REPL or the WebAssembly RE
255255
Ladybird will be built with one of the following browser frontends, depending on the platform:
256256
* [AppKit](https://developer.apple.com/documentation/appkit?language=objc) - The native UI on macOS.
257257
* [Qt](https://doc.qt.io/qt-6/) - The UI used on all other platforms.
258-
* [GTK 4](https://docs.gtk.org/gtk4/) - An alternative UI on Linux (experimental).
259258
* [Android UI](https://developer.android.com/develop/ui) - The native UI on Android.
260259

261260
You can pick the UI using the `LADYBIRD_GUI_FRAMEWORK` option, or the `--gui` argument to ladybird.py.
@@ -268,26 +267,6 @@ cmake --preset Release -DLADYBIRD_GUI_FRAMEWORK=Qt
268267
./Meta/ladybird.py run --gui=Qt
269268
```
270269

271-
#### Additional prerequisites for the GTK UI
272-
273-
Building with `LADYBIRD_GUI_FRAMEWORK=Gtk` requires additional system packages, as some vcpkg
274-
dependencies (e.g. gettext) need to be rebuilt from source:
275-
276-
**Debian/Ubuntu:**
277-
```bash
278-
sudo apt install bison libxkbcommon-dev
279-
```
280-
281-
**Arch Linux/Manjaro:**
282-
```bash
283-
sudo pacman -S bison
284-
```
285-
286-
**Fedora:**
287-
```bash
288-
sudo dnf install bison
289-
```
290-
291270
### Build error messages you may encounter
292271

293272
The section lists out some particular error messages you may run into, and explains how to deal with them.

Documentation/GtkFrontend.md

Lines changed: 0 additions & 105 deletions
This file was deleted.

Meta/CMake/vcpkg/generate_vcpkg_toolchain_variables.cmake

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ if (CMAKE_OSX_DEPLOYMENT_TARGET)
2424
string(APPEND EXTRA_VCPKG_VARIABLES "set(VCPKG_OSX_DEPLOYMENT_TARGET ${CMAKE_OSX_DEPLOYMENT_TARGET})\n")
2525
endif()
2626

27+
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/build-vcpkg-variables.cmake" "${EXTRA_VCPKG_VARIABLES}")
28+
2729
# Munge the VCPKG_TRIPLET to correspond to the right one for our presets
2830
# Just make sure not to override if the developer is trying to cross-compile
2931
# or the developer set it manually, or if this is not the first run of CMake
@@ -86,9 +88,3 @@ if (NOT DEFINED CACHE{VCPKG_TARGET_TRIPLET} AND NOT DEFINED CACHE{VCPKG_HOST_TRI
8688
set(VCPKG_TARGET_TRIPLET ${full_triplet} CACHE STRING "")
8789
set(VCPKG_HOST_TRIPLET ${full_triplet} CACHE STRING "")
8890
endif()
89-
90-
if (VCPKG_TARGET_TRIPLET MATCHES ".*linux.*" AND "gtk" IN_LIST VCPKG_MANIFEST_FEATURES)
91-
string(APPEND EXTRA_VCPKG_VARIABLES "set(X_VCPKG_FORCE_VCPKG_WAYLAND_LIBRARIES ON)\n")
92-
endif()
93-
94-
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/build-vcpkg-variables.cmake" "${EXTRA_VCPKG_VARIABLES}")

Meta/CMake/vcpkg/overlay-ports/gtk/0001-build.patch

Lines changed: 0 additions & 13 deletions
This file was deleted.

Meta/CMake/vcpkg/overlay-ports/gtk/portfile.cmake

Lines changed: 0 additions & 109 deletions
This file was deleted.

0 commit comments

Comments
 (0)