diff options
author | Yuri Victorovich <yuri@FreeBSD.org> | 2019-05-11 17:32:54 +0000 |
---|---|---|
committer | Yuri Victorovich <yuri@FreeBSD.org> | 2019-05-11 17:32:54 +0000 |
commit | c2ec7815776d6d072f999543fbd9fdeba112b78b (patch) | |
tree | e129469f8ddedd75fabab48f177d4f3608a62bfe | |
parent | 90aa58df5c0874bcff3511a0af693756ce641963 (diff) |
Notes
-rw-r--r-- | math/Makefile | 1 | ||||
-rw-r--r-- | math/curv/Makefile | 40 | ||||
-rw-r--r-- | math/curv/distinfo | 7 | ||||
-rw-r--r-- | math/curv/files/patch-CMakeLists.txt | 51 | ||||
-rw-r--r-- | math/curv/pkg-descr | 24 |
5 files changed, 123 insertions, 0 deletions
diff --git a/math/Makefile b/math/Makefile index 5d5153b91899..a3cc4da014df 100644 --- a/math/Makefile +++ b/math/Makefile @@ -185,6 +185,7 @@ SUBDIR += coq SUBDIR += crlibm SUBDIR += cryptominisat + SUBDIR += curv SUBDIR += cvc3 SUBDIR += cvc4 SUBDIR += dbcsr diff --git a/math/curv/Makefile b/math/curv/Makefile new file mode 100644 index 000000000000..9eb3025387be --- /dev/null +++ b/math/curv/Makefile @@ -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> diff --git a/math/curv/distinfo b/math/curv/distinfo new file mode 100644 index 000000000000..9dc58f3aff7b --- /dev/null +++ b/math/curv/distinfo @@ -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 diff --git a/math/curv/files/patch-CMakeLists.txt b/math/curv/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..d2f932372de4 --- /dev/null +++ b/math/curv/files/patch-CMakeLists.txt @@ -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) diff --git a/math/curv/pkg-descr b/math/curv/pkg-descr new file mode 100644 index 000000000000..56139816c225 --- /dev/null +++ b/math/curv/pkg-descr @@ -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/ |