%define Werror_cflags %{nil} %define docname kicad-doc %define libname kicad-library %define i18nname kicad-i18n Summary: EDA software suite for creation of schematic diagrams and PCBs Name: kicad Version: 4.0.4 Release: 1 Epoch: 2 License: GPLv2+ Group: Sciences/Computer science Url: http://www.kicad-pcb.org Source0: https://launchpad.net/%{name}/4.0/%{version}/+download/%{name}-%{version}.tar.xz Source1: https://github.com/KiCad/%{docname}/archive/%{docname}-%{version}.tar.gz Source2: https://github.com/KiCad/%{libname}/archive/%{libname}-%{version}.tar.gz Source3: https://github.com/KiCad/%{i18nname}/archive/%{i18nname}-%{version}.tar.gz # This needs to be aligned with kicad-library-*/template/fp-lib-table.for-pretty Source4: https://github.com/KiCad/Air_Coils_SML_NEOSID.pretty/archive/Air_Coils_SML_NEOSID.pretty-%{version}.tar.gz Source5: https://github.com/KiCad/Buttons_Switches_SMD.pretty/archive/Buttons_Switches_SMD.pretty-%{version}.tar.gz Source6: https://github.com/KiCad/Buttons_Switches_ThroughHole.pretty/archive/Buttons_Switches_ThroughHole.pretty-%{version}.tar.gz Source7: https://github.com/KiCad/Buzzers_Beepers.pretty/archive/Buzzers_Beepers.pretty-%{version}.tar.gz Source8: https://github.com/KiCad/Capacitors_SMD.pretty/archive/Capacitors_SMD.pretty-%{version}.tar.gz Source9: https://github.com/KiCad/Capacitors_Tantalum_SMD.pretty/archive/Capacitors_Tantalum_SMD.pretty-%{version}.tar.gz Source10: https://github.com/KiCad/Capacitors_ThroughHole.pretty/archive/Capacitors_ThroughHole.pretty-%{version}.tar.gz Source11: https://github.com/KiCad/Choke_Axial_ThroughHole.pretty/archive/Choke_Axial_ThroughHole.pretty-%{version}.tar.gz Source12: https://github.com/KiCad/Choke_Common-Mode_Wurth.pretty/archive/Choke_Common-Mode_Wurth.pretty-%{version}.tar.gz Source13: https://github.com/KiCad/Choke_Radial_ThroughHole.pretty/archive/Choke_Radial_ThroughHole.pretty-%{version}.tar.gz Source14: https://github.com/KiCad/Choke_SMD.pretty/archive/Choke_SMD.pretty-%{version}.tar.gz Source15: https://github.com/KiCad/Choke_Toroid_ThroughHole.pretty/archive/Choke_Toroid_ThroughHole.pretty-%{version}.tar.gz Source16: https://github.com/KiCad/Connectors_Molex.pretty/archive/Connectors_Molex.pretty-%{version}.tar.gz Source17: https://github.com/KiCad/Connect.pretty/archive/Connect.pretty-%{version}.tar.gz Source18: https://github.com/KiCad/Converters_DCDC_ACDC.pretty/archive/Converters_DCDC_ACDC.pretty-%{version}.tar.gz Source19: https://github.com/KiCad/Crystals.pretty/archive/Crystals.pretty-%{version}.tar.gz Source20: https://github.com/KiCad/Diodes_SMD.pretty/archive/Diodes_SMD.pretty-%{version}.tar.gz Source21: https://github.com/KiCad/Diodes_ThroughHole.pretty/archive/Diodes_ThroughHole.pretty-%{version}.tar.gz Source22: https://github.com/KiCad/Discret.pretty/archive/Discret.pretty-%{version}.tar.gz Source23: https://github.com/KiCad/Display.pretty/archive/Display.pretty-%{version}.tar.gz Source24: https://github.com/KiCad/Displays_7-Segment.pretty/archive/Displays_7-Segment.pretty-%{version}.tar.gz Source25: https://github.com/KiCad/Divers.pretty/archive/Divers.pretty-%{version}.tar.gz Source26: https://github.com/KiCad/EuroBoard_Outline.pretty/archive/EuroBoard_Outline.pretty-%{version}.tar.gz Source27: https://github.com/KiCad/Fiducials.pretty/archive/Fiducials.pretty-%{version}.tar.gz Source28: https://github.com/KiCad/Filters_HF_Coils_NEOSID.pretty/archive/Filters_HF_Coils_NEOSID.pretty-%{version}.tar.gz Source29: https://github.com/KiCad/Fuse_Holders_and_Fuses.pretty/archive/Fuse_Holders_and_Fuses.pretty-%{version}.tar.gz Source30: https://github.com/KiCad/Hall-Effect_Transducers_LEM.pretty/archive/Hall-Effect_Transducers_LEM.pretty-%{version}.tar.gz Source31: https://github.com/KiCad/Heatsinks.pretty/archive/Heatsinks.pretty-%{version}.tar.gz Source32: https://github.com/KiCad/Housings_DFN_QFN.pretty/archive/Housings_DFN_QFN.pretty-%{version}.tar.gz Source33: https://github.com/KiCad/Housings_DIP.pretty/archive/Housings_DIP.pretty-%{version}.tar.gz Source34: https://github.com/KiCad/Housings_QFP.pretty/archive/Housings_QFP.pretty-%{version}.tar.gz Source35: https://github.com/KiCad/Housings_SIP.pretty/archive/Housings_SIP.pretty-%{version}.tar.gz Source36: https://github.com/KiCad/Housings_SOIC.pretty/archive/Housings_SOIC.pretty-%{version}.tar.gz Source37: https://github.com/KiCad/Housings_SSOP.pretty/archive/Housings_SSOP.pretty-%{version}.tar.gz Source38: https://github.com/KiCad/Inductors_NEOSID.pretty/archive/Inductors_NEOSID.pretty-%{version}.tar.gz Source39: https://github.com/KiCad/Inductors.pretty/archive/Inductors.pretty-%{version}.tar.gz Source40: https://github.com/KiCad/IR-DirectFETs.pretty/archive/IR-DirectFETs.pretty-%{version}.tar.gz Source41: https://github.com/KiCad/Labels.pretty/archive/Labels.pretty-%{version}.tar.gz Source42: https://github.com/KiCad/LEDs.pretty/archive/LEDs.pretty-%{version}.tar.gz Source43: https://github.com/KiCad/Measurement_Points.pretty/archive/Measurement_Points.pretty-%{version}.tar.gz Source44: https://github.com/KiCad/Measurement_Scales.pretty/archive/Measurement_Scales.pretty-%{version}.tar.gz Source45: https://github.com/KiCad/Mechanical_Sockets.pretty/archive/Mechanical_Sockets.pretty-%{version}.tar.gz Source46: https://github.com/KiCad/Microwave.pretty/archive/Microwave.pretty-%{version}.tar.gz Source47: https://github.com/KiCad/Mounting_Holes.pretty/archive/Mounting_Holes.pretty-%{version}.tar.gz Source48: https://github.com/KiCad/NF-Transformers_ETAL.pretty/archive/NF-Transformers_ETAL.pretty-%{version}.tar.gz Source49: https://github.com/KiCad/Oddities.pretty/archive/Oddities.pretty-%{version}.tar.gz Source50: https://github.com/KiCad/Opto-Devices.pretty/archive/Opto-Devices.pretty-%{version}.tar.gz Source51: https://github.com/KiCad/Oscillators.pretty/archive/Oscillators.pretty-%{version}.tar.gz Source52: https://github.com/KiCad/PFF_PSF_PSS_Leadforms.pretty/archive/PFF_PSF_PSS_Leadforms.pretty-%{version}.tar.gz Source53: https://github.com/KiCad/Pin_Headers.pretty/archive/Pin_Headers.pretty-%{version}.tar.gz Source54: https://github.com/KiCad/Potentiometers.pretty/archive/Potentiometers.pretty-%{version}.tar.gz Source55: https://github.com/KiCad/Power_Integrations.pretty/archive/Power_Integrations.pretty-%{version}.tar.gz Source56: https://github.com/KiCad/Relays_ThroughHole.pretty/archive/Relays_ThroughHole.pretty-%{version}.tar.gz Source57: https://github.com/KiCad/Resistors_SMD.pretty/archive/Resistors_SMD.pretty-%{version}.tar.gz Source58: https://github.com/KiCad/Resistors_ThroughHole.pretty/archive/Resistors_ThroughHole.pretty-%{version}.tar.gz Source59: https://github.com/KiCad/Resistors_Universal.pretty/archive/Resistors_Universal.pretty-%{version}.tar.gz Source60: https://github.com/KiCad/SMD_Packages.pretty/archive/SMD_Packages.pretty-%{version}.tar.gz Source61: https://github.com/KiCad/Sockets_BNC.pretty/archive/Sockets_BNC.pretty-%{version}.tar.gz Source62: https://github.com/KiCad/Sockets_Mini-Universal.pretty/archive/Sockets_Mini-Universal.pretty-%{version}.tar.gz Source63: https://github.com/KiCad/Sockets_MOLEX_KK-System.pretty/archive/Sockets_MOLEX_KK-System.pretty-%{version}.tar.gz Source64: https://github.com/KiCad/Sockets.pretty/archive/Sockets.pretty-%{version}.tar.gz Source65: https://github.com/KiCad/Socket_Strips.pretty/archive/Socket_Strips.pretty-%{version}.tar.gz Source66: https://github.com/KiCad/Sockets_WAGO734.pretty/archive/Sockets_WAGO734.pretty-%{version}.tar.gz Source67: https://github.com/KiCad/Symbols.pretty/archive/Symbols.pretty-%{version}.tar.gz Source68: https://github.com/KiCad/Terminal_Blocks.pretty/archive/Terminal_Blocks.pretty-%{version}.tar.gz Source69: https://github.com/KiCad/TO_SOT_Packages_SMD.pretty/archive/TO_SOT_Packages_SMD.pretty-%{version}.tar.gz Source70: https://github.com/KiCad/TO_SOT_Packages_THT.pretty/archive/TO_SOT_Packages_THT.pretty-%{version}.tar.gz Source71: https://github.com/KiCad/Transformers_CHK.pretty/archive/Transformers_CHK.pretty-%{version}.tar.gz Source72: https://github.com/KiCad/Transformers_SMPS_ThroughHole.pretty/archive/Transformers_SMPS_ThroughHole.pretty-%{version}.tar.gz Source73: https://github.com/KiCad/Transistors_OldSowjetAera.pretty/archive/Transistors_OldSowjetAera.pretty-%{version}.tar.gz Source74: https://github.com/KiCad/Valves.pretty/archive/Valves.pretty-%{version}.tar.gz Source75: https://github.com/KiCad/Varistors.pretty/archive/Varistors.pretty-%{version}.tar.gz Source76: https://github.com/KiCad/Wire_Connections_Bridges.pretty/archive/Wire_Connections_Bridges.pretty-%{version}.tar.gz Source77: https://github.com/KiCad/Wire_Pads.pretty/archive/Wire_Pads.pretty-%{version}.tar.gz Patch0: kicad-boost-1_61-boost-context-changes.patch Patch1: kicad-set-cxx-version.patch Patch2: kicad-2015.01.02-nostrip.patch BuildRequires: cmake BuildRequires: desktop-file-utils BuildRequires: doxygen BuildRequires: swig BuildRequires: boost-devel BuildRequires: wxgtku3.0-devel BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(glew) BuildRequires: pkgconfig(glu) BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(python) # doc BuildRequires: a2x BuildRequires: asciidoc BuildRequires: dblatex BuildRequires: git BuildRequires: po4a BuildRequires: source-highlight BuildRequires: perl(Unicode::GCString) Requires: electronics-menu %rename kicad-library %rename kicad-locales-ca %rename kicad-locales-cs %rename kicad-locales-de %rename kicad-locales-es %rename kicad-locales-fi %rename kicad-locales-fr %rename kicad-locales-hu %rename kicad-locales-it %rename kicad-locales-ja %rename kicad-locales-ko %rename kicad-locales-nl %rename kicad-locales-pl %rename kicad-locales-pt %rename kicad-locales-ru %rename kicad-locales-sl %rename kicad-locales-sv %rename kicad-locales-zh-cn %description KiCad is an EDA software to design electronic schematic diagrams and printed circuit board artwork up to 16 layers. KiCad is a set of four softwares and a project manager: - KiCad: project manager - Eeschema: schematic entry - Pcbnew: board editor - Cvpcb: footprint selector for components used in the circuit design - Gerbview: GERBER viewer (photoplotter documents) %files -f %{name}.lang %{_bindir}/* %{_libdir}/%{name} %{_datadir}/%{name}/ %{_datadir}/applications/*.desktop %{_datadir}/icons/hicolor/*/mimetypes/application-x-*.* %{_datadir}/icons/hicolor/*/apps/*.* %{_datadir}/mime/packages/%{name}.xml %{_datadir}/mimelnk/application/x-%{name}-*.desktop %{_docdir}/%{name}/*.txt %{python2_sitelib}/_pcbnew.so %{python2_sitelib}/pcbnew.* #---------------------------------------------------------------------------- %package doc Summary: Documentation for KiCad Group: Documentation Obsoletes: %{name}-doc-hu < %{EVRD} Obsoletes: %{name}-doc-pt < %{EVRD} Obsoletes: %{name}-doc-zh_CN < %{EVRD} BuildArch: noarch %description doc Documentation and tutorials for KiCad in English. %files doc %dir %{_docdir}/%{name}/ %{_docdir}/%{name}/help/en %{_docdir}/%{name}/scripts #---------------------------------------------------------------------------- %package doc-ca Summary: Documentation for KiCad in Catalan Group: Documentation Requires: %{name}-doc = %{EVRD} Requires: locales-ca BuildArch: noarch %description doc-ca Documentation and tutorials for KiCad in Catalan. %files doc-ca %{_docdir}/%{name}/help/ca #---------------------------------------------------------------------------- %package doc-de Summary: Documentation for KiCad in German Group: Documentation Requires: %{name}-doc = %{EVRD} Requires: locales-de BuildArch: noarch %description doc-de Documentation and tutorials for KiCad in German. %files doc-de %{_docdir}/%{name}/help/de #---------------------------------------------------------------------------- %package doc-es Summary: Documentation for KiCad in Spanish Group: Documentation Requires: %{name}-doc = %{EVRD} Requires: locales-es BuildArch: noarch %description doc-es Documentation and tutorials for KiCad in Spanish. %files doc-es %{_docdir}/%{name}/help/es #---------------------------------------------------------------------------- %package doc-fr Summary: Documentation for KiCad in French Group: Documentation Requires: %{name}-doc = %{EVRD} Requires: locales-fr BuildArch: noarch %description doc-fr Documentation and tutorials for KiCad in French. %files doc-fr %{_docdir}/%{name}/help/fr #---------------------------------------------------------------------------- %package doc-it Summary: Documentation for KiCad in Italian Group: Documentation Requires: %{name}-doc = %{EVRD} Requires: locales-it BuildArch: noarch %description doc-it Documentation and tutorials for KiCad in Italian. %files doc-it %{_docdir}/%{name}/help/it #---------------------------------------------------------------------------- %package doc-ja Summary: Documentation for KiCad in Japanese Group: Documentation Requires: %{name}-doc = %{EVRD} Requires: locales-ja BuildArch: noarch %description doc-ja Documentation and tutorials for KiCad in Japanese. %files doc-ja %{_docdir}/%{name}/help/ja #---------------------------------------------------------------------------- %package doc-nl Summary: Documentation for KiCad in Dutch Group: Documentation Requires: %{name}-doc = %{EVRD} Requires: locales-nl BuildArch: noarch %description doc-nl Documentation and tutorials for KiCad in Dutch. %files doc-nl %{_docdir}/%{name}/help/nl #---------------------------------------------------------------------------- %package doc-pl Summary: Documentation for KiCad in Polish Group: Documentation Requires: %{name}-doc = %{EVRD} Requires: locales-pl BuildArch: noarch %description doc-pl Documentation and tutorials for KiCad in Polish %files doc-pl %{_docdir}/%{name}/help/pl #---------------------------------------------------------------------------- %package doc-ru Summary: Documentation for KiCad in Russian Group: Documentation Requires: %{name}-doc = %{EVRD} Requires: locales-ru BuildArch: noarch %description doc-ru Documentation and tutorials for KiCad in Russian. %files doc-ru %{_docdir}/%{name}/help/ru #---------------------------------------------------------------------------- %prep %setup -q -a1 -a2 -a3 %patch0 -p0 %patch1 -p0 %patch2 -p1 #multilibs %ifarch x86_64 sed -i "s|KICAD_PLUGINS lib/kicad/plugins|KICAD_PLUGINS lib64/kicad/plugins|" CMakeLists.txt %endif %build # Symbols libraries pushd %{libname}-%{version} %cmake \ -DKICAD_STABLE_VERSION:BOOL=ON \ -DCMAKE_BUILD_TYPE=Release %make popd # Build kicad-i18n pushd %{i18nname}-%{version} %cmake \ -DKICAD_STABLE_VERSION:BOOL=ON \ -DCMAKE_BUILD_TYPE=Release \ -DKICAD_I18N_UNIX_STRICT_PATH=ON %make popd # Build kicad-doc pushd %{docname}-%{version} %cmake \ -DKICAD_STABLE_VERSION:BOOL=ON \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_FORMATS=html %make popd # Build kicad %cmake \ -DBUILD_SHARED_LIBS:BOOL=OFF \ -DKICAD_STABLE_VERSION:BOOL=ON \ -DCMAKE_BUILD_TYPE=Release \ -DKICAD_SKIP_BOOST=ON \ -DKICAD_REPO_NAME=stable \ -DKICAD_BUILD_VERSION=%{version} \ -DBUILD_GITHUB_PLUGIN=ON \ -DKICAD_SCRIPTING=ON \ -DKICAD_SCRIPTING_MODULES=ON \ -DKICAD_SCRIPTING_WXPYTHON=OFF %make VERBOSE=1 %install %makeinstall_std -C build for desktopfile in %{buildroot}%{_datadir}/applications/*.desktop ; do desktop-file-install \ --dir %{buildroot}%{_datadir}/applications \ --remove-category Development \ --delete-original \ ${desktopfile} done # Localization pushd %{i18nname}-%{version} %makeinstall_std -C build popd # Symbols libraries pushd %{libname}-%{version} %makeinstall_std -C build popd # Install template install -d %{buildroot}%{_datadir}/%{name}/template install -m 644 template/%{name}.pro %{buildroot}%{_datadir}/%{name}/template # Footprints mkdir -p %{buildroot}%{_datadir}/%{name}/modules for S in %{sources}; do P=$(basename $S |sed -n 's/\.pretty-.*/.pretty/p') [ "$P" ] || continue mkdir -p %{buildroot}%{_datadir}/%{name}/modules/$P tar xzf $S --strip-components=1 -C %{buildroot}%{_datadir}/%{name}/modules/$P done ln -f %{buildroot}%{_datadir}/%{name}/template/fp-lib-table{.for-pretty,} # Install kicad-doc pushd %{docname}-%{version} %makeinstall_std -C build popd %find_lang %{name}