Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Jan 2025 09:43:36 GMT
From:      Yuri Victorovich <yuri@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 8377f46f68dc - main - math/curv: Revert "math/curv: Fails to build with boost-1.85+ and GitHub repository is marked archived"
Message-ID:  <202501110943.50B9halU053767@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=8377f46f68dc4487205ab18cb6a85cd9d5243030

commit 8377f46f68dc4487205ab18cb6a85cd9d5243030
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-01-11 09:36:48 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-01-11 09:36:48 +0000

    math/curv: Revert "math/curv: Fails to build with boost-1.85+ and GitHub repository is marked archived"
    
    This reverts commit 84e07469e6efa150aca110c60072c98bcf52f00f.
    
    Reported by:    Thierry Thomas <thierry@freebsd.org>
---
 MOVED                                              |  1 -
 math/Makefile                                      |  1 +
 math/curv/Makefile                                 | 49 ++++++++++++++
 math/curv/distinfo                                 |  9 +++
 math/curv/files/patch-CMakeLists.txt               | 75 ++++++++++++++++++++++
 math/curv/files/patch-cmake_FindILMBase.cmake      | 10 +++
 math/curv/files/patch-libcurv_viewer_fbo.cc        | 10 +++
 math/curv/files/patch-libcurv_viewer_mesh.cc       | 10 +++
 math/curv/files/patch-libcurv_viewer_text.cc       | 10 +++
 .../files/patch-libcurv_viewer_vertexLayout.cc     |  9 +++
 math/curv/pkg-descr                                | 22 +++++++
 11 files changed, 205 insertions(+), 1 deletion(-)

diff --git a/MOVED b/MOVED
index 6f92d48a772f..97685b571a8a 100644
--- a/MOVED
+++ b/MOVED
@@ -4001,4 +4001,3 @@ devel/py-pyls-black||2025-01-04|Repository has been archived by the owner. Use t
 net-im/telegram-desktop@qt5|net-im/telegram-desktop|2025-01-05|Flavorization has been removed. Qt 5.x has been long deprecated upstream. Please use unflavored net-im/telegram-desktop port based on Qt 6.x instead
 net-im/telegram-desktop@qt6|net-im/telegram-desktop|2025-01-05|Flavorization has been removed. Continue to enjoy net-im/telegram-desktop based on Qt 6.x as usual
 deskutils/iconbrowser|deskutils/elementary-iconbrowser|2025-01-06|Switch to reverse domain name notation
-math/curv||2025-01-10|Fails to build with boost-1.85+ and GitHub repository is marked archived
diff --git a/math/Makefile b/math/Makefile
index be451a531e4e..42e9839c877f 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -272,6 +272,7 @@
     SUBDIR += csdp
     SUBDIR += ctl-sat
     SUBDIR += cudd
+    SUBDIR += curv
     SUBDIR += cvc5
     SUBDIR += dbcsr
     SUBDIR += ddfun
