Hi, Alle domenica 20 maggio 2012, Rogério Brito ha scritto: > I'm adding the HURD people here, so that they can test the package > and see if something should be done or not. > > For the HURD people, this is a reply to [my first e-mail][*] about > getting the HandBrake ripper/transcoder working on kFreeBSD and > patches that need to be added for building: > > [*]: http://lists.debian.org/debian-bsd/2012/05/msg00198.html
Thanks for aking, although currently I cannot test it due to libfaac and libmp4v2 not being yet available. Although, I can provide some hints to help. > > > [2]: > > > http://anonscm.debian.org/gitweb/?p=pkg-multimedia/handbrake.git > > > ;a=blob;f=debian/patches/0004-Enable-compilation-on-kFreeBSD-arch > > > es.patch > > > > The patch seems to work, but I wonder if some of the tests for > > __FreeBSD_kernel__ should more accurately be testing for !linux and > > vice-versa. > > > > This doesn't matter for GNU/kFreeBSD, but it could affect future > > portability to another arch like like GNU/Hurd. > > I hope that the HURD people could let me know about this, so that I > can fix some potential problems and, if necessary, forward fixes to > upstream. Patch 0004 is wrong in a couple of bits: - gtk/src/callbacks.c: udev is not unavailable on win32 and on kfreebsd (but available everywhere), but available _only_ on linux; so make the udev code compile only on linux - gtk/configure.ac: instead of add a new kfreebsd case, copying as a whole (without gudev) the list of pkg-config packages to check, add gudev to the list only on linux attached there is an updated version of patch 0004. When building, I noticed it wget's from download.handbrake.fr a svn snapshot of libdvdread; note this is not acceptable at all in Debian for two reasons: - a package build must use only things available within the sources themselves (and of course stuff installed as build dependency too) - we have libdvdread in Debian already (which has been fixed for Hurd, unlike that copy that fails) Furthermore, please disable (or make it optional) the use of ccache; while it may be useful during test builds, it is close to useless when doing builds in buildds. Last, I attached a preliminary version of patch for Hurd support; as said above I couldn't go far in the build, although what I have so far would seem safe enough. -- Pino Toscano
From: Christian Marillat <maril...@debian.org> Date: Tue, 15 May 2012 04:49:36 -0300 Subject: Enable compilation on kFreeBSD arches. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Forwarded: no Last-Update: 2012-05-15 Reviewed-by: Rogério Theodoro de Brito <rbr...@ime.usp.br> Signed-off-by: Rogério Theodoro de Brito <rbr...@ime.usp.br> --- gtk/configure.ac | 3 +++ gtk/src/callbacks.c | 11 ++++++++--- libhb/ports.h | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) --- a/gtk/configure.ac +++ b/gtk/configure.ac @@ -94,10 +94,15 @@ case $host in mingw_flag=yes ;; *) + case "$host_os" in) + linux*) + pkg_gudev="gudev-1.0" + ;; + esac if test "x$gst_disable" = "xyes" ; then - GHB_PACKAGES="gtk+-2.0 >= 2.10 gthread-2.0 gio-2.0 libnotify dbus-glib-1 gudev-1.0" + GHB_PACKAGES="gtk+-2.0 >= 2.10 gthread-2.0 gio-2.0 libnotify dbus-glib-1 $pkg_gudev" else - GHB_PACKAGES="gtk+-2.0 >= 2.10 gthread-2.0 gstreamer-0.10 gstreamer-interfaces-0.10 gstreamer-video-0.10 gstreamer-pbutils-0.10 gio-2.0 libnotify dbus-glib-1 gudev-1.0" + GHB_PACKAGES="gtk+-2.0 >= 2.10 gthread-2.0 gstreamer-0.10 gstreamer-interfaces-0.10 gstreamer-video-0.10 gstreamer-pbutils-0.10 gio-2.0 libnotify dbus-glib-1 $pkg_gudev" fi mingw_flag=no ;; --- a/gtk/src/callbacks.c +++ b/gtk/src/callbacks.c @@ -28,7 +28,9 @@ #if !defined(_WIN32) #include <poll.h> #define G_UDEV_API_IS_SUBJECT_TO_CHANGE 1 +#if defined(__linux__) #include <gudev/gudev.h> +#endif #include <dbus/dbus-glib.h> #include <dbus/dbus-glib-lowlevel.h> @@ -49,6 +51,9 @@ #endif #include <gdk/gdkx.h> +#ifndef NOTIFY_CHECK_VERSION +#define NOTIFY_CHECK_VERSION(x,y,z) 0 +#endif #else #define WINVER 0x0500 #include <winsock2.h> @@ -3943,14 +3948,14 @@ dvd_device_list() return dvd_devices; } -#if !defined(_WIN32) +#if defined(__linux__) static GUdevClient *udev_ctx = NULL; #endif gboolean ghb_is_cd(GDrive *gd) { -#if !defined(_WIN32) +#if defined(__linux__) gchar *device; GUdevDevice *udd; @@ -3984,7 +3989,7 @@ ghb_is_cd(GDrive *gd) void ghb_udev_init() { -#if !defined(_WIN32) +#if defined(__linux__) udev_ctx = g_udev_client_new(NULL); #endif } --- a/libhb/ports.h +++ b/libhb/ports.h @@ -51,7 +51,7 @@ typedef struct hb_thread_s hb_thread_t; #elif defined( SYS_DARWIN ) # define HB_LOW_PRIORITY 0 # define HB_NORMAL_PRIORITY 31 -#elif defined( SYS_LINUX ) || defined( SYS_FREEBSD ) || defined ( SYS_SunOS ) +#elif defined( SYS_LINUX ) || defined( SYS_FREEBSD ) || defined ( SYS_SunOS ) || defined ( __FreeBSD_kernel__ ) # define HB_LOW_PRIORITY 0 # define HB_NORMAL_PRIORITY 0 #elif defined( SYS_CYGWIN )
--- a/debian/rules +++ b/debian/rules @@ -8,6 +8,7 @@ CXX:=ccache $(CXX) override_dh_auto_configure: cp make/variant/linux.defs make/variant/kfreebsd.defs + cp make/variant/linux.defs make/variant/gnu.defs ./configure --prefix=/usr --build build \ --gcc=/usr/lib/ccache/gcc \ @@ -25,7 +26,7 @@ override_dh_builddeb: override_dh_clean: dh_clean \ download/*tar* \ - make/variant/kfreebsd.defs + make/variant/kfreebsd.defs make/variant/gnu.defs override_dh_installchangelogs: dh_installchangelogs NEWS --- a/make/include/main.defs +++ b/make/include/main.defs @@ -67,6 +67,11 @@ ifeq (1-kfreebsd,$(FEATURE.gtk)-$(BUILD. MODULES += gtk endif +ifeq (1-gnu,$(FEATURE.gtk)-$(BUILD.system)) + ## build gtk when gtk+gnu + MODULES += gtk +endif + ifeq (1,$(FEATURE.local_yasm)) MODULES += contrib/yasm endif --- a/debian/control +++ b/debian/control @@ -43,7 +43,7 @@ Build-Depends: yasm Package: handbrake-cli -Architecture: amd64 i386 kfreebsd-amd64 kfreebsd-i386 powerpc +Architecture: amd64 i386 kfreebsd-amd64 kfreebsd-i386 powerpc hurd-i386 Depends: ${misc:Depends}, ${shlibs:Depends} @@ -55,7 +55,7 @@ Description: versatile DVD ripper and vi variant, HandBrakeCLI Package: handbrake-gtk -Architecture: amd64 i386 kfreebsd-amd64 kfreebsd-i386 powerpc +Architecture: amd64 i386 kfreebsd-amd64 kfreebsd-i386 powerpc hurd-i386 Depends: ${misc:Depends}, ${shlibs:Depends}
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ pkg-multimedia-maintainers mailing list pkg-multimedia-maintainers@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers