New/resurrected port: cad/gerbv

Gerber Viewer (gerbv) is a viewer for Gerber files. Gerber files are
generated from PCB CAD system and sent to PCB manufacturers as basis
for the manufacturing process. The standard supported by gerbv is
RS-274X. The basic difference between RS-274D (the old standard) and
RS-274X is basically the addition of apertures in RS-274X. It might be
possible to make an RS-274X file out of an RS-274D file and an aperture
list.

gerbv also supports drill files. The format supported are known under
names as NC-drill or Excellon. The format is a bit undefined and different
EDA-vendors implement it different. But basically you need to have the
tools definition in the file, then the parser is quite tolerant. The
different holes are shown as dots in the (scaled) correct size.

The different layers of the PCB are separated into different files. gerbv
can load all files at the same time and display them "on top of each
other". You can independently turn them on and off.

WWW: http://gerbv.geda-project.org/

Submitted by:	Ash Gokhale <ashfixit@gmail.com>
Reviewed by:	dmn <graahnul.grom@ya.ru>
This commit is contained in:
Kurt Jaeger 2020-01-05 15:15:25 +00:00
parent a2fa609f1b
commit 7d40811af3
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=522143
6 changed files with 249 additions and 1 deletions

1
MOVED
View File

@ -13105,7 +13105,6 @@ benchmarks/filebench||2019-10-16|Has expired: Unfetchable, unmaintained
biology/chemeq||2019-10-16|Has expired: Unfetchable, unmaintained
biology/linux-foldingathome||2019-10-16|Has expired: Unfetchable, unmaintained
cad/dxf2fig||2019-10-16|Has expired: Unfetchable, unmaintained
cad/gerbv||2019-10-16|Has expired: Unfetchable, unmaintained
comms/gsmlib||2019-10-16|Has expired: Unfetchable, unmaintained
comms/nokryptia||2019-10-16|Has expired: Unfetchable, unmaintained
databases/mrtg-mysql-load||2019-10-16|Has expired: Unfetchable, unmaintained

View File

@ -35,6 +35,7 @@
SUBDIR += gdsreader
SUBDIR += gdt
SUBDIR += geda
SUBDIR += gerbv
SUBDIR += ghdl
SUBDIR += gmsh
SUBDIR += gnucap

78
cad/gerbv/Makefile Normal file
View File

