From a74a29fb4084d201f664aa00d7d5f0891d6d4822 Mon Sep 17 00:00:00 2001 From: Henning Heinold Date: Fri, 11 Sep 2009 03:23:54 +0200 Subject: disko: update to newer git rev * stole some input form the disko-oe-git, but rework some stuff --- recipes/disko/disko.inc | 24 ++++++++++++++ recipes/disko/disko_git.bb | 26 +++------------ recipes/disko/files/linkpath.patch | 23 +++++--------- recipes/disko/files/pkgconfig.patch | 63 +++++++++++++++++++------------------ 4 files changed, 69 insertions(+), 67 deletions(-) create mode 100644 recipes/disko/disko.inc (limited to 'recipes/disko') diff --git a/recipes/disko/disko.inc b/recipes/disko/disko.inc new file mode 100644 index 0000000000..8f531c5a5a --- /dev/null +++ b/recipes/disko/disko.inc @@ -0,0 +1,24 @@ +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" + +inherit scons pkgconfig + +ARM_INSTRUCTION_SET = "arm" +LD = ${CXX} + +#workaround for disko which creates .pc inside install +do_install_append () { + +for i in `find ${S}/ ${D}/${libdir}/pkgconfig -name "*.pc" -type f` ; do \ + sed -i -e 's:${D}::g' $i + done +} + +scons_do_stage_append () { + STAGE_PKG_SEARCHPATH="${S}/ ${@['','${WORKDIR}/staging-pkg/'][bb.data.inherits_class('packaged-staging',d)]}" + for i in `find ${STAGE_PKG_SEARCHPATH} -name "*.pc" -type f` ; do \ + sed -i -e 's:${STAGING_DIR_HOST}::g' $i + done +} diff --git a/recipes/disko/disko_git.bb b/recipes/disko/disko_git.bb index a48ec15d39..9aa378ee5c 100644 --- a/recipes/disko/disko_git.bb +++ b/recipes/disko/disko_git.bb @@ -1,38 +1,22 @@ 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" -PV = "1.1.5+gitr${SRCREV}" +PV = "1.6.0+gitr${SRCREV}" PR = "r0" -DEPENDS = "sqlite3 libpng jpeg curl alsa-lib taglib directfb libxml2 virtual/libx11 libsigc++-2.0 hal \ - libxv libxxf86vm" +require disko.inc + +DEPENDS += "taglib directfb virtual/libx11 hal libxv libxxf86vm" SRC_URI = "git://www.diskohq.org/disko.git;protocol=git \ file://linkpath.patch;patch=1 \ file://pkgconfig.patch;patch=1 \ " -SRCREV = "ed1d2905be5ae4fff37c498847c298fa501bbde1" +SRCREV = "2aa9912fc32fcf24574e5053201e967dd59bceca" S = "${WORKDIR}/git" -inherit scons pkgconfig - do_compile() { ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} graphics=all PREFIX=${prefix} prefix=${prefix} || \ oefatal "scons build execution failed." } - -#workaround for disko which creates .pc inside install -do_install_append () { - -for i in `find ${S}/ ${D}/${libdir}/pkgconfig -name "*.pc" -type f` ; do \ - sed -i -e 's:${D}::g' $i - done -} - -scons_do_stage_append () { - STAGE_PKG_SEARCHPATH="${S}/ ${@['','${WORKDIR}/staging-pkg/'][bb.data.inherits_class('packaged-staging',d)]}" - for i in `find ${STAGE_PKG_SEARCHPATH} -name "*.pc" -type f` ; do \ - sed -i -e 's:${STAGING_DIR_HOST}::g' $i - done -} diff --git a/recipes/disko/files/linkpath.patch b/recipes/disko/files/linkpath.patch index c28540848e..e38b0748c4 100644 --- a/recipes/disko/files/linkpath.patch +++ b/recipes/disko/files/linkpath.patch @@ -1,22 +1,15 @@ Index: git/SConstruct =================================================================== ---- git.orig/SConstruct 2009-07-14 20:45:56.924100368 +0200 -+++ git/SConstruct 2009-07-14 20:46:27.553677127 +0200 -@@ -131,7 +131,7 @@ - if os.environ.has_key('CXXFLAGS'): - env['CCFLAGS'] = [os.environ['CXXFLAGS'].split()] - if os.environ.has_key('LD'): -- env['LINK'] = [os.environ['LD'].split()] -+ env['LINK'] = [os.environ['CXX'].split()] - if os.environ.has_key('LDFLAGS'): - env['LINKFLAGS'] = [os.environ['LDFLAGS'].split()] - -@@ -156,7 +156,7 @@ +--- git.orig/SConstruct 2009-09-11 01:44:37.000000000 +0200 ++++ git/SConstruct 2009-09-11 01:52:26.265319426 +0200 +@@ -161,8 +161,8 @@ + idir_inc = idir_prefix + '/include/disko' idir_data = idir_prefix + '/share/disko' - # link with -rpath --env['LINKFLAGS'].append('-Wl,-rpath=' + env['prefix'] + '/lib/disko') -+env['LINKFLAGS'].append('-Wl,-rpath-link=' + env['prefix'] + '/lib/disko') +-# link with -rpath +-# env['LINKFLAGS'].extend(['-Wl,-rpath=' + env['prefix'] + '/lib/disko']) ++# link with -rpath-link ++# env['LINKFLAGS'].extend(['-Wl,-rpath-link==' + env['prefix'] + '/lib/disko']) # extra flags if env['messages']: diff --git a/recipes/disko/files/pkgconfig.patch b/recipes/disko/files/pkgconfig.patch index 4bf50dcfa4..3e4a84bfe8 100644 --- a/recipes/disko/files/pkgconfig.patch +++ b/recipes/disko/files/pkgconfig.patch @@ -1,60 +1,60 @@ Index: git/SConstruct =================================================================== ---- git.orig/SConstruct 2009-07-14 23:53:04.460889326 +0200 -+++ git/SConstruct 2009-07-14 23:56:23.408030317 +0200 -@@ -542,6 +542,7 @@ +--- git.orig/SConstruct 2009-09-11 01:53:54.000000000 +0200 ++++ git/SConstruct 2009-09-11 02:08:12.789878911 +0200 +@@ -585,6 +585,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, libcurl, sigc++-2.0, libpng >= 1.2, freetype2' + disko_pc_requires = 'libxml-2.0 >= 2.6, sigc++-2.0, libpng >= 1.2, freetype2' if env['LIBPATH']: -@@ -559,31 +560,43 @@ +@@ -610,30 +611,43 @@ + if env.has_key('libdl'): + disko_pc_libs += ' -ldl' - if env.has_key('libiconv'): - disko_pc_libs += ' -liconv' + if('fbdev' in env['graphics']): -+ PKG_CCFLAGS += '-D__HAVE_FBDEV__ ' - ++ PKG_CCFLAGS += '-D__HAVE_FBDEV__ ' ++ if 'dfb' in env['graphics']: disko_pc_requires += ', directfb' -+ PKG_CCFLAGS += '-D__HAVE_DIRECTFB__ ' ++ PKG_CCFLAGS += '-D__HAVE_DIRECTFB__ ' if 'x11' in env['graphics']: disko_pc_requires += ', x11, xv, xxf86vm' -+ PKG_CCFLAGS += '-D__HAVE_XLIB__ ' -+ PKG_CCFLAGS += '-D__ENABLE_MMSFB_X11_CORE__ ' -+ PKG_CCFLAGS += '-D__ENABLE_MMSFBSURFACE_X11_CORE__ ' ++ PKG_CCFLAGS += '-D__HAVE_XLIB__ ' ++ PKG_CCFLAGS += '-D__ENABLE_MMSFB_X11_CORE__ ' ++ PKG_CCFLAGS += '-D__ENABLE_MMSFBSURFACE_X11_CORE__ ' - if env['media'] != 'none': + if env['media'] and env['media'] != 'none': disko_pc_requires += ', alsa' - if not env['big_lib']: + if not env['big_lib'] and not env['static_lib']: disko_pc_libs += ' -lmmsmedia' -+ PKG_CCFLAGS += '-D__HAVE_MMSMEDIA__ -D__HAVE_MIXER__ ' ++ 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__ ' ++ 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__ ' ++ PKG_CCFLAGS += '-D__HAVE_GSTREAMER__ ' if env['enable_flash']: - disko_pc_requires += ', swfdec-0.8' - if not env['big_lib']: + disko_pc_requires += ', swfdec-' + swfdecversion + if not env['big_lib'] and not env['static_lib']: disko_pc_libs += ' -lmmsflash' -+ PKG_CCFLAGS += '-D__HAVE_MMSFLASH__ ' ++ PKG_CCFLAGS += '-D__HAVE_MMSFLASH__ ' if env['enable_sip']: disko_pc_requires += ', libpj' -@@ -591,18 +604,32 @@ +@@ -641,18 +655,32 @@ disko_pc_libs += ' -lmmssip' if('uuid' in env['LIBS']): disko_pc_requires += ', uuid' @@ -87,17 +87,18 @@ Index: git/SConstruct disko_pc.write('prefix=' + env['prefix'] + '\n') disko_pc.write('exec_prefix=${prefix}\n') -@@ -614,12 +641,7 @@ +@@ -664,13 +692,7 @@ disko_pc.write('Requires: ' + disko_pc_requires + '\n') disko_pc.write('Libs: -L${libdir} ' + disko_pc_libs + '\n') disko_pc.write('Cflags: -I${includedir}/ ') - for ccflag in env['CCFLAGS']: -- disko_pc.write(' ') -- if(type(ccflag).__name__ == 'str'): -- disko_pc.write(ccflag) -- else: -- disko_pc.write(' '.join(ccflag)) -+ disko_pc.write(PKG_CCFLAGS) +- if type(ccflag).__name__ == 'str' and not ccflag.startswith('-isystem'): +- disko_pc.write(' ') +- 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() -- cgit v1.2.3