From patchwork Mon Jul 1 19:20:01 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Carsten Schoenert X-Patchwork-Id: 256209 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from hemlock.osuosl.org (hemlock.osuosl.org [140.211.166.133]) by ozlabs.org (Postfix) with ESMTP id 5537C2C0077 for ; Tue, 2 Jul 2013 05:20:18 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 04233A0235; Mon, 1 Jul 2013 19:20:13 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PYT0gUDKW6-x; Mon, 1 Jul 2013 19:20:10 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id 3A528A01F2; Mon, 1 Jul 2013 19:20:10 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 1F0008F74B for ; Mon, 1 Jul 2013 19:20:20 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 6EEC08C3BF for ; Mon, 1 Jul 2013 19:20:13 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id iBprt1Vll3Go for ; Mon, 1 Jul 2013 19:20:11 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mail-ee0-f47.google.com (mail-ee0-f47.google.com [74.125.83.47]) by whitealder.osuosl.org (Postfix) with ESMTPS id 546D38BDCC for ; Mon, 1 Jul 2013 19:20:11 +0000 (UTC) Received: by mail-ee0-f47.google.com with SMTP id e49so2222867eek.6 for ; Mon, 01 Jul 2013 12:20:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer; bh=HjgfIm8/v/pGdv4j3lvtb/QZmRcGkTdVBGcXJO1pq1o=; b=s85SiTWlRlb/gMCHXaHFHRIaWWhpdxf5TJ4kWNyywPxt/ERYQW3kGc2JzVnLUFdE7i ilOfJMC3Wvd1JselnvwqdHji4fySG0fVHAigVncM1w9RQjc464cb21RdEOgLiSaKikBO EzSCTtdsW1Vv99oqCyxRrCoUfc0R9RixqjjdrwfNeNMZ06C/xdlYp42wJ1jyJ8/zF3nQ i7sfrd6FDbL8IW/I160DJOIEYmAMytXhOp92dfJZS3rVc3OTBqY/UpAo1cf3V8/N/u1z 4KUt8CwxG285wcA79Aykujnw4UjXswE1NV/HrwN2ywqlt6k85leIVE96KLs8nfW2GM1Y OJbQ== X-Received: by 10.14.209.197 with SMTP id s45mr22820603eeo.108.1372706409138; Mon, 01 Jul 2013 12:20:09 -0700 (PDT) Received: from localhost.localdomain (p5B3782EE.dip0.t-ipconnect.de. [91.55.130.238]) by mx.google.com with ESMTPSA id w43sm31637253eez.6.2013.07.01.12.20.07 for (version=TLSv1.2 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 01 Jul 2013 12:20:08 -0700 (PDT) From: Carsten Schoenert To: buildroot@busybox.net Date: Mon, 1 Jul 2013 21:20:01 +0200 Message-Id: <1372706401-10935-1-git-send-email-c.schoenert@gmail.com> X-Mailer: git-send-email 1.7.10.4 Subject: [Buildroot] [PATCH v3] package/libsvg: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: buildroot-bounces@busybox.net From: Carsten Schoenert Libsvg provides a library for parsing SVG content in files or buffers. Libsvg does not do any rendering, but instead provides a function-based interface that can be used by various rendering engines. Signed-off-by: Carsten Schoenert --- Changes v3: - removing specific config option for selection of XML parser, the XML parser can be changed by selecting BR2_PACKAGE_EXPAT from the user manually, otherwise BR2_PACKAGE_LIBXML2 will be automatically selected - setting selection for BR2_PACKAGE_LIBPNG and _LIBJPEG in Config.in Changes v2: - reworking the whole patch after suggestions from Peter and Thomas - adding patch to preventing compiler errors while linking against libexpat package/Config.in | 1 + package/libsvg/Config.in | 12 +++++++ .../libsvg-fix-expat-static-declaration.patch | 33 ++++++++++++++++++++ package/libsvg/libsvg.mk | 23 ++++++++++++++ 4 files changed, 69 insertions(+) create mode 100644 package/libsvg/Config.in create mode 100644 package/libsvg/libsvg-fix-expat-static-declaration.patch create mode 100644 package/libsvg/libsvg.mk diff --git a/package/Config.in b/package/Config.in index ebeabeb..7f5714d 100644 --- a/package/Config.in +++ b/package/Config.in @@ -461,6 +461,7 @@ source "package/libpng/Config.in" source "package/libqrencode/Config.in" source "package/libraw/Config.in" source "package/librsvg/Config.in" +source "package/libsvg/Config.in" source "package/libsvgtiny/Config.in" source "package/libungif/Config.in" source "package/opencv/Config.in" diff --git a/package/libsvg/Config.in b/package/libsvg/Config.in new file mode 100644 index 0000000..e3a5e72 --- /dev/null +++ b/package/libsvg/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_LIBSVG + bool "libsvg" + select BR2_PACKAGE_LIBPNG + select BR2_PACKAGE_LIBJPEG + select BR2_PACKAGE_LIBXML2 if !BR2_PACKAGE_EXPAT + help + Libsvg provides a parser for SVG content in files or buffers. + Libsvg does not do any rendering, but instead provides a + function-based interface that can be used by various rendering + engines. + + http://cairographics.org/snapshots/ diff --git a/package/libsvg/libsvg-fix-expat-static-declaration.patch b/package/libsvg/libsvg-fix-expat-static-declaration.patch new file mode 100644 index 0000000..58ef286 --- /dev/null +++ b/package/libsvg/libsvg-fix-expat-static-declaration.patch @@ -0,0 +1,33 @@ +Newer expat versions use different declarations of the following functions: + +static void _svg_parser_sax_start_element (); +static void _svg_parser_sax_end_element (); +static void _svg_parser_sax_characters (); + +We need to patch the libsvg source to not follow into a build error like + "static declaration of 'foo' follows non-static declaration" +and use the functions from the expat library instead from the libsvg source. + +Patch based on +http://oe-lite.org/redmine/projects/xorg/repository/revisions/c4df7951e846e1be718f37f2455696a1d0861f3d/entry/recipes/cairo/libsvg-0.1.4/gcc4_and_expat.patch + +Signed-off-by: Carsten Schoenert + +diff -bur libsvg-0.1.4~orig/src/svg_parser_expat.c libsvg-0.1.4/src/svg_parser_expat.c +--- libsvg-0.1.4~orig/src/svg_parser_expat.c 2005-02-14 11:26:26.000000000 -0600 ++++ libsvg-0.1.4/src/svg_parser_expat.c 2006-02-10 21:58:20.000000000 -0600 +@@ -30,6 +30,7 @@ + #include "svgint.h" + #include "svg_hash.h" + ++#ifndef LIBSVG_EXPAT + static void + _svg_parser_sax_start_element (void *closure, + const XML_Char *name, +@@ -43,6 +44,7 @@ + _svg_parser_sax_characters (void *closure, + const XML_Char *ch, + int len); ++#endif + + static void diff --git a/package/libsvg/libsvg.mk b/package/libsvg/libsvg.mk new file mode 100644 index 0000000..de480ab --- /dev/null +++ b/package/libsvg/libsvg.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# libsvg +# +################################################################################ + +LIBSVG_VERSION = 0.1.4 +LIBSVG_SITE = http://cairographics.org/snapshots/ +LIBSVG_DEPENDENCIES = host-pkgconf libpng libjpeg +LIBSVG_INSTALL_STAGING = YES +LIBSVG_LICENSE = LGPLv2+ +LIBSVG_LICENSE_FILES = COPYING + +# libsvg needs at last a XML parser +ifeq ($(BR2_PACKAGE_EXPAT),y) +LIBSVG_CONF_OPT += --with-expat +LIBSVG_DEPENDENCIES += expat +else ifeq ($(BR2_PACKAGE_LIBXML2),y) +LIBSVG_CONF_OPT += --with-libxml2 +LIBSVG_DEPENDENCIES += libxml2 +endif + +$(eval $(autotools-package))