diff options
Diffstat (limited to 'recipes/disko')
-rw-r--r-- | recipes/disko/disko_git.bb | 22 | ||||
-rw-r--r-- | recipes/disko/files/header.patch | 13 | ||||
-rw-r--r-- | recipes/disko/files/linkpath.patch | 22 | ||||
-rw-r--r-- | recipes/disko/files/pkgconfig.patch | 117 |
4 files changed, 138 insertions, 36 deletions
diff --git a/recipes/disko/disko_git.bb b/recipes/disko/disko_git.bb index 657fb40cec..a48ec15d39 100644 --- a/recipes/disko/disko_git.bb +++ b/recipes/disko/disko_git.bb @@ -7,10 +7,11 @@ DEPENDS = "sqlite3 libpng jpeg curl alsa-lib taglib directfb libxml2 virtual/lib libxv libxxf86vm" SRC_URI = "git://www.diskohq.org/disko.git;protocol=git \ - file://header.patch;patch=1 \ - file://pkgconfig.patch;patch=1 \ + file://linkpath.patch;patch=1 \ + file://pkgconfig.patch;patch=1 \ " -SRCREV = "bf29da8c0060a2b4f0f9593524ca71aa1adfbc0c" + +SRCREV = "ed1d2905be5ae4fff37c498847c298fa501bbde1" S = "${WORKDIR}/git" @@ -20,3 +21,18 @@ 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/header.patch b/recipes/disko/files/header.patch deleted file mode 100644 index e60d5582e8..0000000000 --- a/recipes/disko/files/header.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: git/src/mmsconfig/mmsrcparser.cpp -=================================================================== ---- git.orig/src/mmsconfig/mmsrcparser.cpp 2009-03-25 01:29:20.822096657 +0100 -+++ git/src/mmsconfig/mmsrcparser.cpp 2009-03-25 01:29:34.320881340 +0100 -@@ -26,6 +26,8 @@ - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ***************************************************************************/ - -+#include <cstring> -+ - #include "mmsconfig/mmsrcparser.h" - #include "mmstools/tools.h" - diff --git a/recipes/disko/files/linkpath.patch b/recipes/disko/files/linkpath.patch new file mode 100644 index 0000000000..c28540848e --- /dev/null +++ b/recipes/disko/files/linkpath.patch @@ -0,0 +1,22 @@ +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 @@ + 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') + + # extra flags + if env['messages']: diff --git a/recipes/disko/files/pkgconfig.patch b/recipes/disko/files/pkgconfig.patch index a84106eb6c..4bf50dcfa4 100644 --- a/recipes/disko/files/pkgconfig.patch +++ b/recipes/disko/files/pkgconfig.patch @@ -1,26 +1,103 @@ -Index: git/Makefile -=================================================================== ---- git.orig/Makefile 2009-03-24 14:41:03.000000000 +0100 -+++ git/Makefile 2009-03-25 02:20:38.613872577 +0100 -@@ -59,7 +59,7 @@ - install-pkgconfig: - @echo "writing pkgconfig information" - @install -d "$(DESTDIR)$(libdir)/../pkgconfig" -- @echo "prefix=$(prefix)" > $(DESTDIR)$(libdir)/../pkgconfig/$(PROJECTNAME).pc -+ @echo "prefix=/usr" > $(DESTDIR)$(libdir)/../pkgconfig/$(PROJECTNAME).pc - @echo "exec_prefix=\$${prefix}/bin" >> $(DESTDIR)$(libdir)/../pkgconfig/$(PROJECTNAME).pc - @echo "libdir=\$${prefix}/lib/disko" >> $(DESTDIR)$(libdir)/../pkgconfig/$(PROJECTNAME).pc - @echo "includedir=\$${prefix}/include/disko" >> $(DESTDIR)$(libdir)/../pkgconfig/$(PROJECTNAME).pc Index: git/SConstruct =================================================================== ---- git.orig/SConstruct 2009-03-25 02:22:03.018024446 +0100 -+++ git/SConstruct 2009-03-25 02:22:41.668240834 +0100 -@@ -473,7 +473,7 @@ +--- 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 @@ + ####################################################################### + # 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' + if env['LIBPATH']: +@@ -559,31 +560,43 @@ + + if env.has_key('libiconv'): + disko_pc_libs += ' -liconv' ++ if('fbdev' in env['graphics']): ++ PKG_CCFLAGS += '-D__HAVE_FBDEV__ ' + + if 'dfb' in env['graphics']: + disko_pc_requires += ', 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__ ' + + if env['media'] != 'none': + disko_pc_requires += ', alsa' + if not env['big_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-0.8' + if not env['big_lib']: + disko_pc_libs += ' -lmmsflash' ++ PKG_CCFLAGS += '-D__HAVE_MMSFLASH__ ' + + if env['enable_sip']: + disko_pc_requires += ', libpj' +@@ -591,18 +604,32 @@ + disko_pc_libs += ' -lmmssip' + if('uuid' in env['LIBS']): + disko_pc_requires += ', uuid' ++ PKG_CCFLAGS += '-D__HAVE_MMSSIP__ ' + + if env['enable_mail']: + disko_pc_requires += ', vmime' ++ PKG_CCFLAGS += '-D__HAVE_VMIME__ ' + + if env['mmscrypt']: + 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' ++ PKG_CCFLAGS += '-D__ENABLE_MYSQL__ ' ++ ++ if 'odbc' in env['database']: ++ PKG_CCFLAGS += '-D__ENABLE_FREETDS__ ' ++ ++ if env['messages']: ++ PKG_CCFLAGS += '-D__ENABLE_LOG__ ' ++ ++ if env['debug']: ++ PKG_CCFLAGS += '-D__ENABLE_DEBUG__ ' -- disko_pc.write('prefix=' + env['prefix'] + '\n') -+ disko_pc.write('prefix=/usr' + '\n') + disko_pc.write('prefix=' + env['prefix'] + '\n') disko_pc.write('exec_prefix=${prefix}\n') - disko_pc.write('libdir=${exec_prefix}/lib/disko\n') - disko_pc.write('includedir=${exec_prefix}/include/disko\n\n') +@@ -614,12 +641,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) + disko_pc.write('\n') + + disko_pc.close() |