* [Buildroot] [pull request v2] Pull request for branch disko
@ 2011-07-20 5:11 Thomas Petazzoni
2011-07-20 5:11 ` [Buildroot] [PATCH 1/3] scons: new package Thomas Petazzoni
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2011-07-20 5:11 UTC (permalink / raw)
To: buildroot
Hello,
Here is a set of patches that add the disko multimedia framework and
its demonstration application. Since disko uses SCons as it builds
system, we also add a host-scons package.
Changes since v1:
* Removed an UTF-8 only character from the disko/Config.in file
Regards,
Thomas
The following changes since commit ffe62f915dcbf62a840b40167f391127f0702aac:
sysvinit: package name typo (2011-07-12 09:11:39 +0200)
are available in the git repository at:
http://free-electrons.com/~thomas/buildroot.git disko
Thomas Petazzoni (3):
scons: new package
disko: new package
disko-demos: new package
package/multimedia/Config.in | 2 +
package/multimedia/disko-demos/Config.in | 8 ++
.../disko-demos-1.8.0-fix-install-paths.patch | 61 +++++++++++++++
package/multimedia/disko-demos/disko-demos.mk | 27 +++++++
package/multimedia/disko/Config.in | 41 ++++++++++
.../disko/disko-1.8.0-directfb-fix-errors.patch | 82 ++++++++++++++++++++
.../disko/disko-1.8.0-fixup-pkgconfig.patch | 22 +++++
package/multimedia/disko/disko.mk | 57 ++++++++++++++
package/scons/scons.mk | 13 +++
9 files changed, 313 insertions(+), 0 deletions(-)
create mode 100644 package/multimedia/disko-demos/Config.in
create mode 100644 package/multimedia/disko-demos/disko-demos-1.8.0-fix-install-paths.patch
create mode 100644 package/multimedia/disko-demos/disko-demos.mk
create mode 100644 package/multimedia/disko/Config.in
create mode 100644 package/multimedia/disko/disko-1.8.0-directfb-fix-errors.patch
create mode 100644 package/multimedia/disko/disko-1.8.0-fixup-pkgconfig.patch
create mode 100644 package/multimedia/disko/disko.mk
create mode 100644 package/scons/scons.mk
Thanks,
--
Thomas Petazzoni
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 1/3] scons: new package
2011-07-20 5:11 [Buildroot] [pull request v2] Pull request for branch disko Thomas Petazzoni
@ 2011-07-20 5:11 ` Thomas Petazzoni
2011-07-24 20:32 ` Peter Korsgaard
2011-07-20 5:11 ` [Buildroot] [PATCH 2/3] disko: " Thomas Petazzoni
2011-07-20 5:11 ` [Buildroot] [PATCH 3/3] disko-demos: " Thomas Petazzoni
2 siblings, 1 reply; 8+ messages in thread
From: Thomas Petazzoni @ 2011-07-20 5:11 UTC (permalink / raw)
To: buildroot
Only the host package is supported.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/scons/scons.mk | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
create mode 100644 package/scons/scons.mk
diff --git a/package/scons/scons.mk b/package/scons/scons.mk
new file mode 100644
index 0000000..f8fe84b
--- /dev/null
+++ b/package/scons/scons.mk
@@ -0,0 +1,13 @@
+SCONS_VERSION = 2.0.1
+SCONS_SOURCE = scons-$(SCONS_VERSION).tar.gz
+SCONS_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/scons
+
+define HOST_SCONS_BUILD_CMDS
+ (cd $(@D); python setup.py build)
+endef
+
+define HOST_SCONS_INSTALL_CMDS
+ (cd $(@D); python setup.py install --prefix=$(HOST_DIR)/usr)
+endef
+
+$(eval $(call GENTARGETS,package,scons,host))
--
1.7.4.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 2/3] disko: new package
2011-07-20 5:11 [Buildroot] [pull request v2] Pull request for branch disko Thomas Petazzoni
2011-07-20 5:11 ` [Buildroot] [PATCH 1/3] scons: new package Thomas Petazzoni
@ 2011-07-20 5:11 ` Thomas Petazzoni
2011-07-24 20:38 ` Peter Korsgaard
2011-07-20 5:11 ` [Buildroot] [PATCH 3/3] disko-demos: " Thomas Petazzoni
2 siblings, 1 reply; 8+ messages in thread
From: Thomas Petazzoni @ 2011-07-20 5:11 UTC (permalink / raw)
To: buildroot
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/multimedia/Config.in | 1 +
package/multimedia/disko/Config.in | 41 ++++++++++
.../disko/disko-1.8.0-directfb-fix-errors.patch | 82 ++++++++++++++++++++
.../disko/disko-1.8.0-fixup-pkgconfig.patch | 22 +++++
package/multimedia/disko/disko.mk | 57 ++++++++++++++
5 files changed, 203 insertions(+), 0 deletions(-)
create mode 100644 package/multimedia/disko/Config.in
create mode 100644 package/multimedia/disko/disko-1.8.0-directfb-fix-errors.patch
create mode 100644 package/multimedia/disko/disko-1.8.0-fixup-pkgconfig.patch
create mode 100644 package/multimedia/disko/disko.mk
diff --git a/package/multimedia/Config.in b/package/multimedia/Config.in
index 79c601c..74885bd 100644
--- a/package/multimedia/Config.in
+++ b/package/multimedia/Config.in
@@ -2,6 +2,7 @@ menu "Audio and video libraries and applications"
source "package/multimedia/alsa-lib/Config.in"
source "package/multimedia/alsa-utils/Config.in"
source "package/multimedia/aumix/Config.in"
+source "package/multimedia/disko/Config.in"
source "package/multimedia/faad2/Config.in"
source "package/multimedia/flac/Config.in"
source "package/multimedia/ffmpeg/Config.in"
diff --git a/package/multimedia/disko/Config.in b/package/multimedia/disko/Config.in
new file mode 100644
index 0000000..6d83402
--- /dev/null
+++ b/package/multimedia/disko/Config.in
@@ -0,0 +1,41 @@
+config BR2_PACKAGE_DISKO
+ bool "disko"
+ select BR2_PACKAGE_LIBSIGC
+ select BR2_PACKAGE_LIBXML2
+ select BR2_PACKAGE_LIBCURL
+ select BR2_PACKAGE_FREETYPE
+ select BR2_PACKAGE_SQLITE
+ select BR2_PACKAGE_ZLIB
+ select BR2_PACKAGE_LIBPNG
+ select BR2_PACKAGE_JPEG
+ help
+ Disko is an LGPL-licensed user interface (UI) application
+ framework for the fast and simple development of flexible
+ applications on Embedded Linux systems, with a particular
+ focus on interactive user interfaces. It is high-performance
+ and easy to learn, and due to its architecture is well
+ suited to creating complex applications. Disko is a product
+ of BerLinux Solutions GmbH.
+
+ http://www.diskohq.com/
+
+choice
+ prompt "Disko graphical backend"
+ default BR2_PACKAGE_DISKO_GRAPHIC_FBDEV
+ depends on BR2_PACKAGE_DISKO
+ help
+ Select the graphical backend for Disko.
+
+config BR2_PACKAGE_DISKO_GRAPHIC_FBDEV
+ bool "framebuffer"
+
+config BR2_PACKAGE_DISKO_GRAPHIC_DIRECTFB
+ bool "directfb"
+ depends on BR2_PACKAGE_DIRECTFB
+
+config BR2_PACKAGE_DISKO_GRAPHIC_X11
+ bool "x11"
+ depends on BR2_PACKAGE_XORG7
+ select BR2_PACKAGE_XLIB_LIBXCOMPOSITE
+ select BR2_PACKAGE_XLIB_LIBXV
+endchoice
diff --git a/package/multimedia/disko/disko-1.8.0-directfb-fix-errors.patch b/package/multimedia/disko/disko-1.8.0-directfb-fix-errors.patch
new file mode 100644
index 0000000..1cc2a52
--- /dev/null
+++ b/package/multimedia/disko/disko-1.8.0-directfb-fix-errors.patch
@@ -0,0 +1,82 @@
+From: Matthias Hardt <mhardt@berlinux-solutions.de>
+Date: Wed, 8 Jun 2011 18:16:10 +0000 (+0200)
+Subject: mmsgui: -compile errors fixed for DirectFB
+X-Git-Url: http://git.diskohq.com/gitweb/?p=disko.git;a=commitdiff_plain;h=ed0026e853747ed251e438e30643fe29fa42c426
+
+mmsgui: -compile errors fixed for DirectFB
+---
+
+diff --git a/src/mmsgui/fb/mmsfbsurface.cpp b/src/mmsgui/fb/mmsfbsurface.cpp
+index 7cd6d3e..bb7e24b 100755
+--- a/src/mmsgui/fb/mmsfbsurface.cpp
++++ b/src/mmsgui/fb/mmsfbsurface.cpp
+@@ -857,7 +857,7 @@ void MMSFBSurface::initPlanePointers(MMSFBSurfacePlanes *planes, int height) {
+ 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;
+@@ -4785,7 +4785,7 @@ bool MMSFBSurface::stretchBlit(MMSFBSurface *source, MMSFBRectangle *src_rect, M
+ 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, this->config.blittingflags)) {
+ blit_done = true;
+ ret = true;
+ }
+@@ -4806,7 +4806,7 @@ bool MMSFBSurface::stretchBlit(MMSFBSurface *source, MMSFBRectangle *src_rect, M
+ SETSUBSURFACE_BLITTINGFLAGS;
+ #endif
+
+- if (!extendedAccelBlit(tempsuf, &temp, dst.x, dst.y))
++ if (!extendedAccelBlit(tempsuf, &temp, dst.x, dst.y, this->config.blittingflags))
+ this->dfb_surface->Blit(this->dfb_surface, (IDirectFBSurface *)tempsuf->getDFBSurface(), (DFBRectangle*)&temp, dst.x, dst.y);
+
+ #ifndef USE_DFB_SUBSURFACE
+@@ -7121,7 +7121,7 @@ bool MMSFBSurface::dump2file(string filename, MMSFBSurfaceDumpMode dumpmode) {
+
+ bool dump_fcb(char *buf, int len, void *argp, int *argi) {
+ buf[len] = 0;
+- printf(buf);
++ printf("%s", buf);
+ return true;
+ }
+
+diff --git a/src/mmsgui/mmsfbmanager.cpp b/src/mmsgui/mmsfbmanager.cpp
+index ab604e8..871000d 100755
+--- a/src/mmsgui/mmsfbmanager.cpp
++++ b/src/mmsgui/mmsfbmanager.cpp
+@@ -73,13 +73,6 @@ bool MMSFBManager::init(int argc, char **argv, string appl_name, string appl_ico
+ for(i=0;i<argc;i++)
+ myargv[i]=strdup(argv[i]);
+
+-#ifdef __HAVE_DIRECTFB__
+- if(config.getOutputType() == MMSFB_OT_X11) {
+- myargv[myargc]=strdup("--dfb:system=x11");
+- myargc++;
+- }
+-#endif
+-
+ DEBUGMSG("MMSGUI", "init mmsfb");
+ bool ea = config.getExtendedAccel();
+ #ifdef __HAVE_DIRECTFB__
+@@ -98,6 +91,15 @@ bool MMSFBManager::init(int argc, char **argv, string appl_name, string appl_ico
+ MMSConfigDataLayer videolayer_conf = this->config.getVideoLayer();
+ MMSConfigDataLayer graphicslayer_conf = this->config.getGraphicsLayer();
+
++#ifdef __HAVE_DIRECTFB__
++ if(videolayer_conf.outputtype == MMSFB_OT_X11) {
++ myargv[myargc++] = strdup("--dfb:system=x11");
++ char mode[24];
++ snprintf(mode, 24, "--dfb:mode=%dx%d", graphicslayer_conf.rect.w, graphicslayer_conf.rect.h);
++ myargv[myargc++] = strdup(mode);
++ }
++#endif
++
+ // init the MMSFB class
+ if (!mmsfb->init(myargc, myargv, config.getBackend(), graphicslayer_conf.rect,
+ ea, config.getFullScreen(), config.getPointer(), appl_name, appl_icon_name, config.getHideApplication())) {
diff --git a/package/multimedia/disko/disko-1.8.0-fixup-pkgconfig.patch b/package/multimedia/disko/disko-1.8.0-fixup-pkgconfig.patch
new file mode 100644
index 0000000..7e10df9
--- /dev/null
+++ b/package/multimedia/disko/disko-1.8.0-fixup-pkgconfig.patch
@@ -0,0 +1,22 @@
+Do not prepend pkg-config prefix variable with destdir
+
+The SConstruct script of Disko preprends the destdir to the prefix=
+variable in the .pc file. This is useless and also broken, as
+pkg-config already preprends the destdir to the prefix= variable
+thanks to the PKG_CONFIG_SYSROOT_DIR environment variable.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: disko_1.8.0/SConstruct
+===================================================================
+--- disko_1.8.0.orig/SConstruct 2011-07-15 14:23:01.478750933 +0200
++++ disko_1.8.0/SConstruct 2011-07-15 14:23:15.565746631 +0200
+@@ -859,8 +859,6 @@
+ disko_pc_libs_private += ' -lswscale -lavutil'
+
+ disko_pc.write('prefix=')
+- if env['destdir'] and env['destdir'] != 'none':
+- disko_pc.write(env['destdir'] + '/')
+ disko_pc.write(env['prefix'] + '\n')
+ disko_pc.write('exec_prefix=${prefix}\n')
+ disko_pc.write('libdir=${exec_prefix}/lib\n')
diff --git a/package/multimedia/disko/disko.mk b/package/multimedia/disko/disko.mk
new file mode 100644
index 0000000..0d6d894
--- /dev/null
+++ b/package/multimedia/disko/disko.mk
@@ -0,0 +1,57 @@
+
+DISKO_VERSION = 1.8.0
+DISKO_SOURCE = disko_$(DISKO_VERSION).tar.gz
+DISKO_SITE = http://www.diskohq.com/repository/sources/
+DISKO_INSTALL_STAGING = YES
+
+DISKO_DEPENDENCIES = \
+ host-scons host-pkg-config libsigc \
+ libxml2 libcurl freetype sqlite zlib \
+ libpng jpeg
+
+# SCons uses directly "ld" as the linker, but the external toolchain
+# wrapper does not wrap ld, so we tell scons to use gcc as the linker.
+DISKO_SCONS_ENV = \
+ $(TARGET_CONFIGURE_OPTS) \
+ LD="$(TARGET_CC)"
+
+DISKO_SCONS_OPTS = \
+ prefix=/usr \
+ cross=True
+
+ifeq ($(BR2_PACKAGE_DISKO_GRAPHIC_FBDEV),y)
+DISKO_SCONS_OPTS += graphics_backend=fbdev
+else ifeq ($(BR2_PACKAGE_DISKO_GRAPHIC_DIRECTFB),y)
+DISKO_SCONS_OPTS += graphics_backend=dfb
+DISKO_DEPENDENCIES += directfb
+else ifeq ($(BR2_PACKAGE_DISKO_GRAPHIC_X11),y)
+DISKO_SCONS_OPTS += graphics_backend=x11
+DISKO_DEPENDENCIES += xserver_xorg-server xlib_libXv xlib_libXcomposite
+endif
+
+define DISKO_BUILD_CMDS
+ (cd $(@D); \
+ $(DISKO_SCONS_ENV) \
+ scons \
+ $(DISKO_SCONS_OPTS))
+endef
+
+define DISKO_INSTALL_STAGING_CMDS
+ (cd $(@D); \
+ $(DISKO_SCONS_ENV) \
+ scons \
+ $(DISKO_SCONS_OPTS) \
+ destdir=$(STAGING_DIR) \
+ install)
+endef
+
+define DISKO_INSTALL_TARGET_CMDS
+ (cd $(@D); \
+ $(DISKO_SCONS_ENV) \
+ scons \
+ $(DISKO_SCONS_OPTS) \
+ destdir=$(TARGET_DIR) \
+ install)
+endef
+
+$(eval $(call GENTARGETS,package/multimedia,disko))
--
1.7.4.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 3/3] disko-demos: new package
2011-07-20 5:11 [Buildroot] [pull request v2] Pull request for branch disko Thomas Petazzoni
2011-07-20 5:11 ` [Buildroot] [PATCH 1/3] scons: new package Thomas Petazzoni
2011-07-20 5:11 ` [Buildroot] [PATCH 2/3] disko: " Thomas Petazzoni
@ 2011-07-20 5:11 ` Thomas Petazzoni
2011-07-24 20:39 ` Peter Korsgaard
2 siblings, 1 reply; 8+ messages in thread
From: Thomas Petazzoni @ 2011-07-20 5:11 UTC (permalink / raw)
To: buildroot
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/multimedia/Config.in | 1 +
package/multimedia/disko-demos/Config.in | 8 +++
.../disko-demos-1.8.0-fix-install-paths.patch | 61 ++++++++++++++++++++
package/multimedia/disko-demos/disko-demos.mk | 27 +++++++++
4 files changed, 97 insertions(+), 0 deletions(-)
create mode 100644 package/multimedia/disko-demos/Config.in
create mode 100644 package/multimedia/disko-demos/disko-demos-1.8.0-fix-install-paths.patch
create mode 100644 package/multimedia/disko-demos/disko-demos.mk
diff --git a/package/multimedia/Config.in b/package/multimedia/Config.in
index 74885bd..05ca8a3 100644
--- a/package/multimedia/Config.in
+++ b/package/multimedia/Config.in
@@ -3,6 +3,7 @@ source "package/multimedia/alsa-lib/Config.in"
source "package/multimedia/alsa-utils/Config.in"
source "package/multimedia/aumix/Config.in"
source "package/multimedia/disko/Config.in"
+source "package/multimedia/disko-demos/Config.in"
source "package/multimedia/faad2/Config.in"
source "package/multimedia/flac/Config.in"
source "package/multimedia/ffmpeg/Config.in"
diff --git a/package/multimedia/disko-demos/Config.in b/package/multimedia/disko-demos/Config.in
new file mode 100644
index 0000000..b488fa2
--- /dev/null
+++ b/package/multimedia/disko-demos/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_DISKO_DEMOS
+ bool "disko-demos"
+ depends on BR2_PACKAGE_DISKO
+ help
+ This is a demonstration application for the Disko multimedia
+ application framework.
+
+ http://www.diskohq.com/
diff --git a/package/multimedia/disko-demos/disko-demos-1.8.0-fix-install-paths.patch b/package/multimedia/disko-demos/disko-demos-1.8.0-fix-install-paths.patch
new file mode 100644
index 0000000..3469365
--- /dev/null
+++ b/package/multimedia/disko-demos/disko-demos-1.8.0-fix-install-paths.patch
@@ -0,0 +1,61 @@
+Allow proper configuration of /etc directory
+
+The disko-demos SConstruct build script forced to install
+configuration files into <prefix>/etc, which means /usr/etc. This
+patch adds a sysconfdir argument, which allows to specify a different
+directory for configuration files.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: disko-demos_1.8.0/SConstruct
+===================================================================
+--- disko-demos_1.8.0.orig/SConstruct 2011-07-16 17:36:38.136817482 +0200
++++ disko-demos_1.8.0/SConstruct 2011-07-16 17:56:55.266816863 +0200
+@@ -3,6 +3,7 @@
+ opts = Variables('disko-demos.conf')
+ opts.AddVariables(
+ PathVariable('prefix', 'Installation directory', '/tmp/disko-demos', PathVariable.PathIsDirCreate),
++PathVariable('sysconfdir', 'Configuration directory', 'none', PathVariable.PathIsDirCreate),
+ PathVariable('destdir', 'Installation directory for cross-compile', 'none', PathVariable.PathAccept))
+
+ env = Environment(ENV = os.environ)
+@@ -27,6 +28,11 @@
+
+ env['CCFLAGS'].extend(['-I./inc'])
+
++if env['sysconfdir'] != 'none':
++ isysconfdir = env['sysconfdir'] + "/"
++else:
++ isysconfdir = env['prefix'] + "/etc/"
++
+ # Here are our installation paths:
+ if os.environ.has_key('DESTDIR'):
+ env['destdir'] = os.environ['DESTDIR']
+@@ -34,6 +40,7 @@
+ idir_prefix = env['destdir']
+ if env['prefix'] != 'none':
+ idir_prefix += ('/' + env['prefix'])
++ isysconfdir = env['destdir'] + isysconfdir
+ else:
+ idir_prefix = env['prefix']
+
+@@ -72,14 +79,15 @@
+
+ env = conf.Finish()
+
+-demo = env.Program('bin/demo', Glob('src/*.cpp'))
++demo = env.Program('bin/disko-demo', Glob('src/*.cpp'))
+
+-install = env.Alias('install', [idir_prefix])
++env.Alias('install', idir_prefix)
++env.Alias('install', isysconfdir)
+
+ env.Install(idir_prefix + '/bin', demo)
+
+ etc = Glob(os.getcwd() + '/etc/*')
+-env.Install(idir_prefix + '/etc', etc)
++env.Install(isysconfdir, etc)
+
+ share = Glob(os.getcwd() + '/share/*')
+-env.Install(idir_prefix + '/share/', share)
++env.Install(idir_prefix + '/share/disko-demo/', share)
diff --git a/package/multimedia/disko-demos/disko-demos.mk b/package/multimedia/disko-demos/disko-demos.mk
new file mode 100644
index 0000000..5a7cd70
--- /dev/null
+++ b/package/multimedia/disko-demos/disko-demos.mk
@@ -0,0 +1,27 @@
+
+DISKO_DEMOS_VERSION = 1.8.0
+DISKO_DEMOS_SOURCE = disko-demos_$(DISKO_DEMOS_VERSION).tar.gz
+DISKO_DEMOS_SITE = http://www.diskohq.com/repository/sources/
+
+DISKO_DEMOS_DEPENDENCIES = disko
+
+DISKO_DEMOS_SCONS_ENV = \
+ $(TARGET_CONFIGURE_OPTS)
+
+DISKO_DEMOS_SCONS_OPTS = \
+ prefix=/usr \
+ sysconfdir=/etc \
+ cross=True
+
+define DISKO_DEMOS_BUILD_CMDS
+ (cd $(@D); $(DISKO_DEMOS_SCONS_ENV) scons $(DISKO_DEMOS_SCONS_OPTS))
+endef
+
+define DISKO_DEMOS_INSTALL_TARGET_CMDS
+ (cd $(@D); \
+ $(DISKO_DEMOS_SCONS_ENV) scons $(DISKO_DEMOS_SCONS_OPTS) \
+ destdir=$(TARGET_DIR) install)
+endef
+
+
+$(eval $(call GENTARGETS,package/multimedia,disko-demos))
--
1.7.4.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 1/3] scons: new package
2011-07-20 5:11 ` [Buildroot] [PATCH 1/3] scons: new package Thomas Petazzoni
@ 2011-07-24 20:32 ` Peter Korsgaard
0 siblings, 0 replies; 8+ messages in thread
From: Peter Korsgaard @ 2011-07-24 20:32 UTC (permalink / raw)
To: buildroot
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
Thomas> Only the host package is supported.
Thomas> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Committed, thanks.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 2/3] disko: new package
2011-07-20 5:11 ` [Buildroot] [PATCH 2/3] disko: " Thomas Petazzoni
@ 2011-07-24 20:38 ` Peter Korsgaard
0 siblings, 0 replies; 8+ messages in thread
From: Peter Korsgaard @ 2011-07-24 20:38 UTC (permalink / raw)
To: buildroot
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
Thomas> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thanks, a few comments:
Thomas> +++ b/package/multimedia/disko/Config.in
Thomas> @@ -0,0 +1,41 @@
Thomas> +config BR2_PACKAGE_DISKO
Thomas> + bool "disko"
Thomas> + select BR2_PACKAGE_LIBSIGC
libsigc++ is a C++ library, and disko seems to also be written in C++,
so you need the depends on BR2_INSTALL_LIBSTDCPP /
comment-when-no-available thing.
Doing a test build with a basic uClibc config (please test patches with
this) shows that it needs iconv.h, so you need
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
and add it to _DEPENDENCIES.
Unfortunately the build still breaks:
src/mmstools/tools.cpp:37:21: error: wordexp.h: No such file or directory
src/mmstools/tools.cpp: In function 'std::string substituteEnvVars(std::string)':
src/mmstools/tools.cpp:64: error: 'wordexp_t' was not declared in this scope
Our default uClibc config (and upstream default) hasn't got
UCLIBC_HAS_WORDEXP enabled. Please take a look if we could remove that
dependency or alternatively adjust the defconfigs.
Thomas> +++ b/package/multimedia/disko/disko-1.8.0-fixup-pkgconfig.patch
Thomas> @@ -0,0 +1,22 @@
Thomas> +Do not prepend pkg-config prefix variable with destdir
Thomas> +
Thomas> +The SConstruct script of Disko preprends the destdir to the prefix=
Thomas> +variable in the .pc file. This is useless and also broken, as
Thomas> +pkg-config already preprends the destdir to the prefix= variable
Thomas> +thanks to the PKG_CONFIG_SYSROOT_DIR environment variable.
Thomas> +
Thomas> +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Has this been sent upstream?
Thomas> new file mode 100644
Thomas> index 0000000..0d6d894
Thomas> --- /dev/null
Thomas> +++ b/package/multimedia/disko/disko.mk
Thomas> @@ -0,0 +1,57 @@
Thomas> +
Please drop this empty line.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 3/3] disko-demos: new package
2011-07-20 5:11 ` [Buildroot] [PATCH 3/3] disko-demos: " Thomas Petazzoni
@ 2011-07-24 20:39 ` Peter Korsgaard
0 siblings, 0 replies; 8+ messages in thread
From: Peter Korsgaard @ 2011-07-24 20:39 UTC (permalink / raw)
To: buildroot
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
Thomas> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thanks, a few comments:
Thomas> --- /dev/null
Thomas> +++ b/package/multimedia/disko-demos/disko-demos-1.8.0-fix-install-paths.patch
Thomas> @@ -0,0 +1,61 @@
Thomas> +Allow proper configuration of /etc directory
Thomas> +
Thomas> +The disko-demos SConstruct build script forced to install
Thomas> +configuration files into <prefix>/etc, which means /usr/etc. This
Thomas> +patch adds a sysconfdir argument, which allows to specify a different
Thomas> +directory for configuration files.
Thomas> +
Thomas> +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Has this been sent upstream?
Thomas> +++ b/package/multimedia/disko-demos/disko-demos.mk
Thomas> @@ -0,0 +1,27 @@
Thomas> +
Please drop this empty line.
Thomas> +DISKO_DEMOS_VERSION = 1.8.0
Thomas> +DISKO_DEMOS_SOURCE = disko-demos_$(DISKO_DEMOS_VERSION).tar.gz
Thomas> +DISKO_DEMOS_SITE = http://www.diskohq.com/repository/sources/
Thomas> +
Thomas> +DISKO_DEMOS_DEPENDENCIES = disko
Thomas> +
Thomas> +DISKO_DEMOS_SCONS_ENV = \
Thomas> + $(TARGET_CONFIGURE_OPTS)
No LD=$(TARGET_CC) like for disko?
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 2/3] disko: new package
2011-07-20 4:43 [Buildroot] [pull request] Pull request for branch disko Thomas Petazzoni
@ 2011-07-20 4:43 ` Thomas Petazzoni
0 siblings, 0 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2011-07-20 4:43 UTC (permalink / raw)
To: buildroot
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/multimedia/Config.in | 1 +
package/multimedia/disko/Config.in | 41 ++++++++++
.../disko/disko-1.8.0-directfb-fix-errors.patch | 82 ++++++++++++++++++++
.../disko/disko-1.8.0-fixup-pkgconfig.patch | 22 +++++
package/multimedia/disko/disko.mk | 57 ++++++++++++++
5 files changed, 203 insertions(+), 0 deletions(-)
create mode 100644 package/multimedia/disko/Config.in
create mode 100644 package/multimedia/disko/disko-1.8.0-directfb-fix-errors.patch
create mode 100644 package/multimedia/disko/disko-1.8.0-fixup-pkgconfig.patch
create mode 100644 package/multimedia/disko/disko.mk
diff --git a/package/multimedia/Config.in b/package/multimedia/Config.in
index 79c601c..74885bd 100644
--- a/package/multimedia/Config.in
+++ b/package/multimedia/Config.in
@@ -2,6 +2,7 @@ menu "Audio and video libraries and applications"
source "package/multimedia/alsa-lib/Config.in"
source "package/multimedia/alsa-utils/Config.in"
source "package/multimedia/aumix/Config.in"
+source "package/multimedia/disko/Config.in"
source "package/multimedia/faad2/Config.in"
source "package/multimedia/flac/Config.in"
source "package/multimedia/ffmpeg/Config.in"
diff --git a/package/multimedia/disko/Config.in b/package/multimedia/disko/Config.in
new file mode 100644
index 0000000..8a2fe96
--- /dev/null
+++ b/package/multimedia/disko/Config.in
@@ -0,0 +1,41 @@
+config BR2_PACKAGE_DISKO
+ bool "disko"
+ select BR2_PACKAGE_LIBSIGC
+ select BR2_PACKAGE_LIBXML2
+ select BR2_PACKAGE_LIBCURL
+ select BR2_PACKAGE_FREETYPE
+ select BR2_PACKAGE_SQLITE
+ select BR2_PACKAGE_ZLIB
+ select BR2_PACKAGE_LIBPNG
+ select BR2_PACKAGE_JPEG
+ help
+ Disko is an LGPL-licensed user interface (UI) application
+ framework for the fast and simple development of flexible
+ applications on Embedded Linux systems ? with a particular
+ focus on interactive user interfaces. It is high-performance
+ and easy to learn, and due to its architecture is well
+ suited to creating complex applications. Disko is a product
+ of BerLinux Solutions GmbH.
+
+ http://www.diskohq.com/
+
+choice
+ prompt "Disko graphical backend"
+ default BR2_PACKAGE_DISKO_GRAPHIC_FBDEV
+ depends on BR2_PACKAGE_DISKO
+ help
+ Select the graphical backend for Disko.
+
+config BR2_PACKAGE_DISKO_GRAPHIC_FBDEV
+ bool "framebuffer"
+
+config BR2_PACKAGE_DISKO_GRAPHIC_DIRECTFB
+ bool "directfb"
+ depends on BR2_PACKAGE_DIRECTFB
+
+config BR2_PACKAGE_DISKO_GRAPHIC_X11
+ bool "x11"
+ depends on BR2_PACKAGE_XORG7
+ select BR2_PACKAGE_XLIB_LIBXCOMPOSITE
+ select BR2_PACKAGE_XLIB_LIBXV
+endchoice
diff --git a/package/multimedia/disko/disko-1.8.0-directfb-fix-errors.patch b/package/multimedia/disko/disko-1.8.0-directfb-fix-errors.patch
new file mode 100644
index 0000000..1cc2a52
--- /dev/null
+++ b/package/multimedia/disko/disko-1.8.0-directfb-fix-errors.patch
@@ -0,0 +1,82 @@
+From: Matthias Hardt <mhardt@berlinux-solutions.de>
+Date: Wed, 8 Jun 2011 18:16:10 +0000 (+0200)
+Subject: mmsgui: -compile errors fixed for DirectFB
+X-Git-Url: http://git.diskohq.com/gitweb/?p=disko.git;a=commitdiff_plain;h=ed0026e853747ed251e438e30643fe29fa42c426
+
+mmsgui: -compile errors fixed for DirectFB
+---
+
+diff --git a/src/mmsgui/fb/mmsfbsurface.cpp b/src/mmsgui/fb/mmsfbsurface.cpp
+index 7cd6d3e..bb7e24b 100755
+--- a/src/mmsgui/fb/mmsfbsurface.cpp
++++ b/src/mmsgui/fb/mmsfbsurface.cpp
+@@ -857,7 +857,7 @@ void MMSFBSurface::initPlanePointers(MMSFBSurfacePlanes *planes, int height) {
+ 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;
+@@ -4785,7 +4785,7 @@ bool MMSFBSurface::stretchBlit(MMSFBSurface *source, MMSFBRectangle *src_rect, M
+ 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, this->config.blittingflags)) {
+ blit_done = true;
+ ret = true;
+ }
+@@ -4806,7 +4806,7 @@ bool MMSFBSurface::stretchBlit(MMSFBSurface *source, MMSFBRectangle *src_rect, M
+ SETSUBSURFACE_BLITTINGFLAGS;
+ #endif
+
+- if (!extendedAccelBlit(tempsuf, &temp, dst.x, dst.y))
++ if (!extendedAccelBlit(tempsuf, &temp, dst.x, dst.y, this->config.blittingflags))
+ this->dfb_surface->Blit(this->dfb_surface, (IDirectFBSurface *)tempsuf->getDFBSurface(), (DFBRectangle*)&temp, dst.x, dst.y);
+
+ #ifndef USE_DFB_SUBSURFACE
+@@ -7121,7 +7121,7 @@ bool MMSFBSurface::dump2file(string filename, MMSFBSurfaceDumpMode dumpmode) {
+
+ bool dump_fcb(char *buf, int len, void *argp, int *argi) {
+ buf[len] = 0;
+- printf(buf);
++ printf("%s", buf);
+ return true;
+ }
+
+diff --git a/src/mmsgui/mmsfbmanager.cpp b/src/mmsgui/mmsfbmanager.cpp
+index ab604e8..871000d 100755
+--- a/src/mmsgui/mmsfbmanager.cpp
++++ b/src/mmsgui/mmsfbmanager.cpp
+@@ -73,13 +73,6 @@ bool MMSFBManager::init(int argc, char **argv, string appl_name, string appl_ico
+ for(i=0;i<argc;i++)
+ myargv[i]=strdup(argv[i]);
+
+-#ifdef __HAVE_DIRECTFB__
+- if(config.getOutputType() == MMSFB_OT_X11) {
+- myargv[myargc]=strdup("--dfb:system=x11");
+- myargc++;
+- }
+-#endif
+-
+ DEBUGMSG("MMSGUI", "init mmsfb");
+ bool ea = config.getExtendedAccel();
+ #ifdef __HAVE_DIRECTFB__
+@@ -98,6 +91,15 @@ bool MMSFBManager::init(int argc, char **argv, string appl_name, string appl_ico
+ MMSConfigDataLayer videolayer_conf = this->config.getVideoLayer();
+ MMSConfigDataLayer graphicslayer_conf = this->config.getGraphicsLayer();
+
++#ifdef __HAVE_DIRECTFB__
++ if(videolayer_conf.outputtype == MMSFB_OT_X11) {
++ myargv[myargc++] = strdup("--dfb:system=x11");
++ char mode[24];
++ snprintf(mode, 24, "--dfb:mode=%dx%d", graphicslayer_conf.rect.w, graphicslayer_conf.rect.h);
++ myargv[myargc++] = strdup(mode);
++ }
++#endif
++
+ // init the MMSFB class
+ if (!mmsfb->init(myargc, myargv, config.getBackend(), graphicslayer_conf.rect,
+ ea, config.getFullScreen(), config.getPointer(), appl_name, appl_icon_name, config.getHideApplication())) {
diff --git a/package/multimedia/disko/disko-1.8.0-fixup-pkgconfig.patch b/package/multimedia/disko/disko-1.8.0-fixup-pkgconfig.patch
new file mode 100644
index 0000000..7e10df9
--- /dev/null
+++ b/package/multimedia/disko/disko-1.8.0-fixup-pkgconfig.patch
@@ -0,0 +1,22 @@
+Do not prepend pkg-config prefix variable with destdir
+
+The SConstruct script of Disko preprends the destdir to the prefix=
+variable in the .pc file. This is useless and also broken, as
+pkg-config already preprends the destdir to the prefix= variable
+thanks to the PKG_CONFIG_SYSROOT_DIR environment variable.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: disko_1.8.0/SConstruct
+===================================================================
+--- disko_1.8.0.orig/SConstruct 2011-07-15 14:23:01.478750933 +0200
++++ disko_1.8.0/SConstruct 2011-07-15 14:23:15.565746631 +0200
+@@ -859,8 +859,6 @@
+ disko_pc_libs_private += ' -lswscale -lavutil'
+
+ disko_pc.write('prefix=')
+- if env['destdir'] and env['destdir'] != 'none':
+- disko_pc.write(env['destdir'] + '/')
+ disko_pc.write(env['prefix'] + '\n')
+ disko_pc.write('exec_prefix=${prefix}\n')
+ disko_pc.write('libdir=${exec_prefix}/lib\n')
diff --git a/package/multimedia/disko/disko.mk b/package/multimedia/disko/disko.mk
new file mode 100644
index 0000000..0d6d894
--- /dev/null
+++ b/package/multimedia/disko/disko.mk
@@ -0,0 +1,57 @@
+
+DISKO_VERSION = 1.8.0
+DISKO_SOURCE = disko_$(DISKO_VERSION).tar.gz
+DISKO_SITE = http://www.diskohq.com/repository/sources/
+DISKO_INSTALL_STAGING = YES
+
+DISKO_DEPENDENCIES = \
+ host-scons host-pkg-config libsigc \
+ libxml2 libcurl freetype sqlite zlib \
+ libpng jpeg
+
+# SCons uses directly "ld" as the linker, but the external toolchain
+# wrapper does not wrap ld, so we tell scons to use gcc as the linker.
+DISKO_SCONS_ENV = \
+ $(TARGET_CONFIGURE_OPTS) \
+ LD="$(TARGET_CC)"
+
+DISKO_SCONS_OPTS = \
+ prefix=/usr \
+ cross=True
+
+ifeq ($(BR2_PACKAGE_DISKO_GRAPHIC_FBDEV),y)
+DISKO_SCONS_OPTS += graphics_backend=fbdev
+else ifeq ($(BR2_PACKAGE_DISKO_GRAPHIC_DIRECTFB),y)
+DISKO_SCONS_OPTS += graphics_backend=dfb
+DISKO_DEPENDENCIES += directfb
+else ifeq ($(BR2_PACKAGE_DISKO_GRAPHIC_X11),y)
+DISKO_SCONS_OPTS += graphics_backend=x11
+DISKO_DEPENDENCIES += xserver_xorg-server xlib_libXv xlib_libXcomposite
+endif
+
+define DISKO_BUILD_CMDS
+ (cd $(@D); \
+ $(DISKO_SCONS_ENV) \
+ scons \
+ $(DISKO_SCONS_OPTS))
+endef
+
+define DISKO_INSTALL_STAGING_CMDS
+ (cd $(@D); \
+ $(DISKO_SCONS_ENV) \
+ scons \
+ $(DISKO_SCONS_OPTS) \
+ destdir=$(STAGING_DIR) \
+ install)
+endef
+
+define DISKO_INSTALL_TARGET_CMDS
+ (cd $(@D); \
+ $(DISKO_SCONS_ENV) \
+ scons \
+ $(DISKO_SCONS_OPTS) \
+ destdir=$(TARGET_DIR) \
+ install)
+endef
+
+$(eval $(call GENTARGETS,package/multimedia,disko))
--
1.7.4.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2011-07-24 20:39 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-20 5:11 [Buildroot] [pull request v2] Pull request for branch disko Thomas Petazzoni
2011-07-20 5:11 ` [Buildroot] [PATCH 1/3] scons: new package Thomas Petazzoni
2011-07-24 20:32 ` Peter Korsgaard
2011-07-20 5:11 ` [Buildroot] [PATCH 2/3] disko: " Thomas Petazzoni
2011-07-24 20:38 ` Peter Korsgaard
2011-07-20 5:11 ` [Buildroot] [PATCH 3/3] disko-demos: " Thomas Petazzoni
2011-07-24 20:39 ` Peter Korsgaard
-- strict thread matches above, loose matches on Subject: below --
2011-07-20 4:43 [Buildroot] [pull request] Pull request for branch disko Thomas Petazzoni
2011-07-20 4:43 ` [Buildroot] [PATCH 2/3] disko: new package Thomas Petazzoni
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.