Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Dec 2013 15:53:28 GMT
From:      Jan Henrik Sylvester <me@janh.de>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/185032: [PATCH] multimedia/k9copy-kde4 fix build on 10.0
Message-ID:  <201312201553.rBKFrSBb017832@oldred.freebsd.org>
Resent-Message-ID: <201312201600.rBKG00Pp072446@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201312201553.rBKFrSBb017832>