-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add ladybird.rb
formula
#40
base: main
Are you sure you want to change the base?
Conversation
fcec496
to
bbaa1e5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As far as I can tell Ladybird doesn't provide any precompiled builds yet so this would have to be a formula rather than a cask. Spent a few minutes on it but it looks like it'll be fairly complicated to build.
Worth considering whether it's appropriate for a brew formula at this time LadybirdBrowser/ladybird#25 (comment)
Also seems like you've got some extraneous commits in here.
Please do the following:
- Move it to the formulas folder
- Fix the style issues (tabs instead of spaces, wrong indentation)
- Make it actually build (seemingly will need more dependencies and possibly more build commands. not 100% sure what changes will be required. I messed with it for a while and couldn't get it to build)
- You may want to get rid of the extraneous commits that change
README.md
in unrelated ways
This was a typo, meant to close a different PR. |
|
We'd appreciate any outside help to build Ladybird 🤍 |
For reference, the Nix package contains some build steps. |
df26730
to
b895061
Compare
There's been some progress and got rid of some of the errors when building it. Currently fails with:
Ladybird uses Skia for rendering SVG and 2D canvas. Right now google/skia is not available in homebrew-core, so we might need to package it to build Ladybird. |
6039db7
to
41e5f7c
Compare
Decided to take a different approach using the steps from BuildInstructionsLadybird.md, namely: brew install autoconf autoconf-archive automake ccache cmake ffmpeg nasm ninja pkg-config llvm
CC=$(brew --prefix llvm)/bin/clang CXX=$(brew --prefix llvm)/bin/clang++ ./Meta/ladybird.sh build |
Signed-off-by: risc <[email protected]>
Signed-off-by: risc <[email protected]>
Ladybird seems to be building, but we need to move the resulting |
I installed the current
The directory |
Hey @tostr7191 thx for trying this out! Wasn't advancing with it personally, so I assigned it to @0risc. We'd love any help to push this forward! |
@Neved4 thanks for you words, I am not really knowledgeable about this subject unfortunately. But I did try to run the steps in the formula by hand, and - lo and behold - I get a functioning .app file in the build directory. Upon further inspection, the problem seems to come from the I have changed the formula a bit, an now it builds a functioning .app bundle on my system, I would be grateful if someone could verify it. The main change is ln29-32, which replaces the Formula follows, if it works I can create a proper pull request. class Ladybird < Formula
desc "Truly independent web browser (pre-alpha developer version)"
homepage "https://ladybird.org/"
url "https://github.com/LadybirdBrowser/ladybird/archive/b9e7c6a2f66d83c6af73bcc102c05d3056382c02.tar.gz"
version "0.1.0-b9e7c6a"
sha256 "855a293849805d89c49cc29fd87a6b3e002f68d633f7ce52065e3260046be54b"
license "BSD-2-Clause"
head "https://github.com/LadybirdBrowser/ladybird.git", branch: "master"
depends_on "autoconf" => :build
depends_on "autoconf-archive" => :build
depends_on "automake" => :build
depends_on "ccache" => :build
depends_on "cmake" => :build
depends_on "ffmpeg" => :build
depends_on "llvm" => :build
depends_on "nasm" => :build
depends_on "ninja" => :build
depends_on "pkg-config" => :build
depends_on :macos
def install
ENV["CC"] = "#{Formula["llvm"].opt_bin}/clang"
ENV["CXX"] = "#{Formula["llvm"].opt_bin}/clang++"
system "git", "init"
system "./Meta/ladybird.sh", "install"
cd "Build/ladybird/bin/Ladybird.app/Contents" do
system "unlink", "./lib"
system "cp", "-r", "../../../lib", "."
end
app_name = "Ladybird.app"
app_path = "./Build/ladybird/bin/#{app_name}"
prefix.install app_path
bin.install_symlink "#{prefix}/#{app_name}/Contents/MacOS/Ladybird" => "ladybird"
#bin.install_symlink "#{prefix}/#{app_name}" => "/Applications/"
end
def caveats
<<~EOS
Ladybird is in pre-alpha stage and is intended for developers only.
EOS
end
end |
Co-authored-by: tostr7191
@tostr7191 Woa thx a lot 🚀 LGTM! Added you as a Co-Author in the commit! Also changed those |
@tostr7191 Apparently some runners are failing, lmk if u can take a look: step:7:55 |
Using vcpkg inside a brew formula is strange. I would expect that upstream would only accept a formula if you use other homebrew packages to obtain the dependencies. |
Hey @ADKaster thx I think you're right! Do you have any improvements we could add? Cheers |
229bbc0
to
dc0a1de
Compare
Any PRs to build this welcome!