Skip to content

Lots of build fixes, minor cleanups#6

Open
ethanc8 wants to merge 1 commit into
gnustep:masterfrom
ethanc8:ethanc8-wip
Open

Lots of build fixes, minor cleanups#6
ethanc8 wants to merge 1 commit into
gnustep:masterfrom
ethanc8:ethanc8-wip

Conversation

@ethanc8
Copy link
Copy Markdown

@ethanc8 ethanc8 commented Oct 28, 2025

This lets it build on modern GNU/Linux systems.

@ethanc8 ethanc8 requested a review from ivucica as a code owner October 28, 2025 22:12
Copy link
Copy Markdown
Member

@ivucica ivucica left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for sending this in! I truly do appreciate this being looked at.

I think I would mostly like to understand why we need to add a dependency on an extra library (glew).

I understand it's useful, but it's still just a convenience (and mostly only needed for shaders). If it's strongly improving the experience, we can do that, but should document why and how, and do it in minimal amount of places where required, not across the board.

In short, gl.h is still correct on almost all platforms, so replacing it with glew is not a build fix.

I may have missed a big fix done. Please document in the PR text what build errors you've fixed and on what platforms and configurations (e.g. debian 12 aarch64, error "unable to XYZ") and whether this was fixable in another way (https://packages.debian.org/file:gl.h perhaps). If gl.h and glext.h are really not available except via glew.h, we can see how to best apply these changes.

If there was no big build fix done, maybe just PR and/or commit messages need adjustment?

#import <AppKit/NSApplication.h>
#import <AppKit/NSMenu.h>
#import <GL/gl.h>
#import <GL/glew.h>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But, GLEW is different than base OpenGL headers?

I'd like to learn more about why this additional dependency is being added. Which system is missing gl.h but has glew.h?

#import <GL/gl.h>
#import <GL/glew.h>
#import <GL/glu.h>
#import <GL/glext.h>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should still be a standard header; I have GL/glext.h on my hardware, which machine is this missing on?

(This applies across the board where this change was made)

Comment thread INSTALL.markdown
such as clang. gcc-4.6+ will probably work, too. For requirements of
each individual library as well as installation procedure, refer to their
documentation (or refer to online search engines).
1. Take a look at the README for requirements.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. INSTALL file is correct to list dependencies, if anything README could refer back to INSTALL.
  2. You've added dependency on glew, but have not documented it
  3. You've removed reference to optal-nsfonthacks.patch from README, but not here
  4. It would be better to add gnustep-corebase if it's actively needed (I don't recall if it is)

Comment thread README.markdown

* **Foundation**. You can use GNUstep Base or Apple Cocoa to get Foundation.
* **AppKit**. You can use GNUstep GUI or Apple Cocoa to get AppKit.
* **CoreFoundation**. You can use GNUstep CoreBase or Apple Cocoa to get CoreFoundation.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good improvement, thanks!

Comment thread README.markdown
due to its use of `NSOpenGLContext` -- otherwise it doesn't care about the
UI framework used -- an experimental patch is provided. See
`opal-nsfonthacks.patch`.
* Note (2025) - this seems to be fixed.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good change, does this mean you simply did not apply it and all demo programs (incl those based on bridge) worked?

@ethanc8
Copy link
Copy Markdown
Author

ethanc8 commented Mar 5, 2026

Unfortunately it's been a while since I last tried to build this, and I currently am focusing on a lot of other projects. So I might not be able to improve this PR for a while.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants