Index: work/OS/Mageia/pcb-rnd.spec =================================================================== --- work/OS/Mageia/pcb-rnd.spec (revision 34918) +++ work/OS/Mageia/pcb-rnd.spec (revision 34919) @@ -1,6 +1,7 @@ # Build with --debug (1) or --symbols (0) %define debug 0 %define plugindir %{_usr}/lib/%{name}/plugins +%define libplugindir %{_usr}/lib/librnd/plugins %define major 2 %define libname %mklibname %{name} %{major} @@ -12,7 +13,7 @@ %define rel 1 Name: pcb-rnd -Version: 2.2.2 +Version: 2.4.0 Release: %mkrel %{?svn:%rel.%svn}%{?!svn:%rel} Summary: Standard installation License: GPLv2+ and LGPLv2+ and BSD and MIT @@ -54,40 +55,152 @@ Recommends: %{name}-doc = %{version}-%{release} Recommends: geda-gnetlist +Obsoletes: %{name}-static < 2.2.4-2 + %description -%{name} is a highly modular PCB (Printed Circuit Board) layout tool +pcb-rnd is a highly modular PCB (Printed Circuit Board) layout tool with a rich set of plugins for communicating with various external design tools and other EDA/CAD packages. -Install pcb-rnd core and the most commonly used plugins. +Feature highlights: + - subcircuits, pad stacks + - flexible footprint model; unrestricted pad shapes + - arbitrary copper, silk, paste and soldermask objects + - sophisticated, flexible layer model + - flexible/universal polygon model + - any object, even polygons, can have a clearance within a polygon + - advanced mil and mm grid, with support for mixed unit design + - strong CLI support + - static footprints and parametric (generated) footprints + - query language for advanced search & select + - powerful, user scriptable, modular Design Rule Checker (DRC) + - layout optimizers such as teardrops and a trace puller + - footprint library from local file systems, HTTP and board files + - netlist management: imported and as-built; back annotation + +File formats and compatibility: + - text based, tree structured native file format (lihata) + - import board: + * autotrax PCB board, version 4 + * autotrax PCB board, version 5 + * dsn board + * eagle xml board version 6, 7, 8 + * eagle binary board version 3, 4, 5 + * hyperlynx board, version 2 and above + * kicad board, version 3, 4 and 5 (s-expr) + * lihata pcb-rnd board (any version) + * PADS board + * gEDA/PCB .pcb board (any version up to 2017) + - export board: + * anonimized board statistics in lihata + * autotrax PCB board, version 4 + * dsn board + * hyperlynx board, version 2.0 + * kicad board, version 3 (s-expr) + * kicad pcbnew-board, version 1 (legacy plain text format) + * lihata pcb-rnd board (any version) + * gEDA/PCB .pcb board (various version up to 2017 ) + - import footprint: + * BXL footprints + * eagle xml footprint lib + * eagle binary footprint lib + * lihata pcb-rnd footprint (any version) + * Mentor Graphics cell footprints + * gEDA/PCB .fp footprints + * tEDAx footprint (any version) + - export footprint: + * kicad module (s-expr, according to version 3) + * kicad pcbnew-module (legacy plain text format) + * lihata pcb-rnd footprint (any version) + * gEDA/PCB .fp footprints + * tEDAx footprint (any version) + - import netlist: + * Accel ASCII netlists + footprint info + * calay (netlists + footprint info) + * flat netlist from EDIF + * freepcb netlist + footprint info + * gEDA/gschem (netlist + footprint info, running gnetlist) + * import ltspice .net and .asc (netlist and footprint info) + * flat .edf (netlist+footprint, produced by Mentor Graphics Design Capture) + * pcb-rnd action script (netlist + footprint info) + * schematics import by running a commandline + * netlist import by running a commandline + * gEDA netlist (plain text, no footprint info) + * Orcad PCB II (netlist + footprint info) + * PADS ascii (.asc, netlists + footprint info) + * Protel netlists 2.0 + footprint info + * tinycad .net (netlists + footprint info) + * eeschema netlist and footprint info + * tEDAx netlist (any version) + - export netlist: + * tEDAx netlist (any version) + - import image: + * pixmap (e.g. png) + * pnm (pixmap) + - export image: + * render in .png + * render in .gif + * render in .jpeg + * render black&white postscript (single or multiple files) + * render black&white or color embedded postscript (single file) + * svg (Scalable Vector Graphics) + - import misc: + * specctra .dsn (wires and vias) + * HPGL plot (lines, arcs, polygons) + * MUCS unixplot .pl (lines and vias) + * ttf font + * eagle DRU (design rules) + * lihata pcb-rnd font (any version) + * gEDA/PCB font + * tEDAx drc + * tEDAx pcb-rnd drc script + - export misc: + * bom (Bill of Materials, text) + * specctra .dsn (padstacks and subcircuits, works with freerouting.net) + * .dxf (2D drawing for mech CADs) + * excellon drill/cnc (for PCB fabbing) + * fidocad .fcd (partial export) + * export gcode (for milling) + * gerber for PCB fabbing + * IPC-D-356 Netlist (for automated testing) + * printer (using ps) + * list of terminal connections (old, custom format) + * OpenEMS (simulation, matlab files) + * openscad script (colored 3D model) + * stl (3d triangulated surface model) + * geda/PCB xy + * gxyrs + * Macrofab's pick&place + * pick&place file for the TM220/TM240 device + * KiCad .pos file + * IPC-D-356 Netlist (from automated testing) + * lihata pcb-rnd font (any version) + * tEDAx etest + * tEDAx drc + * tEDAx pcb-rnd drc script + %package -n %{libname} -Summary: library, binaries -Requires: pcb-rnd-core = %{version}-%{release} +Summary: Library, binaries %description -n %{libname} -%{name} HID, polygons, infrastructure for 3rd party applications. +HID, polygons, infrastructure for 3rd party applications. %package -n %{devname} -Summary: pcb-rnd library, headers +Summary: Library, headers Requires: %{libname} = %{version}-%{release} Provides: %{name}-devel = %{version}-%{release} %description -n %{devname} -HID, polygons, infrastructure for 3rd party applications. +HID, polygons, infrastructure for 3rd party applications. -%package static -Summary: Files for static linking - -%description static -Files for static linking %{name} libraries. - %package core Summary: Executable with the core functionality +Requires: %{libname} = %{version}-%{release} %description core Includes the data model, the most common action commands, the native file -format and the CLI (batch HID). Does not contain GUI. -Can be used in headless mode or batch/scripted mode for automated processing. +format and the CLI (batch HID). Does not contain GUI. Can be used in headless +mode or batch/scripted mode for automated processing. %package doc Summary: Documentation @@ -100,6 +213,7 @@ Summary: Autoroute and autoplace Requires: %{name}-core = %{version}-%{release} Requires: %{name}-lib-io = %{version}-%{release} +Requires: %{name}-io-standard = %{version}-%{release} %description auto Feature plugins for automated component placing and track routing. @@ -117,7 +231,7 @@ Requires: %{name}-core = %{version}-%{release} %description debug -Extra action commands to help debugging and diagnose problems and bugs. +Extra action commands to help in debugging and diagnosing problems and bugs. %package export-extra Summary: Export formats: special/extra @@ -125,8 +239,8 @@ Requires: %{name}-export = %{version}-%{release} %description export-extra -Less commonly used export formats: -fidocadj, ipc-356-d, direct printing with lpr. +Less commonly used export formats: fidocadj, ipc-356-d, direct printing +with lpr. %package export-sim Summary: Export plugins to simulators @@ -140,16 +254,16 @@ Requires: %{name}-core = %{version}-%{release} %description export -Export the board in vector graphics (svg, ps, eps), raster graphics (png, jpeg, -etc.), gerber, 3d model in openscad, xy for pick and place, BoM, etc. +Export the board in vector graphics (svg, ps, eps), raster graphics (png, +jpeg, etc.), gerber, 3d model in openscad, xy for pick and place, BoM, etc. %package extra -Summary: Extra action commands and optional functionality +Summary: Extra action commands and optional functionality Requires: %{name}-core = %{version}-%{release} %description extra -Align objects in grid, optimize tracks, font editor, combine polygons, renumber -subcircuits, apply vendor drill mapping. +Align objects in grid, optimize tracks, font editor, combine polygons, +renumber subcircuits, apply vendor drill mapping. %package hid-gtk2-gdk Summary: GUI: gtk2, software render @@ -181,13 +295,15 @@ Requires: %{name}-core = %{version}-%{release} %description import-geo -Import geometry from HPGL plots. HPGL can be produced (plotted) -with most mechanical cads. +Import geometry from HPGL plots. HPGL can be produced (plotted) with most +mechanical cads. %package import-net Summary: Netlist/schematics import plugins Requires: %{name}-core = %{version}-%{release} Requires: %{name}-lib-io = %{version}-%{release} +# Fix upgrade path Mga7>8 due to file move +Conflicts: %{name}-core < 2.3.1 %description import-net Import netlist and footprint information from edif, ltspice, mentor graphics, @@ -194,12 +310,13 @@ gschem and tinycad. %package io-alien -Summary: File format compatibility with other PCB design software +Summary: File format compatibility with other PCB layout designers Requires: %{name}-core = %{version}-%{release} Requires: %{name}-lib-io = %{version}-%{release} +Requires: %{name}-extra = %{version}-%{release} %description io-alien -Load and/or save board layouts in file formats supported by other EDA tools, +Load and/or save boards in file formats supported by other EDA tools, such as KiCAD, Eagle, protel/autotrax, etc. %package io-standard @@ -208,8 +325,8 @@ Requires: %{name}-lib-io = %{version}-%{release} %description io-standard -Plugins for tEDAx footprint format and the gEDA/PCB file formats -(footprint and board). +Plugins for tEDAx footprint format and the gEDA/PCB file formats (footprint +and board). %package lib-gl Summary: Support library for rendering with opengl @@ -233,8 +350,8 @@ Requires: %{name}-core = %{version}-%{release} %description lib-gui -Provides pcb-rnd specific dialog boxes (e.g. fontsel) and top window -GUI elements. +Provides pcb-rnd specific dialog boxes (e.g. fontsel) and top window GUI +elements. %package lib-io Summary: Support library for alien file formats @@ -241,8 +358,8 @@ Requires: %{name}-core = %{version}-%{release} %description lib-io -Provides generic, low level parsers (such as s-expression parser) -for I/O plugins that need to deal with alien file formats. +Provides generic, low level parsers (such as s-expression parser) for I/O +plugins that need to deal with alien file formats. %prep %autosetup -n %{name}-%{?svn}%{!?svn:%{version}} -p1 @@ -250,7 +367,7 @@ %build ./configure \ --libarchdir=%{_lib} \ ---all=disable --buildin-script --buildin-fp_fs --buildin-draw_fab --buildin-act_read --buildin-drc_query --buildin-mincut --buildin-report --buildin-rubberband_orig --buildin-exto_std --buildin-fp_board --buildin-propedit --buildin-io_lihata --buildin-autocrop --buildin-lib_polyhelp --buildin-draw_csect --buildin-ddraft --buildin-hid_batch --buildin-act_draw --buildin-tool_std --buildin-query --buildin-lib_compat_help --buildin-shape --buildin-lib_portynet --buildin-lib_formula --buildin-extedit --plugin-export_excellon --plugin-export_fidocadj --plugin-export_lpr --plugin-export_oldconn --plugin-irc --plugin-import_pxm_gd --plugin-export_stat --plugin-io_kicad_legacy --plugin-io_eagle --plugin-io_tedax --plugin-import_gnetlist --plugin-import_pxm_pnm --plugin-io_kicad --plugin-import_mucs --plugin-renumber --plugin-import_calay --plugin-smartdisperse --plugin-draw_fontsel --plugin-polycombine --plugin-export_gcode --plugin-export_bom --plugin-ar_cpcb --plugin-lib_hid_pcbui --plugin-teardrops --plugin-shand_cmd --plugin-import_tinycad --plugin-export_openems --plugin-import_ltspice --plugin-export_dxf --plugin-lib_gtk_common --plugin-export_ipcd356 --plugin-import_ttf --plugin-import_mentor_sch --plugin-import_dsn --plugin-export_ps --plugin-hid_gtk2_gdk --plugin-millpath --plugin-djopt --plugin-hid_gtk2_gl --plugin-import_edif --plugin-hid_lesstif --plugin-lib_gensexpr --plugin-import_sch2 --plugin-diag --plugin-lib_wget --plugin-lib_hid_gl --plugin-export_stl --plugin-autoplace --plugin-export_svg --plugin-import_net_cmd --plugin-fp_wget --plugin-fontmode --plugin-import_netlist --plugin-polystitch --plugin-dialogs --plugin-io_dsn --plugin-export_xy --plugin-import_hpgl --plugin-export_png --plugin-import_ipcd356 --plugin-export_dsn --plugin-lib_netmap --plugin-lib_hid_common --plugin-io_hyp --plugin-cam --plugin-puller --plugin-import_fpcb_nl --plugin-io_pcb --plugin-distalign --plugin-asm --plugin-export_openscad --plugin-jostle --plugin-autoroute --plugin-io_autotrax --plugin-vendordrill --plugin-export_gerber --plugin-io_bxl --plugin-import_net_action \ +--all=disable --buildin-script --buildin-fp_fs --buildin-draw_fab --buildin-act_read --buildin-drc_query --buildin-mincut --buildin-ch_onpoint --buildin-report --buildin-rubberband_orig --buildin-exto_std --buildin-fp_board --buildin-propedit --buildin-io_lihata --buildin-autocrop --buildin-lib_polyhelp --buildin-draw_csect --buildin-ddraft --buildin-ch_editpoint --buildin-hid_batch --buildin-act_draw --buildin-tool_std --buildin-show_netnames --buildin-query --buildin-lib_compat_help --buildin-lib_portynet --buildin-shape --buildin-lib_formula --buildin-extedit --plugin-export_excellon --plugin-export_fidocadj --plugin-export_lpr --plugin-export_oldconn --plugin-irc --plugin-import_pxm_gd --plugin-export_stat --plugin-io_kicad_legacy --plugin-io_eagle --plugin-io_tedax --plugin-import_gnetlist --plugin-import_pxm_pnm --plugin-io_kicad --plugin-import_mucs --plugin-renumber --plugin-import_calay --plugin-smartdisperse --plugin-draw_fontsel --plugin-polycombine --plugin-export_gcode --plugin-export_bom --plugin-ar_cpcb --plugin-lib_hid_pcbui --plugin-teardrops --plugin-shand_cmd --plugin-io_pads --plugin-import_tinycad --plugin-export_openems --plugin-import_orcad_net --plugin-import_ltspice --plugin-export_dxf --plugin-lib_gtk_common --plugin-export_ipcd356 --plugin-import_ttf --plugin-import_mentor_sch --plugin-import_dsn --plugin-export_ps --plugin-import_accel_net --plugin-hid_gtk2_gdk --plugin-millpath --plugin-djopt --plugin-hid_gtk2_gl --plugin-import_edif --plugin-hid_lesstif --plugin-import_protel_net --plugin-lib_gensexpr --plugin-import_sch2 --plugin-diag --plugin-lib_wget --plugin-lib_hid_gl --plugin-export_stl --plugin-autoplace --plugin-export_svg --plugin-import_net_cmd --plugin-fp_wget --plugin-fontmode --plugin-import_netlist --plugin-polystitch --plugin-import_pads_net --plugin-dialogs --plugin-io_dsn --plugin-export_xy --plugin-export_png --plugin-import_hpgl --plugin-import_ipcd356 --plugin-export_dsn --plugin-lib_hid_common --plugin-lib_netmap --plugin-io_hyp --plugin-cam --plugin-puller --plugin-import_fpcb_nl --plugin-io_pcb --plugin-distalign --plugin-asm --plugin-export_openscad --plugin-jostle --plugin-autoroute --plugin-io_autotrax --plugin-vendordrill --plugin-export_gerber --plugin-io_bxl --plugin-ar_extern --plugin-import_net_action \ %if %{debug} == 1 prefix=%{_prefix} --debug %else @@ -262,6 +379,12 @@ %install %make_install +# Fix upstream install bug +%ifarch x86_64 aarch64 +mkdir -p %{buildroot}/usr/lib/librnd/plugins +mv %{buildroot}%{_libdir}/librnd/plugins/* %{buildroot}/usr/lib/librnd/plugins/ +%endif + # Install icon cp %{SOURCE2} . mkdir -p %{buildroot}%{_iconsdir}/hicolor/scalable/apps @@ -276,7 +399,7 @@ %{_datadir}/applications/%{name}.desktop %files doc -%doc %{_docdir}/%{name}/* +%doc %{_docdir}/%{name}/ %files core %{_iconsdir}/hicolor/scalable/apps/pcb-rnd.svg @@ -294,11 +417,16 @@ %{_mandir}/man1/fp2subc.1* %{_mandir}/man1/pcb-prj2lht.1* %{_datadir}/%{name}/pcblib/* +%config(noreplace) %{_datadir}/%{name}/ch_editpoint.conf %config(noreplace) %{_datadir}/%{name}/drc_query.conf +%config(noreplace) %{_datadir}/%{name}/fp_fs.conf +%config(noreplace) %{_datadir}/%{name}/show_netnames.conf %files auto %{plugindir}/ar_cpcb.pup %{plugindir}/ar_cpcb.so +%{plugindir}/ar_extern.pup +%{plugindir}/ar_extern.so %{plugindir}/asm.pup %{plugindir}/asm.so %{plugindir}/autoplace.pup @@ -313,13 +441,14 @@ %{plugindir}/import_mucs.so %{plugindir}/smartdisperse.pup %{plugindir}/smartdisperse.so +%config(noreplace) %{_datadir}/%{name}/ar_extern.conf %config(noreplace) %{_datadir}/%{name}/asm.conf %files cloud %{plugindir}/fp_wget.pup %{plugindir}/fp_wget.so -%{plugindir}/lib_wget.pup -%{plugindir}/lib_wget.so +%{libplugindir}/lib_wget.pup +%{libplugindir}/lib_wget.so %config(noreplace) %{_datadir}/%{name}/fp_wget.conf %files debug @@ -400,18 +529,18 @@ %files hid-gtk2-gdk %{_datadir}/applications/%{name}-gtk2-gdk.desktop -%{plugindir}/hid_gtk2_gdk.pup -%{plugindir}/hid_gtk2_gdk.so +%{libplugindir}/hid_gtk2_gdk.pup +%{libplugindir}/hid_gtk2_gdk.so %files hid-gtk2-gl %{_datadir}/applications/%{name}-gtk2-gl.desktop -%{plugindir}/hid_gtk2_gl.pup -%{plugindir}/hid_gtk2_gl.so +%{libplugindir}/hid_gtk2_gl.pup +%{libplugindir}/hid_gtk2_gl.so %files hid-lesstif %{_datadir}/applications/%{name}-lesstif.desktop -%{plugindir}/hid_lesstif.pup -%{plugindir}/hid_lesstif.so +%{libplugindir}/hid_lesstif.pup +%{libplugindir}/hid_lesstif.so %files import-geo %{plugindir}/import_hpgl.pup @@ -424,6 +553,8 @@ %{plugindir}/import_ttf.so %files import-net +%{plugindir}/import_accel_net.pup +%{plugindir}/import_accel_net.so %{plugindir}/import_calay.pup %{plugindir}/import_calay.so %{plugindir}/import_edif.pup @@ -444,6 +575,12 @@ %{plugindir}/import_net_cmd.so %{plugindir}/import_netlist.pup %{plugindir}/import_netlist.so +%{plugindir}/import_orcad_net.pup +%{plugindir}/import_orcad_net.so +%{plugindir}/import_pads_net.pup +%{plugindir}/import_pads_net.so +%{plugindir}/import_protel_net.pup +%{plugindir}/import_protel_net.so %{plugindir}/import_sch2.pup %{plugindir}/import_sch2.so %{plugindir}/import_tinycad.pup @@ -468,6 +605,8 @@ %{plugindir}/io_kicad.so %{plugindir}/io_kicad_legacy.pup %{plugindir}/io_kicad_legacy.so +%{plugindir}/io_pads.pup +%{plugindir}/io_pads.so %{_mandir}/man1/txt2bxl.1* %{_mandir}/man1/bxl2txt.1* %{_bindir}/txt2bxl @@ -480,12 +619,12 @@ %{plugindir}/io_tedax.so %files lib-gl -%{plugindir}/lib_hid_gl.pup -%{plugindir}/lib_hid_gl.so +%{libplugindir}/lib_hid_gl.pup +%{libplugindir}/lib_hid_gl.so %files lib-gtk -%{plugindir}/lib_gtk_common.pup -%{plugindir}/lib_gtk_common.so +%{libplugindir}/lib_gtk_common.pup +%{libplugindir}/lib_gtk_common.so %files lib-gui %{plugindir}/dialogs.pup @@ -492,19 +631,20 @@ %{plugindir}/dialogs.so %{plugindir}/draw_fontsel.pup %{plugindir}/draw_fontsel.so -%{plugindir}/irc.pup -%{plugindir}/irc.so -%{plugindir}/lib_hid_common.pup -%{plugindir}/lib_hid_common.so %{plugindir}/lib_hid_pcbui.pup %{plugindir}/lib_hid_pcbui.so -%config(noreplace) %{_datadir}/%{name}/dialogs.conf +%{libplugindir}/irc.pup +%{libplugindir}/irc.so +%{libplugindir}/lib_hid_common.pup +%{libplugindir}/lib_hid_common.so +%config(noreplace) %{_datadir}/%{name}/adialogs.conf +%config(noreplace) %{_datadir}/librnd/dialogs.conf %files lib-io -%{plugindir}/lib_gensexpr.pup -%{plugindir}/lib_gensexpr.so %{plugindir}/lib_netmap.pup %{plugindir}/lib_netmap.so +%{libplugindir}/lib_gensexpr.pup +%{libplugindir}/lib_gensexpr.so %files -n %{libname} %{_libdir}/*.so.%{major}{,.*} @@ -512,10 +652,11 @@ %files -n %{devname} %{_includedir}/librnd/* %{_datadir}/librnd/librnd.mak -%{_libdir}/librnd +%{_libdir}/librnd/scconfig %{_libdir}/*.so -%{_libdir}/librnd/gen_conf %{_libdir}/librnd/puplug - -%files static +%{_libdir}/librnd/sphash +%{libplugindir}/map_plugins.sh +%{_libdir}/librnd/scconfig +# Included on upstream request: %{_libdir}/librnd-*.a