aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2021-10-04 07:08:15 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2021-10-04 07:09:03 +0000
commit3d127a91e2f2d7ca84c713e4df44ece54d97f1ef (patch)
treee06c95a486e6b288b1bfd73412e27ef8900ad745
parent1f6b68e29f176e84092fc6c29354326a18184ed2 (diff)
downloadports-3d127a91e2f2d7ca84c713e4df44ece54d97f1ef.tar.gz
ports-3d127a91e2f2d7ca84c713e4df44ece54d97f1ef.zip
cad/gds3d: New port: Application for rendering IC (chip) layouts in 3D
-rw-r--r--cad/Makefile1
-rw-r--r--cad/gds3d/Makefile36
-rw-r--r--cad/gds3d/distinfo3
-rw-r--r--cad/gds3d/files/patch-Makefile33
-rw-r--r--cad/gds3d/pkg-descr7
5 files changed, 80 insertions, 0 deletions
diff --git a/cad/Makefile b/cad/Makefile
index 6bd9f9e8d8d6..df6a54034b91 100644
--- a/cad/Makefile
+++ b/cad/Makefile
@@ -34,6 +34,7 @@
SUBDIR += freecad
SUBDIR += freehdl
SUBDIR += fritzing
+ SUBDIR += gds3d
SUBDIR += gdsreader
SUBDIR += gdt
SUBDIR += geda
diff --git a/cad/gds3d/Makefile b/cad/gds3d/Makefile
new file mode 100644
index 000000000000..ab5140707cf4
--- /dev/null
+++ b/cad/gds3d/Makefile
@@ -0,0 +1,36 @@
+PORTNAME= gds3d
+DISTVERSION= g20210503
+CATEGORIES= cad
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Application for rendering IC (chip) layouts in 3D
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/../LICENSE.txt
+
+USES= gl gmake localbase:ldflags xorg
+USE_XORG= x11
+USE_GL= gl
+
+USE_GITHUB= yes
+GH_ACCOUNT= trilomix
+GH_PROJECT= ${PORTNAME:tu}
+GH_TAGNAME= bcdb97a
+
+WRKSRC_SUBDIR= linux
+
+MAKE_ARGS= CC=${CXX}
+
+PLIST_FILES= bin/${PORTNAME:tu}
+
+post-patch: # workaround for https://github.com/trilomix/GDS3D/issues/14
+ @${REINPLACE_CMD} -e 's|Index = NULL;|Index = 0;|' ${WRKSRC}/../libgdsto3d/gdspolygon.cpp
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME:tu} ${STAGEDIR}${PREFIX}/bin
+
+do-test:
+ @cd ${WRKSRC}/.. && \
+ ${STAGEDIR}${PREFIX}/bin/${PORTNAME:tu} -a assembly/as_example.assembly
+
+.include <bsd.port.mk>
diff --git a/cad/gds3d/distinfo b/cad/gds3d/distinfo
new file mode 100644
index 000000000000..40100b5b952c
--- /dev/null
+++ b/cad/gds3d/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1633329571
+SHA256 (trilomix-GDS3D-g20210503-bcdb97a_GH0.tar.gz) = 9e1dd0d4c5634734c84d8f221e421fbc094181e1b1e8f58086632fa927f46aee
+SIZE (trilomix-GDS3D-g20210503-bcdb97a_GH0.tar.gz) = 4907550
diff --git a/cad/gds3d/files/patch-Makefile b/cad/gds3d/files/patch-Makefile
new file mode 100644
index 000000000000..576ffc582aa7
--- /dev/null
+++ b/cad/gds3d/files/patch-Makefile
@@ -0,0 +1,33 @@
+--- Makefile.orig 2021-05-03 10:27:15 UTC
++++ Makefile
+@@ -1,19 +1,19 @@
+ # Flags
+ CC=g++
+-CFLAGS=-c -w -O1 -I ../math/ -I ../gdsoglviewer/ -I ../libgdsto3d/
+-LDFLAGS=-L/usr/X11R6/lib64/ -lX11 -lGL -static-libgcc -static-libstdc++ -fopenmp
++CFLAGS+=-c -w -O1 -I ../math/ -I ../gdsoglviewer/ -I ../libgdsto3d/
++LDFLAGS+=-L/usr/X11R6/lib64/ -lX11 -lGL -static-libgcc -static-libstdc++ -fopenmp
+ # Static linking of stdc++ available starting at GCC 4.5
+
+ # Complicated system to fix .hash section, shame on you binutils guys!
+-LDD_MAJOR_VERSION_GTE3 := $(shell expr 2 \< `ldd --version | grep ldd | cut -d' ' -f4 | cut -d. -f1`)
+-LDD_MINOR_VERSION_GTE5 := $(shell expr 4 \< `ldd --version | grep ldd | cut -d' ' -f4 | cut -d. -f2`)
+-ifeq "$(LDD_MINOR_VERSION_GTE5)" "1"
+- LDFLAGS += -Wl,--hash-style=both
+-else
+- ifeq "$(LDD_MAJOR_VERSION_GTE3)" "1"
+- LDFLAGS += -Wl,--hash-style=both
+- endif
+-endif
++#LDD_MAJOR_VERSION_GTE3 := $(shell expr 2 \< `ldd --version | grep ldd | cut -d' ' -f4 | cut -d. -f1`)
++#LDD_MINOR_VERSION_GTE5 := $(shell expr 4 \< `ldd --version | grep ldd | cut -d' ' -f4 | cut -d. -f2`)
++#ifeq "$(LDD_MINOR_VERSION_GTE5)" "1"
++# LDFLAGS += -Wl,--hash-style=both
++#else
++# ifeq "$(LDD_MAJOR_VERSION_GTE3)" "1"
++# LDFLAGS += -Wl,--hash-style=both
++# endif
++#endif
+
+ # Include all sources in the folders
+ SOURCES=$(wildcard *.cpp) $(wildcard ../math/*.cpp) $(wildcard ../gdsoglviewer/*.cpp) $(wildcard ../libgdsto3d/*.cpp) $(wildcard ../libgdsto3d/clipper/*.cpp) $(wildcard ../libgdsto3d/voro++/src/voro++.cc)
diff --git a/cad/gds3d/pkg-descr b/cad/gds3d/pkg-descr
new file mode 100644
index 000000000000..05fbe7e72efb
--- /dev/null
+++ b/cad/gds3d/pkg-descr
@@ -0,0 +1,7 @@
+GDS3D is an application that can interpret so called IC layouts and render them
+in 3D. The program accepts standard GDSII files as input data. Along with the
+layout file, it requires a so called process definition file which contains the
+3D parameters of the process being used. These files combined allow the program
+to create a 3D representation of an ASIC design.
+
+WWW: https://github.com/trilomix/GDS3D