kicad/kicad.spec
2014-07-25 16:14:26 +04:00

529 lines
14 KiB
RPMSpec

%define Werror_cflags %nil
# Generated debug package is empty and rpmlint rejects build
%define _enable_debug_packages %{nil}
%define debug_package %{nil}
# To create source package:
# bzr branch lp:kicad/stable
#
# You can get the date by querying:
# $ bzr log -r-1 --line stable/
# 3009: jean-pierre charras 2011-05-25 Libedit: actual line thickness taken in account by collector. Thick lines are now more easy t...
#
# $ bzr export --format=tbz2 --root=kicad kicad-sources-bzr$(bzr revno stable/).tar.bz2 stable/
# For library,
# See http://iut-tice.ujf-grenoble.fr/cao/how_to_download_sources.txt
# bzr branch lp:~kicad-lib-committers/kicad/library
#
# You can get the date by querying:
# $ bzr log -r-1 --line library/
# 109: xtony 2010-12-08 Add various modules.
#
# $ bzr export --format=tbz2 --root=kicad-library kicad-library-bzr$(bzr revno library/).tar.bz2 library/
# For doc,
# See http://iut-tice.ujf-grenoble.fr/cao/how_to_download_sources.txt
# bzr branch lp:~kicad-developers/kicad/doc
#
# You can get the date by querying:
# $ bzr log -r-1 --line doc/
# 216: Andrey Fedorushkov 2011-06-02 update russian GUI
%define date 20120119
%define revision 3256
%define docname kicad-doc
%define docdate 20111221
%define docrevision 303
%define docversion %{docdate}.bzr%{docrevision}
%define libname kicad-library
%define libdate 20120119
%define librevision 114
%define libversion %{libdate}.bzr%{librevision}
Summary: An open source software for the creation of electronic schematic diagrams
Name: kicad
Version: %{date}.bzr%{revision}
Release: 4
License: GPLv2+
Group: Sciences/Computer science
Url: http://www.lis.inpg.fr/realise_au_lis/kicad/
Source0: %{name}-sources-bzr%{revision}.tar.bz2
Source1: %{docname}-bzr%{docrevision}.tar.bz2
Source2: %{libname}-bzr%{librevision}.tar.bz2
# Fedora & upstream patches
Patch11: %{name}-2011.07.12-fix-linking.patch
Patch12: %{name}-2011.07.12-boost-polygon-declare-gtlsort-earlier.patch
Patch13: %{name}-2012.01.19-fix-linking.patch
Patch14: %{name}-2012.01.19-fix-bom-in-python.patch
Patch20: %{name}-2012.01.19-fix-plotting-scale.patch
Patch21: %{name}-2012.01.19-move-up-junction-button.rev3371.patch
Patch22: %{name}-2012.01.19-thermal-relief.rev3281.patch
Patch23: %{name}-2012.01.19-undo-redo-auto.rev3297.patch
Patch24: %{name}-2012.01.19-cvpcb-preview.rev3303.patch
Patch25: %{name}-2012.01.19-pcb-calculation.rev3328.patch
Patch26: %{name}-2012.01.19-ps-plotting-width-correction.rev3342.patch
BuildRequires: cmake
BuildRequires: desktop-file-utils
BuildRequires: imagemagick
BuildRequires: boost-devel
BuildRequires: wxgtku2.8-devel
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(glu)
Requires: %{libname} = %{libversion}
Requires: %{docname} = %{docversion}
Suggests: %{name}-locale
%description
Kicad is an open source (GPL) software for the creation of electronic
schematic diagrams and printed circuit board artwork.
Kicad is a set of four softwares and a project manager:
Eeschema : Schematic entry.
Pcbnew : Board editor.
Gerbview : GERBER viewer (photoplotter documents).
Cvpcb : footprint selector for components used in the circuit design.
Kicad: project manager.
%files
%{_bindir}/*
%{_prefix}/lib/%{name}/plugins/netlist_form_pads-pcb.xsl
%{_iconsdir}/*/*/*
%{_iconsdir}/%{name}.png
%{_liconsdir}/%{name}.png
%{_miconsdir}/%{name}.png
%{_datadir}/%{name}/demos/
%{_datadir}/%{name}/template/
%{_datadir}/applications
%{_datadir}/mime/packages/kicad.xml
%{_datadir}/mimelnk/application/x-kicad-project.desktop
%{_datadir}/mimelnk/application/x-kicad-schematic.desktop
#----------------------------------------------------------------------------
%package doc
Summary: Documentation for kicad (creation of electronic schematic diagrams)
Version: %{docversion}
Requires: %{name}
BuildArch: noarch
%description doc
Kicad is an open source (GPL) software for the creation of electronic
schematic diagrams and printed circuit board artwork.
Kicad-doc is the documentation for kicad.
%files doc
%doc %{_datadir}/doc/%{name}
#----------------------------------------------------------------------------
%package locales-ca
Summary: Catalan Kicad locales
Version: %{docversion}
Requires: %{name}
Provides: %{name}-locale
BuildArch: noarch
%description locales-ca
Kicad is an open source (GPL) software for the creation of electronic
schematic diagrams and printed circuit board artwork.
Kicad-locales provides Catalan locales for kicad.
%files locales-ca
%{_datadir}/%{name}/internat/ca/
#----------------------------------------------------------------------------
%package locales-cs
Summary: Czech Kicad locales
Version: %{docversion}
Requires: %{name}
Provides: %{name}-locale
BuildArch: noarch
%description locales-cs
Kicad is an open source (GPL) software for the creation of electronic
schematic diagrams and printed circuit board artwork.
Kicad-locales provides Czech locales for kicad.
%files locales-cs
%{_datadir}/%{name}/internat/cs/
#----------------------------------------------------------------------------
%package locales-de
Summary: German Kicad locales
Version: %{docversion}
Requires: %{name}
Provides: %{name}-locale
BuildArch: noarch
%description locales-de
Kicad is an open source (GPL) software for the creation of electronic
schematic diagrams and printed circuit board artwork.
Kicad-locales provides German locales for kicad.
%files locales-de
%{_datadir}/%{name}/internat/de/
#----------------------------------------------------------------------------
%package locales-es
Summary: Spanish Kicad locales
Version: %{docversion}
Requires: %{name}
Provides: %{name}-locale
BuildArch: noarch
%description locales-es
Kicad is an open source (GPL) software for the creation of electronic
schematic diagrams and printed circuit board artwork.
Kicad-locales provides Spanish locales for kicad.
%files locales-es
%{_datadir}/%{name}/internat/es/
#----------------------------------------------------------------------------
%package locales-fi
Summary: Finnish Kicad locales
Version: %{docversion}
Requires: %{name}
Provides: %{name}-locale
BuildArch: noarch
%description locales-fi
Kicad is an open source (GPL) software for the creation of electronic
schematic diagrams and printed circuit board artwork.
Kicad-locales provides Finnish locales for kicad.
%files locales-fi
%{_datadir}/%{name}/internat/fi/
#----------------------------------------------------------------------------
%package locales-fr
Summary: French Kicad locales
Version: %{docversion}
Requires: %{name}
Provides: %{name}-locale
BuildArch: noarch
%description locales-fr
Kicad is an open source (GPL) software for the creation of electronic
schematic diagrams and printed circuit board artwork.
Kicad-locales provides French locales for kicad.
%files locales-fr
%{_datadir}/%{name}/internat/fr/
#----------------------------------------------------------------------------
%package locales-hu
Summary: Hungarian Kicad locales
Version: %{docversion}
Release: %{release}
Requires: %{name}
Provides: %{name}-locale
BuildArch: noarch
%description locales-hu
Kicad is an open source (GPL) software for the creation of electronic
schematic diagrams and printed circuit board artwork.
Kicad-locales provides Hungarian locales for kicad.
%files locales-hu
%{_datadir}/%{name}/internat/hu/
#----------------------------------------------------------------------------
%package locales-it
Summary: Italian Kicad locales
Version: %{docversion}
Requires: %{name}
Provides: %{name}-locale
BuildArch: noarch
%description locales-it
Kicad is an open source (GPL) software for the creation of electronic
schematic diagrams and printed circuit board artwork.
Kicad-locales provides Italian locales for kicad.
%files locales-it
%{_datadir}/%{name}/internat/it/
#----------------------------------------------------------------------------
%package locales-ja
Summary: Japanese Kicad locales
Version: %{docversion}
Requires: %{name}
Provides: %{name}-locale
BuildArch: noarch
%description locales-ja
Kicad is an open source (GPL) software for the creation of electronic
schematic diagrams and printed circuit board artwork.
Kicad-locales provides Japanese locales for kicad.
%files locales-ja
%{_datadir}/%{name}/internat/ja/
#----------------------------------------------------------------------------
%package locales-ko
Summary: Korean Kicad locales
Version: %{docversion}
Requires: %{name}
Provides: %{name}-locale
BuildArch: noarch
%description locales-ko
Kicad is an open source (GPL) software for the creation of electronic
schematic diagrams and printed circuit board artwork.
Kicad-locales provides Korean locales for kicad.
%files locales-ko
%{_datadir}/%{name}/internat/ko/
#----------------------------------------------------------------------------
%package locales-nl
Summary: Dutch Kicad locales
Version: %{docversion}
Requires: %{name}
Provides: %{name}-locale
BuildArch: noarch
%description locales-nl
Kicad is an open source (GPL) software for the creation of electronic
schematic diagrams and printed circuit board artwork.
Kicad-locales provides Dutch locales for kicad.
%files locales-nl
%{_datadir}/%{name}/internat/nl/
#----------------------------------------------------------------------------
%package locales-pl
Summary: Polish Kicad locales
Version: %{docversion}
Requires: %{name}
Provides: %{name}-locale
BuildArch: noarch
%description locales-pl
Kicad is an open source (GPL) software for the creation of electronic
schematic diagrams and printed circuit board artwork.
Kicad-locales provides Polish locales for kicad.
%files locales-pl
%{_datadir}/%{name}/internat/pl/
#----------------------------------------------------------------------------
%package locales-pt
Summary: Portuguese Kicad locales
Version: %{docversion}
Requires: %{name}
Provides: %{name}-locale
BuildArch: noarch
%description locales-pt
Kicad is an open source (GPL) software for the creation of electronic
schematic diagrams and printed circuit board artwork.
Kicad-locales provides Portuguese locales for kicad.
%files locales-pt
%{_datadir}/%{name}/internat/pt/
#----------------------------------------------------------------------------
%package locales-ru
Summary: Russian Kicad locales
Version: %{docversion}
Requires: %{name}
Provides: %{name}-locale
BuildArch: noarch
%description locales-ru
Kicad is an open source (GPL) software for the creation of electronic
schematic diagrams and printed circuit board artwork.
Kicad-locales provides Russian locales for kicad.
%files locales-ru
%{_datadir}/%{name}/internat/ru/
#----------------------------------------------------------------------------
%package locales-sl
Summary: Slovenian Kicad locales
Version: %{docversion}
Requires: %{name}
Provides: %{name}-locale
BuildArch: noarch
%description locales-sl
Kicad is an open source (GPL) software for the creation of electronic
schematic diagrams and printed circuit board artwork.
Kicad-locales provides Slovenian locales for kicad.
%files locales-sl
%{_datadir}/%{name}/internat/sl
#----------------------------------------------------------------------------
%package locales-sv
Summary: Salvadoran Kicad locales
Version: %{docversion}
Requires: %{name}
Provides: %{name}-locale
BuildArch: noarch
%description locales-sv
Kicad is an open source (GPL) software for the creation of electronic
schematic diagrams and printed circuit board artwork.
Kicad-locales provides Salvadoran locales for kicad.
%files locales-sv
%{_datadir}/%{name}/internat/sv/
#----------------------------------------------------------------------------
%package locales-zh-cn
Summary: Chinese Kicad locales
Version: %{docversion}
Requires: %{name}
Provides: %{name}-locale
BuildArch: noarch
%description locales-zh-cn
Kicad is an open source (GPL) software for the creation of electronic
schematic diagrams and printed circuit board artwork.
Kicad-locales provides Chinese locales for kicad.
%files locales-zh-cn
%{_datadir}/%{name}/internat/zh_CN/
#----------------------------------------------------------------------------
%package library
Summary: Library for kicad (creation of electronic schematic diagrams)
Version: %{libversion}
Requires: %{name}
BuildArch: noarch
%description library
Kicad is an open source (GPL) software for the creation of electronic
schematic diagrams and printed circuit board artwork.
Kicad-library is a set of library needed by kicad.
%files library
%{_datadir}/%{name}/library
%{_datadir}/%{name}/modules
#----------------------------------------------------------------------------
%prep
%setup -q -T -b 0 -n %{name}
%setup -q -T -b 1 -n %{docname}
%setup -q -T -b 2 -n %{libname}
pushd ../%{name}
%patch11 -p0 -b .fix-linking1
%patch12 -p0 -b .gcc-4.7
%patch13 -p0 -b .fix-linking2
%patch14 -p1 -b .fix-bom-in-python
%patch20 -p0 -b .fix-plotting-scale
%patch21 -p0 -b .junction-button
%patch22 -p0 -b .thermal-relief
%patch23 -p1 -b .undo-redo
%patch24 -p1 -b .cvpcb-preview
%patch25 -p0 -b .pcb-calculation
%patch26 -p1 -b .width-correction
popd
%build
export LC_ALL=C
cd ../
# Building kicad-doc
pushd %{docname}
%cmake \
-DKICAD_STABLE_VERSION:BOOL=ON \
-DCMAKE_BUILD_TYPE=Release
%make
popd
# Building kicad-library
pushd %{libname}
%cmake \
-DKICAD_STABLE_VERSION:BOOL=ON \
-DCMAKE_BUILD_TYPE=Release
%make
popd
# Building kicad
pushd %{name}
%cmake \
-DBUILD_SHARED_LIBS:BOOL=OFF \
-DKICAD_STABLE_VERSION:BOOL=ON \
-DCMAKE_BUILD_TYPE=Release
%make
popd
%install
cd ../
# Installing kicad-doc
pushd %{docname}
%makeinstall_std -C build
popd
# Installing kicad-library
pushd %{libname}
%makeinstall_std -C build
popd
# Installing kicad
pushd %{name}
%makeinstall_std -C build
# create desktop file
desktop-file-install --vendor='' \
--remove-category='Scientific' \
--add-category='Science;Electronics;Education' \
--dir=%{buildroot}%{_datadir}/applications \
%{buildroot}%{_datadir}/applications/*.desktop
# create icons
mkdir -p %{buildroot}%{_miconsdir} %{buildroot}%{_iconsdir} %{buildroot}%{_liconsdir}
convert -resize 16x16 %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg %{buildroot}%{_miconsdir}/%{name}.png
convert -resize 32x32 %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg %{buildroot}%{_iconsdir}/%{name}.png
convert -resize 48x48 %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg %{buildroot}%{_liconsdir}/%{name}.png
popd