diff --git a/x11-toolkits/nanogui/Makefile b/x11-toolkits/nanogui/Makefile index 8ea7405e6152..d61dd7a3de6c 100644 --- a/x11-toolkits/nanogui/Makefile +++ b/x11-toolkits/nanogui/Makefile @@ -1,53 +1,51 @@ PORTNAME= nanogui DISTVERSION= g20220215 PORTREVISION= 1 CATEGORIES= x11-toolkits MAINTAINER= yuri@FreeBSD.org COMMENT= Minimalistic GUI library for OpenGL LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE.txt -BROKEN_aarch64= error: the clang compiler does not support '-march=nehalem', see https://github.com/mitsuba-renderer/nanogui/issues/118 - LIB_DEPENDS= libglfw.so:graphics/glfw TEST_DEPENDS= zenity:x11/zenity USES= cmake compiler:c++17-lang gl xorg USE_GL= gl USE_XORG= x11 xcursor xi xinerama xrandr xxf86vm USE_LDCONFIG= yes USE_GITHUB= yes GH_ACCOUNT= mitsuba-renderer GH_TAGNAME= c6505300bb3036ec87ac68f5f1699c434c3d7fc6 GH_TUPLE= wjakob:nanovg:bf2320d1175122374a9b806d91e9e666c9336375:wjakob_nanovg/ext/nanovg \ wjakob:nanovg_metal:075b04f16c579728c693b46a2ce408f2325968cf:wjakob_nanovg_metal/ext/nanovg_metal \ wjakob:glfw:e130e55a990998c78fd323f21076e798e0efe8a4:wjakob_glfw/ext/glfw \ pybind:pybind11:8de7772cc72daca8e947b79b83fea46214931604:pybind_pybind11/ext/pybind11 \ CMAKE_ARGS= -DCMAKE_INSTALL_INCLUDEDIR=${LOCALBASE}/include \ -DCMAKE_INSTALL_DATAROOTDIR=${LOCALBASE}/lib CMAKE_OFF= NANOGUI_BUILD_GLFW NANOGUI_BUILD_EXAMPLES OPTIONS_DEFINE= PYTHON OPTIONS_DEFAULT= PYTHON OPTIONS_SUB= yes PYTHON_USES= python PYTHON_CMAKE_BOOL= NANOGUI_BUILD_PYTHON PYTHON_CMAKE_ON= -DFREEBSD_PYTHON_DISTVERSION=${PYTHON_DISTVERSION} post-install-PYTHON-on: @${MKDIR} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/nanogui ${INSTALL_DATA} ${WRKSRC}/nanogui/__init__.py ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/nanogui ${MV} ${STAGEDIR}${PREFIX}/lib/nanogui*.so ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/nanogui do-test: @cd ${BUILD_WRKSRC} && \ ${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} -DNANOGUI_BUILD_EXAMPLES:BOOL=ON ${CMAKE_SOURCE_PATH} && \ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${ALL_TARGET} && \ ./example1 && ./example2 && ./example3 && ./example4 && ./example_icons .include diff --git a/x11-toolkits/nanogui/files/patch-CMakeLists.txt b/x11-toolkits/nanogui/files/patch-CMakeLists.txt index 9a10b4409cb3..296032ec8234 100644 --- a/x11-toolkits/nanogui/files/patch-CMakeLists.txt +++ b/x11-toolkits/nanogui/files/patch-CMakeLists.txt @@ -1,41 +1,57 @@ ---- CMakeLists.txt.orig 2022-04-10 13:30:19 UTC +--- CMakeLists.txt.orig 2022-02-15 15:25:41 UTC +++ CMakeLists.txt @@ -1,6 +1,8 @@ cmake_minimum_required (VERSION 3.13..3.18) set(CMAKE_OSX_DEPLOYMENT_TARGET 10.13) +include(CMakePackageConfigHelpers) + # Extract project version from source file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/include/nanogui/common.h" nanogui_version_defines REGEX "#define NANOGUI_VERSION_(MAJOR|MINOR|PATCH) ") -@@ -497,6 +504,12 @@ if (EXISTS /opt/vc/include) +@@ -78,6 +80,7 @@ endif() + # default. You may want to set MTS_NATIVE_FLAGS to "-march=native" to use all + # instructions available on a particular machine. + ++if (FALSE) # disable NANOGUI_NATIVE_FLAGS_DEFAULT to allow to build on all architectures + if (MSVC) + set(NANOGUI_NATIVE_FLAGS_DEFAULT "") + elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64") +@@ -86,6 +89,7 @@ elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "arm + else() + set(NANOGUI_NATIVE_FLAGS_DEFAULT "-march=nehalem") + endif() ++endif() + + option(NANOGUI_BUILD_EXAMPLES "Build NanoGUI example application?" ON) + option(NANOGUI_BUILD_SHARED "Build NanoGUI as a shared library?" ${NANOGUI_BUILD_SHARED_DEFAULT}) +@@ -497,6 +501,12 @@ if (EXISTS /opt/vc/include) target_include_directories(nanogui PUBLIC /opt/vc/include) endif() +# Find glfw if nanogui is not compiling it internally. +if (NOT NANOGUI_BUILD_GLFW) + find_package(glfw3 CONFIG REQUIRED) + target_link_libraries(nanogui PUBLIC glfw) +endif() + if (NANOGUI_INSTALL) install(TARGETS nanogui LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -@@ -522,6 +535,7 @@ if (NANOGUI_INSTALL) +@@ -522,6 +532,7 @@ if (NANOGUI_INSTALL) set(NANOGUI_CMAKECONFIG_INSTALL_DIR "${CMAKE_INSTALL_DATAROOTDIR}/cmake/nanogui") + include(CMakePackageConfigHelpers) configure_package_config_file( resources/nanoguiConfig.cmake.in nanoguiConfig.cmake INSTALL_DESTINATION ${NANOGUI_CMAKECONFIG_INSTALL_DIR}) -@@ -580,7 +594,7 @@ if (NANOGUI_BUILD_PYTHON) +@@ -580,7 +591,7 @@ if (NANOGUI_BUILD_PYTHON) list(APPEND CMAKE_PREFIX_PATH "${_tmp_dir}") find_package(pybind11 CONFIG REQUIRED) else() - find_package(Python COMPONENTS Interpreter Development REQUIRED) + find_package(Python3 ${FREEBSD_PYTHON_DISTVERSION} EXACT REQUIRED COMPONENTS Interpreter Development REQUIRED) # Allow overriding the pybind11 library used to compile NanoGUI set(NANOGUI_PYBIND11_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ext/pybind11"