Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Mar 2020 00:39:34 +0000 (UTC)
From:      Diane Bruce <db@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r528461 - in head/cad: . openctm openctm/files
Message-ID:  <202003150039.02F0dYl2070677@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: db
Date: Sun Mar 15 00:39:34 2020
New Revision: 528461
URL: https://svnweb.freebsd.org/changeset/ports/528461

Log:
  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/

Added:
  head/cad/openctm/
  head/cad/openctm/Makefile   (contents, props changed)
  head/cad/openctm/distinfo   (contents, props changed)
  head/cad/openctm/files/
  head/cad/openctm/files/patch-Makefile.linux   (contents, props changed)
  head/cad/openctm/files/patch-lib_Makefile.linux   (contents, props changed)
  head/cad/openctm/files/patch-tools_Makefile.linux   (contents, props changed)
  head/cad/openctm/pkg-descr   (contents, props changed)
  head/cad/openctm/pkg-plist   (contents, props changed)
Modified:
  head/cad/Makefile

Modified: head/cad/Makefile
==============================================================================
--- head/cad/Makefile	Sat Mar 14 23:35:37 2020	(r528460)
+++ head/cad/Makefile	Sun Mar 15 00:39:34 2020	(r528461)
@@ -74,6 +74,7 @@
     SUBDIR += ngspice_rework
     SUBDIR += nvc
     SUBDIR += opencascade
+    SUBDIR += openctm
     SUBDIR += openscad
     SUBDIR += openscad-devel
     SUBDIR += openvsp

Added: head/cad/openctm/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/cad/openctm/Makefile	Sun Mar 15 00:39:34 2020	(r528461)
@@ -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>

Added: head/cad/openctm/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/cad/openctm/distinfo	Sun Mar 15 00:39:34 2020	(r528461)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1584119020
+SHA256 (OpenCTM-1.0.3-src.tar.bz2) = 4a8d2608d97364f7eec56b7c637c56b9308ae98286b3e90dbb7413c90e943f1d
+SIZE (OpenCTM-1.0.3-src.tar.bz2) = 1507603

Added: head/cad/openctm/files/patch-Makefile.linux
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/cad/openctm/files/patch-Makefile.linux	Sun Mar 15 00:39:34 2020	(r528461)
@@ -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)

Added: head/cad/openctm/files/patch-lib_Makefile.linux
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/cad/openctm/files/patch-lib_Makefile.linux	Sun Mar 15 00:39:34 2020	(r528461)
@@ -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

Added: head/cad/openctm/files/patch-tools_Makefile.linux
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/cad/openctm/files/patch-tools_Makefile.linux	Sun Mar 15 00:39:34 2020	(r528461)
@@ -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

Added: head/cad/openctm/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/cad/openctm/pkg-descr	Sun Mar 15 00:39:34 2020	(r528461)
@@ -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/

Added: head/cad/openctm/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/cad/openctm/pkg-plist	Sun Mar 15 00:39:34 2020	(r528461)
@@ -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



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