[oe] [PATCH 3/3] mupdf-0.6: new recipe
Khem Raj
raj.khem at gmail.com
Wed Jun 9 13:36:18 UTC 2010
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 at 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 at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
More information about the Openembedded-devel
mailing list