* [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 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] [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 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] [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 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] [pull request] Pull request for branch disko
@ 2011-07-20 4:43 Thomas Petazzoni
2011-07-20 4:43 ` [Buildroot] [PATCH 2/3] disko: new package Thomas Petazzoni
0 siblings, 1 reply; 8+ messages in thread
From: Thomas Petazzoni @ 2011-07-20 4:43 UTC (permalink / raw)
To: buildroot
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 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 a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox