nyxt icon indicating copy to clipboard operation
nyxt copied to clipboard

Provide a homebrew formula for OSX

Open wakatara opened this issue 4 years ago • 64 comments

Few people use macports these days in favour of homebrew.

Would it be possible to have a formula for Next. I do believe it would perhaps increase the community size trying or contributing amongst the applerati.

wakatara avatar Mar 04 '20 03:03 wakatara

Hello! Thank you for your interest in the project. I don't use Homebrew and will be unable to make a formula. I believe one used to exist, but I am not sure. Anyone in the community is welcome to package Next for Homebrew and we could list it in the install options :-)

jmercouris avatar Mar 04 '20 11:03 jmercouris

Just wanted to say I'm in the same boat. I found out about the browser yesterday, went to install it today and there was no bundle(?) and no homebrew so... I gave up rather quickly.

Not that my using the browser is of critical importance to anyone, just giving my experience 😄

ghost avatar Mar 06 '20 09:03 ghost

I found Next browser already installable with Homebrew Cask. Just do:

brew cask install next

svetlyak40wt avatar Mar 20 '20 10:03 svetlyak40wt

I took a shot at making a homebrew formula against master, but hit a wall with WebKitGTK+. I targeted master because there seemed to be fewer dependencies to wrestle with versus the official releases.

All of the other dependencies seem to be available as brew formulae, WebKitGTK+ doesn't seem to be, probably because it's not very well supported for Mac (I believe it requires some patching to get it to work).

It does exist in Macports and has a stable build there: https://ports.macports.org/port/webkit2-gtk/summary and a development port at https://ports.macports.org/port/webkit2-gtk-devel/summary.

I think if we wanted to get a homebrew formula for Nyxt working, it would make sense to try either of:

(1) Try the QT installation route (2) Port the linked webkit2-gtk-devel MacPort into a HomeBrew formula, and use that formula in a Homebrew formula for Nyxt

edit: add correct Macports port

jhhb avatar Aug 11 '20 13:08 jhhb

Thanks for looking into this, this is very helpful! :)

(1) Try the QT installation route

The Qt renderer support is broken at the moment. Hopefully Someone© will find time to work on it soon ;)

(2) Port the linked webkit2-gtk-devel MacPort into a HomeBrew formula, and use that formula in a Homebrew formula for Nyxt

This is probably the right way to go :)

Ambrevar avatar Aug 11 '20 13:08 Ambrevar

Nyxt looks promising. I can't seem to get it installed on Mac OS X. A brew formula would be highly appreciated. Thank you.

outthought avatar Oct 20 '20 16:10 outthought

Probably it is better to publish it AppStore?

svetlyak40wt avatar Oct 20 '20 17:10 svetlyak40wt

Brew is superior to the AppStore.

outthought avatar Oct 20 '20 20:10 outthought

Probably, but I'm not sure that all OSX users are aware of Homebrew. But sure all of them learned how to use AppStore because it is provided out of the box.

svetlyak40wt avatar Oct 20 '20 21:10 svetlyak40wt

Cc @jmercouris

Ambrevar avatar Oct 21 '20 07:10 Ambrevar

Thank you for your interest. The challenge is porting webkitgtk+ to Homebrew from MacPorts. You can take a look at the portfile and the patches if you are interested, the information is all there. The only thing blocking us from releasing a package that users can simply install (think of a "xyz.pkg" style file) is that for some reason when we produce it, external URLs refuse to load. No idea why this is!

jmercouris avatar Oct 21 '20 10:10 jmercouris

When I looked at trying to do this several months ago, the Qt rendering was broken, which blocked trying to setup the homebrew formula using Qt, and made using WebkitGTK+ as the rendering engine the only viable path.

Because of the difficulty I had with webkitGTK and trying to get a working build, before I consider giving it another go I wanted to ask:

(1) Is the Qt rendering still broken? (2) If so, do we know if there's a timeline for unbreaking it? 😄 (3) Irrespective of the status of Qt, is there a long-term plan to support both Qt and WebkitGTK+ ?

jhhb avatar Oct 21 '20 12:10 jhhb

  1. Qt rendering is still broken
  2. Timeline, no not available
  3. Yes, tentatively. I am personally not fully committed to it. I am not opposed to it either.

