[oe-commits] Henning Heinold : disko: move to newer git version

git version control git at git.openembedded.org
Wed Jul 15 00:00:56 UTC 2009


Module: openembedded.git
Branch: org.openembedded.dev
Commit: 74967b6059f91e50d33f6f4a30c165a06a00fcbb
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=74967b6059f91e50d33f6f4a30c165a06a00fcbb

Author: Henning Heinold <heinold at inf.fu-berlin.de>
Date:   Wed Jul 15 01:55:17 2009 +0200

disko: move to newer git version
* workarounds for .pc
* removed patch for headers which was fixed upstream

---

 recipes/disko/disko_git.bb          |   22 ++++++-
 recipes/disko/files/header.patch    |   13 ----
 recipes/disko/files/linkpath.patch  |   22 +++++++
 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 657fb40..a48ec15 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 e60d558..0000000
--- 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 0000000..c285408
--- /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 a84106e..4bf50dc 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()





More information about the Openembedded-commits mailing list