Skip to content

Commit

Permalink
cad/gds3d: New port: Application for rendering IC (chip) layouts in 3D
Browse files Browse the repository at this point in the history
  • Loading branch information
yurivict committed Oct 4, 2021
1 parent 1f6b68e commit 3d127a9
Show file tree
Hide file tree
Showing 5 changed files with 80 additions and 0 deletions.
1 change: 1 addition & 0 deletions cad/Makefile
Expand Up @@ -34,6 +34,7 @@
SUBDIR += freecad
SUBDIR += freehdl
SUBDIR += fritzing
SUBDIR += gds3d
SUBDIR += gdsreader
SUBDIR += gdt
SUBDIR += geda
Expand Down
36 changes: 36 additions & 0 deletions 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>
3 changes: 3 additions & 0 deletions 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
33 changes: 33 additions & 0 deletions 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)
7 changes: 7 additions & 0 deletions 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

0 comments on commit 3d127a9

Please sign in to comment.