-
Notifications
You must be signed in to change notification settings - Fork 70
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
sdl2: Add SDL2_gfx submodule to nxdk/lib/sdl/SDL2_gfx #432
Conversation
If it's a part of NXDK and not just something users can add simply I think it'd be better suited under the XboxDev org instead of your user account. |
I'm convinced this PR got stuck because of what was also discussed in #418 (comment): How to handle ports.
Agreed. However, I also think that niche-libs (such as this one) should be decentralized with only a central index (the wiki currently acts as one) or package-manager. The current system is not sustainable. If nxdk was a more standard-ish GNU toolchain (flags built into nxdk-cc, nxdk-c++, nxdk-ld, nxdk-ar etc., instead of the makefile), then it could be used by various build-systems (such as GNU Make, CMake, etc.). This would solve many issues, as I experienced with my nxdk-cmake attempt (where I was able to port a handful of libs without touching their code-tree at all / without mirroring their build-system + most Xbox specific changes are cleanly upstreamable). nxdk could then focus on implementing low-level drivers, platform-abstraction (SDL2) and missing POSIX or winapi functions for compatibility. That way, any user could just host their own nxdk package (if even necessary) without manually integrating it into the centralized nxdk makefile. The samples could move to an nxdk-docs repository which houses samples for the core functionality + samples for user-ports (to aid with exposure). I'm getting off-topic here (as I usually do), but I feel this needs to be discussed to avoid dangling port PRs without feedback. |
@@ -31,3 +31,6 @@ | |||
[submodule "lib/sdl/SDL_image"] | |||
path = lib/sdl/SDL2_image | |||
url = https://github.com/SDL-mirror/SDL_image.git | |||
[submodule "lib/sdl/SDL2_gfx"] | |||
path = lib/sdl/SDL2_gfx |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure if this belongs into lib/sdl.
This library is not an official SDL project - the other projects in that folder are either official or done by SDL organization members and promoted by SDL.
It's really just a random drawing library that happens to use SDL internally.
@@ -31,3 +31,6 @@ | |||
[submodule "lib/sdl/SDL_image"] | |||
path = lib/sdl/SDL2_image | |||
url = https://github.com/SDL-mirror/SDL_image.git | |||
[submodule "lib/sdl/SDL2_gfx"] | |||
path = lib/sdl/SDL2_gfx | |||
url = https://github.com/Teufelchen1/libSDL_gfx.git |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if necessary here, but instead of reuploading the files without history, you can use "Import Repository" for https://svn.code.sf.net/p/sdl2gfx/code/trunk
on GitHub to end up with the full SVN history.
Unfortunately this still won't allow to keep the repository synchronized with the SVN counterpart.
There are other solutions and tools to do that though (if necessary).
However, frustratingly, the author did not use tags and there's no commit from the official release date of the source package either. So it looks like they released a version that's not checked or marked in their source-control.
So it's questionable if there's any benefit from the history.
@@ -74,3 +74,30 @@ CLEANRULES += clean-libsdlimage | |||
.PHONY: clean-libsdlimage | |||
clean-libsdlimage: | |||
$(VE)rm -f $(LIBSDLIMAGE_OBJS) $(NXDK_DIR)/lib/libSDL2_image.lib | |||
|
|||
SDL_GFX_DIR = $(NXDK_DIR)/lib/sdl/SDL2_gfx |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SDL2_gfx and SDL_gfx are different projects which do the same thing, but have different dependencies and requirements:
SDL_gfx supports the original SDL1 library using software surfaces, and SDL2_gfx supports SDL2 using rendering functions.
It's realistic to imagine that someone will use some SDL 1.x implementation with nxdk.
In that case they might want to use SDL_gfx instead of SDL2_gfx.
Even if this is unlikely to happen in practice, we should still encourage a clean workspace and avoid such potential problems.
Hence we should ensure that we use distinct variable and filenames.
Yes.
π
(Yes you do, we missed that)
Yes it got discussed on Discord.
|
My latest thoughts on matter of ports is in #418 (comment) I think we should close both of these PRs; but I have a very narrow vision for nxdk, so I'd like to have at least one other maintainer agree with me (by closing those PRs, unmerged). |
The PR author has agreed to closing this on Discord. The library will eventually be provided as a package once we have a package manager. |
Hi πββοΈ
This PR aims to add the SDL2_gfx library to nxdk. There is no up to date git repo of it, so I created my own instead as advised by Thrimbor.
I never added a submodule before, so I would like to get some feedback. Additionally, I'm not sure if the mirror should stay in my GitHub profile, but could be moved to XboxDev instead. But thats up for debate.
Thanks for your patience.