From owner-svn-ports-head@freebsd.org Sun Dec 9 18:59:35 2018 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 52C04132AC2F; Sun, 9 Dec 2018 18:59:35 +0000 (UTC) (envelope-from yuri@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 069B576543; Sun, 9 Dec 2018 18:59:35 +0000 (UTC) (envelope-from yuri@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DB3E9153C8; Sun, 9 Dec 2018 18:59:34 +0000 (UTC) (envelope-from yuri@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id wB9IxYNH042844; Sun, 9 Dec 2018 18:59:34 GMT (envelope-from yuri@FreeBSD.org) Received: (from yuri@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id wB9IxVY2042824; Sun, 9 Dec 2018 18:59:31 GMT (envelope-from yuri@FreeBSD.org) Message-Id: <201812091859.wB9IxVY2042824@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: yuri set sender to yuri@FreeBSD.org using -f From: Yuri Victorovich Date: Sun, 9 Dec 2018 18:59:31 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r487072 - in head/math: . geogram geogram/files X-SVN-Group: ports-head X-SVN-Commit-Author: yuri X-SVN-Commit-Paths: in head/math: . geogram geogram/files X-SVN-Commit-Revision: 487072 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 069B576543 X-Spamd-Result: default: False [-2.94 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-0.998,0]; NEURAL_HAM_LONG(-0.99)[-0.993,0]; NEURAL_HAM_SHORT(-0.95)[-0.953,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US] X-Rspamd-Server: mx1.freebsd.org X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Dec 2018 18:59:35 -0000 Author: yuri Date: Sun Dec 9 18:59:31 2018 New Revision: 487072 URL: https://svnweb.freebsd.org/changeset/ports/487072 Log: New port: math/geogram: Programming library of geometric algorithms Added: head/math/geogram/ head/math/geogram/Makefile (contents, props changed) head/math/geogram/distinfo (contents, props changed) head/math/geogram/files/ head/math/geogram/files/patch-CMakeLists.txt (contents, props changed) head/math/geogram/files/patch-cmake_platforms_FreeBSD-clang.cmake (contents, props changed) head/math/geogram/files/patch-cmake_platforms_FreeBSD.cmake (contents, props changed) head/math/geogram/files/patch-cmake_platforms_FreeBSD_config.cmake (contents, props changed) head/math/geogram/files/patch-cmake_platforms_FreeBSD_setvars.sh (contents, props changed) head/math/geogram/files/patch-src_lib_geogram__gfx_glup__viewer_glup__viewer.c (contents, props changed) head/math/geogram/files/patch-src_lib_geogram_basic_algorithm.h (contents, props changed) head/math/geogram/files/patch-src_lib_geogram_basic_atomics.h (contents, props changed) head/math/geogram/files/patch-src_lib_geogram_basic_command__line.cpp (contents, props changed) head/math/geogram/files/patch-src_lib_geogram_basic_common.h (contents, props changed) head/math/geogram/files/patch-src_lib_geogram_basic_thread__sync.h (contents, props changed) head/math/geogram/files/patch-src_lib_geogram_lua_lua__io.cpp (contents, props changed) head/math/geogram/pkg-descr (contents, props changed) head/math/geogram/pkg-plist (contents, props changed) Modified: head/math/Makefile Modified: head/math/Makefile ============================================================================== --- head/math/Makefile Sun Dec 9 18:40:23 2018 (r487071) +++ head/math/Makefile Sun Dec 9 18:59:31 2018 (r487072) @@ -228,6 +228,7 @@ SUBDIR += gdcalc SUBDIR += geg SUBDIR += geogebra + SUBDIR += geogram SUBDIR += geonext SUBDIR += gexpr SUBDIR += ggobi Added: head/math/geogram/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/geogram/Makefile Sun Dec 9 18:59:31 2018 (r487072) @@ -0,0 +1,30 @@ +# $FreeBSD$ + +PORTNAME= geogram +DISTVERSION= 1.6.9 +CATEGORIES= math +MASTER_SITES= https://gforge.inria.fr/frs/download.php/file/37779/ +DISTNAME= ${PORTNAME}_${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Programming library of geometric algorithms + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/doc/devkit/license.dox + +LIB_DEPENDS= libglfw.so:graphics/glfw + +USES= cmake:outsource gl localbase:ldflags +USE_XORG= x11 xcursor xi xinerama xrandr xxf86vm +USE_GL= gl glu + +CMAKE_ON= GEOGRAM_USE_SYSTEM_GLFW3 +CMAKE_ARGS= -DVORPALINE_PLATFORM:STRING=FreeBSD +LDFLAGS+= -pthread + +post-stage: + @${RMDIR} ${STAGEDIR}${PREFIX}/include/geogram1/geogram_gfx/glup_viewer/colormaps + +# geogram installs static libraries. I couldn't make it build with shared libraries due to link errors. I asked Bruno.Levy@inria.fr to fix this (via e-mail). + +.include Added: head/math/geogram/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/geogram/distinfo Sun Dec 9 18:59:31 2018 (r487072) @@ -0,0 +1,3 @@ +TIMESTAMP = 1544334501 +SHA256 (geogram_1.6.9.tar.gz) = 762ce1320cb30220f451418126aeb17c72cb0470f8730a30e565a0a52a05e7f9 +SIZE (geogram_1.6.9.tar.gz) = 8204635 Added: head/math/geogram/files/patch-CMakeLists.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/geogram/files/patch-CMakeLists.txt Sun Dec 9 18:59:31 2018 (r487072) @@ -0,0 +1,11 @@ +--- CMakeLists.txt.orig 2018-12-09 18:48:27 UTC ++++ CMakeLists.txt +@@ -132,7 +132,7 @@ if(NOT GEOGRAM_LIB_ONLY) + add_subdirectory(tests) + endif() + +-add_subdirectory(doc) ++#add_subdirectory(doc) + + ############################################################################## + # Cleanup from previous builds Added: head/math/geogram/files/patch-cmake_platforms_FreeBSD-clang.cmake ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/geogram/files/patch-cmake_platforms_FreeBSD-clang.cmake Sun Dec 9 18:59:31 2018 (r487072) @@ -0,0 +1,156 @@ +--- cmake/platforms/FreeBSD-clang.cmake.orig 2018-12-09 17:28:39 UTC ++++ cmake/platforms/FreeBSD-clang.cmake +@@ -0,0 +1,153 @@ ++### ++### Adopted from cmake/platforms/Linux-clang.cmake ++### ++ ++#------------------------------------------------------------------- ++# Flags common to all FreeBSD based platforms with Clang compiler ++#------------------------------------------------------------------- ++ ++include(${GEOGRAM_SOURCE_DIR}/cmake/platforms/FreeBSD.cmake) ++ ++# Warning flags ++set(NORMAL_WARNINGS -Wall -Wextra) ++ ++set(FULL_WARNINGS ++ -Weverything ++ -Wno-padded # Disable generating a message each time padding is used ++ -Wno-float-equal # Sometimes we compare floats (against 0.0 or 1.0 mainly) ++ -Wno-global-constructors ++ -Wno-exit-time-destructors ++ -Wno-old-style-cast # Yes, old-style cast is sometime more legible... ++ -Wno-format-nonliteral # Todo: use Laurent Alonso's trick ++ -Wno-disabled-macro-expansion # Else it complains with stderr ++) ++ ++# Compile with full warnings by default ++add_definitions(${FULL_WARNINGS}) ++ ++# Run the static analyzer ++if(VORPALINE_WITH_CLANGSA) ++ add_definitions(--analyze) ++endif() ++ ++# I do not know where this -Wno-maybe-uninitialized comes from ++# (but clang does not understand it), silence the warning for ++# now... ++add_flags(CMAKE_CXX_FLAGS -Wno-unknown-warning-option) ++add_flags(CMAKE_C_FLAGS -Wno-unknown-warning-option) ++ ++# Add static and dynamic bounds checks (optimization required) ++#add_flags(CMAKE_CXX_FLAGS_RELEASE -D_FORTIFY_SOURCE=2) ++#add_flags(CMAKE_C_FLAGS_RELEASE -D_FORTIFY_SOURCE=2) ++ ++# Enable SSE3 instruction set ++add_flags(CMAKE_CXX_FLAGS -msse3) ++add_flags(CMAKE_C_FLAGS -msse3) ++ ++# C++11 standard ++add_flags(CMAKE_CXX_FLAGS -Qunused-arguments -std=c++11 -Wno-c++98-compat) ++ ++# Enable glibc parallel mode ++#add_flags(CMAKE_CXX_FLAGS -D_GLIBCXX_PARALLEL) ++ ++ ++# Generate debug information even in release mode ++#add_flags(CMAKE_CXX_FLAGS_RELEASE -g) ++#add_flags(CMAKE_C_FLAGS_RELEASE -g) ++ ++ ++# Additional debug flags ++# deactivated for now: I added bound checking in VOR::vector<>. ++#add_flags(CMAKE_CXX_FLAGS_DEBUG -D_GLIBCXX_DEBUG) ++ ++ ++# Compile and link with OpenMP ** NOT YET SUPPORTED in clang 3 ** ++#add_flags(CMAKE_CXX_FLAGS -fopenmp) ++#add_flags(CMAKE_C_FLAGS -fopenmp) ++ ++ ++# Profiler compilation flags ++if(VORPALINE_WITH_GPROF) ++ message(FATAL_ERROR "Profiling is not (yet) available with clang") ++ message(STATUS "Building for code profiling") ++ #add_flags(CMAKE_CXX_FLAGS -pg -DPROFILER) ++ #add_flags(CMAKE_C_FLAGS -pg -DPROFILER) ++endif() ++ ++ ++# Code coverage compilation flags ++if(VORPALINE_WITH_GCOV) ++ message(STATUS "Building for coverage analysis") ++ add_flags(CMAKE_CXX_FLAGS --coverage) ++ add_flags(CMAKE_C_FLAGS --coverage) ++endif() ++ ++ ++# Compilation flags for Google's AddressSanitizer ++# These flags can only be specified for dynamic builds ++if(VORPALINE_WITH_ASAN) ++ if(VORPALINE_BUILD_DYNAMIC) ++ message(STATUS "Building with AddressSanitizer (debug only)") ++ add_flags(CMAKE_CXX_FLAGS_DEBUG -fsanitize=address -fno-omit-frame-pointer) ++ add_flags(CMAKE_C_FLAGS_DEBUG -fsanitize=address -fno-omit-frame-pointer) ++ else() ++ message(WARNING "AddressSanitizer can be used with dynamic builds only") ++ set(VORPALINE_WITH_ASAN false) ++ endif() ++endif() ++if(NOT VORPALINE_WITH_ASAN) ++ # Use native GCC stack smash Protection and buffer overflow detection (debug only) ++ add_flags(CMAKE_CXX_FLAGS_DEBUG -fstack-protector-all) ++ add_flags(CMAKE_C_FLAGS_DEBUG -fstack-protector-all) ++endif() ++ ++ ++# Compilation flags for Google's ThreadSanitizer ++# Does not work for the moment: cannot figure out how to link with library libtsan ++if(VORPALINE_WITH_TSAN) ++ message(STATUS "Building with ThreadSanitizer (debug only)") ++ message(FATAL_ERROR "ThreadSanitizer is not available: cannot figure out how to link with library libtsan") ++ add_flags(CMAKE_CXX_FLAGS_DEBUG -fsanitize=thread) ++ add_flags(CMAKE_C_FLAGS_DEBUG -fsanitize=thread) ++ if(NOT VORPALINE_BUILD_DYNAMIC) ++ add_flags(CMAKE_EXE_LINKER_FLAGS -static-libtsan) ++ endif() ++endif() ++ ++ ++# Reset the warning level for third parties ++function(vor_reset_warning_level) ++ remove_definitions(${FULL_WARNINGS}) ++ add_definitions(${NORMAL_WARNINGS}) ++endfunction() ++ ++macro(vor_add_executable) ++ if(NOT VORPALINE_BUILD_DYNAMIC) ++ # Create a statically linked executable ++ # Link with static libraries ++ add_flags(CMAKE_CXX_FLAGS -static) ++ add_flags(CMAKE_C_FLAGS -static) ++ endif() ++ ++ add_executable(${ARGN}) ++ ++ if(NOT VORPALINE_BUILD_DYNAMIC AND DEFINED VORPALINE_WITH_DDT) ++ # Static builds running with Allinea's DDT must be linked with a ++ # special malloc library which replaces the malloc primitives of ++ # the Glibc (We must allow multiple definitions) ++ add_flags(CMAKE_EXE_LINKER_FLAGS -Wl,--allow-multiple-definition) ++ ++ if(VORPALINE_ARCH_64) ++ link_directories(${VORPALINE_WITH_DDT}/lib/64) ++ else() ++ link_directories(${VORPALINE_WITH_DDT}/lib/32) ++ endif() ++ target_link_libraries(${ARGV0} dmallocthcxx) ++ endif() ++ ++ if(UNIX) ++ target_link_libraries(${ARGV0} m pthread) ++ endif() ++ ++endmacro() ++ Added: head/math/geogram/files/patch-cmake_platforms_FreeBSD.cmake ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/geogram/files/patch-cmake_platforms_FreeBSD.cmake Sun Dec 9 18:59:31 2018 (r487072) @@ -0,0 +1,26 @@ +--- cmake/platforms/FreeBSD.cmake.orig 2018-12-09 17:30:49 UTC ++++ cmake/platforms/FreeBSD.cmake +@@ -0,0 +1,23 @@ ++### ++### Adopted from cmake/platforms/Linux.cmake ++### ++ ++#------------------------------------------------------------------- ++# Flags common to all Linux based platforms ++#------------------------------------------------------------------- ++ ++# Shell script extension ++set(SHELL_SUFFIX "sh") ++ ++# This flag MUST be added to solve a bug related to shared lib dynamic loading ++# (std::type_infos representing the same template type do not compare equal, ++# introducing subtle bugs) ++# IMPORTANT: DO NOT ADD THIS FLAG WITH STATIC LINKING ++#add_flags(CMAKE_EXE_LINKER_FLAGS "-Wl,-E") ++ ++# Forbid undefined symbols at link time (shared libraries and executables) ++add_flags(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined") ++add_flags(CMAKE_EXE_LINKER_FLAGS "-Wl,--no-undefined") ++ ++# Link with the loader library ++list(APPEND SYSLIBS ${CMAKE_DL_LIBS}) Added: head/math/geogram/files/patch-cmake_platforms_FreeBSD_config.cmake ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/geogram/files/patch-cmake_platforms_FreeBSD_config.cmake Sun Dec 9 18:59:31 2018 (r487072) @@ -0,0 +1,8 @@ +--- cmake/platforms/FreeBSD/config.cmake.orig 2018-12-09 17:34:34 UTC ++++ cmake/platforms/FreeBSD/config.cmake +@@ -0,0 +1,5 @@ ++set(VORPALINE_ARCH_64 true) ++include(${GEOGRAM_SOURCE_DIR}/cmake/platforms/FreeBSD-clang.cmake) ++#add_flags(CMAKE_CXX_FLAGS -m64) ++#add_flags(CMAKE_C_FLAGS -m64) ++ Added: head/math/geogram/files/patch-cmake_platforms_FreeBSD_setvars.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/geogram/files/patch-cmake_platforms_FreeBSD_setvars.sh Sun Dec 9 18:59:31 2018 (r487072) @@ -0,0 +1,5 @@ +--- cmake/platforms/FreeBSD/setvars.sh.orig 2018-12-09 17:34:38 UTC ++++ cmake/platforms/FreeBSD/setvars.sh +@@ -0,0 +1,2 @@ ++#export CC=clang ++#export CXX=clang++ Added: head/math/geogram/files/patch-src_lib_geogram__gfx_glup__viewer_glup__viewer.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/geogram/files/patch-src_lib_geogram__gfx_glup__viewer_glup__viewer.c Sun Dec 9 18:59:31 2018 (r487072) @@ -0,0 +1,16 @@ +--- src/lib/geogram_gfx/glup_viewer/glup_viewer.c.orig 2018-12-09 17:49:50 UTC ++++ src/lib/geogram_gfx/glup_viewer/glup_viewer.c +@@ -64,11 +64,11 @@ + #include + #endif + +-#ifndef __APPLE__ ++#if !defined(__APPLE__) && !defined(__FreeBSD__) + #include + #endif + +-#if defined(__APPLE__) || defined(__linux__) || defined(__EMSCRIPTEN__) ++#if defined(__APPLE__) || defined(__linux__) || defined(__FreeBSD__) || defined(__EMSCRIPTEN__) + #include + static void glup_viewer_pause() { + usleep(1000); Added: head/math/geogram/files/patch-src_lib_geogram_basic_algorithm.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/geogram/files/patch-src_lib_geogram_basic_algorithm.h Sun Dec 9 18:59:31 2018 (r487072) @@ -0,0 +1,11 @@ +--- src/lib/geogram/basic/algorithm.h.orig 2018-12-09 17:43:13 UTC ++++ src/lib/geogram/basic/algorithm.h +@@ -48,7 +48,7 @@ + + #include + +-#if defined(GEO_OS_LINUX) && defined(GEO_OPENMP) ++#if (defined(GEO_OS_LINUX) || defined(GEO_OS_FREEBSD)) && defined(GEO_OPENMP) + #if (__GNUC__ >= 4) && (__GNUC_MINOR__ >= 4) && !defined(GEO_OS_ANDROID) + #include + #define GEO_USE_GCC_PARALLEL_STL Added: head/math/geogram/files/patch-src_lib_geogram_basic_atomics.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/geogram/files/patch-src_lib_geogram_basic_atomics.h Sun Dec 9 18:59:31 2018 (r487072) @@ -0,0 +1,11 @@ +--- src/lib/geogram/basic/atomics.h.orig 2018-12-09 17:41:31 UTC ++++ src/lib/geogram/basic/atomics.h +@@ -54,7 +54,7 @@ + * \brief Functions for atomic operations + */ + +-#ifdef GEO_OS_LINUX ++#if defined(GEO_OS_LINUX) || defined(GEO_OS_FREEBSD) + # if defined(GEO_OS_EMSCRIPTEN) + # define GEO_USE_DUMMY_ATOMICS + # elif defined(GEO_OS_RASPBERRY) Added: head/math/geogram/files/patch-src_lib_geogram_basic_command__line.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/geogram/files/patch-src_lib_geogram_basic_command__line.cpp Sun Dec 9 18:59:31 2018 (r487072) @@ -0,0 +1,11 @@ +--- src/lib/geogram/basic/command_line.cpp.orig 2018-12-09 17:46:56 UTC ++++ src/lib/geogram/basic/command_line.cpp +@@ -54,7 +54,7 @@ + #include + #include + +-#if defined(GEO_OS_LINUX) || defined(GEO_OS_APPLE) ++#if defined(GEO_OS_LINUX) || defined(GEO_OS_FREEBSD) || defined(GEO_OS_APPLE) + #include + #include + #include Added: head/math/geogram/files/patch-src_lib_geogram_basic_common.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/geogram/files/patch-src_lib_geogram_basic_common.h Sun Dec 9 18:59:31 2018 (r487072) @@ -0,0 +1,38 @@ +--- src/lib/geogram/basic/common.h.orig 2018-12-09 17:36:40 UTC ++++ src/lib/geogram/basic/common.h +@@ -221,6 +221,35 @@ namespace GEO { + # define GEO_ARCH_32 + #endif + ++// =============================== FreeBSD defines ========================= ++ ++#elif defined(__FreeBSD__) ++ ++#define GEO_OS_FREEBSD ++#define GEO_OS_UNIX ++ ++#if defined(_OPENMP) ++# define GEO_OPENMP ++#endif ++ ++#if defined(__INTEL_COMPILER) ++# define GEO_COMPILER_INTEL ++#elif defined(__clang__) ++# define GEO_COMPILER_CLANG ++#elif defined(__GNUC__) ++# define GEO_COMPILER_GCC ++#else ++# error "Unsupported compiler" ++#endif ++ ++// The following works on GCC and ICC ++#if defined(__x86_64) ++# define GEO_ARCH_64 ++#else ++# define GEO_ARCH_32 ++#endif ++ ++ + // =============================== WINDOWS defines ========================= + + #elif defined(_WIN32) || defined(_WIN64) Added: head/math/geogram/files/patch-src_lib_geogram_basic_thread__sync.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/geogram/files/patch-src_lib_geogram_basic_thread__sync.h Sun Dec 9 18:59:31 2018 (r487072) @@ -0,0 +1,20 @@ +--- src/lib/geogram/basic/thread_sync.h.orig 2018-12-09 17:42:18 UTC ++++ src/lib/geogram/basic/thread_sync.h +@@ -122,7 +122,7 @@ namespace GEO { + unlock_mutex_android(&x); + } + +-#elif defined(GEO_OS_LINUX) || defined(GEO_COMPILER_MINGW) ++#elif defined(GEO_OS_LINUX) || defined(GEO_OS_FREEBSD) || defined(GEO_COMPILER_MINGW) + + /** A lightweight synchronization structure. */ + typedef unsigned char spinlock; +@@ -500,7 +500,7 @@ namespace GEO { + index_t size_; + }; + +-#elif defined(GEO_OS_LINUX) ++#elif defined(GEO_OS_LINUX) || defined(GEO_OS_FREEBSD) + + /** + * \brief An array of light-weight synchronisation Added: head/math/geogram/files/patch-src_lib_geogram_lua_lua__io.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/geogram/files/patch-src_lib_geogram_lua_lua__io.cpp Sun Dec 9 18:59:31 2018 (r487072) @@ -0,0 +1,11 @@ +--- src/lib/geogram/lua/lua_io.cpp.orig 2018-12-09 17:40:56 UTC ++++ src/lib/geogram/lua/lua_io.cpp +@@ -243,6 +243,8 @@ namespace { + const char* result = "unknown"; + #if defined(GEO_OS_LINUX) + result = "Linux"; ++#elif defined(GEO_OS_FREEBSD) ++ result = "FreeBSD"; + #elif defined(GEO_OS_APPLE) + result = "Apple"; + #elif defined(GEO_OS_WINDOWS) Added: head/math/geogram/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/geogram/pkg-descr Sun Dec 9 18:59:31 2018 (r487072) @@ -0,0 +1,12 @@ +Geogram is a programming library of geometric algorithms. It includes a simple +yet efficient Mesh data structure (for surfacic and volumetric meshes), exact +computer arithmetics (a-la Shewchuck, implemented in GEO::expansion), a +predicate code generator (PCK: Predicate Construction Kit), standard geometric +predicates (orient/insphere), Delaunay triangulation, Voronoi diagram, spatial +search data structures, spatial sorting) and less standard ones (more general +geometric predicates, intersection between a Voronoi diagram and a triangular or +tetrahedral mesh embedded in n dimensions). The latter is used by FWD/WarpDrive, +the first algorithm that computes semi-discrete Optimal Transport in 3d that +scales up to 1 million Dirac masses (see compute_OTM in example programs). + +WWW: http://alice.loria.fr/software/geogram/doc/html/index.html Added: head/math/geogram/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/geogram/pkg-plist Sun Dec 9 18:59:31 2018 (r487072) @@ -0,0 +1,311 @@ +bin/geobox +bin/geocod +bin/geodump +bin/geogram_demo_Delaunay2d +bin/geogram_demo_Delaunay3d +bin/geogram_demo_Evert +bin/geogram_demo_GLUP +bin/geogram_demo_Raytrace +bin/vorpalite +bin/vorpaview +include/geogram1/geogram/NL/nl.h +include/geogram1/geogram/NL/nl_arpack.h +include/geogram1/geogram/NL/nl_blas.h +include/geogram1/geogram/NL/nl_cholmod.h +include/geogram1/geogram/NL/nl_context.h +include/geogram1/geogram/NL/nl_cuda.h +include/geogram1/geogram/NL/nl_ext.h +include/geogram1/geogram/NL/nl_iterative_solvers.h +include/geogram1/geogram/NL/nl_linkage.h +include/geogram1/geogram/NL/nl_matrix.h +include/geogram1/geogram/NL/nl_mkl.h +include/geogram1/geogram/NL/nl_preconditioners.h +include/geogram1/geogram/NL/nl_private.h +include/geogram1/geogram/NL/nl_superlu.h +include/geogram1/geogram/api/defs.h +include/geogram1/geogram/basic/algorithm.h +include/geogram1/geogram/basic/argused.h +include/geogram1/geogram/basic/assert.h +include/geogram1/geogram/basic/atomics.h +include/geogram1/geogram/basic/attributes.h +include/geogram1/geogram/basic/b_stream.h +include/geogram1/geogram/basic/command_line.h +include/geogram1/geogram/basic/command_line_args.h +include/geogram1/geogram/basic/common.h +include/geogram1/geogram/basic/counted.h +include/geogram1/geogram/basic/environment.h +include/geogram1/geogram/basic/factory.h +include/geogram1/geogram/basic/file_system.h +include/geogram1/geogram/basic/geofile.h +include/geogram1/geogram/basic/geometry.h +include/geogram1/geogram/basic/geometry_nd.h +include/geogram1/geogram/basic/line_stream.h +include/geogram1/geogram/basic/logger.h +include/geogram1/geogram/basic/matrix.h +include/geogram1/geogram/basic/memory.h +include/geogram1/geogram/basic/numeric.h +include/geogram1/geogram/basic/packed_arrays.h +include/geogram1/geogram/basic/permutation.h +include/geogram1/geogram/basic/process.h +include/geogram1/geogram/basic/process_private.h +include/geogram1/geogram/basic/progress.h +include/geogram1/geogram/basic/psm.h +include/geogram1/geogram/basic/quaternion.h +include/geogram1/geogram/basic/smart_pointer.h +include/geogram1/geogram/basic/stopwatch.h +include/geogram1/geogram/basic/string.h +include/geogram1/geogram/basic/thread_sync.h +include/geogram1/geogram/basic/vecg.h +include/geogram1/geogram/bibliography/bibliography.h +include/geogram1/geogram/delaunay/LFS.h +include/geogram1/geogram/delaunay/cavity.h +include/geogram1/geogram/delaunay/delaunay.h +include/geogram1/geogram/delaunay/delaunay_2d.h +include/geogram1/geogram/delaunay/delaunay_3d.h +include/geogram1/geogram/delaunay/delaunay_nn.h +include/geogram1/geogram/delaunay/delaunay_tetgen.h +include/geogram1/geogram/delaunay/delaunay_triangle.h +include/geogram1/geogram/delaunay/parallel_delaunay_3d.h +include/geogram1/geogram/delaunay/periodic.h +include/geogram1/geogram/delaunay/periodic_delaunay_3d.h +include/geogram1/geogram/image/color.h +include/geogram1/geogram/image/colormap.h +include/geogram1/geogram/image/image.h +include/geogram1/geogram/image/image_library.h +include/geogram1/geogram/image/image_rasterizer.h +include/geogram1/geogram/image/image_serializer.h +include/geogram1/geogram/image/image_serializer_pgm.h +include/geogram1/geogram/image/image_serializer_stb.h +include/geogram1/geogram/image/image_serializer_xpm.h +include/geogram1/geogram/image/morpho_math.h +include/geogram1/geogram/lua/lua_io.h +include/geogram1/geogram/lua/lua_wrap.h +include/geogram1/geogram/mesh/index.h +include/geogram1/geogram/mesh/mesh.h +include/geogram1/geogram/mesh/mesh_AABB.h +include/geogram1/geogram/mesh/mesh_baking.h +include/geogram1/geogram/mesh/mesh_compare.h +include/geogram1/geogram/mesh/mesh_decimate.h +include/geogram1/geogram/mesh/mesh_degree3_vertices.h +include/geogram1/geogram/mesh/mesh_distance.h +include/geogram1/geogram/mesh/mesh_fill_holes.h +include/geogram1/geogram/mesh/mesh_frame_field.h +include/geogram1/geogram/mesh/mesh_geometry.h +include/geogram1/geogram/mesh/mesh_halfedges.h +include/geogram1/geogram/mesh/mesh_intersection.h +include/geogram1/geogram/mesh/mesh_io.h +include/geogram1/geogram/mesh/mesh_manifold_harmonics.h +include/geogram1/geogram/mesh/mesh_partition.h +include/geogram1/geogram/mesh/mesh_preprocessing.h +include/geogram1/geogram/mesh/mesh_remesh.h +include/geogram1/geogram/mesh/mesh_reorder.h +include/geogram1/geogram/mesh/mesh_repair.h +include/geogram1/geogram/mesh/mesh_sampling.h +include/geogram1/geogram/mesh/mesh_smoothing.h +include/geogram1/geogram/mesh/mesh_subdivision.h +include/geogram1/geogram/mesh/mesh_tetrahedralize.h +include/geogram1/geogram/mesh/mesh_topology.h +include/geogram1/geogram/mesh/triangle_intersection.h +include/geogram1/geogram/numerics/expansion_nt.h +include/geogram1/geogram/numerics/lbfgs_optimizers.h +include/geogram1/geogram/numerics/matrix_util.h +include/geogram1/geogram/numerics/multi_precision.h +include/geogram1/geogram/numerics/optimizer.h +include/geogram1/geogram/numerics/predicates.h +include/geogram1/geogram/numerics/predicates/.pck.h +include/geogram1/geogram/numerics/predicates/aligned3d.h +include/geogram1/geogram/numerics/predicates/det3d.h +include/geogram1/geogram/numerics/predicates/dot3d.h +include/geogram1/geogram/numerics/predicates/orient2d.h +include/geogram1/geogram/numerics/predicates/orient3d.h +include/geogram1/geogram/numerics/predicates/orient4d.h +include/geogram1/geogram/numerics/predicates/side1.h +include/geogram1/geogram/numerics/predicates/side2.h +include/geogram1/geogram/numerics/predicates/side3.h +include/geogram1/geogram/numerics/predicates/side3_2dlifted.h +include/geogram1/geogram/numerics/predicates/side3h.h +include/geogram1/geogram/numerics/predicates/side4.h +include/geogram1/geogram/numerics/predicates/side4h.h +include/geogram1/geogram/parameterization/mesh_ABF.h +include/geogram1/geogram/parameterization/mesh_LSCM.h +include/geogram1/geogram/parameterization/mesh_PGP_2d.h +include/geogram1/geogram/parameterization/mesh_atlas_maker.h +include/geogram1/geogram/parameterization/mesh_global_param.h +include/geogram1/geogram/parameterization/mesh_param_packer.h +include/geogram1/geogram/parameterization/mesh_param_validator.h +include/geogram1/geogram/parameterization/mesh_segmentation.h +include/geogram1/geogram/points/co3ne.h +include/geogram1/geogram/points/colocate.h +include/geogram1/geogram/points/kd_tree.h +include/geogram1/geogram/points/nn_search.h +include/geogram1/geogram/third_party/HLBFGS/HLBFGS.h +include/geogram1/geogram/third_party/HLBFGS/HLBFGS_BLAS.h +include/geogram1/geogram/third_party/HLBFGS/ICFS.h +include/geogram1/geogram/third_party/HLBFGS/LineSearch.h +include/geogram1/geogram/third_party/HLBFGS/Lite_Sparse_Matrix.h +include/geogram1/geogram/third_party/HLBFGS/Sparse_Entry.h +include/geogram1/geogram/third_party/LM7/libmeshb7.h +include/geogram1/geogram/third_party/PoissonRecon/Allocator.h +include/geogram1/geogram/third_party/PoissonRecon/Array.h +include/geogram1/geogram/third_party/PoissonRecon/BSplineData.h +include/geogram1/geogram/third_party/PoissonRecon/BinaryNode.h +include/geogram1/geogram/third_party/PoissonRecon/Factor.h +include/geogram1/geogram/third_party/PoissonRecon/FunctionData.h +include/geogram1/geogram/third_party/PoissonRecon/Geometry.h +include/geogram1/geogram/third_party/PoissonRecon/Hash.h +include/geogram1/geogram/third_party/PoissonRecon/MAT.h +include/geogram1/geogram/third_party/PoissonRecon/MarchingCubes.h +include/geogram1/geogram/third_party/PoissonRecon/MemoryUsage.h +include/geogram1/geogram/third_party/PoissonRecon/MultiGridOctreeData.h +include/geogram1/geogram/third_party/PoissonRecon/MyTime.h +include/geogram1/geogram/third_party/PoissonRecon/Octree.h +include/geogram1/geogram/third_party/PoissonRecon/PPolynomial.h +include/geogram1/geogram/third_party/PoissonRecon/PlyVertexMini.h +include/geogram1/geogram/third_party/PoissonRecon/PointStream.h +include/geogram1/geogram/third_party/PoissonRecon/Polynomial.h +include/geogram1/geogram/third_party/PoissonRecon/SparseMatrix.h +include/geogram1/geogram/third_party/PoissonRecon/poisson_geogram.h +include/geogram1/geogram/third_party/PoissonRecon/unused/CmdLineParser.h +include/geogram1/geogram/third_party/PoissonRecon/unused/Ply.h +include/geogram1/geogram/third_party/PoissonRecon/unused/PlyPointStream.h +include/geogram1/geogram/third_party/gzstream/gzstream.h +include/geogram1/geogram/third_party/lua/lapi.h +include/geogram1/geogram/third_party/lua/lauxlib.h +include/geogram1/geogram/third_party/lua/lcode.h +include/geogram1/geogram/third_party/lua/lctype.h +include/geogram1/geogram/third_party/lua/ldebug.h +include/geogram1/geogram/third_party/lua/ldo.h +include/geogram1/geogram/third_party/lua/lfunc.h +include/geogram1/geogram/third_party/lua/lgc.h +include/geogram1/geogram/third_party/lua/llex.h +include/geogram1/geogram/third_party/lua/llimits.h +include/geogram1/geogram/third_party/lua/lmem.h +include/geogram1/geogram/third_party/lua/lobject.h +include/geogram1/geogram/third_party/lua/lopcodes.h +include/geogram1/geogram/third_party/lua/lparser.h +include/geogram1/geogram/third_party/lua/lprefix.h +include/geogram1/geogram/third_party/lua/lstate.h +include/geogram1/geogram/third_party/lua/lstring.h +include/geogram1/geogram/third_party/lua/ltable.h +include/geogram1/geogram/third_party/lua/ltm.h +include/geogram1/geogram/third_party/lua/lua.h +include/geogram1/geogram/third_party/lua/luaconf.h +include/geogram1/geogram/third_party/lua/lualib.h +include/geogram1/geogram/third_party/lua/lundump.h +include/geogram1/geogram/third_party/lua/lvm.h +include/geogram1/geogram/third_party/lua/lzio.h +include/geogram1/geogram/third_party/pstdint.h +include/geogram1/geogram/third_party/rply/rply.h +include/geogram1/geogram/third_party/rply/rplyfile.h +include/geogram1/geogram/third_party/stb_image/stb_image.h +include/geogram1/geogram/third_party/stb_image/stb_image_write.h +include/geogram1/geogram/third_party/tetgen/tetgen.h +include/geogram1/geogram/third_party/triangle/triangle.h +include/geogram1/geogram/third_party/zlib/crc32.h +include/geogram1/geogram/third_party/zlib/deflate.h +include/geogram1/geogram/third_party/zlib/gzguts.h +include/geogram1/geogram/third_party/zlib/inffast.h +include/geogram1/geogram/third_party/zlib/inffixed.h +include/geogram1/geogram/third_party/zlib/inflate.h +include/geogram1/geogram/third_party/zlib/inftrees.h +include/geogram1/geogram/third_party/zlib/trees.h +include/geogram1/geogram/third_party/zlib/zconf.h +include/geogram1/geogram/third_party/zlib/zlib.h +include/geogram1/geogram/third_party/zlib/zutil.h +include/geogram1/geogram/voronoi/CVT.h +include/geogram1/geogram/voronoi/RVD.h +include/geogram1/geogram/voronoi/RVD_callback.h +include/geogram1/geogram/voronoi/RVD_mesh_builder.h +include/geogram1/geogram/voronoi/convex_cell.h +include/geogram1/geogram/voronoi/generic_RVD.h +include/geogram1/geogram/voronoi/generic_RVD_cell.h +include/geogram1/geogram/voronoi/generic_RVD_polygon.h +include/geogram1/geogram/voronoi/generic_RVD_utils.h +include/geogram1/geogram/voronoi/generic_RVD_vertex.h +include/geogram1/geogram/voronoi/integration_simplex.h +include/geogram1/geogram_gfx/GLUP/GLUP.h +include/geogram1/geogram_gfx/GLUP/GLUP_context.h +include/geogram1/geogram_gfx/GLUP/GLUP_context_ES.h +include/geogram1/geogram_gfx/GLUP/GLUP_context_GLSL.h +include/geogram1/geogram_gfx/GLUP/GLUP_context_VanillaGL.h +include/geogram1/geogram_gfx/GLUP/GLUP_marching_cells.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUP/ShaderToy.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUP/constants.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUP/defs.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUP/fragment_ray_tracing.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUP/fragment_shader_utils.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUP/portable_fragment_shader.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUP/stdglup.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUPES/fragment_shader.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUPES/fragment_shader_state.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUPES/fragment_shader_utils.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUPES/lines_fragment_shader.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUPES/points_fragment_shader.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUPES/points_vertex_shader.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUPES/spheres_fragment_shader.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUPES/spheres_vertex_shader.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUPES/vertex_shader.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUPES/vertex_shader_state.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUPGLSL/fragment_shader.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUPGLSL/gather_vertex_shader.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUPGLSL/geometry_shader_preamble.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUPGLSL/lines_fragment_shader.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUPGLSL/marching_cells.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUPGLSL/points_fragment_shader.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUPGLSL/points_vertex_shader.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUPGLSL/spheres_fragment_shader.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUPGLSL/spheres_vertex_shader.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUPGLSL/state.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUPGLSL/tess_evaluation_shader.h +include/geogram1/geogram_gfx/GLUP/shaders/GLUPGLSL/vertex_shader.h +include/geogram1/geogram_gfx/GLUP/shaders/embedded_shaders.h +include/geogram1/geogram_gfx/GLUP/shaders/fullscreen/ambient_occlusion_fragment_shader.h +include/geogram1/geogram_gfx/GLUP/shaders/fullscreen/blur_fragment_shader.h +include/geogram1/geogram_gfx/GLUP/shaders/fullscreen/depth_dependent_blur_fragment_shader.h +include/geogram1/geogram_gfx/GLUP/shaders/fullscreen/unsharp_masking_fragment_shader.h +include/geogram1/geogram_gfx/GLUP/shaders/fullscreen/vertex_shader.h +include/geogram1/geogram_gfx/ImGui_ext/file_dialog.h +include/geogram1/geogram_gfx/ImGui_ext/imgui_ext.h +include/geogram1/geogram_gfx/api/defs.h +include/geogram1/geogram_gfx/basic/GL.h +include/geogram1/geogram_gfx/basic/GLSL.h +include/geogram1/geogram_gfx/basic/common.h +include/geogram1/geogram_gfx/basic/frame_buffer_object.h +include/geogram1/geogram_gfx/full_screen_effects/ambient_occlusion.h +include/geogram1/geogram_gfx/full_screen_effects/full_screen_effect.h +include/geogram1/geogram_gfx/full_screen_effects/unsharp_masking.h +include/geogram1/geogram_gfx/glup_viewer/glup_viewer.h +include/geogram1/geogram_gfx/glup_viewer/glup_viewer_gui.h +include/geogram1/geogram_gfx/glup_viewer/glup_viewer_gui_private.h +include/geogram1/geogram_gfx/lua/lua_glup.h +include/geogram1/geogram_gfx/lua/lua_glup_viewer.h +include/geogram1/geogram_gfx/lua/lua_imgui.h +include/geogram1/geogram_gfx/mesh/mesh_gfx.h +include/geogram1/geogram_gfx/third_party/ImGui/glup_compat.h +include/geogram1/geogram_gfx/third_party/ImGui/imconfig.h +include/geogram1/geogram_gfx/third_party/ImGui/imgui.h +include/geogram1/geogram_gfx/third_party/ImGui/imgui_impl_android.h +include/geogram1/geogram_gfx/third_party/ImGui/imgui_impl_glfw.h +include/geogram1/geogram_gfx/third_party/ImGui/imgui_impl_opengl2.h +include/geogram1/geogram_gfx/third_party/ImGui/imgui_impl_opengl3.h +include/geogram1/geogram_gfx/third_party/ImGui/imgui_impl_win32.h +include/geogram1/geogram_gfx/third_party/ImGui/imgui_internal.h +include/geogram1/geogram_gfx/third_party/ImGui/stb_rect_pack.h +include/geogram1/geogram_gfx/third_party/ImGui/stb_textedit.h +include/geogram1/geogram_gfx/third_party/ImGui/stb_truetype.h +include/geogram1/geogram_gfx/third_party/ImGuiColorTextEdit/OLD/TextEditor.h +include/geogram1/geogram_gfx/third_party/ImGuiColorTextEdit/TextEditor.h +include/geogram1/geogram_gfx/third_party/glad/KHR/khrplatform.h +include/geogram1/geogram_gfx/third_party/glad/glad.h +include/geogram1/geogram_gfx/third_party/imgui_fonts/cousine_regular.h +include/geogram1/geogram_gfx/third_party/imgui_fonts/fa_brands.h +include/geogram1/geogram_gfx/third_party/imgui_fonts/fa_regular.h +include/geogram1/geogram_gfx/third_party/imgui_fonts/fa_solid.h +include/geogram1/geogram_gfx/third_party/imgui_fonts/roboto_medium.h +include/geogram1/geogram_gfx/third_party/imgui_lua_bindings/imgui_iterator.h +include/geogram1/geogram_gfx/third_party/quicktext/glQuickText.h +lib/cmake/modules/FindGeogram.cmake +lib/libgeogram.a +lib/libgeogram_gfx.a +libdata/pkgconfig/geogram1.pc +libdata/pkgconfig/geogram_gfx1.pc