Linuxbrew-core: Replace x11 requirement with xorg dependency

Created on 28 Jan 2018  路  6Comments  路  Source: Homebrew/linuxbrew-core

The x11 (:x11) requirement has always been broken (there are multiple workarounds implemented in multiple formulae for Linux). Also, with 1.5.1, it seems that there are even more problems.

We will replace all the :x11 requirements with hard dependencies to the linuxbrew/xorg/xorg formula. This will make us less dependent on upstream changes around requirements, which are slowly being phased out or refactored.

Here is the list of formulae that need to be fixed first, as these already have a linux bottle and are currently broken:

  • [x] cairo #5816
  • [x] diff-pdf #7732
  • [x] dlib #5832
  • [x] fig2dev #5834
  • [x] fltk #5838
  • [x] freeglut #5835
  • [x] ghostscript #5836
  • [x] gifsicle #5837
  • [x] gnuplot #5839
  • [x] graphicksmagick #5840
  • [ ] graphviz #5841
  • [x] gromacs #5842
  • [ ] gstpluginsgood #5843
  • [ ] gv #5844
  • [x] imagemagick #5845
  • [x] imlib2 #5846
  • [x] jed #5848
  • [x] libtcod #5849
  • [x] libxkbcommon #5850
  • [x] links #5851
  • [ ] mupdf #5852
  • [x] ncview #5853
  • [x] ocaml #5857
  • [x] ode #5858
  • [x] pango #5809
  • [x] pari #5859
  • [x] pike #5860
  • [x] plotutils #5907
  • [x] plplot #5908
  • [x] poppler #5824
  • [x] python #5906
  • [x] python3 #5913
  • [x] qt #6107
  • [x] r #5914
  • [ ] [email protected]
  • [ ] [email protected]
  • [ ] [email protected]
  • [ ] [email protected]
  • [x] sdl #5985
  • [ ] suil #7734
  • [x] swi-prolog #5983
  • [x] tcl-tk #5861
  • [x] tesseract #5909
  • [x] vim #5869
  • [x] [email protected] #5870
  • [x] vtk
  • [x] xclip #5867
  • [x] xdotool #5868

--- others ---

help wanted outdated

Most helpful comment

Agreed. And this is mostly what we have been doing since this issue has been opened.

Most of these are now solved. I will close this, the remaining ones will be handled if we want to build bottles for them.

All 6 comments

With these new depends_on "linuxbrew/xorg/xorg" dependencies, I get a somehow non-helping message:

ocaml: X11 is required to install this formula, either Xorg 1.12.2 or xdpyinfo 1.3.0, or newer. 
X11Requirement unsatisfied!
Error: An unsatisfied requirement failed this build.

Maybe we could recommend the user to install it:

ocaml: X11 is required to install this formula, either Xorg 1.12.2 or xdpyinfo 1.3.0, or newer.
You can install x11 using
    brew install linuxbrew/xorg/xorg

Hi. Thanks for reporting this. Once I am through the whole list here, the error message should be gone. And the installation will then happen automatically.

I've run into a number of problems with the python hard dependency on xorg when I was playing with the homebrew installation running in a WSL instance. It might be less invasive, if python would not depend on xorg explicitly (this dependency should be fulfilled by the tcl-tk package), but hinted the requirement by using the 'with-tk' option when specifying the tcl-tk dependency (otherwise we're ending with a hard dependency on xorg even when python is built without tk support).

Something like this should work reasonably well:
~ruby
depends_on "tcl-tk" => OS.mac? ? :optional : [:recommended, 'with-tk']
~

I'm running linuxbrew on WSL with ubuntu 16.04, and I believe this is going to cause me and others a lot of problems.
I have an X server running in Windows, which xeyes, et al, are able to use. The xorg dependency doesn't pick this up and forces me to install linuxbrew/xorg/xorg, and for others linuxbrew/xorg/mesa, which pulls in _a_lot_ of dependencies I don't need (two copies of systemd anyone?).
I'm actually having trouble installing chezscheme because of this. Whereas allegro, which needs x11 and opengl, builds with just the x11 / mesa dev libraries from apt.
I believe the real dependency is the x11 dev dependencies.

I would recommend not using linuxbrew/xorg/xorg as a dependency -- it is better to depend on its individual components.

Agreed. And this is mostly what we have been doing since this issue has been opened.

Most of these are now solved. I will close this, the remaining ones will be handled if we want to build bottles for them.

Was this page helpful?
0 / 5 - 0 ratings