From d6e5809d0874902ba951eb4b92338bbd61ecd533 Mon Sep 17 00:00:00 2001 From: Henning Heinold Date: Tue, 8 Feb 2011 23:24:59 +0100 Subject: disko: update git version, use INC_PR, re work disko.inc usage --- recipes/disko/disko-git/pkgconfig.patch | 111 ++++++++++++++++++++++++++++++++ recipes/disko/disko.inc | 13 +++- recipes/disko/disko_1.6.0.bb | 20 ++---- recipes/disko/disko_1.7.0.bb | 23 +------ recipes/disko/disko_git.bb | 23 +++---- recipes/disko/files/mmsfbmanager.patch | 13 ++++ recipes/disko/files/mmsfbsurface.patch | 49 ++++++++++++++ 7 files changed, 198 insertions(+), 54 deletions(-) create mode 100644 recipes/disko/disko-git/pkgconfig.patch create mode 100644 recipes/disko/files/mmsfbmanager.patch create mode 100644 recipes/disko/files/mmsfbsurface.patch (limited to 'recipes/disko') diff --git a/recipes/disko/disko-git/pkgconfig.patch b/recipes/disko/disko-git/pkgconfig.patch new file mode 100644 index 0000000000..bf60ccf4ba --- /dev/null +++ b/recipes/disko/disko-git/pkgconfig.patch @@ -0,0 +1,111 @@ +Index: git/SConstruct +=================================================================== +--- git.orig/SConstruct 2011-02-08 20:28:50.000000000 +0100 ++++ git/SConstruct 2011-02-08 22:25:08.512491454 +0100 +@@ -678,6 +678,7 @@ + ####################################################################### + # TODO: handle disko_pc_libs # + if 'install' in BUILD_TARGETS: ++ PKG_CCFLAGS = '' + disko_pc = open('disko.pc', 'w') + disko_pc_requires = 'libxml-2.0 >= 2.6, sigc++-2.0, freetype2' + if (env['enable_curl']): +@@ -712,6 +713,9 @@ + else: + disko_pc_libs_private += ' -ltiff' + ++ if('fbdev' in env['graphics']): ++ PKG_CCFLAGS += '-D__HAVE_FBDEV__ ' ++ + if env.has_key('libdl'): + disko_pc_libs_private += ' -ldl' + +@@ -720,6 +724,10 @@ + + if 'x11' in env['graphics']: + disko_pc_requires += ', x11, xv, xxf86vm, xcomposite, xrender' ++ PKG_CCFLAGS += '-D__HAVE_XLIB__ ' ++ PKG_CCFLAGS += '-D__ENABLE_MMSFB_X11_CORE__ ' ++ PKG_CCFLAGS += '-D__ENABLE_MMSFBSURFACE_X11_CORE__ ' ++ + if '-D__HAVE_OPENGL__' in env['CCFLAGS']: + disko_pc_requires += ', gl, glu' + +@@ -733,23 +741,30 @@ + if env['media'] and env['media'] != 'none': + if not env['big_lib'] and not env['static_lib']: + disko_pc_libs += ' -lmmsmedia' ++ PKG_CCFLAGS += '-D__HAVE_MMSMEDIA__ -D__HAVE_MIXER__ ' + + if 'xine' in env['media']: + if('x11' in env['graphics']): + disko_pc_requires += ', libxine >= 1.1.15' + else: + disko_pc_requires += ', libxine' ++ PKG_CCFLAGS += '-D__HAVE_XINE__ ' ++ if conf.checkXineBlDvb(): ++ PKG_CCFLAGS += '-D__HAVE_XINE_BLDVB__ ' + + if 'gstreamer' in env['media']: + disko_pc_requires += ', gstreamer-0.10' ++ PKG_CCFLAGS += '-D__HAVE_GSTREAMER__ ' + + if env['enable_flash']: + disko_pc_requires += ', swfdec-' + swfdecversion ++ PKG_CCFLAGS += '-D__HAVE_MMSFLASH__ ' + if not env['big_lib'] and not env['static_lib']: + disko_pc_libs += ' -lmmsflash' + + if env['enable_sip']: + disko_pc_requires += ', libpj' ++ PKG_CCFLAGS += '-D__HAVE_MMSSIP__ ' + if not env['big_lib'] and not env['static_lib']: + disko_pc_libs += ' -lmmssip' + if('uuid' in env['LIBS']): +@@ -757,19 +772,32 @@ + + if env['enable_mail']: + disko_pc_requires += ', vmime' ++ PKG_CCFLAGS += '-D__HAVE_VMIME__ ' + + if env['enable_crypt']: + disko_pc_requires += ', openssl' ++ PKG_CCFLAGS += '-D__HAVE_MMSCRYPT__ ' + + if 'sqlite3' in env['database']: + disko_pc_requires += ', sqlite3' ++ PKG_CCFLAGS += '-D__ENABLE_SQLITE__ ' + + if 'mysql' in env['database']: + disko_pc_requires += ', mysql' + ++ if 'odbc' in env['database']: ++ PKG_CCFLAGS += '-D__ENABLE_FREETDS__ ' ++ + if env['enable_swscale']: + disko_pc_libs_private += ' -lswscale -lavutil' + ++ if env['messages']: ++ PKG_CCFLAGS += '-D__ENABLE_LOG__ ' ++ ++ if env['debug']: ++ PKG_CCFLAGS += '-D__ENABLE_DEBUG__ ' ++ ++ + disko_pc.write('prefix=') + if env['destdir'] and env['destdir'] != 'none': + disko_pc.write(env['destdir'] + '/') +@@ -784,12 +812,7 @@ + disko_pc.write('Libs: -L${libdir} ' + disko_pc_libs + '\n') + disko_pc.write('Libs.private: ' + disko_pc_libs_private + '\n') + disko_pc.write('Cflags: -I${includedir}/ ') +- +- for ccflag in env['CCFLAGS']: +- if(type(ccflag).__name__ == 'str'): +- disko_pc.write(' ' + ccflag) +- else: +- disko_pc.write(' ' + ' '.join(ccflag)) ++ disko_pc.write(PKG_CCFLAGS) + disko_pc.write('\n') + + disko_pc.close() diff --git a/recipes/disko/disko.inc b/recipes/disko/disko.inc index 05f200943d..1f2d8fc84f 100644 --- a/recipes/disko/disko.inc +++ b/recipes/disko/disko.inc @@ -1,13 +1,20 @@ DESCRIPTION = "Disko is an application framework, that can be used to develop GUI applications for embedded devices." -LICENSE = "GPL" - -DEPENDS = "sqlite3 libpng jpeg curl alsa-lib freetype libxml2 libsigc++-2.0 openssl" +LICENSE = "LGPL" +DEPENDS = "sqlite3 libpng jpeg curl alsa-lib freetype libxml2 libsigc++-2.0 openssl taglib directfb virtual/libx11 libxv libxxf86vm" +INC_PR = "r1" inherit scons pkgconfig +SRC_URI = "http://www.diskohq.com/repository/ubuntu/pool/${PN}_${PV}.tar.gz" + ARM_INSTRUCTION_SET = "arm" LD = ${CXX} +do_compile() { + ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} graphics=all prefix=${prefix}/ || \ + oefatal "scons build execution failed." +} + #workaround for disko which creates .pc inside install do_install_append () { diff --git a/recipes/disko/disko_1.6.0.bb b/recipes/disko/disko_1.6.0.bb index baf7fb3ddf..fa24f5fb74 100644 --- a/recipes/disko/disko_1.6.0.bb +++ b/recipes/disko/disko_1.6.0.bb @@ -1,21 +1,11 @@ -DESCRIPTION = "Disko is an application framework, that can be used to develop GUI applications for embedded devices. It is closely connected to the DirectFB" -LICENSE = "LGPL" -PR = "r0" - require disko.inc -DEPENDS += "taglib directfb virtual/libx11 hal libxv libxxf86vm" +PR = "${INC_PR}.0" -SRC_URI = "http://www.diskohq.com/repository/ubuntu/pool/${PN}_${PV}.tar.bz2 \ - file://pkgconfig.patch \ - " +SRC_URI = "http://www.diskohq.com/repository/ubuntu/pool/${PN}_${PV}.tar.bz2 \ + file://pkgconfig.patch \ + file://mmsfiletransfer.patch \ + " -do_compile() { - ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} graphics=all prefix=${prefix}/ || \ - oefatal "scons build execution failed." -} SRC_URI[md5sum] = "9725e3d692492188b4c74e38884501b9" SRC_URI[sha256sum] = "6553d69dc4968f38840f408b6e75ece5f575a816ff8c2df76cccb6d966a836b7" - -#SRC_URI[md5sum] = "c63bad58524501e367af9842f510b458" -#SRC_URI[sha256sum] = "fe578299be4031d0c2454ff4fd3b3034e332260b9695687adf27a776a61eb2e4" diff --git a/recipes/disko/disko_1.7.0.bb b/recipes/disko/disko_1.7.0.bb index 7907d7a73c..4685d06480 100644 --- a/recipes/disko/disko_1.7.0.bb +++ b/recipes/disko/disko_1.7.0.bb @@ -1,27 +1,8 @@ -DESCRIPTION = "Disko is an application framework, that can be used to develop GUI applications for embedded devices. It is closely connected to the DirectFB" -LICENSE = "LGPL" -PR = "r0" - require disko.inc -DEPENDS += "taglib directfb virtual/libx11 hal libxv libxxf86vm" - -SRC_URI = "http://www.diskohq.com/repository/ubuntu/pool/${PN}_${PV}.tar.gz \ - file://mmsfiletransfer.patch \ - " - -do_compile() { - if [ "${SCONS_FIX_ENV}" = "1" ] ; then - if grep "toolchain-from-env" ${S}/SConstruct ; then - echo "Toolchain overrides already applied" - else - cat ${STAGING_DATADIR_NATIVE}/scons/toolchain-from-env.SConscript >> ${S}/SConstruct - fi - fi +PR = "${INC_PR}.0" - ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} CXX="${CXX}" PREFIX=${prefix} prefix=${prefix} graphics=all || \ - oefatal "scons build execution failed." -} +SRC_URI += "file://mmsfiletransfer.patch" SRC_URI[md5sum] = "23162e567fd980c20ba40b574afd9276" SRC_URI[sha256sum] = "9ec9f5c4c03716cc1d24cc8bce252f4d44ce56837e37f1b9cb6ddc44639dedfc" diff --git a/recipes/disko/disko_git.bb b/recipes/disko/disko_git.bb index 71d694da1e..950f6bae00 100644 --- a/recipes/disko/disko_git.bb +++ b/recipes/disko/disko_git.bb @@ -1,22 +1,15 @@ -DESCRIPTION = "Disko is an application framework, that can be used to develop GUI applications for embedded devices. It is closely connected to the DirectFB" -LICENSE = "GPL" -SRCREV = "f52597b8d5d584811cbe8f9e0bf25ea372526953" -PV = "1.6.1+gitr${SRCREV}" -PR = "r0" - -DEFAULT_PREFERENCE = "-1" - require disko.inc -DEPENDS += "taglib directfb virtual/libx11 hal libxv libxxf86vm" +SRCREV = "0a38997f2525d8c62156b0fa97393a966c645f41" +PV = "1.7.0+gitr${SRCREV}" +PR = "${INC_PR}.0" + +FILESPATHPKG =. "disko-git:" SRC_URI = "git://www.diskohq.org/disko.git;protocol=git \ - file://pkgconfig.patch \ + file://pkgconfig.patch \ + file://mmsfbsurface.patch \ + file://mmsfbmanager.patch \ " S = "${WORKDIR}/git" - -do_compile() { - ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} graphics=all prefix=${prefix}/ || \ - oefatal "scons build execution failed." -} diff --git a/recipes/disko/files/mmsfbmanager.patch b/recipes/disko/files/mmsfbmanager.patch new file mode 100644 index 0000000000..9f199fa05d --- /dev/null +++ b/recipes/disko/files/mmsfbmanager.patch @@ -0,0 +1,13 @@ +Index: git/src/mmsgui/mmsfbmanager.cpp +=================================================================== +--- git.orig/src/mmsgui/mmsfbmanager.cpp 2011-02-08 21:34:08.922797666 +0100 ++++ git/src/mmsgui/mmsfbmanager.cpp 2011-02-08 21:53:26.576021124 +0100 +@@ -69,7 +69,7 @@ + myargv[i]=strdup(argv[i]); + + #ifdef __HAVE_DIRECTFB__ +- if(config.getOutputType() == MMSFB_OT_X11) { ++ if(config.getGraphicsLayer().outputtype == MMSFB_OT_X11) { + myargv[myargc]=strdup("--dfb:system=x11"); + myargc++; + } diff --git a/recipes/disko/files/mmsfbsurface.patch b/recipes/disko/files/mmsfbsurface.patch new file mode 100644 index 0000000000..de065f770a --- /dev/null +++ b/recipes/disko/files/mmsfbsurface.patch @@ -0,0 +1,49 @@ +Index: git/src/mmsgui/fb/mmsfbsurface.cpp +=================================================================== +--- git.orig/src/mmsgui/fb/mmsfbsurface.cpp 2011-02-08 20:58:00.966348752 +0100 ++++ git/src/mmsgui/fb/mmsfbsurface.cpp 2011-02-08 21:27:16.189512109 +0100 +@@ -911,7 +911,7 @@ + planes->ptr2 = ((unsigned char *)planes->ptr) + planes->pitch * height; + planes->pitch2 = planes->pitch / 4; + planes->ptr3 = NULL; +- planes->pitch3 = NULL; ++ planes->pitch3 = 0; + break; + default: + break; +@@ -5035,7 +5035,7 @@ + + // blit + if (!this->is_sub_surface) { +- if (!extendedAccelBlit(source, &src, x, y)) ++ if (!extendedAccelBlit(source, &src, x, y, blittingflags)) + if ((dfbres=this->dfb_surface->Blit(this->dfb_surface, (IDirectFBSurface *)source->getDFBSurface(), (DFBRectangle*)&src, x, y)) != DFB_OK) { + #ifndef USE_DFB_SUBSURFACE + // reset source rectangle +@@ -5062,7 +5062,7 @@ + SETSUBSURFACE_BLITTINGFLAGS; + #endif + +- if (extendedAccelBlit(source, &src, x, y)) ++ if (extendedAccelBlit(source, &src, x, y, blittingflags)) + ret = true; + else + if (this->dfb_surface->Blit(this->dfb_surface, (IDirectFBSurface *)source->getDFBSurface(), (DFBRectangle*)&src, x, y) == DFB_OK) +@@ -5393,7 +5393,7 @@ + dfbres=((IDirectFBSurface *)tempsuf->getDFBSurface())->StretchBlit((IDirectFBSurface *)tempsuf->getDFBSurface(), (IDirectFBSurface *)source->getDFBSurface(), (DFBRectangle*)&src, (DFBRectangle*)&temp); + if (dfbres == DFB_OK) { + if (!this->is_sub_surface) { +- if (extendedAccelBlit(tempsuf, &temp, dst.x, dst.y)) { ++ if (extendedAccelBlit(tempsuf, &temp, dst.x, dst.y, MMSFB_BLIT_NOFX)) { + blit_done = true; + ret = true; + } +@@ -5414,7 +5414,7 @@ + SETSUBSURFACE_BLITTINGFLAGS; + #endif + +- if (!extendedAccelBlit(tempsuf, &temp, dst.x, dst.y)) ++ if (!extendedAccelBlit(tempsuf, &temp, dst.x, dst.y, MMSFB_BLIT_NOFX)) + this->dfb_surface->Blit(this->dfb_surface, (IDirectFBSurface *)tempsuf->getDFBSurface(), (DFBRectangle*)&temp, dst.x, dst.y); + + #ifndef USE_DFB_SUBSURFACE -- cgit 1.2.3-korg