Wiki source for CompileInkscape

Show raw source

in CompilePrograms > Inkscape

===Compiling inkscape : status to do===
For the sake of testing inkscape 0.46 (svn version) that may import correctly visio 2003 documents (either vdx format which is an approximate xml format or SVG made by Visio 2003).
~~- packages
~~- ah I've got this one too, bad SVG generated by Visio :/ (appears black)
~- [fr] good synthesis of problems with visio: candidates are kivio, dia, OOo and inkscape
~- getting source code from subversion repository & trying to compile:
##svn co inkscape##
## ./ shows:
checking for autoconf >= 2.52 ... yes (version 2.61)
checking for automake >= 1.10 ... yes (version 1.10)
checking for glib-gettextize >= 2.0.0 ... yes (version 2.14.1)
checking for intltool >= 0.17 ... yes (version 0.36.2)
##./configure## # in spec file I've got --disable-static --with-python --enable-inkboard --disable-mmx --with-gnome-print
%% Use Xft font database: yes
Use gnome-vfs: yes
Use openoffice files: yes
Use MMX optimizations: no
Use relocation support: no
Internal Python: skipped # yes
Internal Perl: skipped
Enable LittleCms: yes
Enable Inkboard: no # yes
Enable SSL in Inkboard: no # yes
Enable Poppler-Cairo: yes # yes
ImageMagick Magick++: no
Libwpg: no

seltrans.h:153: erreur: ‘SigC’ has not been declared
~- [fr] known error
~- just apply existing patch in src.rpm for it...
~- 17274.

see the .spec file below for exhaustive list of dependancies, or simply run rpmbuild -ba inkscape.spec
%%erreur: Dépendances de construction manquantes:
libgc-devel >= 6.4 est nécessaire pour inkscape-0.45.1-4mdv2008.0.src
gtkmm2.4-devel est nécessaire pour inkscape-0.45.1-4mdv2008.0.src
libgnomeprintui-devel est nécessaire pour inkscape-0.45.1-4mdv2008.0.src
gtkspell-devel est nécessaire pour inkscape-0.45.1-4mdv2008.0.src
gnome-vfs2-devel est nécessaire pour inkscape-0.45.1-4mdv2008.0.src
loudmouth-devel est nécessaire pour inkscape-0.45.1-4mdv2008.0.src
intltool est nécessaire pour inkscape-0.45.1-4mdv2008.0.src%%
urpmi [all_listed_rpm_needed]

===spec file for mandriva===
~- rpm -ivh inkscape*src.rpm to have source & patches
~- copy rpm/SOURCES/inkscape-0.45* as 0.46
~- add svn[revision] in the version in the spec file
%define name inkscape
%define version 0.46-0.svn17274
%define rel 1
%define release %mkrel %{rel}

Name: inkscape
Summary: A vector-based drawing program using SVG
Version: %{version}
Release: %{release}
License: GPL
Group: Graphics
Source1: %{name}-icons.tar.bz2
Patch0: inkscape-0.46-python_gcc412.patch
Patch1: inkscape-0.46.1-autotools.patch
Patch2: inkscape-0.46.1-sigc.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
BuildRequires: png-devel
BuildRequires: libxml2-devel >= 2.6.0
BuildRequires: libgc-devel >= 6.4
BuildRequires: gtkmm2.4-devel
BuildRequires: libxslt-devel >= 1.0.15
BuildRequires: libgnomeprintui-devel
BuildRequires: perl-XML-Parser
BuildRequires: gtkspell-devel
BuildRequires: gnome-vfs2-devel
BuildRequires: python-devel
BuildRequires: perl
BuildRequires: perl-devel
BuildRequires: loudmouth-devel
BuildRequires: expat-devel
BuildRequires: desktop-file-utils
BuildRequires: lcms-devel
BuildRequires: dbus-glib-devel
BuildRequires: autoconf2.5 automake
BuildRequires: intltool
Requires: python-pyxml
Requires(post): desktop-file-utils
Requires(postun): desktop-file-utils

Inkscape is a SVG based generic vector-drawing program.

Inkscape uses W3C SVG as its native file format. It is therefore a very useful
tool for web designers and as an interchange format for desktop publishing.

%setup -q -a1
%patch0 -p1
%patch1 -p1 -b .autotools
%patch2 -p0 -b .sigc

sed -i 's/gc_libs=""/gc_libs="-lpthread -ldl"/' configure

intltoolize --force
%configure2_5x \
--disable-static \
--with-python \
--enable-inkboard \
--disable-mmx \
#(peroyvind) for some weird reason -lpopt will be converted to /usr/lib/
# during build, hardcode real path in stead
perl -pi -e "s#-lpopt#%{_libdir}/" src/Makefile

rm -rf %{buildroot}

# Menu support
install -d %{buildroot}%{_menudir}/
cat > %{buildroot}%{_menudir}/%{name} << EOF
?package(%{name}): needs=x11 \
icon="%{name}.png" \
section="Multimedia/Graphics" \
title=Inkscape longtitle="Vector graphics editor" \
command="%{name}" \

sed -i -e s/inkscape.png/inkscape/ $RPM_BUILD_ROOT%{_datadir}/applications/*

desktop-file-install --vendor="" \
--remove-category="Application" \
--add-category="X-Mandriva-Multimedia-Graphics" \
--add-category="X-MandrivaLinux-CrossDesktop" \
--dir $RPM_BUILD_ROOT%{_datadir}/applications $RPM_BUILD_ROOT%{_datadir}/applications/*

# icons
install -D -m 644 %{name}-48.png %{buildroot}/%_liconsdir/%{name}.png
install -D -m 644 %{name}-32.png %{buildroot}/%_iconsdir/%{name}.png
install -D -m 644 %{name}-16.png %{buildroot}/%_miconsdir/%{name}.png

# remove .la files
rm -f %{buildroot}/%{_libdir}/inkscape/plugins/*.la

%find_lang %{name}



rm -rf %{buildroot}

%files -f %{name}.lang
%defattr(-, root, root)

Valid XHTML :: Valid CSS: :: Powered by WikkaWiki