svn commit: r501268 - in head/math: . curv curv/files

Yuri Victorovich yuri at FreeBSD.org
Sat May 11 17:32:56 UTC 2019


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 at 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/


More information about the svn-ports-head mailing list