Skip to contentSkip to conversation

dvdauthor : new package

PATCH New Steve Kenton 2 participants 8 messages Jan 12, 2015

lore
Share & tools
lore
#0 lore raw

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
diff -pruN buildroot-2014.11.ori/package/Config.in buildroot-2014.11/package/Config.in
@@ -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
diff -pruN buildroot-2014.11.ori/package/dvdauthor/Config.in buildroot-2014.11/package/dvdauthor/Config.in
@@ -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
diff -pruN buildroot-2014.11.ori/package/dvdauthor/dvdauthor.mk buildroot-2014.11/package/dvdauthor/dvdauthor.mk
@@ -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))
#1 lore raw

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 1

diff -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.mk buildroot-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
#2 lore raw

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_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.

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.gz

This 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

#3 lore raw

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 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.

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 found

configure: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
#4 lore raw

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 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.

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-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.

OK, will investigate more

Thanks - Steve

#5 lore raw

PATCH 1/1 dvdauthor : new package

In reply to Thomas Petazzoni
Quoted 7 lines · Thomas Petazzoni
Quoted 2 lines

configure: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.

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

#6 lore raw

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-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

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 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".

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
#7 lore raw

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