-
Notifications
You must be signed in to change notification settings - Fork 20
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
Can't Use Zig for PPA Build #9
Comments
I can't currently put this binary package in a PPA because the PPA server builds from source itself. That's a problem because the PPA build server is missing zig. We can work around this with a little "hack". Install zig to /opt an symlink to /usr/local/bin as part of the "configure" step. Fixes #9
I can't currently put this binary package in a PPA because the PPA server builds from source itself. That's a problem because the PPA build server is missing zig. We can work around this with a little "hack". Install zig to /opt an symlink to /usr/local/bin as part of the "configure" step. Fixes #9
I can't currently put this binary package in a PPA because the PPA server builds from source itself. That's a problem because the PPA build server is missing zig. We can work around this with a little "hack". Install zig to /opt an symlink to /usr/local/bin as part of the "configure" step. Fixes #9
I can't currently put this binary package in a PPA because the PPA server builds from source itself. That's a problem because the PPA build server is missing zig. We can work around this with a little "hack". Install zig to /opt an symlink to /usr/local/bin as part of the "configure" step. Fixes #9
I can't currently put this binary package in a PPA because the PPA server builds from source itself. That's a problem because the PPA build server is missing zig. We can work around this with a little "hack". Install zig to /opt an symlink to /usr/local/bin as part of the "configure" step. Fixes #9
I can't currently put this binary package in a PPA because the PPA server builds from source itself. That's a problem because the PPA build server is missing zig. We can work around this with a little "hack". Install zig to /opt an symlink to /usr/local/bin as part of the "configure" step. Fixes #9
I can't currently put this binary package in a PPA because the PPA server builds from source itself. That's a problem because the PPA build server is missing zig. We can work around this with a little "hack". Install zig to /opt an symlink to /usr/local/bin as part of the "configure" step. Fixes #9
I tried to "hack" around this by installing zig in the configure step (#11). But it looks like the PPA build servers prevent that by not resolving the domain.
A PPA might not be the best feasible solution here... |
Propose you to look how Fastfetch did it, makes updates from his repo with PAA. Hope you find right ways ;) |
Fastfetch is written in C, not Zig |
I think if you make a .deb out of Zig and put it in your PPA itself you'd be able to include it as a build dependency of ghostty |
Any resolution on this so we can get a proper PPA up? |
Looks like official builds may be coming as zig is now in debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=995670#183 |
I will have to revisit this, perhaps I will have some time this weekend to take a closer look. The Zig debian build might be a big help. The fundamental roadblock I was running into is that Ubuntu PPAs on Launchpad do the builds themselves and therefore require building from source -- you can't just upload a binary .deb package. Building from source is problematic when the build tool (zig) isn't available. The solution to that problem is to also build the zig package, but that also needs to be built from source. (And I'm hesitant to take on the work of also trying to maintain that zig package.) There are various possible workarounds; at one point I considered trying to set up an apt repo on GitHub using GitHub pages but there are a few problems with that too... It works on a small scale but I wasn't sure if GitHub would be okay with that kind of use at this scale, and many of the tools to set it up work with only a single distribution target or only a single arch. So, in short, my current thinking is that a Launchpad PPA is probably still ideal and might be unblocked if we can figure out a relatively simple way to get a zig package in the same PPA (if not in the official ubuntu packages). |
Yes, but it looks like zig and ghostty will make it into debian unstable soon, and after that it will get into Ubuntu .... Getting the zig package into debian was key to getting the ghostty package also built on debian. Once zig enters Ubuntu, I think you should be able to get recent versions of ghostty built in a ppa easily. |
I think the key to solving this is the 'on launchpad' part. Self-hosting a ppa is... maybe i should say was as it's been awhile... fairly trivial. I used to do it for a custom boxxee build when I was selling htpc's back in the day. I cant speak to recent changes, but at least a short bit of research shows its still fairly straightforward. https://github.com/tagplus5/vscode-ppa is a current (current being 5 months ago) example and https://github.com/assafmo/ppa is even newer, last adding packages 3 months ago. |
Ok here's a ppa with https://launchpad.net/~satadru-umich/+archive/ubuntu/zig This doesn't solve the larger problem though of launchpad build servers not allowing external connections during the build, which means that the entire zig build cache needs to be saved in the orig tarball before a build, which is annoying, to say the least. |
Ok, I got PPA builds working ... https://launchpad.net/~satadru-umich/+archive/ubuntu/ghostty Feel free to take what you need from this. |
it will be with auto updates if "apt update && apt upgrade"? |
Installing zig to /opt works fine for building here on GitHub Actions, but to use a PPA we need to upload a source package and the build happens on Ubuntu's servers. So this doesn't affect our ability to produce .deb, but does make it hard to get a PPA. It's producing the following output, failing on missing zig:
The text was updated successfully, but these errors were encountered: