Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 11 additions & 4 deletions pkgs/by-name/ja/jasper/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
, libGL
, libheif
, libjpeg
, darwin
, pkg-config
, stdenv
, enableHEIFCodec ? true
Expand Down Expand Up @@ -35,10 +36,16 @@ stdenv.mkDerivation (finalAttrs: {
libheif
] ++ lib.optionals enableJPGCodec [
libjpeg
] ++ lib.optionals enableOpenGL [
freeglut
libGL
];
] ++ lib.optionals enableOpenGL (
if stdenv.hostPlatform.isDarwin then [
darwin.apple_sdk.frameworks.OpenGL
darwin.apple_sdk.frameworks.GLUT
darwin.apple_sdk.frameworks.Cocoa
] else [
libGL
freeglut
]
);

# Since "build" already exists and is populated, cmake tries to use it,
# throwing uncomprehensible error messages...
Expand Down
3 changes: 1 addition & 2 deletions pkgs/development/libraries/fox/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
, libtiff
, zlib
, bzip2
, libGL
, libGLU
, libXcursor
, libXext
Expand All @@ -24,7 +23,7 @@ stdenv.mkDerivation rec {
sha256 = "sha256-bu+IEqNkv9OAf96dPYre3CP759pjalVIbYyc3QSQW2w=";
};

buildInputs = [ libpng libjpeg libtiff zlib bzip2 libGL libGLU libXcursor libXext libXrandr libXft ]
buildInputs = [ libpng libjpeg libtiff zlib bzip2 libGLU libXcursor libXext libXrandr libXft ]
++ lib.optional stdenv.isDarwin CoreServices;

doCheck = true;
Expand Down
9 changes: 5 additions & 4 deletions pkgs/development/libraries/freeglut/default.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, libICE, libXext, libXi, libXrandr, libXxf86vm, libGL, libGLU, cmake
{ lib, stdenv, fetchurl, libICE, libXext, libXi, libXrandr, libXxf86vm, libGLX, libGLU, cmake, darwin
, testers
}:

