disko: update git version, use INC_PR, re work disko.inc usage
authorHenning Heinold <heinold@inf.fu-berlin.de>
Tue, 8 Feb 2011 22:24:59 +0000 (23:24 +0100)
committerHenning Heinold <heinold@inf.fu-berlin.de>
Tue, 8 Feb 2011 22:27:17 +0000 (23:27 +0100)
recipes/disko/disko-git/pkgconfig.patch [new file with mode: 0644]
recipes/disko/disko.inc
recipes/disko/disko_1.6.0.bb
recipes/disko/disko_1.7.0.bb
recipes/disko/disko_git.bb
recipes/disko/files/mmsfbmanager.patch [new file with mode: 0644]
recipes/disko/files/mmsfbsurface.patch [new file with mode: 0644]

diff --git a/recipes/disko/disko-git/pkgconfig.patch b/recipes/disko/disko-git/pkgconfig.patch
new file mode 100644 (file)
index 0000000..bf60ccf
--- /dev/null
@@ -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()
index 05f2009..1f2d8fc 100644 (file)
@@ -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 () {
 
index baf7fb3..fa24f5f 100644 (file)
@@ -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"
index 7907d7a..4685d06 100644 (file)
@@ -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"
index 71d694d..950f6ba 100644 (file)
@@ -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 (file)
index 0000000..9f199fa
--- /dev/null
@@ -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 (file)
index 0000000..de065f7
--- /dev/null
@@ -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