jmercouris avatar Oct 21 '20 13:10 jmercouris

Probably, but I'm not sure that all OSX users are aware of Homebrew. But sure all of them learned how to use AppStore because it is provided out of the box.

People who does not use Homebrew, probably would never use Nyxt.

junwei-wang avatar Dec 16 '20 12:12 junwei-wang

Any update on this? It would be significantly easier to install with Homebrew... I just tried to install Nyxt using MacPorts and it took me hours to figure out how, and still encountered some error for dependencies. 😢

albert-ying avatar Apr 04 '21 02:04 albert-ying

brew install next This command just succeeded for me. It installs Next.app into /Applications.

outthought avatar Apr 12 '21 11:04 outthought

@outthought It's an old version of this project. The current homebrew formula is at version 1.2.0 while the most up-to-date version is 1.5.0.

babariviere avatar Apr 12 '21 11:04 babariviere

I would also be very interested in a brew formula, just tried it with MacPorts and also hit a wall.. :(

popoiopo avatar Apr 19 '21 09:04 popoiopo

I would love to pipe in, saying how interested I am in this and asking for a brew formula, but that might be annoying, so I won't. :)

gamecubate avatar May 12 '21 16:05 gamecubate

What if you could run it in Docker? would that work?

jmercouris avatar May 12 '21 16:05 jmercouris

It might, but I would prefer not to go that way, i.e., I'm looking for as seamless installation and running experience as possible. I've been spoiled by brew and I wouldn't want to stray far from that. I'll keep a lookout for any changes in your project as I find it very interesting.

gamecubate avatar May 19 '21 13:05 gamecubate

Did somebody one of these Homebrew formulas for WebkitGTK?

  • https://gist.github.com/blmarket/cbc3d08964384eaf1536
  • https://gist.github.com/diorahman/8294828
  • https://github.com/pedromartins/homebrew-webkit
  • https://github.com/jcudit/homebrew-webkitgtk

svetlyak40wt avatar May 21 '21 21:05 svetlyak40wt

I really believe the most promising direction to be here: https://github.com/NixOS/nixpkgs/pull/123298

jmercouris avatar May 21 '21 21:05 jmercouris

Building in Mac as of now feels a bit painfull, I think the best and easiest way to get through this, is by adding this to brew repo, having a lot of problems building atm.

BR00l avatar Jun 13 '21 09:06 BR00l

I'm working on a Nyxt homebrew formula that synthesizes previous attempts. As a first step, I've made a webkitgtk formula that builds cleanly on my 2017 MBP running Big Sur: https://github.com/incidentist/homebrew-nyxt . macOS folks can help by running brew install --build-from-source incidentist/nyxt/webkitgtk, waiting awhile for it to build (it took 85 minutes for me) and letting me know what happens (as well as your hardware/software config).

My level of expertise here is pretty low. I'm mostly blindly synthesizing the Nix package definitions into Homebrew formula. If it looks like I'm missing something obvious, I probably am.

incidentist avatar Jun 13 '21 19:06 incidentist

@incidentist I've tried to run the build, but it failed. Created a separate issue: https://github.com/incidentist/homebrew-nyxt/issues/1

svetlyak40wt avatar Jun 13 '21 23:06 svetlyak40wt

My tap repo at https://github.com/incidentist/homebrew-nyxt now has an initial Nyxt formula as well. See the README there for updated instructions. It's initial in the sense that it builds and runs (!) but it throws some funky warnings, does not respond to most keystrokes, and every website fails with TLS Certificate Error. I am following the Nix discussions here, here and here. Basically the Nix folks are doing a great job of patching things to run on Darwin, and I will try to bring those patches into the homebrew formula until they are available upstream.

incidentist avatar Jun 14 '21 06:06 incidentist

@incidentist Thanks for your effort to create a Nyxt homebrew formula 🙂. I have tried to install Nyxt using your brew formula and it successfully installed! However, few problems I have faced was:

  1. Nyxt was noticably slow compared to other browser I'm currently using (firefox) in startup time and webpage loading
  2. My keyboard doesn't work when I want to type. I used vi and already in insert mode but typing regularly won't show characters typed. However, commands and modifier keys are still working (C-SPC, C-h b, etc). I noticed that if I type with Command key pressed, the characters will show, but this will be a problem because Cmd-c, Cmd-v, Cmd-h is mapped to their functionalities on OS level.

I'd love to help to do some more testing if necessary. Thanks!

My System: MacBook Pro (16-inch, 2019) macOS Big Sur 11.2.2

abrampers avatar Jun 15 '21 04:06 abrampers

@abrampers Thanks for giving it a shot! Yes, it's basically unusable right now because of the issues you mentioned, and the fact that it doesn't work with https sites (did you encounter that?). I am going to try applying some of the patches from this Nix PR and see what happens. Also, it doesn't seem to build at all on earlier versions of macOS. So yeah, still a few things to iron out before it's ready for everyday use.

incidentist avatar Jun 15 '21 04:06 incidentist

@abrampers I've pushed a few changes to the homebrew formula. In particular, the keyboard fix from https://github.com/NixOS/nixpkgs/pull/126101#issuecomment-867818507 has been integrated and works for me.

If you want to try again, please reinstall incidentist/nyxt/webkitgtk and incidentist/nyxt/nyxt. The main thing I'm curious about is: are you able to load any SSL sites? I cannot, and I don't know why. Something in libsoup or glib-networking is not finding my TLS CA certs. I wonder if you have the same problem. I think this new build is still pretty slow, but being able to use the keyboard makes it feel faster :).

