aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2023-08-28 08:47:12 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2023-08-28 08:47:12 +0000
commita0b1e485fa2c8358866a513dfa2b92ce5a6a8959 (patch)
treede75d9728be5fda1e2aa0beab8b78d2d8f699c90
parentd4c0e0c91b8ee0c1728eec035c6d0b556337d702 (diff)
downloadports-a0b1e485fa2c8358866a513dfa2b92ce5a6a8959.tar.gz
ports-a0b1e485fa2c8358866a513dfa2b92ce5a6a8959.zip
cad/gdstk: New port: C++ library for creation and manipulation of GDSII and OASIS files
-rw-r--r--cad/Makefile1
-rw-r--r--cad/gdstk/Makefile20
-rw-r--r--cad/gdstk/distinfo3
-rw-r--r--cad/gdstk/files/patch-CMakeLists.txt11
-rw-r--r--cad/gdstk/pkg-descr11
-rw-r--r--cad/gdstk/pkg-plist28
6 files changed, 74 insertions, 0 deletions
diff --git a/cad/Makefile b/cad/Makefile
index bdb5c4d15857..d0f48e1d9673 100644
--- a/cad/Makefile
+++ b/cad/Makefile
@@ -38,6 +38,7 @@
SUBDIR += gds3d
SUBDIR += gdscpp
SUBDIR += gdsreader
+ SUBDIR += gdstk
SUBDIR += gdt
SUBDIR += geda
SUBDIR += gerbv
diff --git a/cad/gdstk/Makefile b/cad/gdstk/Makefile
new file mode 100644
index 000000000000..c505a5c14bc7
--- /dev/null
+++ b/cad/gdstk/Makefile
@@ -0,0 +1,20 @@
+PORTNAME= gdstk
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.9.42
+CATEGORIES= cad
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= C++ library for creation and manipulation of GDSII and OASIS files
+WWW= https://heitzmann.github.io/gdstk/
+
+LICENSE= BSL
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= cmake compiler:c++11-lang
+
+USE_GITHUB= yes
+GH_ACCOUNT= heitzmann
+
+CMAKE_ON= BUILD_SHARED_LIBS
+
+.include <bsd.port.mk>
diff --git a/cad/gdstk/distinfo b/cad/gdstk/distinfo
new file mode 100644
index 000000000000..3771818e5ad2
--- /dev/null
+++ b/cad/gdstk/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1693211997
+SHA256 (heitzmann-gdstk-v0.9.42_GH0.tar.gz) = 303c6fc4b1de91091c776da928ae71ef0fcfc1b86ed1d1aacae4e2339968d5b4
+SIZE (heitzmann-gdstk-v0.9.42_GH0.tar.gz) = 629280
diff --git a/cad/gdstk/files/patch-CMakeLists.txt b/cad/gdstk/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..98f04cb62ae5
--- /dev/null
+++ b/cad/gdstk/files/patch-CMakeLists.txt
@@ -0,0 +1,11 @@
+--- CMakeLists.txt.orig 2023-08-28 08:41:29 UTC
++++ CMakeLists.txt
+@@ -50,7 +50,7 @@ foreach(IT ${ZLIB_LIBRARIES})
+ set(PRIVATE_LIBS "${PRIVATE_LIBS} ${IT}")
+ endforeach()
+
+-add_library(gdstk STATIC
++add_library(gdstk
+ src/cell.cpp
+ src/clipper_tools.cpp
+ src/curve.cpp
diff --git a/cad/gdstk/pkg-descr b/cad/gdstk/pkg-descr
new file mode 100644
index 000000000000..1300c7e4f921
--- /dev/null
+++ b/cad/gdstk/pkg-descr
@@ -0,0 +1,11 @@
+Gdstk (GDSII Tool Kit) is a C++ library for creation and manipulation
+of GDSII and OASIS files. It is also available as a Python module
+meant to be a successor to Gdspy.
+
+Key features for the creation of complex CAD layouts are included:
+* Boolean operations on polygons (AND, OR, NOT, XOR) based on clipping algorithm
+* Polygon offset (inward and outward rescaling of polygons)
+* Efficient point-in-polygon solutions for large array sets
+
+Typical applications of Gdstk are in the fields of electronic chip design,
+planar lightwave circuit design, and mechanical engineering.
diff --git a/cad/gdstk/pkg-plist b/cad/gdstk/pkg-plist
new file mode 100644
index 000000000000..7d972a760a47
--- /dev/null
+++ b/cad/gdstk/pkg-plist
@@ -0,0 +1,28 @@
+include/gdstk.h
+include/gdstk/allocator.h
+include/gdstk/array.h
+include/gdstk/cell.h
+include/gdstk/clipper_tools.h
+include/gdstk/curve.h
+include/gdstk/flexpath.h
+include/gdstk/font.h
+include/gdstk/gdsii.h
+include/gdstk/gdswriter.h
+include/gdstk/label.h
+include/gdstk/library.h
+include/gdstk/map.h
+include/gdstk/oasis.h
+include/gdstk/pathcommon.h
+include/gdstk/polygon.h
+include/gdstk/property.h
+include/gdstk/rawcell.h
+include/gdstk/reference.h
+include/gdstk/repetition.h
+include/gdstk/robustpath.h
+include/gdstk/set.h
+include/gdstk/sort.h
+include/gdstk/style.h
+include/gdstk/utils.h
+include/gdstk/vec.h
+lib/libgdstk.so
+libdata/pkgconfig/gdstk.pc