aboutsummaryrefslogtreecommitdiff
path: root/cad
diff options
context:
space:
mode:
authorDiane Bruce <db@FreeBSD.org>2020-03-15 00:39:34 +0000
committerDiane Bruce <db@FreeBSD.org>2020-03-15 00:39:34 +0000
commit066916c91c5d4730706cdaa69f306cd45b50652a (patch)
tree170ca1d38531da55119331757214a40944102ce1 /cad
parent498747d33db238c134b90f765f077076fdda7402 (diff)
downloadports-066916c91c5d4730706cdaa69f306cd45b50652a.tar.gz
ports-066916c91c5d4730706cdaa69f306cd45b50652a.zip
OpenCTM is a file format, a software library and a tool set for compression
of 3D triangle meshes. The geometry is compressed to a fraction of comparable file formats (3DS, STL, COLLADA...), and the format is accessible through a simple, portable API WWW: https://sourceforge.net/projects/openctm/
Notes
Notes: svn path=/head/; revision=528461
Diffstat (limited to 'cad')
-rw-r--r--cad/Makefile1
-rw-r--r--cad/openctm/Makefile36
-rw-r--r--cad/openctm/distinfo3
-rw-r--r--cad/openctm/files/patch-Makefile.linux60
-rw-r--r--cad/openctm/files/patch-lib_Makefile.linux32
-rw-r--r--cad/openctm/files/patch-tools_Makefile.linux116
-rw-r--r--cad/openctm/pkg-descr6
-rw-r--r--cad/openctm/pkg-plist7
8 files changed, 261 insertions, 0 deletions
diff --git a/cad/Makefile b/cad/Makefile
index fe765fa14bad..84a09a8d16ba 100644
--- a/cad/Makefile
+++ b/cad/Makefile
@@ -74,6 +74,7 @@
SUBDIR += ngspice_rework
SUBDIR += nvc
SUBDIR += opencascade
+ SUBDIR += openctm
SUBDIR += openscad
SUBDIR += openscad-devel
SUBDIR += openvsp
diff --git a/cad/openctm/Makefile b/cad/openctm/Makefile
new file mode 100644
index 000000000000..e7c98c2c26c2
--- /dev/null
+++ b/cad/openctm/Makefile
@@ -0,0 +1,36 @@
+# $FreeBSD$
+
+PORTNAME= openctm
+DISTVERSION= 1.0.3
+CATEGORIES= cad
+MASTER_SITES= https://sourceforge.net/projects/openctm/files/
+DISTNAME= OpenCTM-${DISTVERSION}-src
+
+MAINTAINER= db@FreeBSD.org
+COMMENT= OpenCTM is a file format for compression of 3D triangle meshes
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+LIB_DEPENDS= libtinyxml.so:textproc/tinyxml \
+ libpnglite.so:graphics/pnglite \
+ libfreetype.so:print/freetype2 \
+ libfontconfig.so:x11-fonts/fontconfig
+BUILD_DEPENDS= pnglite>0:graphics/pnglite \
+ tinyxml>0:textproc/tinyxml
+
+USES= tar:bz2 dos2unix gmake jpeg gettext-runtime gl gnome pkgconfig
+USE_GL= gl glu glew glut
+USE_GNOME= gtk20 pango atk cairo gdkpixbuf2 glib20
+MAKEFILE= Makefile.linux
+USE_LDCONFIG= yes
+
+WRKSRC= ${WRKDIR}/OpenCTM-${DISTVERSION}
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|' \
+ -e 's|%%STAGEDIR%%|${STAGEDIR}|' ${WRKSRC}/Makefile.linux
+ @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
+ ${WRKSRC}/tools/Makefile.linux ${WRKSRC}/Makefile.linux
+
+.include <bsd.port.mk>
diff --git a/cad/openctm/distinfo b/cad/openctm/distinfo
new file mode 100644
index 000000000000..46ecbaad3d50
--- /dev/null
+++ b/cad/openctm/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1584119020
+SHA256 (OpenCTM-1.0.3-src.tar.bz2) = 4a8d2608d97364f7eec56b7c637c56b9308ae98286b3e90dbb7413c90e943f1d
+SIZE (OpenCTM-1.0.3-src.tar.bz2) = 1507603
diff --git a/cad/openctm/files/patch-Makefile.linux b/cad/openctm/files/patch-Makefile.linux
new file mode 100644
index 000000000000..8215e56fd237
--- /dev/null
+++ b/cad/openctm/files/patch-Makefile.linux
@@ -0,0 +1,60 @@
+--- Makefile.linux.orig 2020-03-15 00:26:34 UTC
++++ Makefile.linux
+@@ -29,37 +29,41 @@
+ .phony: default all openctm toolset documentation install clean
+
+ default: openctm toolset
++all: openctm
+ all: openctm toolset documentation
+
+ clean:
+ cd lib && $(MAKE) -f Makefile.linux clean && cd ..
+ cd tools && $(MAKE) -f Makefile.linux clean && cd ..
+- cd doc && $(MAKE) -f Makefile.linux clean && cd ..
++# cd doc && $(MAKE) -f Makefile.linux clean && cd ..
+
+ openctm:
+- cd lib && $(MAKE) -f Makefile.linux -j2 && cd ..
++ cd lib && $(MAKE) -f Makefile.linux && cd ..
+
+ toolset:
+- cd tools && $(MAKE) -f Makefile.linux -j2 && cd ..
++ cd tools && $(MAKE) -f Makefile.linux && cd ..
+
+ documentation:
+- cd doc && $(MAKE) -f Makefile.linux -j2 && cd ..
++# cd doc && $(MAKE) -f Makefile.linux && cd ..
+
+
+ # Installation settings
+-LIBDIR = /usr/lib/
+-INCDIR = /usr/local/include/
+-BINDIR = /usr/local/bin/
+-MAN1DIR = /usr/local/share/man/man1/
++PREFIX = %%LOCALBASE%%
++STAGEDIR = %%STAGEDIR%%
++
++LIBDIR = $(PREFIX)/lib/
++INCDIR = $(PREFIX)/include/
++BINDIR = $(PREFIX)/bin/
++MAN1DIR = $(PREFIX)/man/man1/
+ CP = cp
+ MKDIR = mkdir -p
+
+ install:
+- $(CP) lib/libopenctm.so $(LIBDIR)
+- $(CP) lib/openctm.h $(INCDIR)
+- $(CP) lib/openctmpp.h $(INCDIR)
+- $(CP) tools/ctmconv $(BINDIR)
+- $(CP) tools/ctmviewer $(BINDIR)
+- $(MKDIR) $(MAN1DIR)
+- $(CP) doc/ctmconv.1 $(MAN1DIR)
+- $(CP) doc/ctmviewer.1 $(MAN1DIR)
++ $(CP) lib/libopenctm.so $(STAGEDIR)/$(LIBDIR)
++ $(CP) lib/openctm.h $(STAGEDIR)/$(INCDIR)
++ $(CP) lib/openctmpp.h $(STAGEDIR)/$(INCDIR)
++ $(CP) tools/ctmconv $(STAGEDIR)/$(BINDIR)
++ $(CP) tools/ctmviewer $(STAGEDIR)/$(BINDIR)
++ $(MKDIR) $(STAGEDIR)/$(MAN1DIR)
++ $(CP) doc/ctmconv.1 $(STAGEDIR)/$(MAN1DIR)
++ $(CP) doc/ctmviewer.1 $(STAGEDIR)/$(MAN1DIR)
diff --git a/cad/openctm/files/patch-lib_Makefile.linux b/cad/openctm/files/patch-lib_Makefile.linux
new file mode 100644
index 000000000000..277a200e34d3
--- /dev/null
+++ b/cad/openctm/files/patch-lib_Makefile.linux
@@ -0,0 +1,32 @@
+--- lib/Makefile.linux.orig 2020-03-15 00:27:35 UTC
++++ lib/Makefile.linux
+@@ -27,9 +27,9 @@
+ ###############################################################################
+
+ LZMADIR = liblzma
+-CC = gcc
+-CFLAGS = -O3 -W -Wall -c -fPIC -DOPENCTM_BUILD -I$(LZMADIR) -DLZMA_PREFIX_CTM -std=c99 -pedantic
+-CFLAGS_LZMA = -O3 -W -Wall -c -fPIC -DLZMA_PREFIX_CTM -std=c99 -pedantic
++CC ?= cc
++CFLAGS_CTM = -DOPENCTM_BUILD -I$(LZMADIR) -DLZMA_PREFIX_CTM -std=c99 -pedantic
++CFLAGS_LZMA = -DLZMA_PREFIX_CTM -std=c99 -pedantic
+ RM = rm -f
+ DEPEND = $(CPP) -MM
+
+@@ -67,13 +67,13 @@ clean:
+ $(RM) $(DYNAMICLIB) $(OBJS) $(LZMA_OBJS)
+
+ $(DYNAMICLIB): $(OBJS) $(LZMA_OBJS)
+- gcc -shared -s -Wl,-soname,$@ -o $@ $(OBJS) $(LZMA_OBJS) -lm
++ $(CC) -shared -s -Wl,-soname,$@ -o $@ $(OBJS) $(LZMA_OBJS) -lm
+
+ %.o: %.c
+- $(CC) $(CFLAGS) $<
++ $(CC) -c -fPIC $(CFLAGS_CTM) $(CFLAGS_LZMA) $<
+
+ %.o: $(LZMADIR)/%.c
+- $(CC) $(CFLAGS_LZMA) $<
++ $(CC) -c -fPIC $(CFLAGS) $(CFLAGS_LZMA) $<
+
+ depend:
+ $(DEPEND) $(SRCS) $(LZMA_SRCS) > make.depend
diff --git a/cad/openctm/files/patch-tools_Makefile.linux b/cad/openctm/files/patch-tools_Makefile.linux
new file mode 100644
index 000000000000..dfae2b78531c
--- /dev/null
+++ b/cad/openctm/files/patch-tools_Makefile.linux
@@ -0,0 +1,116 @@
+--- tools/Makefile.linux.orig 2020-03-15 00:26:34 UTC
++++ tools/Makefile.linux
+@@ -25,50 +25,57 @@
+ # distribution.
+ ###############################################################################
+
++LOCALBASE = %%LOCALBASE%%
+ OPENCTMDIR = ../lib
+-GLEWDIR = glew
+-JPEGDIR = jpeg
++#GLEWDIR = glew
++GLEWDIR = $(LOCALBASE)/include/GL
++#JPEGDIR = jpeg
+ RPLYDIR = rply
+-TINYXMLDIR = tinyxml
+-ZLIBDIR = zlib
+-PNGLITEDIR = pnglite
++#TINYXMLDIR = tinyxml
++#ZLIBDIR = zlib
++#PNGLITEDIR = pnglite
+
+-CPP = g++
+-CPPFLAGS = -c -O3 -W -Wall `pkg-config --cflags gtk+-2.0` -I$(OPENCTMDIR) -I$(RPLYDIR) -I$(JPEGDIR) -I$(TINYXMLDIR) -I$(GLEWDIR) -I$(ZLIBDIR) -I$(PNGLITEDIR)
++CC ?= cc
++CXX ?= c++
++CPP = ${CXX}
++CPPFLAGS += -W -Wall `pkg-config --cflags gtk+-2.0` -I$(OPENCTMDIR) -I$(RPLYDIR) -I$(GLEWDIR) -I$(LOCALBASE)/include
+
+ MESHOBJS = mesh.o meshio.o ctm.o ply.o rply.o stl.o 3ds.o dae.o obj.o lwo.o off.o wrl.o
+ CTMCONVOBJS = ctmconv.o common.o systimer.o convoptions.o $(MESHOBJS)
+-CTMVIEWEROBJS = ctmviewer.o common.o image.o systimer.o sysdialog_gtk.o convoptions.o glew.o pnglite.o $(MESHOBJS)
++CTMVIEWEROBJS = ctmviewer.o common.o image.o systimer.o sysdialog_gtk.o convoptions.o $(MESHOBJS)
+ CTMBENCHOBJS = ctmbench.o systimer.o
+
+ all: ctmconv ctmviewer ctmbench
+
+ clean:
+ rm -f ctmconv ctmviewer ctmbench $(CTMCONVOBJS) $(CTMVIEWEROBJS) $(CTMBENCHOBJS) bin2c phong_frag.h phong_vert.h
+- cd $(JPEGDIR) && $(MAKE) -f makefile.linux clean
+- cd $(TINYXMLDIR) && $(MAKE) -f Makefile.linux clean
+- cd $(ZLIBDIR) && $(MAKE) -f Makefile.linux clean
++# cd $(JPEGDIR) && $(MAKE) -f makefile.linux clean
++# cd $(TINYXMLDIR) && $(MAKE) -f Makefile.linux clean
++# cd $(ZLIBDIR) && $(MAKE) -f Makefile.linux clean
+
+-libopenctm.so: $(OPENCTMDIR)/libopenctm.so
+- cp $< $@
++#libopenctm.so: $(OPENCTMDIR)/libopenctm.so
++# cp $< $@
+
+-ctmconv: $(CTMCONVOBJS) $(TINYXMLDIR)/libtinyxml.a libopenctm.so
+- $(CPP) -s -o $@ -L$(OPENCTMDIR) -L$(TINYXMLDIR) $(CTMCONVOBJS) -Wl,-rpath,. -lopenctm -ltinyxml
++ctmconv: $(CTMCONVOBJS)
++ $(CPP) $(LDFLAGS) -s -o $@ -L$(OPENCTMDIR) $(CTMCONVOBJS) -lopenctm \
++ -L$(LOCALBASE)/lib -ltinyxml
+
+-ctmviewer: $(CTMVIEWEROBJS) $(JPEGDIR)/libjpeg.a $(TINYXMLDIR)/libtinyxml.a $(ZLIBDIR)/libz.a libopenctm.so
+- $(CPP) -s -o $@ -L$(OPENCTMDIR) -L$(TINYXMLDIR) -L$(JPEGDIR) -L$(ZLIBDIR) $(CTMVIEWEROBJS) -Wl,-rpath,. -lopenctm -ltinyxml -ljpeg -lz -lglut `pkg-config --libs gtk+-2.0`
++ctmviewer: $(CTMVIEWEROBJS)
++ $(CPP) $(LDFLAGS) -s -o $@ -L$(OPENCTMDIR) -L$(LOCALBASE)/lib \
++ $(CTMVIEWEROBJS) -lopenctm -ltinyxml -ljpeg -lz -lglut -lGL -lGLU -lGLEW \
++ -lpnglite `pkg-config --libs gtk+-2.0`
+
+-ctmbench: $(CTMBENCHOBJS) libopenctm.so
+- $(CPP) -s -o $@ -L$(OPENCTMDIR) $(CTMBENCHOBJS) -Wl,-rpath,. -lopenctm
++ctmbench: $(CTMBENCHOBJS)
++ $(CPP) $(LDFLAGS) -s -o $@ -L$(OPENCTMDIR) $(CTMBENCHOBJS) -lopenctm
+
+ %.o: %.cpp
+- $(CPP) $(CPPFLAGS) -o $@ $<
++ $(CPP) $(CPPFLAGS) -c -o $@ $<
+
+ ctmconv.o: ctmconv.cpp systimer.h convoptions.h mesh.h meshio.h
+ ctmviewer.o: ctmviewer.cpp common.h image.h systimer.h sysdialog.h mesh.h meshio.h phong_vert.h phong_frag.h icons/icon_open.h icons/icon_save.h icons/icon_help.h
+ ctmbench.o: ctmbench.cpp systimer.h
+ common.o: common.cpp common.h
+-image.o: image.cpp image.h common.h $(JPEGDIR)/libjpeg.a
++image.o: image.cpp image.h common.h
+ systimer.o: systimer.cpp systimer.h
+ sysdialog_gtk.o: sysdialog_gtk.cpp sysdialog.h
+ convoptions.o: convoptions.cpp convoptions.h
+@@ -93,20 +100,20 @@ phong_frag.h: phong.frag bin2c
+ bin2c: bin2c.cpp
+ $(CPP) -Os -W -Wall -o $@ $<
+
+-$(JPEGDIR)/libjpeg.a:
+- cd $(JPEGDIR) && $(MAKE) -f makefile.linux libjpeg.a
++#$(JPEGDIR)/libjpeg.a:
++# cd $(JPEGDIR) && $(MAKE) -f makefile.linux libjpeg.a
++#
++#$(ZLIBDIR)/libz.a:
++# cd $(ZLIBDIR) && $(MAKE) -f Makefile.linux
++#
++#glew.o: $(GLEWDIR)/glew.c
++# ${CC} -c -Os -W -I$(GLEWDIR) -o $@ $<
+
+-$(ZLIBDIR)/libz.a:
+- cd $(ZLIBDIR) && $(MAKE) -f Makefile.linux
+-
+-glew.o: $(GLEWDIR)/glew.c
+- gcc -c -Os -W -I$(GLEWDIR) -o $@ $<
+-
+ rply.o: $(RPLYDIR)/rply.c
+- gcc -c -O2 -W -I$(RPLYDIR) -o $@ $<
++ ${CC} -c -O2 -W -I$(RPLYDIR) -o $@ $<
+
+-pnglite.o: $(PNGLITEDIR)/pnglite.c
+- gcc -c -O2 -W -I$(PNGLITEDIR) -o $@ $<
+-
+-$(TINYXMLDIR)/libtinyxml.a:
+- cd $(TINYXMLDIR) && $(MAKE) -f Makefile.linux
++#pnglite.o: $(PNGLITEDIR)/pnglite.c
++# ${CC} -c -O2 -W -I$(PNGLITEDIR) -o $@ $<
++#
++#$(TINYXMLDIR)/libtinyxml.a:
++# cd $(TINYXMLDIR) && $(MAKE) -f Makefile.linux
diff --git a/cad/openctm/pkg-descr b/cad/openctm/pkg-descr
new file mode 100644
index 000000000000..97b65ad87111
--- /dev/null
+++ b/cad/openctm/pkg-descr
@@ -0,0 +1,6 @@
+OpenCTM is a file format, a software library and a tool set for compression
+of 3D triangle meshes. The geometry is compressed to a fraction of comparable
+file formats (3DS, STL, COLLADA...), and the format is accessible through
+a simple, portable API
+
+WWW: https://sourceforge.net/projects/openctm/
diff --git a/cad/openctm/pkg-plist b/cad/openctm/pkg-plist
new file mode 100644
index 000000000000..842749929f44
--- /dev/null
+++ b/cad/openctm/pkg-plist
@@ -0,0 +1,7 @@
+bin/ctmconv
+bin/ctmviewer
+include/openctm.h
+include/openctmpp.h
+lib/libopenctm.so
+man/man1/ctmconv.1.gz
+man/man1/ctmviewer.1.gz