(I also tried building 2.1.0 but that gave me a runtime crash I haven't had a chance to look into)

incidentist avatar Jul 01 '21 17:07 incidentist

@incidentist Thanks for keeping up the work on this front. I have reinstalled Nyxt with the updated homebrew formula and here's how it goes:

  1. I can successfully open SSL sites (https://google.com, https://youtube.com)
  2. Keyboard issue is gone. I can type without any noticable issue now
  3. When opening youtube, the video can't play (I'm not sure whether this is homebrew formula issue or not)
  4. Startup time is still slow (about 5-7 secs for me)
  5. Nyxt is still crashing after 2/3 minutes of usage

abrampers avatar Jul 06 '21 04:07 abrampers

I have just installed it as well on Mac and the formula seems to work fine. I will check if I am missing some dependencies for YouTube videos. My Nyxt did not crash after 2/3 minutes (I am on Big Sur). @Ambrevar just a note: also this formula suffers of #1632 , same error. Hopefully fixing that, will fix this as well.

ag91 avatar Aug 08 '21 15:08 ag91

@NightMachinary I think you misread @junwei-wang 's comment in more than one way; he's arguing for a brew formula, not against it, and I don't think he meant to be derogatory, but rather that if any effort were to be spent, it'd be better spent on a brew formula rather than putting Nyxt on the App Store, since the type of users who'd be interested in Nyxt would probably be developers who primarily install stuff via brew (or at least moreso than via the App Store).

Here's another +1 from me for a brew formula of Nyxt.

Reefersleep avatar Sep 24 '21 11:09 Reefersleep

@NightMachinary I think you misread @junwei-wang 's comment in more than one way; he's arguing for a brew formula, not against it, and I don't think he meant to be derogatory, but rather that if any effort were to be spent, it'd be better spent on a brew formula rather than putting Nyxt on the App Store, since the type of users who'd be interested in Nyxt would probably be developers who primarily install stuff via brew (or at least moreso than via the App Store).

Here's another +1 from me for a brew formula of Nyxt.

@junwei-wang He’s right, I am sorry. I misread your comment. I should cultivate a habit to (carefully) reread things that sound controversial.

NightMachinery avatar Sep 24 '21 11:09 NightMachinery

I found Next browser already installable with Homebrew Cask. Just do:

brew cask install next

says its deprecated in cask rb file I presume this browser was once called next and renamed to nyxt?

+1 for getting this working and on homebrew

andrewcrook avatar Jul 08 '22 15:07 andrewcrook

I presume this browser was once called next and renamed to nyxt?

Yes.

Maybe try https://github.com/incidentist/homebrew-nyxt, it may work for you.

Ambrevar avatar Jul 08 '22 15:07 Ambrevar