cad/gds3d: New port: Application for rendering IC (chip) layouts in 3D

This commit is contained in:
Yuri Victorovich 2021-10-04 00:08:15 -07:00
parent 1f6b68e29f
commit 3d127a91e2
5 changed files with 80 additions and 0 deletions

View file

@ -34,6 +34,7 @@
SUBDIR += freecad SUBDIR += freecad
SUBDIR += freehdl SUBDIR += freehdl
SUBDIR += fritzing SUBDIR += fritzing
SUBDIR += gds3d
SUBDIR += gdsreader SUBDIR += gdsreader
SUBDIR += gdt SUBDIR += gdt
SUBDIR += geda SUBDIR += geda

36
cad/gds3d/Makefile Normal file
View file

@ -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>

3
cad/gds3d/distinfo Normal file
View file

@ -0,0 +1,3 @@
TIMESTAMP = 1633329571
SHA256 (trilomix-GDS3D-g20210503-bcdb97a_GH0.tar.gz) = 9e1dd0d4c5634734c84d8f221e421fbc094181e1b1e8f58086632fa927f46aee
SIZE (trilomix-GDS3D-g20210503-bcdb97a_GH0.tar.gz) = 4907550

View file

@ -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)

7
cad/gds3d/pkg-descr Normal file
View file

@ -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