diff --git a/math/curv/Makefile b/math/curv/Makefile
new file mode 100644
index 000000000000..451adec458df
--- /dev/null
+++ b/math/curv/Makefile
@@ -0,0 +1,49 @@
+PORTNAME=	curv
+DISTVERSION=	0.5
+PORTREVISION=	23
+CATEGORIES=	math lang graphics
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Language for making art using mathematics
+WWW=		https://github.com/curv3d/curv/
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+.if !exists(/usr/include/omp.h)
+BROKEN=		requires OpenMP support that is missing on this architecture
+.endif
+
+BROKEN=		fails to build with boost-1.85+
+BUILD_DEPENDS=	glm>0:math/glm
+LIB_DEPENDS=	libboost_system.so:devel/boost-libs \
+		libdouble-conversion.so:devel/double-conversion \
+		libglfw.so:graphics/glfw \
+		libImath.so:math/Imath \
+		libtbb.so:devel/onetbb \
+		libopenvdb.so:misc/openvdb
+
+USES=		cmake compiler:c++14-lang gl localbase:ldflags xorg
+USE_GL=		gl
+USE_XORG=	x11
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	curv3d
+GH_TUPLE=	ocornut:imgui:e0cab56:imgui/extern/imgui \
+		Tessil:ordered-map:4051af7:om/extern/ordered-map \
+		AmokHuginnsson:replxx:b901d5f:replxx/extern/replxx
+
+LDFLAGS+=	-lopenvdb
+
+PLIST_FILES=	bin/curv \
+		lib/curv/lib/blend.curv \
+		lib/curv/lib/builder.curv \
+		lib/curv/lib/noise.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..c5de5a8cfbc6
--- /dev/null
+++ b/math/curv/distinfo
@@ -0,0 +1,9 @@
+TIMESTAMP = 1633246172
+SHA256 (curv3d-curv-0.5_GH0.tar.gz) = 4c6949d62653e1ccb6f18cfa298833bfe9941a6a52d2738859f2f6a8c588632a
+SIZE (curv3d-curv-0.5_GH0.tar.gz) = 18443440
+SHA256 (ocornut-imgui-e0cab56_GH0.tar.gz) = 3a8aa936cf02f39fe49a17aba535b2d3e65a1611725284e62ad4445bbb7d4f2b
+SIZE (ocornut-imgui-e0cab56_GH0.tar.gz) = 1078436
+SHA256 (Tessil-ordered-map-4051af7_GH0.tar.gz) = 13d64a071835d96465343c84441ee42aa1a558f9e759da812049839cf0c7499c
+SIZE (Tessil-ordered-map-4051af7_GH0.tar.gz) = 68413
+SHA256 (AmokHuginnsson-replxx-b901d5f_GH0.tar.gz) = 485480b0c8da9971ef186f021123c19a77c44e565f6c578d6156d5af632d45e0
+SIZE (AmokHuginnsson-replxx-b901d5f_GH0.tar.gz) = 85903
diff --git a/math/curv/files/patch-CMakeLists.txt b/math/curv/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..926827f3a431
--- /dev/null
+++ b/math/curv/files/patch-CMakeLists.txt
@@ -0,0 +1,75 @@
+--- CMakeLists.txt.orig	2021-09-29 21:29:01 UTC
++++ CMakeLists.txt
+@@ -10,23 +10,23 @@ execute_process(COMMAND sh -c "${CMAKE_SOURCE_DIR}/cma
+ 
+ list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
+ 
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
++#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
+ 
+ # Configure global include directories, visible in subdirectories.
+ include_directories(.
+-    extern/double-conversion
++    #extern/double-conversion
+     extern/ordered-map/include
+     extern/blosc
+     extern/stb
+-    extern/glfw/include
+-    extern/glm
++    #extern/glfw/include
++    #extern/glm
+     extern/glad)
+ if (MSYS)
+     # On MSYS we use MinGW packages for OpenVDB and GoogleTest
+ else ()
+     include_directories(
+ 	extern/googletest/googletest/include
+-	extern/openvdb/openvdb)
++	)
+ endif ()
+ 
+ if (APPLE)
+@@ -45,6 +45,7 @@ endif (APPLE)
+ # Libraries
+ # ===============================================
+ 
++# REPLxx used to be unbundled, but due to the incompatibilities (see Bug#241205) it was bundled again
+ # REPLxx library
+ file(GLOB ReplxxSrc "extern/replxx/src/*.cxx" "extern/replxx/src/*.cpp")
+ add_library(replxx ${ReplxxSrc})
+@@ -55,9 +56,9 @@ set_property(TARGET replxx PROPERTY CXX_STANDARD 17)
+ target_compile_definitions(replxx PRIVATE REPLXX_STATIC=1)
+ 
+ # 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 17)
++#file(GLOB DoubleConversionSrc "extern/double-conversion/double-conversion/*.cc")
++#add_library(double-conversion ${DoubleConversionSrc})
++#set_property(TARGET double-conversion PROPERTY CXX_STANDARD 17)
+ 
+ # glad library, an OpenGL loader
+ add_library(glad
+@@ -100,7 +101,7 @@ if (MSYS)
+     set( LibOpenVDB "openvdb" )
+     set( LibHalf "Half" )
+ else ()
+-    set( LibOpenVDB "openvdb_static" )
++    #set( LibOpenVDB "openvdb_static" )
+     set( LibHalf "" )
+ endif ()
+ 
+@@ -194,9 +195,9 @@ if (NOT DEFINED MSYS)
+     add_library(dummy cmake/dummy.cc)
+     add_library(Blosc::blosc ALIAS dummy)
+     add_library(TBB::tbb ALIAS dummy)
+-    add_subdirectory(extern/openvdb/openvdb/openvdb EXCLUDE_FROM_ALL)
+-    set_property(TARGET openvdb_static PROPERTY CXX_STANDARD 14)
+-    add_subdirectory(extern/googletest/googletest EXCLUDE_FROM_ALL)
++    #add_subdirectory(extern/openvdb/openvdb/openvdb EXCLUDE_FROM_ALL)
++    #set_property(TARGET openvdb_static PROPERTY CXX_STANDARD 14)
++    #add_subdirectory(extern/googletest/googletest EXCLUDE_FROM_ALL)
+ endif ()
+ 
+-add_subdirectory(extern/glfw EXCLUDE_FROM_ALL)
++#add_subdirectory(extern/glfw EXCLUDE_FROM_ALL)
diff --git a/math/curv/files/patch-cmake_FindILMBase.cmake b/math/curv/files/patch-cmake_FindILMBase.cmake
new file mode 100644
index 000000000000..df960f135ab6
--- /dev/null
+++ b/math/curv/files/patch-cmake_FindILMBase.cmake
@@ -0,0 +1,10 @@
+--- cmake/FindILMBase.cmake.orig	2019-12-08 04:12:07 UTC
++++ cmake/FindILMBase.cmake
+@@ -6,6 +6,6 @@
+ 
+ SET( ILMBASE_FOUND TRUE )
+ SET( ILMBASE_INCLUDE_DIR "" )
+-SET( Ilmbase_HALF_LIBRARY -lHalf )
++SET( Ilmbase_HALF_LIBRARY -lImath )
+ SET( Ilmbase_IEX_LIBRARY -lIex )
+ SET( Ilmbase_ILMTHREAD_LIBRARY -lIlmThread )
diff --git a/math/curv/files/patch-libcurv_viewer_fbo.cc b/math/curv/files/patch-libcurv_viewer_fbo.cc
new file mode 100644
index 000000000000..b29439332695
--- /dev/null
+++ b/math/curv/files/patch-libcurv_viewer_fbo.cc
@@ -0,0 +1,10 @@
+--- libcurv/viewer/fbo.cc.orig	2019-10-22 18:20:49 UTC
++++ libcurv/viewer/fbo.cc
+@@ -25,6 +25,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH D
+ 
+ #include "fbo.h"
+ #include <iostream>
++#include <sys/types.h>
+ 
+ Fbo::Fbo():m_id(0), m_old_fbo_id(0), m_texture(0), m_depth_buffer(0), m_width(0), m_height(0), m_allocated(false), m_binded(false) {
+ }
diff --git a/math/curv/files/patch-libcurv_viewer_mesh.cc b/math/curv/files/patch-libcurv_viewer_mesh.cc
new file mode 100644
index 000000000000..8d0d213e8461
--- /dev/null
+++ b/math/curv/files/patch-libcurv_viewer_mesh.cc
@@ -0,0 +1,10 @@
+--- libcurv/viewer/mesh.cc.orig	2019-10-22 18:21:49 UTC
++++ libcurv/viewer/mesh.cc
+@@ -2,6 +2,7 @@
+ 
+ #include <iostream>
+ #include <fstream> 
++#include <sys/types.h>
+ 
+ //#include "fs.h"
+ #include "geom.h"
diff --git a/math/curv/files/patch-libcurv_viewer_text.cc b/math/curv/files/patch-libcurv_viewer_text.cc
new file mode 100644
index 000000000000..60b01cdb0b05
--- /dev/null
+++ b/math/curv/files/patch-libcurv_viewer_text.cc
@@ -0,0 +1,10 @@
+--- libcurv/viewer/text.cc.orig	2019-10-22 18:22:58 UTC
++++ libcurv/viewer/text.cc
+@@ -1,6 +1,7 @@
+ #include "text.h"
+ 
+ #include <algorithm>
++#include <sys/types.h>
+ 
+ std::string getLower(const std::string& _string) {
+     std::string std = _string;
diff --git a/math/curv/files/patch-libcurv_viewer_vertexLayout.cc b/math/curv/files/patch-libcurv_viewer_vertexLayout.cc
new file mode 100644
index 000000000000..e28ecafd60c9
--- /dev/null
+++ b/math/curv/files/patch-libcurv_viewer_vertexLayout.cc
@@ -0,0 +1,9 @@
+--- libcurv/viewer/vertexLayout.cc.orig	2019-10-22 18:23:57 UTC
++++ libcurv/viewer/vertexLayout.cc
+@@ -1,5 +1,6 @@
+ #include "vertexLayout.h"
+ #include "text.h"
++#include <sys/types.h>
+ 
+ std::map<GLint, GLuint> VertexLayout::s_enabledAttribs = std::map<GLint, GLuint>();
+ 
diff --git a/math/curv/pkg-descr b/math/curv/pkg-descr
new file mode 100644
index 000000000000..f002475d1f9d
--- /dev/null
+++ b/math/curv/pkg-descr
@@ -0,0 +1,22 @@
+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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202501110943.50B9halU053767>