libxine expects to dlopen a static libdvdcss.so.2, but currently it sits at version 3. This patch, to be placed in multimedia/libxine/files/, changes the hardlink to the .so symlink. This not only allows fixes the problem currently, but should allow for future versions to work without need for further modification (until the ABI truly does break). NOTE: There is a hook HAVE_DVDCSS_DVDCSS_H for building support proper, but this appears to be broken. Thanks to jpaetzel for solving the mystery and rnoland for helping me try it out with dvdcss/dvdcss.h. How-To-Repeat: Build multimedia/xine or multimdia/totem-xine, then try to watch a css encrypted dvd.
Responsible Changed From-To: freebsd-ports-bugs->nobutaka Over to maintainer (via the GNATS Auto Assign Tool)
It turns out there are three files in the libxine source tree that reference libdvdcss.so.2 The recent release of libdvdcss-1.2.10 bumped it's shared library to libdvdcss.so.3 The following patch emulates the way multimedia/libdvdread handles the same situation. --- Makefile.old 2009-05-01 11:01:55.000000000 +0000 +++ Makefile 2009-05-01 18:07:12.000000000 +0000 @@ -31,6 +31,10 @@ mad.2:${PORTSDIR}/audio/libmad \ dca.0:${PORTSDIR}/multimedia/libdca +.if !defined(PACKAGE_BUILDING) +LIB_DEPENDS+= dvdcss.${DVDCSS_LIBVERSION}:${PORTSDIR}/multimedia/ libdvdcss +.endif + USE_BZIP2= yes USE_GETTEXT= yes USE_ICONV= yes @@ -74,6 +78,10 @@ DOCSDIR= ${PREFIX}/share/doc/xine-lib PLIST_SUB= PLUGINSDIR="lib/xine/plugins/1.25" +# DVDCSS version hardcoded in src/input/input_dvd.c misc/cdda_server.c +# and src/input/libdvdnav/dvd_input.c (dlopen'ed) +DVDCSS_LIBVERSION= 3 + .include <bsd.port.pre.mk> .if defined(WITH_ARTS) @@ -208,6 +216,13 @@ ${WRKSRC}/${f} .endfor + @${REINPLACE_CMD} -E -e 's|(libdvdcss.so)\.2|\1.$ {DVDCSS_LIBVERSION}|' \ + ${WRKSRC}/src/input/input_dvd.c + @${REINPLACE_CMD} -E -e 's|(libdvdcss.so)\.2|\1.$ {DVDCSS_LIBVERSION}|' \ + ${WRKSRC}/misc/cdda_server.c + @${REINPLACE_CMD} -E -e 's|(libdvdcss.so)\.2|\1.$ {DVDCSS_LIBVERSION}|' \ + ${WRKSRC}/src/input/libdvdnav/dvd_input.c + pre-configure: @${REINPLACE_CMD} -e \ 's|THREAD_LIBS=".*"|THREAD_LIBS="\$$THREAD_LIBS"|g ; \
Josh Paetzel wrote: > It turns out there are three files in the libxine source tree that > reference libdvdcss.so.2 > The recent release of libdvdcss-1.2.10 bumped it's shared library to > libdvdcss.so.3 > > The following patch emulates the way multimedia/libdvdread handles the > same situation. > This patch appears to fix an issue I found afterwards in which I (testing with totem-xine) had to close and reopen the application before it would play the dvd. I only noticed this after a reboot when trying to watch a dvd for the first time. jaeptzel++
nobutaka 2009-05-10 05:51:11 UTC FreeBSD ports repository Modified files: multimedia/libxine Makefile distinfo multimedia/libxine/files patch-configure Log: - Update to 1.1.16.3. - Fix hardcoded libdvdcss shared library version. [*] PR: ports/134153 [*] Submitted by: Joseph S. Atkinson <jsa@wickedmachine.net> [*], jpaetzel [*] Revision Changes Path 1.144 +16 -3 ports/multimedia/libxine/Makefile 1.40 +3 -3 ports/multimedia/libxine/distinfo 1.11 +15 -15 ports/multimedia/libxine/files/patch-configure _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
State Changed From-To: open->closed Fixed, thanks!