-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Package all of Xorg/X11/XCB #1740
Conversation
By the way, I remember @hartzell expressed interest in packaging X11/Xorg in #1368. It looks like @alfredo-gimenez is the only one who's ever touched the Mesa package before. If he has any advice or opinions it would certainly be welcome. |
@adamjstewart: this is awesome! |
@adamjstewart: I believe mesa was in there to support OpenGL in MemAxes. I am not an expert on how OpenGL stuff should be packaged but I think you should feel free to hack on that. As I remember it was a fairly nasty dependency |
83bab3f
to
6545c43
Compare
Current problem I'm running into: Mesa claims that it depends on Xorg server, but Intended solution: I'm going to assume that Mesa doesn't actually need the entire Xorg server, just various X11/Xorg libraries. Then I can allow |
65a0923
to
d6d556e
Compare
@adamjstewart -- This is great. I haven't had a chance to dig into it, but will try to find time. I ended up just using system libraries back when I was wondering about it and haven't had a reason to go any further. The only resource I had in mind was looking at how Linuxbrew does it. |
@hartzell That Linuxbrew repo looks very useful, although I already have way more packages than it does. If you see any inconsistencies between their packages and mine let me know. |
d6d556e
to
485238f
Compare
New hurdle. The Mesa build script crashes with the error message:
Apparently libudev is now part of systemd, but when I install that with dnf the build script still doesn't pick it up. I was going to try adding packages for systemd or libudev, but they have a ton of dependencies that aren't a part of Xorg. At this point, I think I'm going to give up on Mesa. |
37659b6
to
db9a156
Compare
@tgamblin At this point, I've added a package for everything except the drivers. I think those are hardware specific, making it difficult to manage with Spack. So far I haven't seen anything that depends on them, except for maybe xorg-server and mesa. Since there are like 60-70 of them, I don't really want to package them unless someone specifically requests them... As for the rest of the packages, I think everything in proto, lib, and xcb should be solid, and that's the important stuff. There were a few apps that are missing dependencies that are outside of the Xorg ecosystem. Xorg-server, mesa, gconf, compiz, and xmlto in particular are missing a lot of dependencies. What do you want me to do with packages like these? Should I leave them in and let someone else work out the details? Should I remove them for the time being? |
@adamjstewart: I think leaving out the drivers makes sense, since Spack is primarily a secondary package manager. If you don't need the OpenGL stuff or Does someone want to test these on OS X? @davydden? @adamjstewart: I haven't looked at the structure of Xorg packges in a while -- are there some roots in the DAG that would be good tests for the whole stack? |
@tgamblin I don't have high hopes for macOS support. I tried building one package and it couldn't install for some reason. A good test for the whole stack would be Let me take one last look through the packages to make sure there aren't any missing dependencies I left in there. Then it should be ready to merge unless someone catches anything else. |
once @adamjstewart removes p.s. at the moment, none of the packages i use for work need x11. |
Alright, I think this one is ready to go. |
45925b0
to
b54f19c
Compare
@adamjstewart: can you rebase? |
I wasn't sure which deptype was appropriate at first since none of the packages are actually linked together. I initially chose the build deptype for this reason. However, the font packages don't install into their own prefix. They install into font-config. If font-config is a build dependency, that means you can uninstall it without uninstalling the font packages, which wouldn't make sense since they install into font-config. So I switched them back to the default deptype.
b54f19c
to
be84ae8
Compare
@tgamblin Done. |
By the way, once this is merged, we'll be up to 994 packages in Spack! Ever closer to the big 1,000! |
Merged! Thanks @adamjstewart! |
@hartzell: FYI, this is merged now. |
@tgamblin -- Thanks for the heads up! @adamjstewart -- Wow. This is great! Back when I asked about it I was building something (I forget what...) that needed some X bits. I ended up including these CentOS packages in my base build instead:
I just built (Digital Ocean CentOS 7 base image with the prereq's that linuxbrew calls for) them all (their spack names are a bit different...) and everything went without a hitch. Then I built emacs (defaults to X support), again w/out a hitch. Then I did Wonderful! |
@hartzell Glad to hear it! |
I'm trying to install a newer version of Mesa, but there's a lot of missing Xorg dependencies needed for DRI and hardware acceleration.
I decided to take a swing at packaging all of Xorg/X11/XCB, or at least the important parts. Everything can be found at https://www.x.org/archive/individual/. Here is my progress so far: