Skip to content
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

yabause: Qt4 -> Qt5, disable emu-compatibility.com in About menu #29899

Merged
merged 1 commit into from Oct 7, 2017

Conversation

lukateras
Copy link
Member

Motivation for this change

Yabause 0.9.15 requires OpenGL 3.2 or later, and master branch requires OpenGL 3.3 or later. That's too restrictive. See: Yabause/yabause#349

emu-compatibility.com is now defunct and thus should not be in About menu.

Other minor changes:

  • linkage-rwx-linux-elf.diff -> linkage-rwx-linux-elf.patch
  • Mark some inputs as optional
  • Do not build with Doxygen by default: it does not produce any outputs
  • Do not build with OpenAL by default: SDL2 handles sound when present
  • Do not build with FreeGLUT by default: deprecated at upstream
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • Linux
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@peterhoeg
Copy link
Member

If doxygen, openal and freeglut aren't used, I would say "rip them out" instead of nulling them.

@lukateras
Copy link
Member Author

lukateras commented Sep 30, 2017

One might still want to build the derivation with OpenAL if they don't like SDL handling sound for whatever reason. I'd leave FreeGLUT as well. Since Doxygen presumably isn't used (but still recognized by the build system) I'll drop it from inputs.

@lukateras lukateras force-pushed the yabause/0.9.15 branch 2 times, most recently from e0ff62a to c8b61b3 Compare September 30, 2017 11:59
emu-compatibility.com is now defunct and thus should not be in About menu.

Other minor changes:
* linkage-rwx-linux-elf.diff -> linkage-rwx-linux-elf.patch
* Mark some inputs as optional
* Do not build with Doxygen by default: it does not produce any outputs
* Do not build with OpenAL by default: SDL2 handles sound when present
* Do not build with FreeGLUT by default: deprecated at upstream
@peterhoeg
Copy link
Member

In that case the nicer option is to add a useSDL flag (in the SDL case) and avoid passing the nulls.

@lukateras
Copy link
Member Author

lukateras commented Oct 1, 2017

It's semantically redundant, verbose (asserts, optional, ...), and requires one flag for every optional dependency, which doesn't scale very well.

@peterhoeg
Copy link
Member

I beg to differ. Let's say you use "useSDL" as an example, so you end up with

   buildInputs = [ some package and another ] 
  ++ lib.optionals useSDL [ one or more sdl packages ]
  ++ lib.optional (!useSDL) [ openal ];

That is far cleaner than having to remember which attributes to null for the various combinations.

@lukateras
Copy link
Member Author

lukateras commented Oct 1, 2017

Your example presumes that SDL and OpenAL can't be built at the same time. That isn't true, most emulators that have multiple audio/video backends allow to choose which one to use in preferences, including Yabause.

@peterhoeg
Copy link
Member

Ah, I didn't know you would build it with multiple options - then your way is definitely better than mine.

@Mic92 Mic92 merged commit 3c8d485 into NixOS:master Oct 7, 2017
@lukateras lukateras deleted the yabause/0.9.15 branch December 18, 2017 05:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants