Openembedded Devel Discussions
 help / color / mirror / Atom feed
From: Khem Raj <raj.khem@gmail.com>
To: openembedded-devel@lists.openembedded.org
Subject: Re: [PATCH 3/3] mupdf-0.6: new recipe
Date: Wed, 9 Jun 2010 06:36:18 -0700	[thread overview]
Message-ID: <20100609133618.GC29724@gmail.com> (raw)
In-Reply-To: <1276068782-23257-4-git-send-email-mad_soft@inbox.ru>

On (09/06/10 11:33), Dmitry Artamonow wrote:
> MuPDF is a slim and fast PDF viewer/toolkit.
> 
> Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru>
> ---
>  recipes/mupdf/mupdf-0.6/Makerules                  |    8 +++
>  .../mupdf/mupdf-0.6/mupdf_fix_16bit_display.patch  |   12 ++++
>  recipes/mupdf/mupdf_0.6.bb                         |   59 ++++++++++++++++++++
>  3 files changed, 79 insertions(+), 0 deletions(-)
>  create mode 100644 recipes/mupdf/mupdf-0.6/Makerules
>  create mode 100644 recipes/mupdf/mupdf-0.6/mupdf_fix_16bit_display.patch
>  create mode 100644 recipes/mupdf/mupdf_0.6.bb
> 
> diff --git a/recipes/mupdf/mupdf-0.6/Makerules b/recipes/mupdf/mupdf-0.6/Makerules
> new file mode 100644
> index 0000000..5f3d4e2
> --- /dev/null
> +++ b/recipes/mupdf/mupdf-0.6/Makerules
> @@ -0,0 +1,8 @@
> +# Configuration for the Makefile
> +LIBS := -ljbig2dec -lopenjpeg -ljpeg -lz -lm
> +CFLAGS := -Wall --std=gnu99 -Ifitz -Imupdf $(THIRD_INCS)
> +
> +CFLAGS += `pkg-config --cflags freetype2`
> +LDFLAGS += `pkg-config --libs freetype2`
> +X11LIBS = -lX11 -lXext
> +PDFVIEW_EXE = $(X11VIEW_EXE)
> diff --git a/recipes/mupdf/mupdf-0.6/mupdf_fix_16bit_display.patch b/recipes/mupdf/mupdf-0.6/mupdf_fix_16bit_display.patch
> new file mode 100644
> index 0000000..fdc0b74
> --- /dev/null
> +++ b/recipes/mupdf/mupdf-0.6/mupdf_fix_16bit_display.patch
> @@ -0,0 +1,12 @@
> +* upstream: http://bugs.ghostscript.com/show_bug.cgi?id=690932
> +
> +--- mupdf/apps/x11_image.c.orig	2010-06-06 19:42:46.000000000 +0400
> ++++ mupdf/apps/x11_image.c	2010-06-06 20:32:35.000000000 +0400
> +@@ -14,6 +14,7 @@
> + 
> + #include <X11/Xlib.h>
> + #include <X11/Xutil.h>
> ++#include <X11/Xarch.h>
> + #include <sys/ipc.h>
> + #include <sys/shm.h>
> + #include <X11/extensions/XShm.h>
> diff --git a/recipes/mupdf/mupdf_0.6.bb b/recipes/mupdf/mupdf_0.6.bb
> new file mode 100644
> index 0000000..e9cb0b1
> --- /dev/null
> +++ b/recipes/mupdf/mupdf_0.6.bb
> @@ -0,0 +1,59 @@
> +DESCRIPTION = "A lightweight PDF viewer and toolkit written in portable C."
> +HOMEPAGE = "http://www.mupdf.com"
> +SECTION = "x11/applications"
> +LICENSE = "GPLv3"
> +PR = "r0"
> +
> +DEPENDS = "openjpeg jbig2dec jpeg zlib virtual/libx11 libxext freetype"
> +
> +SRC_URI = "http://mupdf.com/download/source/${PN}-${PV}-source.tar.gz \
> +           file://mupdf_fix_16bit_display.patch \
> +           file://Makerules"
> +
> +S = "${WORKDIR}/mupdf"
> +
> +PACKAGES =+ "${PN}-tools ${PN}-tools-doc "
> +FILES_${PN}-tools = "${bindir}/pdfclean ${bindir}/pdfdraw ${bindir}/pdfshow \
> +                     ${bindir}/pdfextract ${bindir}/pdfinfo"
> +FILES_${PN}-tools-doc = "${mandir}/man1/pdfclean.1 ${mandir}/man1/pdfdraw.1 \
> +                         ${mandir}/man1/pdfshow.1"
> +
> +# mupdf crashes (at least on arm) when built with high level of optimization
> +FULL_OPTIMIZATION = "-O2"