@ -0,0 +1,78 @@
# Created by: ijliao
# $FreeBSD$
PORTNAME= gerbv
PORTVERSION= 2.7.0
PORTREVISION= 1
CATEGORIES= cad
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION}
MAINTAINER= pi@FreeBSD.org
COMMENT= Gerber file viewer
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2
USES= autoreconf compiler:c++11-lang desktop-file-utils gmake gnome \
libtool localbase pathfix pkgconfig
USE_GNOME= cairo gtk20
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
CONFIGURE_ENV= ac_aux_dir="."
INSTALLS_ICONS= yes
INSTALL_TARGET= install-strip
PLIST_SUB= VERSION="${PORTVERSION}"
OPTIONS_DEFINE= DOCS EXAMPLES
post-patch:
@${REINPLACE_CMD} -e \
's|^AM_NLS|#AM_NLS| ; \
s|^AM_GNU_GETTEXT|#AM_GNU_GETTEXT| ; \
/intl\/Makefile/d ; \
/po\/Makefile/d' ${WRKSRC}/configure.ac
@${REINPLACE_CMD} -e \
'/^SUBDIRS/s|=.*|= src man scheme|' ${WRKSRC}/Makefile.am
@${REINPLACE_CMD} -e \
'/^man_MANS/s|gerbv.ru.1|| ; \
s|^PO_|#PO_|' ${WRKSRC}/man/Makefile.am
@${REINPLACE_CMD} -e \
'/^pkgconfigdir/s|$$(libdir)|$$(prefix)/libdata|' \
${WRKSRC}/src/Makefile.am
post-install:
(cd ${WRKSRC}/desktop && ${INSTALL_DATA} gerbv.desktop \
${STAGEDIR}${DESKTOPDIR})
@${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps
(cd ${WRKSRC}/desktop && ${INSTALL_DATA} gerbv.svg \
${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps)
.for i in 16 22 24 32 48
@${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${i}x${i}/apps
(cd ${WRKSRC}/desktop && ${INSTALL_DATA} gerbv-${i}.png \
${STAGEDIR}${PREFIX}/share/icons/hicolor/${i}x${i}/apps/gerbv.png)
.endfor
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
(cd ${WRKSRC}/doc && ${INSTALL_DATA} *.fig *.txt \
${STAGEDIR}${DOCSDIR})
@${MKDIR} ${STAGEDIR}${DOCSDIR}/PNG-print
(cd ${WRKSRC}/doc/PNG-print && ${INSTALL_DATA} *.jpg *.txt \
${STAGEDIR}${DOCSDIR}/PNG-print)
@${MKDIR} ${STAGEDIR}${DOCSDIR}/eagle
(cd ${WRKSRC}/doc/eagle && ${INSTALL_DATA} *.pl *.txt \
${STAGEDIR}${DOCSDIR}/eagle)
post-install-EXAMPLES-on:
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
@(cd ${WRKSRC}/example && ${FIND} . \
! \( -name "*Makefile*" -or -name ".cvsignore" \) \
| ${CPIO} --quiet -pdm -L -R ${SHAREOWN}:${SHAREGRP} \
${STAGEDIR}${EXAMPLESDIR})
.include <bsd.port.mk>

3
cad/gerbv/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1548269427
SHA256 (gerbv-2.7.0.tar.gz) = c5ee808c4230ce6be3ad10ab63c547098386d43022704de25ddb9378e62053b4
SIZE (gerbv-2.7.0.tar.gz) = 5691407

19
cad/gerbv/pkg-descr Normal file
View File

@ -0,0 +1,19 @@
Gerber Viewer (gerbv) is a viewer for Gerber files. Gerber files are
generated from PCB CAD system and sent to PCB manufacturers as basis
for the manufacturing process. The standard supported by gerbv is
RS-274X. The basic difference between RS-274D (the old standard) and
RS-274X is basically the addition of apertures in RS-274X. It might be
possible to make an RS-274X file out of an RS-274D file and an aperture
list.
gerbv also supports drill files. The format supported are known under
names as NC-drill or Excellon. The format is a bit undefined and different
EDA-vendors implement it different. But basically you need to have the
tools definition in the file, then the parser is quite tolerant. The
different holes are shown as dots in the (scaled) correct size.
The different layers of the PCB are separated into different files. gerbv
can load all files at the same time and display them "on top of each
other". You can independently turn them on and off.
WWW: http://gerbv.geda-project.org/

148
cad/gerbv/pkg-plist Normal file
View File

@ -0,0 +1,148 @@
bin/gerbv
include/gerbv-%%VERSION%%/gerbv.h
lib/libgerbv.a
lib/libgerbv.so
lib/libgerbv.so.1
lib/libgerbv.so.1.0.9
libdata/pkgconfig/libgerbv.pc
man/man1/gerbv.1.gz
share/applications/gerbv.desktop
%%PORTDOCS%%%%DOCSDIR%%/PNG-print/PNGPrintMiniHowto.txt
%%PORTDOCS%%%%DOCSDIR%%/PNG-print/gimp-window.jpg
%%PORTDOCS%%%%DOCSDIR%%/aperturemacro.txt
%%PORTDOCS%%%%DOCSDIR%%/eagle/eagle2exc.pl
%%PORTDOCS%%%%DOCSDIR%%/eagle/eagle2exc.txt
%%PORTDOCS%%%%DOCSDIR%%/image2pixmap.fig
%%PORTDOCS%%%%DOCSDIR%%/projectfiles.txt
%%PORTDOCS%%%%DOCSDIR%%/sources.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/Mentor-BoardStation/README.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/Mentor-BoardStation/artwork_1.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/am-test/am-test.gbx
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/amacro-ref/1.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/amacro-ref/README.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/amacro-ref/full-ex.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/amacro-ref/gerbv_am_expression_bug.ger
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/amacro-ref/jj1.drl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/amacro-ref/jj1.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/amacro-ref/limit-ex.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/amacro-ref/stp0.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cslk/README.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cslk/cslk.gbx
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cslk/cslk.ps
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dan/README.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dan/top.gbx
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dan/top_sr.gbx
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/eaglecad1/top-cop.gbx
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/eaglecad1/top-cop.pdf
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ekf/README
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ekf/ekf.gap
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ekf/ekf_08.apt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ekf/l1.off
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ekf2/README.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ekf2/d1.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ekf2/drill0.exc
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ekf2/drill1.exc
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ekf2/drill20.exc
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ekf2/drill30.exc
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ekf2/gnd.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ekf2/l0.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ekf2/l1.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ekf2/l2.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ekf2/l3.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ekf2/l4.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ekf2/l5.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ekf2/pow.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ekf2/pow3.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ekf2/resplan.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ekf2/sieb0.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ekf2/sieb1.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ekf2/stp0.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ekf2/stp1.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/exposure/README.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/exposure/example.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/exposure/example.jpg
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/hellboard/README
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/hellboard/hellboard.back.gbr
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/hellboard/hellboard.fab.gbr
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/hellboard/hellboard.front.gbr
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/hellboard/hellboard.group1.gbr
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/hellboard/hellboard.group2.gbr
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/hellboard/hellboard.pcb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/hellboard/hellboard.plated-drill.cnc
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/jj/README.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/jj/l1-1.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/jj/l1-2.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/jj/l1-3.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/jj/l1-orig.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nollezappare/AssemblyTop.gdo
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nollezappare/EtchLayer2Bottom.gdo
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nollezappare/ThruHolePlated.ncd
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/numpres/numpres.pcb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/numpres/numpres.pcb.output_componentmask.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/numpres/numpres.pcb.output_componentsilk.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/numpres/numpres.pcb.output_group1.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/numpres/numpres.pcb.output_group2.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/numpres/numpres.pcb.output_plated-drill.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/numpres/numpres.pcb.output_soldermask.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/numpres/numpres.pcb.output_unplated-drill.grb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/orcad/README.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/orcad/ast.ps
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/orcad/rs232_cm.asb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/orcad/rs232_cm.ast
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/orcad/rs232_cm.bot
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/orcad/rs232_cm.drd
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/orcad/rs232_cm.smb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/orcad/rs232_cm.smt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/orcad/rs232_cm.ssb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/orcad/rs232_cm.sst
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/orcad/rs232_cm.top
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/orcad/thruhole.tap
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pick-and-place/LED.frontsilk.gbr
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pick-and-place/LED.xy
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/polarity/6_vbat.gbr
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/polarity/README.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/protel-pnp/Assembly_Drawings.pdf
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/protel-pnp/Final_Artwork_Prints.pdf
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/protel-pnp/Pick_Place_for_SE_SG_IF_V2.csv
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/protel-pnp/Pick_Place_for_SE_SG_IF_V2.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/protel-pnp/README.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/protel-pnp/SE_SG_IF_V2.DRL
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/protel-pnp/SE_SG_IF_V2.DRR
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/protel-pnp/SE_SG_IF_V2.GBL
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/protel-pnp/SE_SG_IF_V2.GBO
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/protel-pnp/SE_SG_IF_V2.GBS
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/protel-pnp/SE_SG_IF_V2.GD1
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/protel-pnp/SE_SG_IF_V2.GG1
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/protel-pnp/SE_SG_IF_V2.GM1
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/protel-pnp/SE_SG_IF_V2.GM2
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/protel-pnp/SE_SG_IF_V2.GTL
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/protel-pnp/SE_SG_IF_V2.GTO
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/protel-pnp/SE_SG_IF_V2.GTS
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/protel-pnp/SE_SG_IF_V2.LDP
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/protel-pnp/SE_SG_IF_V2.REP
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/protel-pnp/SE_SG_IF_V2.RUL
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/protel-pnp/SE_SG_IF_V2.TXT
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/protel-pnp/SE_SG_IF_V2.apr
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/protel-pnp/Status_Report.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/thermal/README.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/thermal/bpB.GP1
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/thermal/bpB.png
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/thermal/dsp.GP1
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/thermal/dsp.png
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/trailing/README.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/trailing/cd1r2.1_sieb0.off
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/trailing/cd1r2.1_sieb1.off
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/uwe/example-cairo.png
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/uwe/example-gdk.png
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/uwe/example-viewmate.png
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/uwe/example.gbr
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/uwe/mail.txt
%%DATADIR%%/scheme/gerb-debug.scm
%%DATADIR%%/scheme/gerb-ps.scm
%%DATADIR%%/scheme/init.scm
share/icons/hicolor/16x16/apps/gerbv.png
share/icons/hicolor/22x22/apps/gerbv.png
share/icons/hicolor/24x24/apps/gerbv.png
share/icons/hicolor/32x32/apps/gerbv.png
share/icons/hicolor/48x48/apps/gerbv.png
share/icons/hicolor/scalable/apps/gerbv.svg