Expand All @@ -14,11 +14,12 @@ stdenv.mkDerivation (finalAttrs: {
outputs = [ "out" "dev" ];

nativeBuildInputs = [ cmake ];
buildInputs = [ libICE libXext libXi libXrandr libXxf86vm libGL libGLU ];
buildInputs = [ libICE libXext libXi libXrandr libXxf86vm libGLU ]
++ lib.optional stdenv.isDarwin [ darwin.apple_sdk.frameworks.OpenGL ];

cmakeFlags = lib.optionals stdenv.isDarwin [
"-DOPENGL_INCLUDE_DIR=${libGL}/include"
"-DOPENGL_gl_LIBRARY:FILEPATH=${libGL}/lib/libGL.dylib"
"-DOPENGL_INCLUDE_DIR=${libGLX.dev}/include"
"-DOPENGL_gl_LIBRARY:FILEPATH=${libGLX}/lib/libGL.dylib"
"-DOPENGL_glu_LIBRARY:FILEPATH=${libGLU}/lib/libGLU.dylib"
"-DFREEGLUT_BUILD_DEMOS:BOOL=OFF"
"-DFREEGLUT_BUILD_STATIC:BOOL=OFF"
Expand Down
4 changes: 2 additions & 2 deletions pkgs/development/libraries/mesa-glu/default.nix
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{ lib, stdenv, fetchurl
, meson, ninja
, pkg-config, libGL, ApplicationServices
, pkg-config, mesa, ApplicationServices
, testers
, gitUpdater
}:
Expand All @@ -17,7 +17,7 @@ stdenv.mkDerivation (finalAttrs: {
};

nativeBuildInputs = [ meson ninja pkg-config ];
propagatedBuildInputs = [ libGL ]
propagatedBuildInputs = [ mesa ]
++ lib.optional stdenv.isDarwin ApplicationServices;

outputs = [ "out" "dev" ];
Expand Down
58 changes: 22 additions & 36 deletions pkgs/development/libraries/mesa/stubs.nix
Original file line number Diff line number Diff line change
@@ -1,50 +1,37 @@
{ stdenv
, lib
, libglvnd
, mesa
, OpenGL
, testers
}:

stdenv.mkDerivation (finalAttrs: {
pname = "libGL";
inherit (if stdenv.hostPlatform.isDarwin then mesa else libglvnd) version;
version = if stdenv.hostPlatform.isDarwin then "4.1" else libglvnd.version;
outputs = [ "out" "dev" ];

# On macOS, libglvnd is not supported, so we just use what mesa
# build. We need to also include OpenGL.framework, and some
# extra tricks to go along with. We add mesa’s libGLX to support
# the X extensions to OpenGL.
buildCommand = if stdenv.hostPlatform.isDarwin then ''
mkdir -p $out/nix-support $dev
echo ${OpenGL} >> $out/nix-support/propagated-build-inputs
ln -s ${mesa.out}/lib $out/lib
propagatedBuildInputs = lib.optionals stdenv.isDarwin [ OpenGL ];

# On macOS, provide the OpenGL framework as well as a pkg-config file for OpenGL.framework.
# Packages that still need GL_X_ specifically can pull in libGLX instead, which will be
# Mesa, as libglvnd does not work on macOS.
buildCommand = if stdenv.hostPlatform.isDarwin then ''
mkdir -p $dev/lib/pkgconfig $dev/nix-support

echo "$out" > $dev/nix-support/propagated-build-inputs
ln -s ${mesa.dev}/include $dev/include

mkdir -p $out/lib
ln -s ${OpenGL}/Library/Frameworks/OpenGL.framework/Libraries/libGL.tbd $out/lib/libGL.tbd

mkdir -p $dev/include
ln -s ${OpenGL}/Library/Frameworks/OpenGL.framework/Headers $dev/include/GL

cat <<EOF >$dev/lib/pkgconfig/gl.pc
Name: gl
Description: gl library
Version: ${mesa.version}
Libs: -L${mesa.out}/lib -lGL
Cflags: -I${mesa.dev}/include
EOF

cat <<EOF >$dev/lib/pkgconfig/glesv1_cm.pc
Name: glesv1_cm
Description: glesv1_cm library
Version: ${mesa.version}
Libs: -L${mesa.out}/lib -lGLESv1_CM
Cflags: -I${mesa.dev}/include
EOF

cat <<EOF >$dev/lib/pkgconfig/glesv2.pc
Name: glesv2
Description: glesv2 library
Version: ${mesa.version}
Libs: -L${mesa.out}/lib -lGLESv2
Cflags: -I${mesa.dev}/include
Version: 4.1
Libs: -F${OpenGL} -framework OpenGL
Cflags: -F${OpenGL}
EOF
''

Expand Down Expand Up @@ -79,10 +66,9 @@ stdenv.mkDerivation (finalAttrs: {
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;

meta = {
description = "Stub bindings using " + (if stdenv.hostPlatform.isDarwin then "mesa" else "libglvnd");
pkgConfigModules = [ "gl" "egl" "glesv1_cm" "glesv2" ];
} // {
inherit (if stdenv.hostPlatform.isDarwin then mesa.meta else libglvnd.meta)
homepage license platforms badPlatforms;
};
description = "Stub bindings using " + (if stdenv.hostPlatform.isDarwin then "OpenGL.framework" else "libglvnd");
pkgConfigModules = [ "gl" ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ "egl" "glesv1_cm" "glesv2" ];
} // (if stdenv.hostPlatform.isDarwin
then { inherit (OpenGL.meta) platforms; }
else { inherit (libglvnd.meta) homepage license platforms badPlatforms; });
})
12 changes: 7 additions & 5 deletions pkgs/development/libraries/physics/geant4/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
, enableQT ? false # deprecated name
, enableQt ? enableQT
, enableXM ? false
, mesa
, enableOpenGLX11 ? !mesa.meta.broken
, libGLX
, enableOpenGLX11 ? !libGLX.meta.broken
, enablePython ? false
, enableRaytracerX11 ? false

Expand Down Expand Up @@ -32,6 +32,7 @@
, libGLU, libGL
, libXext
, libXmu
, darwin

# For enablePython
, boost
Expand Down Expand Up @@ -77,8 +78,8 @@ stdenv.mkDerivation rec {
"-DGEANT4_USE_SYSTEM_ZLIB=ON"
"-DGEANT4_BUILD_MULTITHREADED=${if enableMultiThreading then "ON" else "OFF"}"
] ++ lib.optionals (enableOpenGLX11 && stdenv.isDarwin) [
"-DXQuartzGL_INCLUDE_DIR=${libGL.dev}/include"
"-DXQuartzGL_gl_LIBRARY=${libGL}/lib/libGL.dylib"
"-DXQuartzGL_INCLUDE_DIR=${libGLX.dev}/include"
"-DXQuartzGL_gl_LIBRARY=${libGLX}/lib/libGL.dylib"
] ++ lib.optionals (enableMultiThreading && enablePython) [
"-DGEANT4_BUILD_TLS_MODEL=global-dynamic"
] ++ lib.optionals enableInventor [
Expand All @@ -98,7 +99,8 @@ stdenv.mkDerivation rec {
buildInputs =
lib.optionals enableOpenGLX11 [ libGLU libXext libXmu ]
++ lib.optionals enableInventor [ libXpm coin3d soxt motif ]
++ lib.optionals enablePython [ boost_python python3 ];
++ lib.optionals enablePython [ boost_python python3 ]
++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.OpenGL ];

propagatedBuildInputs = [ clhep expat xercesc zlib ]
++ lib.optionals enableOpenGLX11 [ libGL ]
Expand Down
5 changes: 3 additions & 2 deletions pkgs/development/libraries/recastnavigation/default.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, cmake, libGL, SDL2, libGLU, catch }:
{ stdenv, lib, fetchFromGitHub, cmake, libGL, SDL2, libGLU, catch, darwin }:

stdenv.mkDerivation rec {
pname = "recastai";
Expand Down Expand Up @@ -31,7 +31,8 @@ stdenv.mkDerivation rec {

nativeBuildInputs = [ cmake ];

buildInputs = [ libGL SDL2 libGLU ];
buildInputs = [ libGL SDL2 libGLU ]
++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.OpenGL ];

meta = with lib; {
homepage = "https://github.com/recastnavigation/recastnavigation";
Expand Down
4 changes: 3 additions & 1 deletion pkgs/development/python-modules/vispy/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@ buildPythonPackage rec {
(substituteAll {
src = ./library-paths.patch;
fontconfig = "${fontconfig.lib}/lib/libfontconfig${stdenv.hostPlatform.extensions.sharedLibrary}";
gl = "${libGL.out}/lib/libGL${stdenv.hostPlatform.extensions.sharedLibrary}";
gl = if stdenv.isDarwin
then "/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL"
else "${libGL.out}/lib/libGL${stdenv.hostPlatform.extensions.sharedLibrary}";
})
];

Expand Down
4 changes: 2 additions & 2 deletions pkgs/development/tools/misc/unixbench/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
, installShellFiles
, perl
, xorg
, libGL
, libGLX
, coreutils
, unixtools
, targetPackages
Expand Down Expand Up @@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
buildInputs = [ perl ] ++ lib.optionals withGL [
xorg.libX11
xorg.libXext
libGL
libGLX
];

runtimeDependencies = [
Expand Down
3 changes: 2 additions & 1 deletion pkgs/games/ddnet/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,8 @@ stdenv.mkDerivation rec {
"-DCLIENT=${if buildClient then "ON" else "OFF"}"
];

doCheck = true;
# Tests loop forever on Darwin for some reason
doCheck = !stdenv.isDarwin;
checkTarget = "run_tests";

postInstall = lib.optionalString (!buildClient) ''
Expand Down
3 changes: 3 additions & 0 deletions pkgs/games/mar1d/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
, ninja
, pkg-config
, fetchFromGitHub
, darwin
}:

stdenv.mkDerivation rec {
Expand All @@ -28,6 +29,8 @@ stdenv.mkDerivation rec {
SDL2_mixer
libconfig
libGLU
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.OpenGL
];

meta = with lib; {
Expand Down
1 change: 1 addition & 0 deletions pkgs/servers/x11/xorg/overrides.nix
Original file line number Diff line number Diff line change
Expand Up @@ -835,6 +835,7 @@ self: super:
buildInputs = commonBuildInputs ++ [
bootstrap_cmds automake autoconf
Xplugin Carbon Cocoa
mesa
];
propagatedBuildInputs = commonPropagatedBuildInputs ++ [
libAppleWM xorgproto
Expand Down
2 changes: 2 additions & 0 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -23231,6 +23231,8 @@ with pkgs;
# Default libGLU
libGLU = mesa_glu;

libGLX = if stdenv.isDarwin then mesa else libglvnd;

mesa = if stdenv.isDarwin
then darwin.apple_sdk_11_0.callPackage ../development/libraries/mesa/darwin.nix {
inherit (darwin.apple_sdk_11_0.libs) Xplugin;
Expand Down