ports/185032: [PATCH] multimedia/k9copy-kde4 fix build on 10.0
Jan Henrik Sylvester
me at janh.de
Fri Dec 20 16:00:00 UTC 2013
>Number: 185032
>Category: ports
>Synopsis: [PATCH] multimedia/k9copy-kde4 fix build on 10.0
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Fri Dec 20 16:00:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator: Jan Henrik Sylvester
>Release: 10.0-RC2 amd64
>Organization:
>Environment:
>Description:
[Patch sent to maintainer for comments on 2013-12-06 without response. Repeating it here for it not to get lost.]
multimedia/k9copy-kde4 fails on 10 due to loader changes and clang being more strict.
>How-To-Repeat:
Try to build multimedia/k9copy-kde4 on 10.0-RC2/amd64.
>Fix:
With the patch attached, it builds, installs and packages on 10.0-RC2/amd64. The binary runs. It still builds on 9.2-RELEASE/amd64.
Comments about the patch:
1. I do not know how to properly fix the linking failures due to loader changes. This works, though it seems really hacky:
LDFLAGS+= ${KDE4_PREFIX}/lib/libsolid.so ${LOCALBASE}/lib/libX11.so
2. The changes to src/xine/k9xineplayer.cpp should be correct.
3. I have not really analyzed the logic in src/mpeg2/kdecmpeg2.cpp, but since inserting 'return 0' at the end only makes an undefined return code defined, it should not break anything.
Patch attached with submission follows:
--- multimedia/k9copy-kde4/Makefile.orig 2013-10-21 22:42:20.000000000 +0000
+++ multimedia/k9copy-kde4/Makefile 2013-12-06 16:02:02.000000000 +0000
@@ -24,6 +24,7 @@
CFLAGS= -I${LOCALBASE}/include/ffmpeg0
CPPFLAGS= -I${LOCALBASE}/include/ffmpeg0
CXXFLAGS= -I${LOCALBASE}/include/ffmpeg0
+LDFLAGS+= ${KDE4_PREFIX}/lib/libsolid.so ${LOCALBASE}/lib/libX11.so
OPTIONS_DEFINE= MENCODER MPLAYER DVDAUTHOR
MENCODER_DESC= MEncoder support
--- multimedia/k9copy-kde4/files/patch-src-xine-k9xineplayer.cpp.orig 2012-07-14 13:54:48.000000000 +0000
+++ multimedia/k9copy-kde4/files/patch-src-xine-k9xineplayer.cpp 2013-12-06 15:35:14.000000000 +0000
@@ -1,6 +1,15 @@
---- src/xine/k9xineplayer.cpp.orig
-+++ src/xine/k9xineplayer.cpp
-@@ -260,8 +260,10 @@ void k9xinePlayer::init(WId _wid) {
+--- src/xine/k9xineplayer.cpp.orig 2009-12-06 10:13:37.000000000 +0000
++++ src/xine/k9xineplayer.cpp 2013-12-06 15:34:35.000000000 +0000
+@@ -251,7 +251,7 @@
+
+ if ((vo_port = xine_open_video_driver(xine,
+ m_vo.toAscii(), XINE_VISUAL_TYPE_X11, (void *) &vis)) == NULL) {
+- printf("I'm unable to initialize '%s' video driver. Giving up.\n", m_vo.toAscii());
++ printf("I'm unable to initialize '%s' video driver. Giving up.\n", m_vo.toAscii().constData());
+ return ;
+ }
+
+@@ -260,8 +260,10 @@
event_queue = xine_event_new_queue(stream);
xine_event_create_listener_thread(event_queue, event_listener, this);
@@ -13,7 +22,16 @@
m_execute=true;
}
-@@ -284,7 +286,8 @@ void k9xinePlayer::quit() {
+@@ -270,7 +272,7 @@
+ running=false;
+ m_title="";
+ if ((!xine_open(stream, m_mrl.toUtf8())) || (!xine_play(stream, 0, 0))) {
+- printf("Unable to open mrl '%s'\n", m_mrl.toUtf8());
++ printf("Unable to open mrl '%s'\n", m_mrl.toUtf8().constData());
+ return ;
+ }
+ QTimer::singleShot (500, this, SLOT (updatePosition ()));
+@@ -284,7 +286,8 @@
void k9xinePlayer::update() {
if (stream && !running ) {
if (m_mutex.tryLock()) {
@@ -23,7 +41,7 @@
m_mutex.unlock();
}
}
-@@ -317,7 +320,8 @@ void k9xineThread::run() {
+@@ -317,7 +320,8 @@
case Expose:
if (xevent.xexpose.count != 0)
break;
--- multimedia/k9copy-kde4/files/patch-src_mpeg2_kdecmpeg2.cpp.orig 1970-01-01 00:00:00.000000000 +0000
+++ multimedia/k9copy-kde4/files/patch-src_mpeg2_kdecmpeg2.cpp 2013-12-06 15:01:22.000000000 +0000
@@ -0,0 +1,10 @@
+--- src/mpeg2/kdecmpeg2.cpp.orig 2009-12-06 10:13:36.000000000 +0000
++++ src/mpeg2/kdecmpeg2.cpp 2013-12-06 15:00:15.000000000 +0000
+@@ -286,6 +286,7 @@
+ }
+ }
+ }
++ return 0;
+ }
+
+ void kDecMPEG2::sync() {
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list