aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--recipes/disko/disko_git.bb22
-rw-r--r--recipes/disko/files/header.patch13
-rw-r--r--recipes/disko/files/linkpath.patch22
-rw-r--r--recipes/disko/files/pkgconfig.patch117
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()