Merge pull request #205265 from wegank/mygui-darwin

This commit is contained in:
Sandro 2022-12-19 00:11:19 +01:00 committed by GitHub
commit e388728ddf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 68 additions and 8 deletions

View file

@ -1,9 +1,24 @@
{ lib, stdenv, fetchFromGitHub, libX11, cmake, ois, freetype, libuuid, { lib
boost, pkg-config, withOgre ? false, ogre ? null, libGL, libGLU ? null } : , stdenv
, fetchFromGitHub
, cmake
, pkg-config
, boost
, freetype
, libuuid
, ois
, withOgre ? false
, ogre
, libGL
, libGLU
, libX11
, Cocoa
}:
let let
renderSystem = if withOgre then "3" else "4"; renderSystem = if withOgre then "3" else "4";
in stdenv.mkDerivation rec { in
stdenv.mkDerivation rec {
pname = "mygui"; pname = "mygui";
version = "3.4.0"; version = "3.4.0";
@ -14,17 +29,42 @@ in stdenv.mkDerivation rec {
sha256 = "0a4zi8w18pjj813n7kmxldl1d9r1jp0iyhkw7pbqgl8f7qaq994w"; sha256 = "0a4zi8w18pjj813n7kmxldl1d9r1jp0iyhkw7pbqgl8f7qaq994w";
}; };
nativeBuildInputs = [ cmake pkg-config ]; patches = [
buildInputs = [ libX11 ois freetype libuuid boost ] ./disable-framework.patch
++ (if withOgre then [ ogre ] else [ libGL libGLU ]); ];
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
boost
freetype
libuuid
ois
] ++ lib.optionals withOgre [
ogre
] ++ lib.optionals (!withOgre && stdenv.isLinux) [
libGL
libGLU
] ++ lib.optionals stdenv.isLinux [
libX11
] ++ lib.optionals stdenv.isDarwin [
Cocoa
];
# Tools are disabled due to compilation failures. # Tools are disabled due to compilation failures.
cmakeFlags = [ "-DMYGUI_BUILD_TOOLS=OFF" "-DMYGUI_BUILD_DEMOS=OFF" "-DMYGUI_RENDERSYSTEM=${renderSystem}" ]; cmakeFlags = [
"-DMYGUI_BUILD_TOOLS=OFF"
"-DMYGUI_BUILD_DEMOS=OFF"
"-DMYGUI_RENDERSYSTEM=${renderSystem}"
];
meta = with lib; { meta = with lib; {
homepage = "http://mygui.info/"; homepage = "http://mygui.info/";
description = "Library for creating GUIs for games and 3D applications"; description = "Library for creating GUIs for games and 3D applications";
license = licenses.lgpl3Plus; license = licenses.lgpl3Plus;
platforms = platforms.linux; platforms = platforms.unix;
}; };
} }

View file

@ -0,0 +1,19 @@
diff --git a/CMake/Utils/MyGUIConfigTargets.cmake b/CMake/Utils/MyGUIConfigTargets.cmake
index bba3f91..8f4f351 100644
--- a/CMake/Utils/MyGUIConfigTargets.cmake
+++ b/CMake/Utils/MyGUIConfigTargets.cmake
@@ -477,14 +477,6 @@ function(mygui_config_lib PROJECTNAME)
if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "Intel")
# add GCC visibility flags to shared library build
set_target_properties(${PROJECTNAME} PROPERTIES COMPILE_FLAGS "${MYGUI_GCC_VISIBILITY_FLAGS}")
- if (APPLE)
- # deal with Mac OS X's framework system
- set_target_properties(${PROJECTNAME} PROPERTIES FRAMEWORK TRUE)
- set_target_properties(${PROJECTNAME} PROPERTIES PUBLIC_HEADER "${${PROJECTNAME}_HEADERS}")
- set_target_properties(${PROJECTNAME} PROPERTIES OUTPUT_NAME ${PROJECTNAME})
- set_target_properties(${PROJECTNAME} PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE)
- set_target_properties(${PROJECTNAME} PROPERTIES INSTALL_NAME_DIR "@executable_path/../Frameworks")
- endif (APPLE)
endif ()
endif (MYGUI_STATIC)
mygui_install_target(${PROJECTNAME} "")

View file

@ -21707,6 +21707,7 @@ with pkgs;
mygpoclient = with python3.pkgs; toPythonApplication mygpoclient; mygpoclient = with python3.pkgs; toPythonApplication mygpoclient;
mygui = callPackage ../development/libraries/mygui { mygui = callPackage ../development/libraries/mygui {
inherit (darwin.apple_sdk.frameworks) Cocoa;
ogre = ogre1_9; ogre = ogre1_9;
}; };