Skip to content

haskellPackages: Enable darwin builds for some packages depending on mesa#349186

Merged
Aleksanaa merged 1 commit intoNixOS:haskell-updatesfrom
yuanw:unmark-monomer-darwin-bad-platform
Oct 21, 2024
Merged

haskellPackages: Enable darwin builds for some packages depending on mesa#349186
Aleksanaa merged 1 commit intoNixOS:haskell-updatesfrom
yuanw:unmark-monomer-darwin-bad-platform

Conversation

@yuanw
Copy link
Contributor

@yuanw yuanw commented Oct 17, 2024

I think haskell packages nanovg and monomer were marked with badPlatforms with darwin were due to mesa cannot build on darwin. #272166 fix mesa build on darwin. I tested build a monomer app on aarch64-darwin, the app renders correctly afaict.
drop mesa related darwin badPlatforms

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@github-actions github-actions bot added the 6.topic: haskell General-purpose, statically typed, purely functional programming language label Oct 17, 2024
@yuanw yuanw marked this pull request as ready for review October 17, 2024 03:00
@ofborg ofborg bot added the 6.topic: darwin Running or building packages on Darwin label Oct 17, 2024
@emilazy
Copy link
Member

emilazy commented Oct 17, 2024

Are you sure these should be depending on Mesa on macOS? Most likely they just want libGL. IIRC cabal2nix might fail to use the cross‐platform alias for some dependencies like libglut.

@emilazy
Copy link
Member

emilazy commented Oct 17, 2024

OK, I had a look and the ones that just depend on libGL should probably be fine, but the ones that pull in both libGL and libX11 are wrong – they’ll need libGLX (which is indeed Mesa on Darwin). I suspect, however, that libX11 should probably be conditional on platform and that these packages can actually work with native OpenGL on macOS.

Copy link
Member

@sternenseemann sternenseemann left a comment

Choose a reason for hiding this comment

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

rsi-break can likely also be dropped from the darwin badplatforms list

@yuanw
Copy link
Contributor Author

yuanw commented Oct 17, 2024

OK, I had a look and the ones that just depend on libGL should probably be fine, but the ones that pull in both libGL and libX11 are wrong – they’ll need libGLX (which is indeed Mesa on Darwin). I suspect, however, that libX11 should probably be conditional on platform and that these packages can actually work with native OpenGL on macOS.

@emilazy thank you for review the PR. So is the current change sane? or should i roll back some of changes ?

@emilazy
Copy link
Member

emilazy commented Oct 18, 2024

The packages with just libGL should be good, assuming they build. The cases where both libGL and libX11 are used are highly suspicious. For all of those, it is most likely that either they should not bring in libX11 on Darwin, or that they should bring in libGLX instead of libGL. Unfortunately I don’t know enough about the Haskell package set to say how this could reasonably be achieved.

@yuanw yuanw force-pushed the unmark-monomer-darwin-bad-platform branch from c176652 to fef734f Compare October 18, 2024 16:41
@ofborg ofborg bot added 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. labels Oct 18, 2024
@maralorn
Copy link
Member

maralorn commented Oct 19, 2024

I am sorry, but your commit message still does not adhere to the contributing guidelines. I suggest:

haskellPackages: Enable darwin builds for some packages depending on mesa

Otherwise we are fine and I will merge when that is fixed, thank you!

@yuanw yuanw force-pushed the unmark-monomer-darwin-bad-platform branch from fef734f to 00bf069 Compare October 20, 2024 17:14
@Aleksanaa Aleksanaa changed the title mesa build on darwin now haskellPackages: Enable darwin builds for some packages depending on mesa Oct 21, 2024
@Aleksanaa
Copy link
Member

4 packages built:
haskellPackages.monomer haskellPackages.monomer.doc haskellPackages.nanovg haskellPackages.nanovg.doc

No failures on aarch64-darwin

@Aleksanaa Aleksanaa merged commit 16a2554 into NixOS:haskell-updates Oct 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: darwin Running or building packages on Darwin 6.topic: haskell General-purpose, statically typed, purely functional programming language 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants