%global commit 1201447dfe16e526f1606b89de7f6118e7700184 %global shortcommit %(c=%{commit}; echo ${c:0:7}) # --- Package Metadata --- Name: ladybird Version: 0.1.0 # The release number uses today's date and the specific git commit hash. Release: 7.20250806git%{shortcommit}%{?dist} Summary: A new cross-platform web browser with a custom engine License: BSD-2-Clause URL: https://ladybird.dev/ # The source code is a tarball of the specific git commit from GitHub. Source0: https://github.com/LadybirdBrowser/ladybird/archive/%{commit}/%{name}-%{commit}.tar.gz # --- Build Dependencies --- # These are the packages required to build Ladybird, based on the official documentation for Fedora. BuildRequires: gcc-c++ BuildRequires: cmake >= 3.25 BuildRequires: fast_float-devel BuildRequires: ninja-build BuildRequires: nasm BuildRequires: openssl-devel BuildRequires: pkgconfig BuildRequires: patchelf BuildRequires: git-core BuildRequires: curl BuildRequires: perl-FindBin BuildRequires: perl-IPC-Cmd BuildRequires: perl-lib BuildRequires: qt6-qtbase-devel BuildRequires: qt6-qtwayland-devel BuildRequires: qt6-qtmultimedia-devel BuildRequires: qt6-qttools-devel BuildRequires: libglvnd-devel BuildRequires: libicu-devel BuildRequires: libtommath-devel BuildRequires: simdutf-devel BuildRequires: zlib-ng-compat-static # BuildRequires for GUI elements BuildRequires: liberation-sans-fonts BuildRequires: desktop-file-utils BuildRequires: libappstream-glib # --- Runtime Dependencies --- # These are automatically detected, but it's good practice to list explicit ones. # The fonts are required for the UI to render correctly. Requires: liberation-sans-fonts %description [THIS IS AN ALPHA BUILD! PLEASE DO NOT USE IT!] Ladybird is a cross-platform web browser that is part of the SerenityOS project. It uses its own web engine, LibWeb, and is being developed from scratch. This package provides a recent snapshot from the upstream git repository for testing and personal use. %prep # unpacks the tarball. # '-n' flag specifies the directory name inside the tarball. %autosetup -n ladybird-%{commit} %build # We use the standard %cmake and %cmake_build macros provided by Fedora. # These macros handle setting up the build environment correctly. (hopefully) # The Ladybird build system will automatically fetch and build vcpkg dependencies. %cmake -DENABLE_QT=ON %cmake_build %install # installs the built files into a temporary directory (%{buildroot}). # The %cmake_install macro runs 'ninja install' (or 'make install'). %cmake_install # Validate the installed desktop file appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metinfo/org.ladybird.Ladybird.metinfo.xml %files # This section lists all the files that will be included in the final RPM package. %license LICENSE %doc README.md %{_bindir}/Ladybird %{_datadir}/ladybird/ %{_datadir}/applications/org.ladybird.Ladybird.desktop %{_datadir}/icons/hicolor/ %{_datadir}/metinfo/org.ladybird.Ladybird.metinfo.xml %changelog * Wed Aug 06 2025 FurqanHun - 0.1.0-7.20250806git1201447 - Add anohter fuuu missing dependency: libicu-devel - Pls work im losing braincells