# Build with --debug (1) or --symbols (0) %global debug 0 %global plugindir %{_usr}/lib/%{name}/plugins %global libplugindir %{_usr}/lib/librnd/plugins ## NOTE This spec must be auto-generated. # Only edit version, release and svn revision in here. # See packaging.README for full details. # # The current librnd-devel package in the same Mga release system # as building for and in, must be installed before auto updating # the spec. # # For svn snapshot: # Run './mk-tar' in SOURCES and note the svn revision # in output. # In this spec. edit the 'define svn' to the new revision and # replace '#' with percent sign if not already there. # # For full release: # Get the new tarball # Replace percent sign with '#' in 'define svn' line # # Then for either full or snapshot release: # Edit this spec to the new Version and Release, save and close. # Now run './mk-spec pcb-rnd' in SOURCES to re-create # this spec file with any upstream changes. ############################################## # Commented out if not svn snapshot %global rel 4 Name: pcb-rnd Version: 3.1.6 Release: 4%{?dist} Summary: Standard installation License: GPL-2.0-or-later and LGPL-2.0-or-later and BSD-1-Clause and MIT Group: Sciences/Other URL: http://repo.hu/projects/pcb-rnd Source0: %{URL}/releases/%{name}-%{version}.tar.gz Source1: mk-tar Source2: %{name}.svg Source3: %{name}.desktop Source4: mk-spec Source5: spec.tpl Source6: packaging.README BuildRequires: gcc make desktop-file-utils BuildRequires: libfungw-devel libgenht-devel BuildRequires: librnd-devel >= 4.1.0 BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(gdlib) BuildRequires: pkgconfig(glu) BuildRequires: pkgconfig(libxml-2.0) Requires: %{name}-core = %{version}-%{release} Requires: hicolor-icon-theme Recommends: %{name}-io-standard = %{version}-%{release} Recommends: %{name}-io-alien = %{version}-%{release} Recommends: %{name}-lib-gui = %{version}-%{release} Recommends: %{_lib}rnd4-hid-gtk2-gl >= 4.2.0 Recommends: %{_lib}rnd4-hid-gtk2-gdk >= 4.2.0 Recommends: %{name}-export = %{version}-%{release} Recommends: %{name}-export-sim = %{version}-%{release} Recommends: %{name}-export-extra = %{version}-%{release} Recommends: %{name}-auto = %{version}-%{release} Recommends: %{name}-extra = %{version}-%{release} Recommends: %{name}-cloud = %{version}-%{release} Recommends: %{name}-doc = %{version}-%{release} Recommends: %{name}-import-net = %{version}-%{release} Recommends: %{name}-doc = %{version}-%{release} #BuildArch: noarch #Obsoletes: %%{name}-static < 2.2.4-2 %description 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. 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 For full details of supported formats etc. please visit: http://www.repo.hu/projects/pcb-rnd/datasheet.html %package core Summary: Executable with the core functionality Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{_lib}rnd4 >= 4.2.0 %description core Includes the data model, the most common action commands, the native file format. Can be used in headless mode or batch/scripted mode for automated processing or with GUI (if pcb-rnd-lib-gui and librnd GUI HIDs are installed). %package doc Summary: Documentation BuildArch: noarch %description doc User manual (HTML) and manual pages. %package auto Summary: Autoroute and autoplace Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-core = %{version}-%{release} Requires: %{_lib}rnd4 >= 4.2.0 Requires: %{name}-lib-io = %{version}-%{release} Requires: %{name}-io-standard = %{version}-%{release} %description auto Feature plugins for automated component placing and track routing. %package cloud Summary: Networking plugins Requires: wget Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-core = %{version}-%{release} Requires: %{_lib}rnd4-cloud >= 4.2.0 Requires: %{name}-export = %{version}-%{release} %description cloud 'Cloud' footprint access plugin that integrates edakrill and gedasymbols.org. %package debug Summary: Debug and diagnostics Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-core = %{version}-%{release} %description debug Extra action commands to help in debugging and diagnosing problems and bugs. %package export-extra Summary: Export formats: special/extra Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-core = %{version}-%{release} Requires: %{name}-export = %{version}-%{release} %description export-extra Less commonly used export formats: fidocadj, ipc-356-d, stl, old geda connection list format, direct printing with lpr. %package export-sim Summary: Export plugins to simulators Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-core = %{version}-%{release} %description export-sim Export the board in formats that can be used for simulation: openems. %package export Summary: Common export plugins Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-core = %{version}-%{release} Requires: %{_lib}rnd4 >= 4.2.0 Requires: %{_lib}rnd4-pixmap >= 4.2.0 %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. %package extra Summary: Extra action commands and optional functionality Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-core = %{version}-%{release} %description extra Align objects in grid, optimize tracks, font editor, combine polygons, renumber subcircuits, apply vendor drill mapping. %package import-geo Summary: Geometry import Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-core = %{version}-%{release} %description import-geo Plugins for importing pixmaps, fonts and vector graphics. %package import-net Summary: Netlist/schematics import plugins Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-core = %{version}-%{release} Requires: %{_lib}rnd4 >= 4.2.0 %description import-net Import netlist and footprint information from edif, ltspice, mentor graphics, gschem and tinycad. %package io-alien Summary: File format compatibility with other PCB layout designers Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-core = %{version}-%{release} Requires: %{name}-lib-io = %{version}-%{release} Requires: %{name}-extra = %{version}-%{release} Requires: %{_lib}rnd4 >= 4.2.0 %description io-alien Load and/or save boards in file formats supported by other EDA tools, such as KiCAD, Eagle, protel/autotrax, etc. %package io-standard Summary: Commonly used non-native board and footprint file formats Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-core = %{version}-%{release} Requires: %{name}-lib-io = %{version}-%{release} %description io-standard Plugins for tEDAx footprint format and the gEDA/PCB file formats (footprint and board). %package lib-gui Summary: Support library for building the GUI Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-core = %{version}-%{release} Requires: %{_lib}rnd4-lib-gui >= 4.2.0 %description lib-gui Provides pcb-rnd specific dialog boxes (e.g. fontsel) and top window GUI elements. %package lib-io Summary: Support library for alien file formats Requires: %{name}%{?_isa} = %{version}-%{release} 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. %prep %autosetup -n %{name}-%{?svn}%{!?svn:%{version}} -p1 %build ./configure --prefix=%{_usr} --libarchdir=%{_lib} --CFLAGS="%{build_cflags} -fno-lto" \ --all=disable --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-act_draw --buildin-tool_std --buildin-show_netnames --buildin-query --buildin-lib_compat_help --buildin-shape --buildin-lib_formula --buildin-extedit --buildin-draw_pnp --plugin-io_easyeda --plugin-export_excellon --plugin-export_fidocadj --plugin-export_lpr --plugin-export_oldconn --plugin-export_stat --plugin-io_kicad_legacy --plugin-io_eagle --plugin-io_tedax --plugin-import_gnetlist --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-order_pcbway --plugin-import_ltspice --plugin-export_dxf --plugin-export_ipcd356 --plugin-import_ttf --plugin-import_mentor_sch --plugin-export_ps --plugin-import_accel_net --plugin-millpath --plugin-djopt --plugin-import_edif --plugin-import_protel_net --plugin-import_sch2 --plugin-diag --plugin-export_stl --plugin-autoplace --plugin-export_svg --plugin-import_net_cmd --plugin-fp_wget --plugin-export_hpgl --plugin-fontmode --plugin-import_netlist --plugin-polystitch --plugin-order --plugin-import_pads_net --plugin-dialogs --plugin-import_sch_rnd --plugin-io_dsn --plugin-export_xy --plugin-export_png --plugin-import_hpgl --plugin-import_ipcd356 --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 prefix=%{_prefix} --symbols %endif %install make %make_install # Install icon #cp %%{SOURCE2} . mkdir -p %{buildroot}%{_iconsdir}/hicolor/scalable/apps cp %{SOURCE2} %{buildroot}%{_iconsdir}/hicolor/scalable/apps/ # Install Desktop files desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE3} %check %files # Meta-Package with desktop file %doc AUTHORS README Release_notes %license COPYING #%%{_datadir}/applications/%%{name}.desktop %files doc %{_docdir}/%{name}/ %files core %{_iconsdir}/hicolor/scalable/apps/%{name}.svg %{_datadir}/applications/%{name}.desktop %{_bindir}/%{name} %dir %{_sysconfdir}/%{name} %{_mandir}/man1/%{name}.1* %config(noreplace) %{_sysconfdir}/%{name}/conf_core.lht %config(noreplace) %{_sysconfdir}/%{name}/menu-default.lht %{_datadir}/%{name}/default2.lht %{_datadir}/%{name}/default4.lht %{_datadir}/%{name}/default_font %{_bindir}/fp2preview %{_bindir}/fp2subc %{_bindir}/pcb-prj2lht %{_mandir}/man1/fp2preview.1* %{_mandir}/man1/fp2subc.1* %{_mandir}/man1/pcb-prj2lht.1* %{_datadir}/%{name}/footprint/ %config(noreplace) %{_sysconfdir}/%{name}/ch_editpoint.conf %config(noreplace) %{_sysconfdir}/%{name}/draw_pnp.conf %config(noreplace) %{_sysconfdir}/%{name}/drc_query.conf %config(noreplace) %{_sysconfdir}/%{name}/fp_fs.conf %config(noreplace) %{_sysconfdir}/%{name}/show_netnames.conf %doc AUTHORS README Release_notes %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 %{plugindir}/autoplace.so %{plugindir}/autoroute.pup %{plugindir}/autoroute.so %{plugindir}/import_mucs.pup %{plugindir}/import_mucs.so %{plugindir}/smartdisperse.pup %{plugindir}/smartdisperse.so %config(noreplace) %{_sysconfdir}/%{name}/ar_extern.conf %config(noreplace) %{_sysconfdir}/%{name}/asm.conf %doc AUTHORS README Release_notes %files cloud %{plugindir}/fp_wget.pup %{plugindir}/fp_wget.so %{plugindir}/order.pup %{plugindir}/order.so %{plugindir}/order_pcbway.pup %{plugindir}/order_pcbway.so %config(noreplace) %{_sysconfdir}/%{name}/fp_wget.conf %config(noreplace) %{_sysconfdir}/%{name}/order_pcbway.conf %config(noreplace) %{_sysconfdir}/%{name}/order.conf %doc AUTHORS README Release_notes %files debug %{plugindir}/diag.pup %{plugindir}/diag.so %doc AUTHORS README Release_notes %files export-extra %{plugindir}/export_fidocadj.pup %{plugindir}/export_fidocadj.so %{plugindir}/export_ipcd356.pup %{plugindir}/export_ipcd356.so %{plugindir}/export_lpr.pup %{plugindir}/export_lpr.so %{plugindir}/export_oldconn.pup %{plugindir}/export_oldconn.so %{plugindir}/export_stl.pup %{plugindir}/export_stl.so %doc AUTHORS README Release_notes %files export-sim %{plugindir}/export_openems.pup %{plugindir}/export_openems.so %doc AUTHORS README Release_notes %files export %{plugindir}/cam.pup %{plugindir}/cam.so %{plugindir}/export_bom.pup %{plugindir}/export_bom.so %{plugindir}/export_dxf.pup %{plugindir}/export_dxf.so %{plugindir}/export_excellon.pup %{plugindir}/export_excellon.so %{plugindir}/export_gcode.pup %{plugindir}/export_gcode.so %{plugindir}/export_gerber.pup %{plugindir}/export_gerber.so %{plugindir}/export_hpgl.pup %{plugindir}/export_hpgl.so %{plugindir}/export_openscad.pup %{plugindir}/export_openscad.so %{plugindir}/export_png.pup %{plugindir}/export_png.so %{plugindir}/export_ps.pup %{plugindir}/export_ps.so %{plugindir}/export_stat.pup %{plugindir}/export_stat.so %{plugindir}/export_svg.pup %{plugindir}/export_svg.so %{plugindir}/export_xy.pup %{plugindir}/export_xy.so %{plugindir}/millpath.pup %{plugindir}/millpath.so %{_bindir}/%{name}-svg %{_mandir}/man1/%{name}-svg.1* %config(noreplace) %{_sysconfdir}/%{name}/cam.conf %config(noreplace) %{_sysconfdir}/%{name}/export_bom.conf %config(noreplace) %{_sysconfdir}/%{name}/export_xy.conf %doc AUTHORS README Release_notes %files extra %{plugindir}/distalign.pup %{plugindir}/distalign.so %{plugindir}/djopt.pup %{plugindir}/djopt.so %{plugindir}/fontmode.pup %{plugindir}/fontmode.so %{plugindir}/jostle.pup %{plugindir}/jostle.so %{plugindir}/polycombine.pup %{plugindir}/polycombine.so %{plugindir}/polystitch.pup %{plugindir}/polystitch.so %{plugindir}/puller.pup %{plugindir}/puller.so %{plugindir}/renumber.pup %{plugindir}/renumber.so %{plugindir}/shand_cmd.pup %{plugindir}/shand_cmd.so %{plugindir}/teardrops.pup %{plugindir}/teardrops.so %{plugindir}/vendordrill.pup %{plugindir}/vendordrill.so %doc AUTHORS README Release_notes %files import-geo %{plugindir}/import_hpgl.pup %{plugindir}/import_hpgl.so %{plugindir}/import_ttf.pup %{plugindir}/import_ttf.so %doc AUTHORS README Release_notes %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 %{plugindir}/import_edif.so %{plugindir}/import_fpcb_nl.pup %{plugindir}/import_fpcb_nl.so %{plugindir}/import_gnetlist.pup %{plugindir}/import_gnetlist.so %{plugindir}/import_ipcd356.pup %{plugindir}/import_ipcd356.so %{plugindir}/import_ltspice.pup %{plugindir}/import_ltspice.so %{plugindir}/import_mentor_sch.pup %{plugindir}/import_mentor_sch.so %{plugindir}/import_net_action.pup %{plugindir}/import_net_action.so %{plugindir}/import_net_cmd.pup %{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_sch_rnd.pup %{plugindir}/import_sch_rnd.so %{plugindir}/import_tinycad.pup %{plugindir}/import_tinycad.so %{_bindir}/gsch2%{name} %{_usr}/lib/%{name}/g*.scm %{_mandir}/man1/gsch2%{name}.1* %config(noreplace) %{_sysconfdir}/%{name}/import_gnetlist.conf %config(noreplace) %{_sysconfdir}/%{name}/import_sch_rnd.conf %doc AUTHORS README Release_notes %files io-alien %{plugindir}/io_autotrax.pup %{plugindir}/io_autotrax.so %{plugindir}/io_bxl.pup %{plugindir}/io_bxl.so %{plugindir}/io_dsn.pup %{plugindir}/io_dsn.so %{plugindir}/io_eagle.pup %{plugindir}/io_eagle.so %{plugindir}/io_easyeda.pup %{plugindir}/io_easyeda.so %{plugindir}/io_hyp.pup %{plugindir}/io_hyp.so %{plugindir}/io_kicad.pup %{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 %{_bindir}/bxl2txt %config(noreplace) %{_sysconfdir}/%{name}/io_easyeda.conf %config(noreplace) %{_sysconfdir}/%{name}/io_pads.conf %doc AUTHORS README Release_notes %files io-standard %{plugindir}/io_pcb.pup %{plugindir}/io_pcb.so %{plugindir}/io_tedax.pup %{plugindir}/io_tedax.so %doc AUTHORS README Release_notes %files lib-gui %{plugindir}/dialogs.pup %{plugindir}/dialogs.so %{plugindir}/draw_fontsel.pup %{plugindir}/draw_fontsel.so %{plugindir}/lib_hid_pcbui.pup %{plugindir}/lib_hid_pcbui.so %config(noreplace) %{_sysconfdir}/%{name}/adialogs.conf %doc AUTHORS README Release_notes %files lib-io %{plugindir}/lib_netmap.pup %{plugindir}/lib_netmap.so %doc AUTHORS README Release_notes %changelog * Mon Jan 20 2025 Pappy Packager - Version: 3.1.6-%{rel} - Rebuilt for Fedora 41