dvdauthor : new package
PATCH 1/1 dvdauthor : new package
DVDAuthor is a set of tools to help you author the file and directory structure of a DVD-Video disc, including programmatic commands for implementing interactive behaviour. It is driven by command lines and XML control files, though there are other programs that provide GUI-based front ends if you prefer
http://dvdauthor.sourceforge.net
Signed-off-by Stephen M. Kenton <[email protected]>
---
Build tested with both uClibc and glibc.
There may be a missing dependency in libxml2. If I comment out these lines:
# select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE # libxml2 may be missing a dependency
#DVDAUTHOR_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv) # libxml2 may be missing a dependency
then building with uClibc gets the error below:
/data/bcdist/test/buildroot-2014.11/output/host/usr/include/libxml2/libxml/encoding.h:28:19: fatal error: iconv.h: No such file or directory
#include <iconv.h>
^compilation terminated.
make[3]: *** [readxml.o] Error 1
package/Config.in +1 -0
@@ -6,6 +6,7 @@ menu "Audio and video applications" source "package/alsa-utils/Config.in" source "package/aumix/Config.in" source "package/bellagio/Config.in" + source "package/dvdauthor/Config.in" source "package/espeak/Config.in" source "package/faad2/Config.in" source "package/ffmpeg/Config.in"
package/dvdauthor/Config.in +27 -0
@@ -0,0 +1,27 @@ +config BR2_PACKAGE_DVDAUTHOR + bool "dvdauthor" + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE # libxml2 may be missing a dependency + select BR2_PACKAGE_LIBXML2 + select BR2_PACKAGE_FREETYPE + select BR2_PACKAGE_LIBPNG + select BR2_PACKAGE_LIBDVDREAD + depends on BR2_LARGEFILE && !BR2_PREFER_STATIC_LIB # libdvdread + help + DVDAuthor is a set of tools to help you author the file and directory + structure of a DVD-Video disc, including programmatic commands for + implementing interactive behaviour. It is driven by command lines and + XML control files, though there are other programs that provide + GUI-based front ends if you prefer + + http://dvdauthor.sourceforge.net + +comment "dvdauthor needs a toolchain w/ dynamic library, largefile" + depends on !BR2_LARGEFILE || BR2_PREFER_STATIC_LIB + +# Note - Despite lack of a version bump the two line gentoo +# patch to src/spuunmux.c against "stock" dvdauthor-0.7.1 +# - if (setjmp(png_ptr->jmpbuf)) +# + if (setjmp(png_jmpbuf(png_ptr))) +# to allow use of libpng15/16 is already applied to downloadable +# dvdauthor-0.7.1.tar.gz +
package/dvdauthor/dvdauthor.mk +14 -0
@@ -0,0 +1,14 @@ +############################################################################### +# +# dvdauthor +# +############################################################################### + +DVDAUTHOR_VERSION = 0.7.1 +DVDAUTHOR_SITE = http://sourceforge.net/projects/dvdauthor/files/dvdauthor/$(DVDAUTHOR_VERSION) +DVDAUTHOR_DEPENDENCIES = host-pkgconf host-libxml2 host-freetype libxml2 freetype libpng libdvdread +DVDAUTHOR_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv) # libxml2 may be missing a dependency +DVDAUTHOR_LICENSE = GPLv2 +DVDAUTHOR_LICENSE_FILES = COPYING + +$(eval $(autotools-package))
PATCH 1/1 dvdauthor : new package
Dear Steve Kenton,
Quoted 2 lines · Steve Kenton
/data/bcdist/test/buildroot-2014.11/output/host/usr/include/libxml2/libxml/encoding.h:28:19: fatal error:
iconv.h: No such file or directory
#include <iconv.h>
This is a *host* header, so it shouldn't be included when building a target package.
Quoted 20 lines
^compilation terminated.
make[3]: *** [readxml.o] Error 1diff -pruN buildroot-2014.11.ori/package/Config.in buildroot-2014.11/package/Config.in
package/Config.in +1
-0@@ -6,6 +6,7 @@ menu "Audio and video applications" source "package/alsa-utils/Config.in" source "package/aumix/Config.in" source "package/bellagio/Config.in" + source "package/dvdauthor/Config.in" source "package/espeak/Config.in" source "package/faad2/Config.in" source "package/ffmpeg/Config.in"diff -pruN buildroot-2014.11.ori/package/dvdauthor/Config.in buildroot-2014.11/package/dvdauthor/Config.in
package/dvdauthor/Config.in line 8
Quoted 8 lines
package/dvdauthor/Config.in +8
-0@@ -0,0 +1,27 @@ +config BR2_PACKAGE_DVDAUTHOR + bool "dvdauthor" + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE # libxml2 may be missing a dependency + select BR2_PACKAGE_LIBXML2 + select BR2_PACKAGE_FREETYPE + select BR2_PACKAGE_LIBPNG + select BR2_PACKAGE_LIBDVDREAD + depends on BR2_LARGEFILE && !BR2_PREFER_STATIC_LIB # libdvdread
BR2_PREFER_STATIC_LIB has been renamed to BR2_STATIC_LIBS. Please make sure to test your patches against the latest master, since this is where they will be applied.
package/dvdauthor/Config.in line 26
Quoted 6 lines
package/dvdauthor/Config.in +6
-0+# Note - Despite lack of a version bump the two line gentoo +# patch to src/spuunmux.c against "stock" dvdauthor-0.7.1 +# - if (setjmp(png_ptr->jmpbuf)) +# + if (setjmp(png_jmpbuf(png_ptr))) +# to allow use of libpng15/16 is already applied to downloadable +# dvdauthor-0.7.1.tar.gz
This should go to the commit log.
Also, does this means that your libpng12 patch is now unnecessary?
Quoted 5 lines
package/dvdauthor/Config.in +1
-0+diff -pruN
buildroot-2014.11.ori/package/dvdauthor/dvdauthor.mkbuildroot-2014.11/package/dvdauthor/dvdauthor.mk
package/dvdauthor/dvdauthor.mk line 9
Quoted 9 lines
package/dvdauthor/dvdauthor.mk +9
-0@@ -0,0 +1,14 @@ +############################################################################### +# +# dvdauthor +# +############################################################################### + +DVDAUTHOR_VERSION = 0.7.1 +DVDAUTHOR_SITE = http://sourceforge.net/projects/dvdauthor/files/dvdauthor/$(DVDAUTHOR_VERSION) +DVDAUTHOR_DEPENDENCIES = host-pkgconf host-libxml2 host-freetype libxml2 freetype libpng libdvdread
I'm a little bit surprised by the need for host-libxml2 and host-freetype, but I admittedly haven't looked in detail.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/1 dvdauthor : new package
Quoted 9 lines · Thomas Petazzoni
Quoted 2 lines
/data/bcdist/test/buildroot-2014.11/output/host/usr/include/libxml2/libxml/encoding.h:28:19: fatal error:
iconv.h: No such file or directory
#include <iconv.h>This is a *host* header, so it shouldn't be included when building a target package.
Quoted 3 lines
^compilation terminated.
make[3]: *** [readxml.o] Error 1
The build triggers lots of automatic reconfiguration, I guess it must be something on the host side getting rebuilt then. I'll double check while I'm updating the patch.
Quoted 5 lines
package/dvdauthor/Config.in line 8
Quoted 1 line
package/dvdauthor/Config.in +1
-0+ depends on BR2_LARGEFILE && !BR2_PREFER_STATIC_LIB # libdvdread
BR2_PREFER_STATIC_LIBhas been renamed toBR2_STATIC_LIBS. Please make sure to test your patches against the latest master, since this is where they will be applied.
OK
Quoted 8 lines
package/dvdauthor/Config.in line 26
Quoted 6 lines
package/dvdauthor/Config.in +6
-0+# Note - Despite lack of a version bump the two line gentoo +# patch to src/spuunmux.c against "stock" dvdauthor-0.7.1 +# - if (setjmp(png_ptr->jmpbuf)) +# + if (setjmp(png_jmpbuf(png_ptr))) +# to allow use of libpng15/16 is already applied to downloadable +# dvdauthor-0.7.1.tar.gzThis should go to the commit log.
Moved
Quoted 1 line
Also, does this means that your libpng12 patch is now unnecessary?
Yes, Gustavo Zacarias pointed that patch out to me and it indeed makes libpng12 unnecessary
Quoted 4 lines
Quoted 1 line
+DVDAUTHOR_DEPENDENCIES = host-pkgconf host-libxml2 host-freetype libxml2 freetype libpng libdvdread
I'm a little bit surprised by the need for host-libxml2 and host-freetype, but I admittedly haven't looked in detail.
I added them because of host side configure problems:
checking for libxml - version >= 2.6.0... no
*** The xml2-config script installed by LIBXML could not be found
configure:5176: checking for freetype-config
configure:5192: found /usr/bin/freetype-config
This last one sent me on the wild goose chase for pnglib12 because it let the Ubuntu environment leak into the buildroot configuration
PATCH 1/1 dvdauthor : new package
Dear Steve Kenton,
Quoted 4 lines
Quoted 2 lines
Quoted 2 lines
compilation terminated.
make[3]: *** [readxml.o] Error 1The build triggers lots of automatic reconfiguration, I guess it must be something on the host side getting rebuilt then. I'll double check while I'm updating the patch.
Not sure to understand exactly what you mean here.
Quoted 9 lines
Quoted 2 lines
I'm a little bit surprised by the need for host-libxml2 and host-freetype, but I admittedly haven't looked in detail.
I added them because of host side configure problems:
checking for libxml - version >= 2.6.0... no
*** The xml2-config script installed by LIBXML could not be foundconfigure:5176: checking for freetype-config
configure:5192: found/usr/bin/freetype-config
Hu? This does not indicate a host dependency: it indicates that it's incorrectly using the host freetype-config, while it should be using the one in $(STAGING_DIR). Generally, this is solved by passing some ac_cv_path_<foo> variable.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/1 dvdauthor : new package
Quoted 8 lines · Thomas Petazzoni
Dear Steve Kenton,
Quoted 4 lines
Quoted 2 lines
Quoted 2 lines
compilation terminated.
make[3]: *** [readxml.o] Error 1The build triggers lots of automatic reconfiguration, I guess it must be something on the host side getting rebuilt then. I'll double check while I'm updating the patch.
Not sure to understand exactly what you mean here.
Messages on a white background of the form >>> package_name Autoreconfiguring
I'm still trying to get my head around the cross build environment with separate host and target - so I'm not sure *I* understand what I mean :-(
I appreciate the gentle feedback by the way.
Quoted 10 lines
Quoted 5 lines
configure:5176: checking for freetype-config
configure:5192: found/usr/bin/freetype-configHu? This does not indicate a host dependency: it indicates that it's incorrectly using the host freetype-config, while it should be using the one in $(STAGING_DIR). Generally, this is solved by passing some ac_cv_path_<foo> variable.
OK, will investigate more
Thanks - Steve
PATCH 1/1 dvdauthor : new package
In reply to Thomas PetazzoniQuoted 7 lines · Thomas Petazzoni
Quoted 2 lines
configure:5176: checking for freetype-config
configure:5192: found/usr/bin/freetype-configHu? This does not indicate a host dependency: it indicates that it's incorrectly using the host freetype-config, while it should be using the one in $(STAGING_DIR). Generally, this is solved by passing some ac_cv_path_<foo> variable.
OK, digging into this freetype-config does in fact exist at:
$ find . -type f -name freetype-config ./output/host/usr/i586-buildroot-linux-gnu/sysroot/usr/bin/freetype-config
But $PATH and arguments $* on entry to configure for dvdauthor are:
/data/bcdist/test/buildroot/output/host/bin:/data/bcdist/test/buildroot/output/host/sbin:/data/bcdist/test/buildroot/output/host/usr/bin:/data/bcdist/test/buildroot/output/host/usr/sbin:/bcdist/bin:/home/steve/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
--target=i586-buildroot-linux-gnu --host=i586-buildroot-linux-gnu --build=x86_64-unknown-linux-gnu --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --localstatedir=/var --program-prefix= --disable-gtk-doc --disable-doc --disable-docs --disable-documentation --with-xmlto=no --with-fop=no --disable-dependency-tracking --enable-ipv6 --disable-debug --disable-static --enable-shared
So for some reason 'usr/i586-buildroot-linux-gnu/sysroot/' is missing in the middle of the search paths inside of buildroot
How is $(STAGING_DIR) normally set/passed to configure? I could probably just force the correct freetype-config but it looks like there is something deeper wrong and I'd rather get to the bottom and fix it "properly".
Thanks - Steve
PATCH 1/1 dvdauthor : new package
Dear Steve Kenton,
Quoted 9 lines · Steve Kenton
OK, digging into this freetype-config does in fact exist at:
$ find . -type f -name freetype-config ./output/host/usr/i586-buildroot-linux-gnu/sysroot/usr/bin/freetype-configBut $PATH and arguments $* on entry to configure for dvdauthor are:
/data/bcdist/test/buildroot/output/host/bin:/data/bcdist/test/buildroot/output/host/sbin:/data/bcdist/test/buildroot/output/host/usr/bin:/data/bcdist/test/buildroot/output/host/usr/sbin:/bcdist/bin:/home/steve/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Quoted 7 lines
--target=i586-buildroot-linux-gnu --host=i586-buildroot-linux-gnu --build=x86_64-unknown-linux-gnu --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --localstatedir=/var --program-prefix= --disable-gtk-doc --disable-doc --disable-docs --disable-documentation --with-xmlto=no --with-fop=no --disable-dependency-tracking --enable-ipv6 --disable-debug --disable-static --enable-shared
So for some reason '
usr/i586-buildroot-linux-gnu/sysroot/' is missing in the middle of the search paths inside of buildrootHow is $(STAGING_DIR) normally set/passed to configure? I could probably just force the correct freetype-config but it looks like there is something deeper wrong and I'd rather get to the bottom and fix it "properly".
No, there is nothing deeper wrong. The PATH is correct. It's just that we need to explicitly pass the path to freetype-config to dvdauthor's configure script.
You have to do something like:
DVDAUTHOR_CONF_ENV = \ ac_cv_prog_FREETYPECONFIG=$(STAGING_DIR)/usr/bin/freetype-config
Best regards,
Thomas Petazzoni
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/1 dvdauthor : new package
Quoted 4 lines · Thomas Petazzoni
You have to do something like:
DVDAUTHOR_CONF_ENV = \ ac_cv_prog_FREETYPECONFIG=$(STAGING_DIR)/usr/bin/freetype-config
Ah! The light brightens slightly and the darkness disperses a bit. I had somehow completely overlooked the *_CONF_ENV
Thanks - Steve