From 8f188ce03342f3b0822595175e1e4455ed43a35a Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 1 Jan 1970 00:00:00 +0000 Subject: [PATCH] Initial version of inkscape. --- .hgignore | 1 + ...gw32-inkscape-20081027-Makefile.am-cflags.patch | 33 ++++++ ...w32-inkscape-20081027-extra-win32-objects.patch | 32 ++++++ ...7-no-gc-version-check-when-crosscompiling.patch | 13 +++ .../mingw32-inkscape-20081027-no-is-os-vista.patch | 16 +++ ...w32-inkscape-20081027-pango-enable-engine.patch | 39 +++++++ inkscape/mingw32-inkscape.spec | 114 +++++++++++++++++++++ 7 files changed, 248 insertions(+) create mode 100644 inkscape/mingw32-inkscape-20081027-Makefile.am-cflags.patch create mode 100644 inkscape/mingw32-inkscape-20081027-extra-win32-objects.patch create mode 100644 inkscape/mingw32-inkscape-20081027-no-gc-version-check-when-crosscompiling.patch create mode 100644 inkscape/mingw32-inkscape-20081027-no-is-os-vista.patch create mode 100644 inkscape/mingw32-inkscape-20081027-pango-enable-engine.patch create mode 100644 inkscape/mingw32-inkscape.spec diff --git a/.hgignore b/.hgignore index 9785643..fab06af 100644 --- 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 index 0000000..079e85d --- /dev/null +++ b/inkscape/mingw32-inkscape-20081027-Makefile.am-cflags.patch @@ -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 index 0000000..6ab3e4f --- /dev/null +++ b/inkscape/mingw32-inkscape-20081027-extra-win32-objects.patch @@ -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 index 0000000..59c912d --- /dev/null +++ b/inkscape/mingw32-inkscape-20081027-no-gc-version-check-when-crosscompiling.patch @@ -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 index 0000000..4782e84 --- /dev/null +++ b/inkscape/mingw32-inkscape-20081027-no-is-os-vista.patch @@ -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 index 0000000..18afa0e --- /dev/null +++ b/inkscape/mingw32-inkscape-20081027-pango-enable-engine.patch @@ -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 + +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 + #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 + #endif diff --git a/inkscape/mingw32-inkscape.spec b/inkscape/mingw32-inkscape.spec new file mode 100644 index 0000000..ed7cc9a --- /dev/null +++ b/inkscape/mingw32-inkscape.spec @@ -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 - 1.2.3-1 +- Initial RPM release. -- 1.8.3.1