Initial version of inkscape.
authorRichard W.M. Jones <rjones@redhat.com>
Mon, 27 Oct 2008 15:02:10 +0000 (15:02 +0000)
committerRichard W.M. Jones <rjones@redhat.com>
Mon, 27 Oct 2008 15:02:10 +0000 (15:02 +0000)
.hgignore
inkscape/mingw32-inkscape-20081027-Makefile.am-cflags.patch [new file with mode: 0644]
inkscape/mingw32-inkscape-20081027-extra-win32-objects.patch [new file with mode: 0644]
inkscape/mingw32-inkscape-20081027-no-gc-version-check-when-crosscompiling.patch [new file with mode: 0644]
inkscape/mingw32-inkscape-20081027-no-is-os-vista.patch [new file with mode: 0644]
inkscape/mingw32-inkscape-20081027-pango-enable-engine.patch [new file with mode: 0644]
inkscape/mingw32-inkscape.spec [new file with mode: 0644]

index 9785643..fab06af 100644 (file)
--- a/.hgignore
+++ b/.hgignore
@@ -40,6 +40,7 @@ gtk2/*.exe
 gtkmm24/gtkmm-2.14.1.tar.bz2
 gtk-vnc/gtk-vnc-0.3.7.tar.gz
 iconv/libiconv-1.12.tar.gz
+inkscape/inkscape-20081027.tar.gz
 jasper/jasper-1.900.1.zip
 libgcrypt/libgcrypt-1.4.1.tar.bz2
 libgcrypt/libgcrypt-1.4.3.tar.bz2
diff --git a/inkscape/mingw32-inkscape-20081027-Makefile.am-cflags.patch b/inkscape/mingw32-inkscape-20081027-Makefile.am-cflags.patch
new file mode 100644 (file)
index 0000000..079e85d
--- /dev/null
@@ -0,0 +1,33 @@
+Index: src/Makefile.am
+===================================================================
+--- src/Makefile.am    (revision 20065)
++++ src/Makefile.am    (working copy)
+@@ -27,7 +27,27 @@
+       $(POPPLER_GLIB_CFLAGS)  \
+       -DPOTRACE=\"potrace\"   \
+       $(INKSCAPE_CFLAGS) \
+-      -I$(top_srcdir)/cxxtest
++      -I$(top_srcdir)/cxxtest \
++      -I/usr/i686-pc-mingw32/sys-root/mingw/include/gtk-2.0 \
++      -I/usr/i686-pc-mingw32/sys-root/mingw/include/glib-2.0 \
++      -I/usr/i686-pc-mingw32/sys-root/mingw/include/glibmm-2.4 \
++      -I/usr/i686-pc-mingw32/sys-root/mingw/include/gdkmm-2.4 \
++      -I/usr/i686-pc-mingw32/sys-root/mingw/include/gtkmm-2.4 \
++      -I/usr/i686-pc-mingw32/sys-root/mingw/include/atkmm-1.6 \
++      -I/usr/i686-pc-mingw32/sys-root/mingw/include/giomm-2.4 \
++      -I/usr/i686-pc-mingw32/sys-root/mingw/include/pangomm-1.4 \
++      -I/usr/i686-pc-mingw32/sys-root/mingw/include/cairomm-1.0 \
++      -I/usr/i686-pc-mingw32/sys-root/mingw/include/sigc++-2.0 \
++      -I/usr/i686-pc-mingw32/sys-root/mingw/include/cairo \
++      -I/usr/i686-pc-mingw32/sys-root/mingw/include/pango-1.0 \
++      -I/usr/i686-pc-mingw32/sys-root/mingw/include/atk-1.0 \
++      -I/usr/i686-pc-mingw32/sys-root/mingw/include/libxml2 \
++      -I/usr/i686-pc-mingw32/sys-root/mingw/lib/gtk-2.0/include \
++      -I/usr/i686-pc-mingw32/sys-root/mingw/lib/glib-2.0/include \
++      -I/usr/i686-pc-mingw32/sys-root/mingw/lib/glibmm-2.4/include \
++      -I/usr/i686-pc-mingw32/sys-root/mingw/lib/gdkmm-2.4/include \
++      -I/usr/i686-pc-mingw32/sys-root/mingw/lib/gtkmm-2.4/include \
++      -I/usr/i686-pc-mingw32/sys-root/mingw/lib/sigc++-2.0/include
+ include Makefile_insert
+ include application/Makefile_insert
diff --git a/inkscape/mingw32-inkscape-20081027-extra-win32-objects.patch b/inkscape/mingw32-inkscape-20081027-extra-win32-objects.patch
new file mode 100644 (file)
index 0000000..6ab3e4f
--- /dev/null
@@ -0,0 +1,32 @@
+Index: src/extension/internal/Makefile_insert
+===================================================================
+--- src/extension/internal/Makefile_insert     (revision 20065)
++++ src/extension/internal/Makefile_insert     (working copy)
+@@ -144,5 +144,10 @@
+       extension/internal/filter/filter-all.cpp \
+       extension/internal/filter/filter-file.cpp \
+       extension/internal/filter/filter.cpp \
+-      extension/internal/filter/filter.h
+-
++      extension/internal/filter/filter.h \
++      extension/internal/win32.h \
++      extension/internal/win32.cpp \
++      extension/internal/emf-win32-print.h \
++      extension/internal/emf-win32-print.cpp \
++      extension/internal/emf-win32-inout.h \
++      extension/internal/emf-win32-inout.cpp
+\ No newline at end of file
+Index: src/ui/dialog/Makefile_insert
+===================================================================
+--- src/ui/dialog/Makefile_insert      (revision 20065)
++++ src/ui/dialog/Makefile_insert      (working copy)
+@@ -60,6 +60,8 @@
+       ui/dialog/aboutbox.cpp              \
+       ui/dialog/aboutbox.h            \
+       ui/dialog/ocaldialogs.cpp       \
+-      ui/dialog/ocaldialogs.h
++      ui/dialog/ocaldialogs.h \
++      ui/dialog/filedialogimpl-win32.h \
++      ui/dialog/filedialogimpl-win32.cpp
+ ui/dialog/aboutbox.$(OBJEXT): inkscape_version.h
diff --git a/inkscape/mingw32-inkscape-20081027-no-gc-version-check-when-crosscompiling.patch b/inkscape/mingw32-inkscape-20081027-no-gc-version-check-when-crosscompiling.patch
new file mode 100644 (file)
index 0000000..59c912d
--- /dev/null
@@ -0,0 +1,13 @@
+Index: configure.ac
+===================================================================
+--- configure.ac       (revision 20065)
++++ configure.ac       (working copy)
+@@ -192,7 +192,7 @@
+                                 break], [gc_ok=no], [$gc_libs])
+                   break],
+                  [gc_ok=no])
+-if test "x$gc_ok" = "xyes"; then
++if test "x$gc_ok" = "xyes" && "x$cross_compiling" = "xno" ; then
+       AC_MSG_CHECKING([libgc version 6.4+])
+       AC_RUN_IFELSE(
+               [AC_LANG_SOURCE([[
diff --git a/inkscape/mingw32-inkscape-20081027-no-is-os-vista.patch b/inkscape/mingw32-inkscape-20081027-no-is-os-vista.patch
new file mode 100644 (file)
index 0000000..4782e84
--- /dev/null
@@ -0,0 +1,16 @@
+Index: src/libgdl/gdl-dock-master.c
+===================================================================
+--- src/libgdl/gdl-dock-master.c       (revision 20065)
++++ src/libgdl/gdl-dock-master.c       (working copy)
+@@ -650,7 +650,11 @@
+ #ifdef WIN32    
+     GdkLineStyle lineStyle = GDK_LINE_ON_OFF_DASH;
++#if 0
+     if (is_os_vista())
++#else /* RWMJ - missing */
++    if (0)
++#endif
+     {
+         // On Vista the dash-line is increadibly slow to draw, it takes several minutes to draw the tracking lines
+         // With GDK_LINE_SOLID it is parts of a second
diff --git a/inkscape/mingw32-inkscape-20081027-pango-enable-engine.patch b/inkscape/mingw32-inkscape-20081027-pango-enable-engine.patch
new file mode 100644 (file)
index 0000000..18afa0e
--- /dev/null
@@ -0,0 +1,39 @@
+Index: src/libnrtype/FontFactory.cpp
+===================================================================
+--- src/libnrtype/FontFactory.cpp      (revision 20065)
++++ src/libnrtype/FontFactory.cpp      (working copy)
+@@ -8,6 +8,8 @@
+  *
+  */
++#define PANGO_ENABLE_ENGINE
++
+ #include "FontFactory.h"
+ #include <libnrtype/font-instance.h>
+Index: src/libnrtype/Layout-TNG-Input.cpp
+===================================================================
+--- src/libnrtype/Layout-TNG-Input.cpp (revision 20065)
++++ src/libnrtype/Layout-TNG-Input.cpp (working copy)
+@@ -9,6 +9,8 @@
+  * Released under GNU GPL, read the file 'COPYING' for more information
+  */
++#define PANGO_ENABLE_ENGINE
++
+ #include <gtk/gtkversion.h>
+ #include "Layout-TNG.h"
+ #include "style.h"
+Index: src/libnrtype/FontInstance.cpp
+===================================================================
+--- src/libnrtype/FontInstance.cpp     (revision 20065)
++++ src/libnrtype/FontInstance.cpp     (working copy)
+@@ -8,6 +8,8 @@
+  *
+  */
++#define PANGO_ENABLE_ENGINE
++
+ #ifdef HAVE_CONFIG_H
+ # include <config.h>
+ #endif
diff --git a/inkscape/mingw32-inkscape.spec b/inkscape/mingw32-inkscape.spec
new file mode 100644 (file)
index 0000000..ed7cc9a
--- /dev/null
@@ -0,0 +1,114 @@
+# NB: Not for a Fedora package, just an example to show how
+# to build Inkscape using the cross-compiler.
+
+%define __strip %{_mingw32_strip}
+%define __objdump %{_mingw32_objdump}
+%define _use_internal_dependency_generator 0
+%define __find_requires %{_mingw32_findrequires}
+%define __find_provides %{_mingw32_findprovides}
+
+Name:           mingw32-inkscape
+Version:        20081027
+Release:        1%{?dist}
+Summary:        MinGW Windows port of Inkscape vector graphics editor
+
+License:        LGPLv2+
+Group:          Development/Libraries
+URL:            http://www.inkscape.org/
+# Checked out of SVN on the date shown and then just rolled up into
+# a tarball.
+# svn co https://inkscape.svn.sourceforge.net/svnroot/inkscape/inkscape/trunk inkscape
+# tar zcf /tmp/inkscape-%{version}.tar.gz inkscape
+Source0:        inkscape-%{version}.tar.gz
+BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+# Source patches needed.
+Patch0:         mingw32-inkscape-20081027-no-gc-version-check-when-crosscompiling.patch
+Patch1:         mingw32-inkscape-20081027-no-is-os-vista.patch
+Patch2:         mingw32-inkscape-20081027-extra-win32-objects.patch
+Patch3:         mingw32-inkscape-20081027-pango-enable-engine.patch
+
+# This is a hack, but for some reason PKG_CHECK_MODULES isn't
+# updating CFLAGS correctly.  This just works around the problem.
+Patch4:         mingw32-inkscape-20081027-Makefile.am-cflags.patch
+
+BuildArch:      noarch
+
+BuildRequires:  mingw32-filesystem >= 30
+BuildRequires:  mingw32-gcc
+BuildRequires:  mingw32-gcc-c++
+BuildRequires:  mingw32-binutils
+BuildRequires:  mingw32-glibmm24
+BuildRequires:  mingw32-cairomm
+BuildRequires:  mingw32-pangomm
+BuildRequires:  mingw32-gtkmm24
+BuildRequires:  mingw32-popt
+BuildRequires:  mingw32-libxml2
+BuildRequires:  mingw32-libxslt
+BuildRequires:  mingw32-gc
+BuildRequires:  mingw32-gsl
+BuildRequires:  mingw32-boost
+BuildRequires:  mingw32-libsigc++20
+
+BuildRequires:  autoconf, automake, libtool
+BuildRequires:  perl
+
+
+%description
+An Open Source vector graphics editor, with capabilities similar to
+Illustrator, CorelDraw, or Xara X, using the W3C standard Scalable
+Vector Graphics (SVG) file format.
+
+Inkscape supports many advanced SVG features (markers, clones, alpha
+blending, etc.) and great care is taken in designing a streamlined
+interface. It is very easy to edit nodes, perform complex path
+operations, trace bitmaps and much more. We also aim to maintain a
+thriving user and developer community by using open,
+community-oriented development.
+
+
+%prep
+%setup -q -n inkscape
+
+%patch0 -p0
+%patch1 -p0
+%patch2 -p0
+%patch3 -p0
+%patch4 -p0
+
+./autogen.sh
+
+
+%build
+%{_mingw32_configure} \
+  --enable-lcms=no \
+  --without-gnome-vfs
+
+# Additionally remove -lX* libraries from the Makefile.
+perl -pi.bak -e 's/-lX\w+//g' src/Makefile
+
+make
+
+
+%install
+rm -rf $RPM_BUILD_ROOT
+make DESTDIR=$RPM_BUILD_ROOT install
+
+# Remove static libraries but DON'T remove *.dll.a files.
+rm $RPM_BUILD_ROOT%{_mingw32_libdir}/libfoo.a
+
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+
+%files
+%defattr(-,root,root)
+%{_mingw32_bindir}/foo.dll
+%{_mingw32_libdir}/foo.dll.a
+# etc.
+
+
+%changelog
+* Wed Sep 24 2008 Your Name <you@example.com> - 1.2.3-1
+- Initial RPM release.