On 03/16/2010 08:27 AM, Alain Portal wrote: > Hi, > > I get some problem in packaging kicad. > Linking fails, and I don't know how to solve. > There is no problem if I compile without packaging. Well, I doubt that seriously. This code is a bit of a mess (but still not as painful as chromium). Attached is a new spec file, and two patches that fix the problems which were preventing it from building. ~spot, who feels dirty after spending so much time hacking around cmake
diff -up kicad-2010.03.14/eeschema/CMakeLists.txt.kbool kicad-2010.03.14/eeschema/CMakeLists.txt --- kicad-2010.03.14/eeschema/CMakeLists.txt.kbool 2010-03-15 08:24:32.000000000 -0400 +++ kicad-2010.03.14/eeschema/CMakeLists.txt 2010-03-16 13:21:28.364443236 -0400 @@ -154,7 +154,7 @@ if(APPLE) set_target_properties(eeschema PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist) endif(APPLE) -target_link_libraries(eeschema common bitmaps polygon ${wxWidgets_LIBRARIES} ${GDI_PLUS_LIBRARIES}) +target_link_libraries(eeschema common bitmaps kbool polygon ${wxWidgets_LIBRARIES} ${GDI_PLUS_LIBRARIES}) install(TARGETS eeschema DESTINATION ${KICAD_BIN} diff -up kicad-2010.03.14/kicad/CMakeLists.txt.kbool kicad-2010.03.14/kicad/CMakeLists.txt --- kicad-2010.03.14/kicad/CMakeLists.txt.kbool 2010-03-10 11:23:50.000000000 -0500 +++ kicad-2010.03.14/kicad/CMakeLists.txt 2010-03-16 13:21:28.364443236 -0400 @@ -49,7 +49,7 @@ install(TARGETS KiCad DESTINATION ${KICAD_BIN} COMPONENT binary) else(APPLE) - target_link_libraries(kicad common bitmaps polygon ${wxWidgets_LIBRARIES} ${GDI_PLUS_LIBRARIES}) + target_link_libraries(kicad common bitmaps kbool polygon ${wxWidgets_LIBRARIES} ${GDI_PLUS_LIBRARIES}) install(TARGETS kicad DESTINATION ${KICAD_BIN} COMPONENT binary) diff -up kicad-2010.03.14/common/CMakeLists.txt.BAD kicad-2010.03.14/common/CMakeLists.txt --- kicad-2010.03.14/common/CMakeLists.txt.BAD 2010-03-16 15:07:29.328317975 -0400 +++ kicad-2010.03.14/common/CMakeLists.txt 2010-03-16 15:07:49.162441795 -0400 @@ -44,6 +44,7 @@ set(COMMON_SRCS hotkeys_basic.cpp msgpanel.cpp newstroke_font.cpp + ../pcbnew/class_drc_item.cpp projet_config.cpp # pyhandler.cpp richio.cpp diff -up kicad-2010.03.14/pcbnew/class_drc_item.cpp.BAD kicad-2010.03.14/pcbnew/class_drc_item.cpp
diff -up kicad-2010.03.14/demos/CMakeLists.txt.BAD kicad-2010.03.14/demos/CMakeLists.txt --- kicad-2010.03.14/demos/CMakeLists.txt.BAD 2010-03-16 15:20:23.281442395 -0400 +++ kicad-2010.03.14/demos/CMakeLists.txt 2010-03-16 15:20:33.465442317 -0400 @@ -1,5 +1,5 @@ install(DIRECTORY ecc83 electric flat_hierarchy interf_u microwave - pic_programmer pspice "sonde xilinx" test_xil_95108 video + pic_programmer pspice sonde_xilinx test_xil_95108 video DESTINATION ${KICAD_DEMOS} COMPONENT resources PATTERN ".svn" EXCLUDE)
Name: kicad Version: 2010.03.14 Release: 2.rev2462%{?dist} Summary: Electronic schematic diagrams and printed circuit board artwork Summary(fr): Saisie de schéma électronique et tracé de circuit imprimé Group: Applications/Engineering License: GPLv2+ # URL: http://www.lis.inpg.fr/realise_au_lis/kicad/ URL: http://kicad.sourceforge.net # Source files created from upstream's SVN repository Source: kicad-%{version}.tar.bz2 #Source1: kicad-doc-%{version}.tar.bz2 #Source2: kicad-library-%{version}.tar.bz2 Source3: kicad-ld.conf Patch0: kicad-2010.03.14-link-fixes.patch # Fix spacing issue Patch1: kicad-2010.03.14-fix-demos-install.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: desktop-file-utils BuildRequires: wxGTK-devel BuildRequires: boost-devel BuildRequires: cmake Requires: electronics-menu %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: - Eeschema: schematic entry - Pcbnew: board editor - Gerbview: GERBER viewer (photoplotter documents) - Cvpcb: footprint selector for components used in the circuit design - Kicad: project manager %description -l fr Kicad est un logiciel open source (GPL) pour la création de schémas électroniques et le tracé de circuits imprimés jusqu'à 16 couches. Kicad est un ensemble de quatres logiciels et un gestionnaire de projet : - Eeschema : saisie de schémas - Pcbnew : éditeur de circuits imprimés - Gerbview : visualisateur GERBER (documents pour phototraçage) - Cvpcb : sélecteur d'empreintes pour les composants utilisés dans le circuit - Kicad : gestionnaire de projet. %package doc Summary: Documentations for kicad Summary(fr): Documentations pour kicad en anglais Group: Applications/Engineering License: GPLv2+ Requires: %{name} = %{version}-%{release} %if 0%{?fedora} >= 11 BuildArch: noarch %endif %description doc Documentations and tutorials for kicad in English %prep #%setup -q -a 1 -a 2 %setup -q %patch0 -p1 -b .link-fix %patch1 -p1 -b .space-fix #kicad-doc.noarch: W: file-not-utf8 /usr/share/doc/kicad/AUTHORS.txt iconv -f iso8859-1 -t utf-8 AUTHORS.txt > AUTHORS.conv && mv -f AUTHORS.conv AUTHORS.txt #multilibs %ifarch x86_64 sparc64 ppc64 amd64 %{__sed} -i "s|KICAD_PLUGINS lib/kicad/plugins|KICAD_PLUGINS lib64/kicad/plugins|" CMakeLists.txt %{__sed} -i "s|/usr/lib/kicad|/usr/lib64/kicad|" %{SOURCE3} %endif %build # # Symbols libraries # #pushd %{name}-library-%{version}/ #%cmake -DCMAKE_BUILD_TYPE=Release . #%{__make} %{?_smp_mflags} VERBOSE=1 #popd # # Core components # %cmake -DCMAKE_BUILD_TYPE=Release %{__make} %{?_smp_mflags} VERBOSE=1 %install %{__rm} -rf %{buildroot} %{__make} INSTALL="install -p" DESTDIR=%{buildroot} install # install localization %{__rm} -rf %{buildroot}%{_datadir}/%{name}/internat/ install -d %{buildroot}%{_datadir}/locale cd internat for dir in ca cs de es fr hu it ko nl pl pt ru sl sv zh_CN do install -d %{buildroot}%{_datadir}/locale/${dir} install -m 644 ${dir}/%{name}.mo %{buildroot}%{_datadir}/locale/${dir}/%{name}.mo done cd .. # install desktop desktop-file-install --vendor=fedora \ --dir %{buildroot}%{_datadir}/applications \ --remove-category Development \ --delete-original \ %{buildroot}%{_datadir}/applications/kicad.desktop rm -f %{buildroot}%{_datadir}/applications/eeschema.desktop # Missing requires libraries %{__cp} -p ./3d-viewer/lib3d-viewer.so %{buildroot}%{_libdir}/%{name} %{__cp} -p ./bitmaps/libbitmaps.so %{buildroot}%{_libdir}/%{name} %{__cp} -p ./common/libcommon.so %{buildroot}%{_libdir}/%{name} %{__cp} -p ./polygon/kbool/src/libkbool.so %{buildroot}%{_libdir}/%{name} %{__cp} -p ./common/libpcbcommon.so %{buildroot}%{_libdir}/%{name} %{__cp} -p ./polygon/libpolygon.so %{buildroot}%{_libdir}/%{name} # # Symbols libraries # #pushd %{name}-library-%{version}/ #%{__make} INSTALL="install -p" DESTDIR=%{buildroot} install #popd # install ld.conf mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d install -pm 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/ld.so.conf.d/kicad.conf # install template install -d %{buildroot}%{_datadir}/%{name}/template install -m 644 template/%{name}.pro %{buildroot}%{_datadir}/%{name}/template # Preparing for documentation pull-ups # %{__rm} -f %{name}-doc-%{version}/doc/help/CMakeLists.txt # %{__rm} -f %{name}-doc-%{version}/doc/help/makefile # %{__rm} -f %{name}-doc-%{version}/doc/tutorials/CMakeLists.txt # %{__cp} -pr %{name}-doc-%{version}/doc/* %{buildroot}%{_docdir}/%{name} %{__cp} -pr AUTHORS.txt CHANGELOG* TODO.txt version.txt %{buildroot}%{_docdir}/%{name} %find_lang %{name} %post update-desktop-database &> /dev/null || : touch --no-create %{_datadir}/icons/hicolor || : if [ -x %{_bindir}/gtk-update-icon-cache ] then %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor fi /sbin/ldconfig %postun update-desktop-database &> /dev/null || : touch --no-create %{_datadir}/icons/hicolor || : if [ -x %{_bindir}/gtk-update-icon-cache ] then %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor fi /sbin/ldconfig %clean %{__rm} -rf %{buildroot} %files -f %{name}.lang %defattr(-,root,root) # %doc %{_docdir}/%{name}/help/en/kicad.pdf %{_bindir}/* %{_libdir}/%{name} %{_datadir}/%{name}/ %{_datadir}/applications/fedora-%{name}.desktop %{_datadir}/icons/hicolor/*/mimetypes/application-x-kicad-project.* %{_datadir}/icons/hicolor/*/apps/%{name}.* %{_datadir}/mime/packages/%{name}.xml %{_datadir}/mimelnk/application/x-%{name}-*.desktop %{_sysconfdir}/ld.so.conf.d/kicad.conf %files doc %defattr(-,root,root,-) %dir %{_docdir}/%{name} %doc %{_docdir}/%{name}/*.txt %doc %{_docdir}/%{name}/scripts %changelog * Tue Mar 16 2010 Tom "spot" Callaway <tcallawa@xxxxxxxxxx> 2010.03.14-2.rev2462 - link fixes. Really, these libraries should be linked properly so they don't need the executable linking calls to be explicitly correct, but cmake gives me a headache. - fix demo installation - fix spec file * Mon Mar 15 2010 Alain Portal <alain.portal[AT]univ-montp2[DOT]fr> 2010.03.14-1.rev2462 - New upstream version * Mon Aug 24 2009 Jon Ciesla <limb@xxxxxxxxxxxx> - 2009.07.07-4.rev1863 - Multilib path correction, BZ 518916. * Fri Jul 24 2009 Fedora Release Engineering <rel-eng@xxxxxxxxxxxxxxxxxxxxxxx> - 2009.07.07-3.rev1863 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Wed Jul 08 2009 Jon Ciesla <limb@xxxxxxxxxxxx> - 2009.07.07-2.rev1863 - Dropped eeschema desktop file. - Moved English kicad.pdf to main rpm. - Added ls.so.conf file and ldconfig to post, postun to fix libs issue. - Dropped category Development from desktop file. * Tue Jul 7 2009 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> - 2009.07.07-1.rev1863 - svn rev 1863 - documentation splitted into multiple packages - libraries are now taken directly from SVN rather than from older releases - build changed to cmake based * Wed Feb 25 2009 Fedora Release Engineering <rel-eng@xxxxxxxxxxxxxxxxxxxxxxx> - 2007.07.09-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Fri Aug 29 2008 Michael Schwendt <mschwendt@xxxxxxxxxxxxxxxxx> - 2007.07.09-4 - First patch is Patch0 - should fix build in Rawhide. - Include %%_libdir/kicad directory. - Drop explicit Requires wxGTK in favour of automatic SONAME dependencies. * Mon Feb 18 2008 Fedora Release Engineering <rel-eng@xxxxxxxxxxxxxxxxx> - 2007.07.09-3 - Autorebuild for GCC 4.3 * Mon Oct 15 2007 Alain Portal <aportal[AT]univ-montp2[DOT]fr> 2007.07.09-2 - Update desktop file * Thu Oct 04 2007 Alain Portal <aportal[AT]univ-montp2[DOT]fr> 2007.07.09-1 - New upstream version - Merge previous patches - Remove X-Fedora, Electronics and Engineering categories - Update desktop file * Mon Aug 27 2007 Alain Portal <aportal[AT]univ-montp2[DOT]fr> 2007.01.15-4 - License tag clarification * Thu Aug 23 2007 Alain Portal <aportal[AT]univ-montp2[DOT]fr> 2007.01.15-3 - Rebuild * Wed Feb 14 2007 Alain Portal <aportal[AT]univ-montp2[DOT]fr> 2007.01.15-2 - Fix desktop entry. Fix #228598 * Thu Feb 8 2007 Alain Portal <aportal[AT]univ-montp2[DOT]fr> 2007.01.15-1 - New upstream version * Thu Feb 8 2007 Alain Portal <aportal[AT]univ-montp2[DOT]fr> 2006.08.28-4 - Add patch to build with RPM_OPT_FLAGS and remove -s from LDFLAGS Contribution of Ville Skyttä <ville[DOT]skytta[AT]iki[DOT]fi> Fix #227757 - Fix typo in french summary * Thu Dec 28 2006 Jason L Tibbitts III <tibbs@xxxxxxxxxxx> 2006.08.28-3 - Rebuild with wxGTK 2.8. * Thu Oct 05 2006 Christian Iseli <Christian.Iseli@xxxxxxxx> 2006.08.28-2 - rebuilt for unwind info generation, broken in gcc-4.1.1-21 * Fri Sep 22 2006 Alain Portal <aportal[AT]univ-montp2[DOT]fr> 2006.08.28-1 - New upstream version - Use macro style instead of variable style - Install missing modules. Fix #206602 * Fri Sep 1 2006 Alain Portal <aportal[AT]univ-montp2[DOT]fr> 2006.06.26-6 - FE6 rebuild * Mon Jul 10 2006 Alain Portal <aportal[AT]univ-montp2[DOT]fr> 2006.06.26-5 - Removing backup files is no more needed. * Mon Jul 10 2006 Alain Portal <aportal[AT]univ-montp2[DOT]fr> 2006.06.26-4 - Remove BR libGLU-devel that is no more needed (bug #197501 is closed) - Fix files permissions. * Mon Jul 3 2006 Alain Portal <aportal[AT]univ-montp2[DOT]fr> 2006.06.26-3 - s/mesa-libGLU-devel/libGLU-devel/ * Mon Jul 3 2006 Alain Portal <aportal[AT]univ-montp2[DOT]fr> 2006.06.26-2 - BR mesa-libGLU-devel * Wed Jun 28 2006 Alain Portal <aportal[AT]univ-montp2[DOT]fr> 2006.06.26-1 - New upstream version * Tue Jun 13 2006 Alain Portal <aportal[AT]univ-montp2[DOT]fr> 2006.04.24-5 - Change name - Use %%{_docdir} instead of %%{_datadir}/doc - Use %%find_lang - Update desktop database - Convert MSDOS EOL to Unix EOL - Remove BR utrac * Mon Jun 12 2006 Alain Portal <aportal[AT]univ-montp2[DOT]fr> 2006-04-24-0-4 - Patch to suppress extra qualification compile time error on FC5 - BR utrac to convert MSDOS files before applying patch This will be remove for the next upstream version. * Tue May 23 2006 Alain Portal <aportal[AT]univ-montp2[DOT]fr> 2006-04-24-0-3 - Install help in /usr/share/doc/kicad/ as the path is hardcoded in gestfich.cpp - Add desktop file * Mon May 22 2006 Alain Portal <aportal[AT]univ-montp2[DOT]fr> 2006-04-24-0-2 - Add a second tarball that contains many things that are not included in the upstream source tarball such components and footprints librairies, help, localisation, etc. * Sun May 21 2006 Alain Portal <aportal[AT]univ-montp2[DOT]fr> 2006-04-24-0-1 - Initial Fedora RPM
-- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel