Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Oct 2021 07:10:08 GMT
From:      Yuri Victorovich <yuri@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 3d127a91e2f2 - main - cad/gds3d: New port: Application for rendering IC (chip) layouts in 3D
Message-ID:  <202110040710.1947A8jP077592@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=3d127a91e2f2d7ca84c713e4df44ece54d97f1ef

commit 3d127a91e2f2d7ca84c713e4df44ece54d97f1ef
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2021-10-04 07:08:15 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2021-10-04 07:09:03 +0000

    cad/gds3d: New port: Application for rendering IC (chip) layouts in 3D
---
 cad/Makefile                   |  1 +
 cad/gds3d/Makefile             | 36 ++++++++++++++++++++++++++++++++++++
 cad/gds3d/distinfo             |  3 +++
 cad/gds3d/files/patch-Makefile | 33 +++++++++++++++++++++++++++++++++
 cad/gds3d/pkg-descr            |  7 +++++++
 5 files changed, 80 insertions(+)

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202110040710.1947A8jP077592>