diff --git a/README.md b/README.md
index 7f5f8a1..719419d 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,8 @@
# inkscape
+Inkscape is an open source SVG editor with capabilities similar to Illustrator, CorelDraw, Visio, etc.
+Supported SVG features include basic shapes, paths, text, alpha blending, transforms, gradients, node editing, svg-to-png export, grouping, and more.
+
+Inkscape's main motivation is to provide the Open Source community with a fully XML, SVG, and CSS2 compliant SVG drawing tool.
+Additional planned work includes conversion of the codebase from C/Gtk to C++/Gtkmm, emphasizing a lightweight core with powerful features added through an extension mechanism, and establishment of a friendly, open, community-oriented development processes.
+
diff --git a/inkscape-0.43-desktop_file.patch b/inkscape-0.43-desktop_file.patch
new file mode 100644
index 0000000..0801fec
--- /dev/null
+++ b/inkscape-0.43-desktop_file.patch
@@ -0,0 +1,12 @@
+--- inkscape-0.43/inkscape.desktop.in.orig 2005-11-21 17:12:50.000000000 +0100
++++ inkscape-0.43/inkscape.desktop.in 2005-11-21 17:15:30.000000000 +0100
+@@ -2,6 +2,9 @@
+ _Name=Inkscape SVG Vector Illustrator
+ _Comment=Create and edit Scalable Vector Graphics images
+
++Name[it]=Inkscape
++GenericName[it]=Illustratore Vettoriale SVG
++
+ Encoding=UTF-8
+ Version=1.0
+
diff --git a/inkscape-0.47-gcc45.patch b/inkscape-0.47-gcc45.patch
new file mode 100644
index 0000000..7156b94
--- /dev/null
+++ b/inkscape-0.47-gcc45.patch
@@ -0,0 +1,81 @@
+diff -Naur inkscape-0.47-orig/src/eraser-context.cpp inkscape-0.47/src/eraser-context.cpp
+--- inkscape-0.47-orig/src/eraser-context.cpp 2010-02-18 08:45:58.000000000 -0500
++++ inkscape-0.47/src/eraser-context.cpp 2010-02-18 08:46:26.000000000 -0500
+@@ -749,7 +749,7 @@
+ if ( eraserMode ) {
+ toWorkOn = sp_document_partial_items_in_box(sp_desktop_document(desktop), desktop->dkey, bounds);
+ } else {
+- Inkscape::Rubberband::Rubberband *r = Inkscape::Rubberband::get(desktop);
++ Inkscape::Rubberband *r = Inkscape::Rubberband::get(desktop);
+ toWorkOn = sp_document_items_at_points(sp_desktop_document(desktop), desktop->dkey, r->getPoints());
+ }
+ toWorkOn = g_slist_remove( toWorkOn, acid );
+diff -Naur inkscape-0.47-orig/src/extension/internal/filter/filter-file.cpp inkscape-0.47/src/extension/internal/filter/filter-file.cpp
+--- inkscape-0.47-orig/src/extension/internal/filter/filter-file.cpp 2010-02-18 08:45:58.000000000 -0500
++++ inkscape-0.47/src/extension/internal/filter/filter-file.cpp 2010-02-18 09:07:54.000000000 -0500
+@@ -161,7 +161,7 @@
+ mywriter writer;
+ sp_repr_write_stream(node, writer, 0, FALSE, g_quark_from_static_string("svg"), 0, 0);
+
+- Inkscape::Extension::build_from_mem(xml_str, new Filter::Filter(g_strdup(writer.c_str())));
++ Inkscape::Extension::build_from_mem(xml_str, new Filter(g_strdup(writer.c_str())));
+ g_free(xml_str);
+ return;
+ }
+diff -Naur inkscape-0.47-orig/src/extension/internal/filter/filter.cpp inkscape-0.47/src/extension/internal/filter/filter.cpp
+--- inkscape-0.47-orig/src/extension/internal/filter/filter.cpp 2010-02-18 08:45:58.000000000 -0500
++++ inkscape-0.47/src/extension/internal/filter/filter.cpp 2010-02-18 09:21:06.000000000 -0500
+@@ -217,7 +217,7 @@
+ "%s\n"
+ "\n"
+ "\n", name, id, submenu, tip);
+- Inkscape::Extension::build_from_mem(xml_str, new Filter::Filter(filter));
++ Inkscape::Extension::build_from_mem(xml_str, new Filter(filter));
+ g_free(xml_str);
+ return;
+ }
+diff -Naur inkscape-0.47-orig/src/flood-context.cpp inkscape-0.47/src/flood-context.cpp
+--- inkscape-0.47-orig/src/flood-context.cpp 2010-02-18 08:45:58.000000000 -0500
++++ inkscape-0.47/src/flood-context.cpp 2010-02-18 08:48:16.000000000 -0500
+@@ -900,7 +900,7 @@
+ if (is_point_fill) {
+ fill_points.push_back(Geom::Point(event->button.x, event->button.y));
+ } else {
+- Inkscape::Rubberband::Rubberband *r = Inkscape::Rubberband::get(desktop);
++ Inkscape::Rubberband *r = Inkscape::Rubberband::get(desktop);
+ fill_points = r->getPoints();
+ }
+
+@@ -1206,7 +1206,7 @@
+
+ case GDK_BUTTON_RELEASE:
+ if (event->button.button == 1 && !event_context->space_panning) {
+- Inkscape::Rubberband::Rubberband *r = Inkscape::Rubberband::get(desktop);
++ Inkscape::Rubberband *r = Inkscape::Rubberband::get(desktop);
+ if (r->is_started()) {
+ // set "busy" cursor
+ desktop->setWaitingCursor();
+diff -Naur inkscape-0.47-orig/src/gradient-context.cpp inkscape-0.47/src/gradient-context.cpp
+--- inkscape-0.47-orig/src/gradient-context.cpp 2010-02-18 08:45:58.000000000 -0500
++++ inkscape-0.47/src/gradient-context.cpp 2010-02-18 08:47:33.000000000 -0500
+@@ -641,7 +641,7 @@
+ if (!event_context->within_tolerance) {
+ // we've been dragging, either do nothing (grdrag handles that),
+ // or rubberband-select if we have rubberband
+- Inkscape::Rubberband::Rubberband *r = Inkscape::Rubberband::get(desktop);
++ Inkscape::Rubberband *r = Inkscape::Rubberband::get(desktop);
+ if (r->is_started() && !event_context->within_tolerance) {
+ // this was a rubberband drag
+ if (r->getMode() == RUBBERBAND_MODE_RECT) {
+diff -Naur inkscape-0.47-orig/src/select-context.cpp inkscape-0.47/src/select-context.cpp
+--- inkscape-0.47-orig/src/select-context.cpp 2010-02-18 08:45:58.000000000 -0500
++++ inkscape-0.47/src/select-context.cpp 2010-02-18 08:50:11.000000000 -0500
+@@ -602,7 +602,7 @@
+ }
+ sc->item = NULL;
+ } else {
+- Inkscape::Rubberband::Rubberband *r = Inkscape::Rubberband::get(desktop);
++ Inkscape::Rubberband *r = Inkscape::Rubberband::get(desktop);
+ if (r->is_started() && !within_tolerance) {
+ // this was a rubberband drag
+ GSList *items = NULL;
diff --git a/inkscape-0.47-poppler-0.12.2.patch b/inkscape-0.47-poppler-0.12.2.patch
new file mode 100644
index 0000000..3c1f2a2
--- /dev/null
+++ b/inkscape-0.47-poppler-0.12.2.patch
@@ -0,0 +1,89 @@
+--- inkscape-0.47/src/extension/internal/pdfinput/pdf-parser.cpp~ 2009-11-16 18:29:17.000000000 +0100
++++ inkscape-0.47/src/extension/internal/pdfinput/pdf-parser.cpp 2009-11-24 19:09:47.000000000 +0100
+@@ -809,7 +809,7 @@
+ blendingColorSpace = NULL;
+ isolated = knockout = gFalse;
+ if (!obj4.dictLookup(const_cast("CS"), &obj5)->isNull()) {
+- blendingColorSpace = GfxColorSpace::parse(&obj5);
++ blendingColorSpace = GfxColorSpace::parse(&obj5,(Gfx*)this);
+ }
+ obj5.free();
+ if (obj4.dictLookup(const_cast("I"), &obj5)->isBool()) {
+@@ -1009,9 +1009,9 @@
+ state->setFillPattern(NULL);
+ res->lookupColorSpace(args[0].getName(), &obj);
+ if (obj.isNull()) {
+- colorSpace = GfxColorSpace::parse(&args[0]);
++ colorSpace = GfxColorSpace::parse(&args[0],(Gfx*)this);
+ } else {
+- colorSpace = GfxColorSpace::parse(&obj);
++ colorSpace = GfxColorSpace::parse(&obj,(Gfx*)this);
+ }
+ obj.free();
+ if (colorSpace) {
+@@ -1032,9 +1032,9 @@
+ state->setStrokePattern(NULL);
+ res->lookupColorSpace(args[0].getName(), &obj);
+ if (obj.isNull()) {
+- colorSpace = GfxColorSpace::parse(&args[0]);
++ colorSpace = GfxColorSpace::parse(&args[0],(Gfx*)this);
+ } else {
+- colorSpace = GfxColorSpace::parse(&obj);
++ colorSpace = GfxColorSpace::parse(&obj,(Gfx*)this);
+ }
+ obj.free();
+ if (colorSpace) {
+@@ -1101,7 +1101,7 @@
+ builder->updateStyle(state);
+ }
+ if (args[numArgs-1].isName() &&
+- (pattern = res->lookupPattern(args[numArgs-1].getName()))) {
++ (pattern = res->lookupPattern(args[numArgs-1].getName(),(Gfx*)this))) {
+ state->setFillPattern(pattern);
+ builder->updateStyle(state);
+ }
+@@ -1145,7 +1145,7 @@
+ builder->updateStyle(state);
+ }
+ if (args[numArgs-1].isName() &&
+- (pattern = res->lookupPattern(args[numArgs-1].getName()))) {
++ (pattern = res->lookupPattern(args[numArgs-1].getName(),(Gfx*)this))) {
+ state->setStrokePattern(pattern);
+ builder->updateStyle(state);
+ }
+@@ -1543,7 +1543,7 @@
+ double *matrix = NULL;
+ GBool savedState = gFalse;
+
+- if (!(shading = res->lookupShading(args[0].getName()))) {
++ if (!(shading = res->lookupShading(args[0].getName(),(Gfx*)this))) {
+ return;
+ }
+
+@@ -2507,7 +2507,7 @@
+ }
+ }
+ if (!obj1.isNull()) {
+- colorSpace = GfxColorSpace::parse(&obj1);
++ colorSpace = GfxColorSpace::parse(&obj1,(Gfx*)this);
+ } else if (csMode == streamCSDeviceGray) {
+ colorSpace = new GfxDeviceGrayColorSpace();
+ } else if (csMode == streamCSDeviceRGB) {
+@@ -2592,7 +2592,7 @@
+ obj2.free();
+ }
+ }
+- maskColorSpace = GfxColorSpace::parse(&obj1);
++ maskColorSpace = GfxColorSpace::parse(&obj1,(Gfx*)this);
+ obj1.free();
+ if (!maskColorSpace || maskColorSpace->getMode() != csDeviceGray) {
+ goto err1;
+@@ -2767,7 +2767,7 @@
+ if (obj1.dictLookup(const_cast("S"), &obj2)->isName(const_cast("Transparency"))) {
+ transpGroup = gTrue;
+ if (!obj1.dictLookup(const_cast("CS"), &obj3)->isNull()) {
+- blendingColorSpace = GfxColorSpace::parse(&obj3);
++ blendingColorSpace = GfxColorSpace::parse(&obj3,(Gfx*)this);
+ }
+ obj3.free();
+ if (obj1.dictLookup(const_cast("I"), &obj3)->isBool()) {
diff --git a/inkscape.spec b/inkscape.spec
new file mode 100644
index 0000000..bd60e44
--- /dev/null
+++ b/inkscape.spec
@@ -0,0 +1,195 @@
+Name: inkscape
+Version: 0.48.4
+Release: 2mamba
+Summary: A SVG based generic vector-drawing application
+Group: Applications/Multimedia
+Vendor: openmamba
+Distribution: openmamba
+Packager: Silvan Calarco
+URL: http://inkscape.sf.net/
+Source: http://downloads.sourceforge.net/sourceforge/inkscape/inkscape-%{version}.tar.bz2
+Patch: %{name}-0.43-desktop_file.patch
+Patch1: %{name}-0.47-poppler-0.12.2.patch
+Patch2: %{name}-0.47-gcc45.patch
+License: GPL
+## AUTOBUILDREQ-BEGIN
+BuildRequires: aspell-devel
+BuildRequires: GConf-devel
+BuildRequires: glibc-devel
+BuildRequires: libatk-devel
+BuildRequires: libatkmm-devel
+BuildRequires: libbzip2-devel
+BuildRequires: libcairo-devel
+BuildRequires: libcairomm-devel
+BuildRequires: libfontconfig-devel
+BuildRequires: libfreetype-devel
+BuildRequires: libgcc
+BuildRequires: libgc-devel
+BuildRequires: libgdk-pixbuf-devel
+BuildRequires: libglib-devel
+BuildRequires: libglibmm-devel
+BuildRequires: libgnome-vfs-devel
+BuildRequires: libgomp-devel
+BuildRequires: libgsl-devel
+BuildRequires: libgtk2-devel
+BuildRequires: libgtkmm2-devel
+BuildRequires: libgtkspell-devel
+BuildRequires: liblcms2-devel
+BuildRequires: libMagick-devel
+BuildRequires: libpango-devel
+BuildRequires: libpangomm-devel
+BuildRequires: libpng-devel
+BuildRequires: libpoppler-devel
+BuildRequires: libpoppler-glib-devel
+BuildRequires: libpopt-devel
+BuildRequires: libsigc++-devel
+BuildRequires: libstdc++6-devel
+BuildRequires: libwpd-devel
+BuildRequires: libwpg-devel
+BuildRequires: libX11-devel
+BuildRequires: libxml2-devel
+BuildRequires: libxslt-devel
+BuildRequires: libz-devel
+BuildRequires: perl-devel
+BuildRequires: perl-SVG
+BuildRequires: perl-SVG-Parser
+BuildRequires: perl-XML-XQL
+## AUTOBUILDREQ-END
+BuildRequires: intltool >= 0.22
+BuildRequires: perl-XML-Parser >= 2.31
+BuildRequires: gettext-devel
+BuildRequires: pkgconfig >= 0.9.0
+BuildRequires: libsigc++2-devel >= 1.2.5
+BuildRequires: libpython-devel
+Requires: pstoedit >= 3.40
+BuildRoot: %{_tmppath}/%{name}-%{version}-root
+
+%description
+Inkscape is an open source SVG editor with capabilities similar to Illustrator, CorelDraw, Visio, etc.
+Supported SVG features include basic shapes, paths, text, alpha blending, transforms, gradients, node editing, svg-to-png export, grouping, and more.
+
+Inkscape's main motivation is to provide the Open Source community with a fully XML, SVG, and CSS2 compliant SVG drawing tool.
+Additional planned work includes conversion of the codebase from C/Gtk to C++/Gtkmm, emphasizing a lightweight core with powerful features added through an extension mechanism, and establishment of a friendly, open, community-oriented development processes.
+
+%prep
+%setup -q
+#%patch1 -p1
+#%patch2 -p1
+
+# Fixes build with gcc 4.8
+sed -e "s@commands_toolbox,@commands_toolbox@" -i src/widgets/desktop-widget.h
+
+%build
+LDFLAGS="-ldl" \
+%configure \
+ --with-gnome-vfs \
+ --with-python
+# --with-gnome-print \
+# --enable-inkboard
+# --with-perl \
+
+%make
+
+%install
+[ "%{buildroot}" != / ] && rm -rf %{buildroot}
+%makeinstall
+
+%find_lang %{name}
+
+%clean
+[ "%{buildroot}" != / ] && rm -rf %{buildroot}
+
+%files -f %{name}.lang
+%defattr(-, root, root)
+%{_bindir}/*
+%dir %{_datadir}/inkscape/
+%{_datadir}/inkscape/*
+#_datadir}/pixmaps/*.png
+%{_datadir}/applications/%{name}.desktop
+#%dir %{_libdir}/inkscape/
+#%{_libdir}/inkscape/
+%{_mandir}/man?/*
+%lang(el) %{_mandir}/el/man1/inkscape.el.1*
+%lang(fr) %{_mandir}/fr/man1/inkscape.fr.1*
+%lang(ja) %{_mandir}/ja/man1/inkscape.ja.1*
+%lang(sk) %{_mandir}/sk/man1/inkscape.ja.1*
+%lang(zh_TW) %{_mandir}/zh_TW/man1/inkscape.zh_TW.1*
+%{_datadir}/icons/hicolor/*/apps/inkscape.png
+%doc AUTHORS ChangeLog COPYING* NEWS README
+
+%changelog
+* Sat Sep 14 2013 Silvan Calarco 0.48.4-2mamba
+- rebuilt
+
+* Tue Dec 18 2012 Automatic Build System 0.48.4-1mamba
+- automatic version update by autodist
+
+* Tue Mar 06 2012 Automatic Build System 0.48.3.1-1mamba
+- automatic version update by autodist
+
+* Sat Jul 09 2011 Automatic Build System 0.48.2-1mamba
+- automatic update by autodist
+
+* Sat Feb 12 2011 Automatic Build System 0.48.1-1mamba
+- automatic update by autodist
+
+* Sun Sep 26 2010 Automatic Build System 0.48.0-1mamba
+- automatic update by autodist
+
+* Wed Sep 08 2010 Automatic Build System 0.47-4mamba
+- automatic rebuild by autodist
+
+* Sat Jul 10 2010 Automatic Build System 0.47-3mamba
+- automatic rebuild by autodist
+
+* Wed Jan 20 2010 Automatic Build System 0.47-2mamba
+- automatic rebuild by autodist
+
+* Sat Nov 21 2009 Automatic Build System 0.47-1mamba
+- automatic update to 0.47 by autodist
+
+* Tue Jun 17 2008 Silvan Calarco 0.46-2mamba
+- rebuilt against ImageMagick 1.4.1
+
+* Thu Jun 05 2008 Silvan Calarco 0.46-1mamba
+- update to 0.46
+
+* Mon Oct 01 2007 Silvan Calarco 0.45.1-1mamba
+- update to 0.45.1
+
+* Mon Sep 11 2006 Davide Madrisan 0.44.1-1qilnx
+- update to version 0.44.1 by autospec
+
+* Fri Jun 23 2006 Davide Madrisan 0.44-1qilnx
+- update to version 0.44 by autospec
+
+* Tue Nov 29 2005 Davide Madrisan 0.43-2qilnx
+- added some missing build requirements: libglibmm-devel, libxslt-devel,
+ libgtkspell-devel
+- enabled Inkboard online whiteboard facility
+
+* Mon Nov 21 2005 Davide Madrisan 0.43-1qilnx
+- update to version 0.43 by autospec
+- also fixes a security issue (qibug#81, CAN-2005-3737)
+
+* Thu Jul 28 2005 Davide Madrisan 0.42-1qilnx
+- update to version 0.42 by autospec
+- requires `pstoedit' (was listed in ~/inkscape/extension-errors.log)
+
+* Thu Mar 03 2005 Silvan Calarco 0.41-1qilnx
+- update to version 0.41 by autospec
+
+* Fri Dec 17 2004 Davide Madrisan 0.40-2qilnx
+- set LDFLAG to fix the errors: undefined reference to `dlopen'
+- own `%{_datadir}/inkscape/' and `%{_libdir}/inkscape/'
+- removed requirements
+
+* Wed Dec 15 2004 Matteo Bernasconi 0.40-1qilnx
+- updated to new release
+
+* Tue Oct 05 2004 Davide Madrisan 0.39-2qilnx
+- specfile modified to match QiLinux standards
+- added missing BuildRequirements
+
+* Tue Sep 14 2004 Matteo Bernasconi 0.39-1qilnx
+- first build