diff --git a/cad/Makefile b/cad/Makefile index 6bd9f9e8d8d6..df6a54034b91 100644 --- a/cad/Makefile +++ b/cad/Makefile @@ -1,134 +1,135 @@ COMMENT = CAD tools SUBDIR += NASTRAN-95 SUBDIR += PrusaSlicer SUBDIR += abc SUBDIR += admesh SUBDIR += adms SUBDIR += alliance SUBDIR += appcsxcad SUBDIR += archimedes SUBDIR += astk-client SUBDIR += astk-serveur SUBDIR += atlc SUBDIR += basicdsp SUBDIR += brlcad SUBDIR += calculix SUBDIR += calculix-ccx SUBDIR += caneda SUBDIR += cascade SUBDIR += cascade-compiler SUBDIR += chipvault SUBDIR += csxcad SUBDIR += cura SUBDIR += cura-engine SUBDIR += digital SUBDIR += dinotrace SUBDIR += ecpprog SUBDIR += electric SUBDIR += electric-ng SUBDIR += fasm SUBDIR += fdm_materials SUBDIR += feappv SUBDIR += fidocadj SUBDIR += freecad SUBDIR += freehdl SUBDIR += fritzing + SUBDIR += gds3d SUBDIR += gdsreader SUBDIR += gdt SUBDIR += geda SUBDIR += gerbv SUBDIR += ghdl SUBDIR += gmsh SUBDIR += gnucap SUBDIR += gplcver SUBDIR += graywolf SUBDIR += gspiceui SUBDIR += gtkwave SUBDIR += horizon-eda SUBDIR += ifcopenshell SUBDIR += impact SUBDIR += irsim SUBDIR += iverilog SUBDIR += jspice3 SUBDIR += k40-whisperer SUBDIR += kicad SUBDIR += kicad-devel SUBDIR += kicad-doc SUBDIR += kicad-library-footprints SUBDIR += kicad-library-footprints-devel SUBDIR += kicad-library-packages3d SUBDIR += kicad-library-packages3d-devel SUBDIR += kicad-library-symbols SUBDIR += kicad-library-symbols-devel SUBDIR += kicad-library-templates SUBDIR += kicad-library-templates-devel SUBDIR += klayout SUBDIR += ktechlab SUBDIR += ldraw SUBDIR += ldview SUBDIR += leocad SUBDIR += lepton-eda SUBDIR += libopencad SUBDIR += librecad SUBDIR += libredwg SUBDIR += librepcb SUBDIR += linux-eagle5 SUBDIR += logisim SUBDIR += magic SUBDIR += meshdev SUBDIR += meshlab SUBDIR += netgen SUBDIR += netgen-lvs SUBDIR += ngspice_rework SUBDIR += nvc SUBDIR += opencascade SUBDIR += openctm SUBDIR += openfpgaloader SUBDIR += openroad SUBDIR += openscad SUBDIR += openscad-devel SUBDIR += opentimer SUBDIR += openvsp SUBDIR += oregano SUBDIR += p5-GDS2 SUBDIR += p5-Verilog-Perl SUBDIR += pcb SUBDIR += pdnmesh SUBDIR += py-cadquery SUBDIR += py-cq-editor SUBDIR += py-ezdxf SUBDIR += py-gdspy SUBDIR += py-lcapy SUBDIR += py-ocp SUBDIR += py-phidl SUBDIR += py-pyfda SUBDIR += python-gdsii SUBDIR += qcad SUBDIR += qcsxcad SUBDIR += qelectrotech SUBDIR += qflow SUBDIR += qmls SUBDIR += qrouter SUBDIR += repsnapper SUBDIR += rubygem-gdsii SUBDIR += scotch SUBDIR += solvespace SUBDIR += sp2sp SUBDIR += spice SUBDIR += stepcode SUBDIR += stm32flash SUBDIR += sumo SUBDIR += sweethome3d SUBDIR += tkgate SUBDIR += tochnog SUBDIR += uranium SUBDIR += verilator SUBDIR += verilog-mode.el SUBDIR += veroroute SUBDIR += xcircuit SUBDIR += yosys SUBDIR += z88 SUBDIR += zcad .include 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 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