Date: Sat, 11 May 2019 17:32:54 +0000 (UTC) From: Yuri Victorovich <yuri@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r501268 - in head/math: . curv curv/files Message-ID: <201905111732.x4BHWsNl075189@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: yuri Date: Sat May 11 17:32:54 2019 New Revision: 501268 URL: https://svnweb.freebsd.org/changeset/ports/501268 Log: New port: math/curv: Language for making art using mathematics Added: head/math/curv/ head/math/curv/Makefile (contents, props changed) head/math/curv/distinfo (contents, props changed) head/math/curv/files/ head/math/curv/files/patch-CMakeLists.txt (contents, props changed) head/math/curv/pkg-descr (contents, props changed) Modified: head/math/Makefile Modified: head/math/Makefile ============================================================================== --- head/math/Makefile Sat May 11 16:44:35 2019 (r501267) +++ head/math/Makefile Sat May 11 17:32:54 2019 (r501268) @@ -185,6 +185,7 @@ SUBDIR += coq SUBDIR += crlibm SUBDIR += cryptominisat + SUBDIR += curv SUBDIR += cvc3 SUBDIR += cvc4 SUBDIR += dbcsr Added: head/math/curv/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/curv/Makefile Sat May 11 17:32:54 2019 (r501268) @@ -0,0 +1,40 @@ +# $FreeBSD$ + +PORTNAME= curv +DISTVERSION= 0.4-87 +DISTVERSIONSUFFIX= -g947ca71e +CATEGORIES= math lang graphics + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Language for making art using mathematics + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= glm>0:math/glm \ + replxx>0:devel/replxx +LIB_DEPENDS= libboost_system.so:devel/boost-libs \ + libdouble-conversion.so:devel/double-conversion \ + libglfw.so:graphics/glfw \ + libHalf.so:graphics/ilmbase \ + libopenvdb.so:misc/openvdb \ + libtbb.so:devel/tbb + +USES= cmake compiler:c++14-lang gl localbase:ldflags +USE_GITHUB= yes +GH_ACCOUNT= curv3d +GH_TUPLE= ocornut:imgui:e0cab5664adf02c030f9cf2a05d2c334638a85f8:imgui/extern/imgui \ + Tessil:ordered-map:3c1415148f38409e4e68c13c55117107ece0187d:om/extern/ordered-map +USE_GL= gl +USE_XORG= x11 + +PLIST_FILES= bin/curv \ + lib/curv/lib/blend.curv \ + lib/curv/lib/web_colour.curv \ + lib/curv/std.curv \ + share/gtksourceview-3.0/language-specs/curv.lang + +post-install: + @${RM} ${STAGEDIR}${PREFIX}/lib/curv/lib/README + +.include <bsd.port.mk> Added: head/math/curv/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/curv/distinfo Sat May 11 17:32:54 2019 (r501268) @@ -0,0 +1,7 @@ +TIMESTAMP = 1557595165 +SHA256 (curv3d-curv-0.4-87-g947ca71e_GH0.tar.gz) = 8c19ff84bfedfaf7be31489b9b3a7468246be0f117dc26424f3db020d154986c +SIZE (curv3d-curv-0.4-87-g947ca71e_GH0.tar.gz) = 14899872 +SHA256 (ocornut-imgui-e0cab5664adf02c030f9cf2a05d2c334638a85f8_GH0.tar.gz) = 934d582eda967f4a6d19c9cc75ee25d73ead36294c552a5cd59c2194042b0741 +SIZE (ocornut-imgui-e0cab5664adf02c030f9cf2a05d2c334638a85f8_GH0.tar.gz) = 1078917 +SHA256 (Tessil-ordered-map-3c1415148f38409e4e68c13c55117107ece0187d_GH0.tar.gz) = a9b17d185641ddba06b5a3aed0df47603674fc021aea192ca7f831273a88a196 +SIZE (Tessil-ordered-map-3c1415148f38409e4e68c13c55117107ece0187d_GH0.tar.gz) = 60180 Added: head/math/curv/files/patch-CMakeLists.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/curv/files/patch-CMakeLists.txt Sat May 11 17:32:54 2019 (r501268) @@ -0,0 +1,51 @@ +--- CMakeLists.txt.orig 2019-05-11 14:42:40 UTC ++++ CMakeLists.txt +@@ -15,12 +15,10 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} + # Global include directories, visible in subdirectories. + include_directories(. + extern/googletest/googletest/include +- extern/double-conversion + extern/ordered-map/include +- extern/openvdb + extern/blosc + extern/stb +- extern/glfw/include ++ extern/gglfwglfwlfw/include + extern/glm + extern/glad) + +@@ -30,19 +28,6 @@ if (APPLE) + link_directories(/usr/local/lib) + endif (APPLE) + +-# REPLxx library +-file(GLOB ReplxxSrc "extern/replxx/src/*.cxx" "extern/replxx/src/*.cpp") +-add_library(replxx ${ReplxxSrc}) +-target_include_directories(replxx +- PUBLIC extern/replxx/include +- PRIVATE extern/replxx/src) +-set_property(TARGET replxx PROPERTY CXX_STANDARD 14) +- +-# double-conversion library +-file(GLOB DoubleConversionSrc "extern/double-conversion/double-conversion/*.cc") +-add_library(double-conversion ${DoubleConversionSrc}) +-set_property(TARGET double-conversion PROPERTY CXX_STANDARD 14) +- + # glad library, an OpenGL loader + add_library(glad + extern/glad/glad/glad.c) +@@ -93,7 +78,7 @@ target_link_libraries(libcurv_geom PUBLI + + file(GLOB Src "curv/*.c" "curv/*.cc") + add_executable(curv ${Src}) +-target_link_libraries(curv PUBLIC libcurv_geom libcurv imgui glfw glad ${LibOpenGL} replxx double-conversion boost_iostreams boost_filesystem boost_system openvdb_static Half tbb dl pthread) ++target_link_libraries(curv PUBLIC libcurv_geom libcurv imgui glfw glad ${LibOpenGL} replxx double-conversion boost_iostreams boost_filesystem boost_system openvdb Half tbb dl pthread) + + file(GLOB CurvcSrc "curvc/*.cc") + add_executable(curvc EXCLUDE_FROM_ALL ${CurvcSrc}) +@@ -128,5 +113,3 @@ if (NOT TARGET uninstall) + endif() + + add_subdirectory(extern/googletest/googletest EXCLUDE_FROM_ALL) +-add_subdirectory(extern/openvdb/openvdb EXCLUDE_FROM_ALL) +-add_subdirectory(extern/glfw EXCLUDE_FROM_ALL) Added: head/math/curv/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/curv/pkg-descr Sat May 11 17:32:54 2019 (r501268) @@ -0,0 +1,24 @@ +Curv is a programming language for creating art using mathematics. It's a 2D and +3D geometric modelling tool that supports full colour, animation and 3D +printing. + +Features: +* Curv is a simple, powerful, dynamically typed, pure functional programming + language. +* Curv is easy to use for beginners. It has a standard library of predefined + geometric shapes, plus operators for transforming and combining shapes. These + can be plugged together like Lego to make 2D and 3D models. +* Coloured shapes are represented using Function Representation (F-Rep). They + can be infinitely detailed, infinitely large, and any shape or colour pattern + that can be described using mathematics can be represented exactly. +* Curv exposes the full power of F-Rep programming to experts. The standard + geometry library is written entirely in Curv. Many of the demos seen on + shadertoy.com can be reproduced in Curv, using shorter, simpler programs. + Experts can package techniques used on shadertoy as high level operations for + use by beginners. +* Curv can export meshes to STL, OBJ and X3D files for 3D printing. The X3D + format supports full colour 3D printing (on Shapeways.com, at least). These + meshes are defect free: watertight, manifold, with no self intersections, + degenerate triangles, or flipped triangles. + +WWW: https://github.com/curv3d/curv/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201905111732.x4BHWsNl075189>