svn commit: r429524 - in head/cad: . libopencad libopencad/files
Dmitry Marakasov
amdmi3 at FreeBSD.org
Mon Dec 26 14:29:08 UTC 2016
Author: amdmi3
Date: Mon Dec 26 14:29:06 2016
New Revision: 429524
URL: https://svnweb.freebsd.org/changeset/ports/429524
Log:
Libopencad is a library written in C++11, which provides a way to
read/write CAD (DWG/DXF/DXFB) files. It was designed to have a
uniformal API to work with any CAD files.
It has a base class - CADFile.
Inheriting this class it's possible to create a driver for any CAD
format, all you need to do - is to overwrite interface functions
like GetGeometry(index), and others.
Now it has an implementation for DWG2000 (R15), but only for read.
Library comes with cadinfo utility, which prints out everything
library can get from file - header variables, CAD custom classes,
presented layers and geometries with their attributes.
WWW: https://trac.osgeo.org/gdal/wiki/DWG_driver
PR: 212129
Submitted by: lbartoletti at tuxfamily.org
Added:
head/cad/libopencad/
head/cad/libopencad/Makefile (contents, props changed)
head/cad/libopencad/distinfo (contents, props changed)
head/cad/libopencad/files/
head/cad/libopencad/files/patch-lib_cadheader.cpp (contents, props changed)
head/cad/libopencad/files/patch-lib_cadheader.h (contents, props changed)
head/cad/libopencad/files/patch-tests_CMakeLists.txt (contents, props changed)
head/cad/libopencad/pkg-descr (contents, props changed)
head/cad/libopencad/pkg-plist (contents, props changed)
Modified:
head/cad/Makefile
Modified: head/cad/Makefile
==============================================================================
--- head/cad/Makefile Mon Dec 26 14:26:47 2016 (r429523)
+++ head/cad/Makefile Mon Dec 26 14:29:06 2016 (r429524)
@@ -49,6 +49,7 @@
SUBDIR += layouteditor
SUBDIR += ldraw
SUBDIR += leocad
+ SUBDIR += libopencad
SUBDIR += librecad
SUBDIR += linux-eagle5
SUBDIR += linuxcnc-devel
Added: head/cad/libopencad/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/cad/libopencad/Makefile Mon Dec 26 14:29:06 2016 (r429524)
@@ -0,0 +1,22 @@
+# Created by: lbartoletti <lbartoletti at tuxfamily.org>
+# $FreeBSD$
+
+PORTNAME= libopencad
+PORTVERSION= 0.2.0
+CATEGORIES= cad graphics geography
+
+MAINTAINER= lbartoletti at tuxfamily.org
+COMMENT= Library which provides a way to read/write CAD (DWG/DXF/DXFB) files
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BROKEN_FreeBSD_9= does not build (lack of c++11 support)
+
+USE_GITHUB= yes
+GH_ACCOUNT= sandyre
+
+USES= cmake compiler:c++11-lib
+USE_LDCONFIG= yes
+
+.include <bsd.port.mk>
Added: head/cad/libopencad/distinfo
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/cad/libopencad/distinfo Mon Dec 26 14:29:06 2016 (r429524)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1472070376
+SHA256 (sandyre-libopencad-0.2.0_GH0.tar.gz) = 181a33fd8bc6046366c9d5d3a22590817d8f4ab7b87efdeac9fecdc34fe94019
+SIZE (sandyre-libopencad-0.2.0_GH0.tar.gz) = 4245877
Added: head/cad/libopencad/files/patch-lib_cadheader.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/cad/libopencad/files/patch-lib_cadheader.cpp Mon Dec 26 14:29:06 2016 (r429524)
@@ -0,0 +1,29 @@
+--- lib/cadheader.cpp.orig 2016-08-24 13:25:41 UTC
++++ lib/cadheader.cpp
+@@ -243,6 +243,17 @@ CADVariant::CADVariant( const char * val
+ dateTimeVal = 0;
+ }
+
++CADVariant::CADVariant( long val )
++{
++ type = DataType ::DECIMAL;
++ decimalVal = val;
++ stringVal = to_string( decimalVal );
++ xVal = 0;
++ yVal = 0;
++ zVal = 0;
++ dateTimeVal = 0;
++}
++
+ CADVariant::CADVariant( int val )
+ {
+ type = DataType::DECIMAL;
+@@ -303,7 +314,7 @@ CADVariant::CADVariant( const string& va
+ dateTimeVal = 0;
+ }
+
+-CADVariant::CADVariant( time_t val )
++CADVariant::CADVariant( time_t val, bool bIsTime )
+ {
+ type = DataType::DATETIME;
+ dateTimeVal = val;
Added: head/cad/libopencad/files/patch-lib_cadheader.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/cad/libopencad/files/patch-lib_cadheader.h Mon Dec 26 14:29:06 2016 (r429524)
@@ -0,0 +1,25 @@
+--- lib/cadheader.h.orig 2016-08-24 13:25:41 UTC
++++ lib/cadheader.h
+@@ -35,6 +35,7 @@
+ #include <map>
+ #include <string>
+ #include <vector>
++#include <ctime>
+
+ class OCAD_EXTERN CADHandle final
+ {
+@@ -64,12 +65,13 @@ public:
+ CADVariant();
+ CADVariant( const char * val );
+ CADVariant( int val );
++ CADVariant( long val );
+ CADVariant( short val );
+ CADVariant( double val );
+ CADVariant( double x, double y, double z = 0 );
+ CADVariant( const CADHandle& val );
+ CADVariant( const std::string& val );
+- CADVariant( time_t val );
++ CADVariant( time_t val, bool bIsTime );
+ public:
+ CADVariant( const CADVariant& orig );
+ CADVariant& operator=( const CADVariant& orig );
Added: head/cad/libopencad/files/patch-tests_CMakeLists.txt
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/cad/libopencad/files/patch-tests_CMakeLists.txt Mon Dec 26 14:29:06 2016 (r429524)
@@ -0,0 +1,14 @@
+--- tests/CMakeLists.txt.orig 2016-08-24 13:25:41 UTC
++++ tests/CMakeLists.txt
+@@ -41,10 +41,8 @@ if(BUILD_TESTS)
+
+
+ find_package(Threads)
+- set(TARGET_LINK_LIB ${TARGET_LINK_LIB} ${CMAKE_THREAD_LIBS_INIT} ${TARGET_LINK})
++ set(TARGET_LINK_LIB ${TARGET_LINK_LIB} ${CMAKE_THREAD_LIBS_INIT} ${CMAKE_DL_LIBS} ${TARGET_LINK})
+
+- find_library(DL_LIB dl)
+- set(TARGET_LINK_LIB ${TARGET_LINK_LIB} ${DL_LIB})
+ find_library(M_LIB m)
+ set(TARGET_LINK_LIB ${TARGET_LINK_LIB} ${M_LIB})
+
Added: head/cad/libopencad/pkg-descr
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/cad/libopencad/pkg-descr Mon Dec 26 14:29:06 2016 (r429524)
@@ -0,0 +1,17 @@
+Libopencad is a library written in C++11, which provides a way to
+read/write CAD (DWG/DXF/DXFB) files. It was designed to have a
+uniformal API to work with any CAD files.
+
+It has a base class - CADFile.
+
+Inheriting this class it's possible to create a driver for any CAD
+format, all you need to do - is to overwrite interface functions
+like GetGeometry(index), and others.
+
+Now it has an implementation for DWG2000 (R15), but only for read.
+
+Library comes with cadinfo utility, which prints out everything
+library can get from file - header variables, CAD custom classes,
+presented layers and geometries with their attributes.
+
+WWW: https://trac.osgeo.org/gdal/wiki/DWG_driver
Added: head/cad/libopencad/pkg-plist
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/cad/libopencad/pkg-plist Mon Dec 26 14:29:06 2016 (r429524)
@@ -0,0 +1,14 @@
+bin/cadinfo
+include/opencad/cadclasses.h
+include/opencad/cadcolors.h
+include/opencad/caddictionary.h
+include/opencad/cadfile.h
+include/opencad/cadfileio.h
+include/opencad/cadgeometry.h
+include/opencad/cadheader.h
+include/opencad/cadlayer.h
+include/opencad/cadobjects.h
+include/opencad/cadtables.h
+include/opencad/opencad.h
+include/opencad/opencad_api.h
+lib/libopencadstatic.a
More information about the svn-ports-head
mailing list