the commend does not go with the code. O2 is high enough optimization.
be more specific what does not work and by default OE uses -Os + some 
specific opt passes.

> +
> +do_configure() {
> +    cp ${WORKDIR}/Makerules ${S}/Makerules
> +

Why not create a patch for Makerules instread of creating a file and then
copying. It will help upgrades the patch will get refreshed for any changes
but this will overwrite those changes.

> +    # we don't include CJK fonts to make binary more slim
> +    # comment out following two lines if you need support for CJK
> +    sed -i 's:^\t\$.GENDIR./font_cjk.c::g' ${S}/Makefile
> +    echo "CFLAGS += -DNOCJK" >> ${S}/Makerules
> +}
> +
> +do_compile() {
> +    # mupdf uses couple of tools for code generation during build process
> +    # so we need to compile them first with host compiler
> +    unset CFLAGS LDFLAGS
> +    oe_runmake build/debug
> +    oe_runmake build/debug/cmapdump LD=${BUILD_CC} CC=${BUILD_CC}
> +    oe_runmake build/debug/fontdump LD=${BUILD_CC} CC=${BUILD_CC}
> +
> +    # ...and then we fire 'make', feeding proper
> +    # cross-compilation flags through Makerules file
> +    echo "CFLAGS += ${CFLAGS}" >> ${S}/Makerules
> +    echo "LDFLAGS += ${LDFLAGS}" >> ${S}/Makerules
> +    oe_runmake LD="${CC}"
> +}
> +
> +do_install() {
> +    oe_runmake install prefix="${D}/usr"
> +    install -d ${D}/${datadir}/applications
> +    install -d ${D}/${datadir}/pixmaps
> +    install -d ${D}/${mandir}/man1
> +    install -m 0644 ${S}/debian/mupdf.xpm ${D}/${datadir}/pixmaps/
> +    install -m 0644 ${S}/debian/mupdf.desktop ${D}/${datadir}/applications/
> +    install -m 0644 ${S}/debian/*.1 ${D}/${mandir}/man1/
> +}
> +
> +SRC_URI[md5sum] = "d1e1a1df8fb3e4d1c601506797b75036"
> +SRC_URI[sha256sum] = "6f87c4f113ee9e0f4bdfd3a316ef44052edc4febc8f7b531c4a3f44ffe149605"
> -- 
> 1.7.1
> 
> 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel



  reply	other threads:[~2010-06-09 13:40 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-09  7:32 [PATCH 0/3] Recipe for MuPDF Dmitry Artamonow
2010-06-09  7:33 ` [PATCH 1/3] openjpeg-1.3: new recipe Dmitry Artamonow
2010-06-09  7:33 ` [PATCH 2/3] jbig2dec-0.11: " Dmitry Artamonow
2010-06-09 13:31   ` Khem Raj
2010-06-09 19:46     ` Dmitry Artamonow
2010-06-09  7:33 ` [PATCH 3/3] mupdf-0.6: " Dmitry Artamonow
2010-06-09 13:36   ` Khem Raj [this message]
2010-06-09 19:37     ` Dmitry Artamonow
2010-07-18 10:40     ` Martin Jansa
2010-07-18  7:56 ` [PATCH 0/3] Recipe for MuPDF Martin Jansa
2010-08-02  8:52   ` Martin Jansa
  -- strict thread matches above, loose matches on Subject: below --
2010-06-23 17:00 [PATCH v2 " Dmitry Artamonow
2010-06-23 17:00 ` [PATCH 3/3] mupdf-0.6: new recipe Dmitry Artamonow

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100609133618.GC29724@gmail.com \
    --to=raj.khem@gmail.com \
    --cc=openembedded-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox