diff --git a/x11-toolkits/nanogui/Makefile b/x11-toolkits/nanogui/Makefile index 0af92116fc15..d61dd7a3de6c 100644 --- a/x11-toolkits/nanogui/Makefile +++ b/x11-toolkits/nanogui/Makefile @@ -1,50 +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 -USES= cmake compiler:c++17-lang eigen:3,build,run gl xorg +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_ON= NANOGUI_BUILD_GLFW -CMAKE_OFF= NANOGUI_BUILD_EXAMPLES +CMAKE_OFF= NANOGUI_BUILD_GLFW NANOGUI_BUILD_EXAMPLES OPTIONS_DEFINE= PYTHON OPTIONS_DEFAULT= PYTHON OPTIONS_SUB= yes -PYTHON_CMAKE_BOOL= NANOGUI_BUILD_PYTHON PYTHON_USES= python +PYTHON_CMAKE_BOOL= NANOGUI_BUILD_PYTHON PYTHON_CMAKE_ON= -DFREEBSD_PYTHON_DISTVERSION=${PYTHON_DISTVERSION} -post-install: # workaround for https://github.com/mitsuba-renderer/nanogui/issues/116 - @${RM} -r ${STAGEDIR}${PREFIX}/include/GLFW - post-install-PYTHON-on: - @${MKDIR} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} - ${MV} ${STAGEDIR}${PREFIX}/lib/nanogui*.so ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} + @${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 690e8bffbd12..9a10b4409cb3 100644 --- a/x11-toolkits/nanogui/files/patch-CMakeLists.txt +++ b/x11-toolkits/nanogui/files/patch-CMakeLists.txt @@ -1,20 +1,41 @@ ---- CMakeLists.txt.orig 2022-02-15 15:25:41 UTC +--- CMakeLists.txt.orig 2022-04-10 13:30:19 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) ") -@@ -580,7 +582,7 @@ if (NANOGUI_BUILD_PYTHON) +@@ -497,6 +504,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) + + 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) 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" diff --git a/x11-toolkits/nanogui/pkg-plist b/x11-toolkits/nanogui/pkg-plist index 1b0f4f7c53e7..b5426bcda933 100644 --- a/x11-toolkits/nanogui/pkg-plist +++ b/x11-toolkits/nanogui/pkg-plist @@ -1,50 +1,51 @@ include/nanogui/button.h include/nanogui/canvas.h include/nanogui/checkbox.h include/nanogui/colorpicker.h include/nanogui/colorwheel.h include/nanogui/combobox.h include/nanogui/common.h include/nanogui/formhelper.h include/nanogui/graph.h include/nanogui/icons.h include/nanogui/imagepanel.h include/nanogui/imageview.h include/nanogui/label.h include/nanogui/layout.h include/nanogui/messagedialog.h include/nanogui/metal.h include/nanogui/nanogui.h include/nanogui/object.h include/nanogui/opengl.h include/nanogui/popup.h include/nanogui/popupbutton.h include/nanogui/progressbar.h include/nanogui/python.h include/nanogui/renderpass.h include/nanogui/screen.h include/nanogui/shader.h include/nanogui/slider.h include/nanogui/tabwidget.h include/nanogui/textarea.h include/nanogui/textbox.h include/nanogui/texture.h include/nanogui/theme.h include/nanogui/toolbutton.h include/nanogui/traits.h include/nanogui/vector.h include/nanogui/vscrollpanel.h include/nanogui/widget.h include/nanogui/window.h include/nanovg/fontstash.h include/nanovg/nanovg.h include/nanovg/nanovg_gl.h include/nanovg/nanovg_gl_utils.h include/nanovg/stb_image.h include/nanovg/stb_truetype.h lib/cmake/nanogui/nanoguiConfig.cmake lib/cmake/nanogui/nanoguiConfigVersion.cmake lib/cmake/nanogui/nanoguiTargets-%%CMAKE_BUILD_TYPE%%.cmake lib/cmake/nanogui/nanoguiTargets.cmake lib/libnanogui.so -%%PYTHON%%%%PYTHON_SITELIBDIR%%/nanogui_ext%%PYTHON_EXT_SUFFIX%%.so +%%PYTHON%%%%PYTHON_SITELIBDIR%%/nanogui/__init__.py +%%PYTHON%%%%PYTHON_SITELIBDIR%%/nanogui/nanogui_ext%%PYTHON_EXT_SUFFIX%%.so