Bug 138470 - multimedia/dvdauthor: broken with new fribidi
Summary: multimedia/dvdauthor: broken with new fribidi
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Pierre Beyssac
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-02 04:30 UTC by Dima Panov
Modified: 2009-12-08 14:20 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dima Panov 2009-09-02 04:30:07 UTC

multimedia/dvdauthor: broken with new fribidi

How-To-Repeat: 

cd ${PORTSDIR}multimedia/dvdauthor && make -DWITH_FRIBIDI.

You'll got next message:
subreader.c: In function 'sub_fribidi':
subreader.c:1082: error: 'FRIBIDI_TRUE' undeclared (first use in this function)
subreader.c:1082: error: (Each undeclared identifier is reported only once
subreader.c:1082: error: for each function it appears in.)
subreader.c:1083: error: 'FRIBIDI_FALSE' undeclared (first use in this function)
subreader.c:1102: warning: passing argument 3 of 'fribidi_log2vis' from incompatible pointer type
gmake[2]: *** [subreader.o] Error 1
Comment 1 Edwin Groothuis freebsd_committer 2009-09-02 04:30:19 UTC
Responsible Changed
From-To: freebsd-ports-bugs->pb

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 Kalten 2009-09-02 05:34:44 UTC
No =E2=80=9COPTIONS=3D=E2=80=9D-knobs in the Makefile to turn WITH_FREETYPE=
, WITH_FRIBIDI,
WITH_ICONV or WITH_IMAGEMAGICK on/off intentionally at configure.
:-(

And:=20
As I get the output =E2=80=9CYou can enable FriBidi support by defining
WITH_FRIBIDI.=E2=80=9D I suppose, that WITH_FRIBIDI was not defined accordi=
ng to this
---SCHNIPP--- Makefile
.if !defined(WITH_FRIBIDI)
<------>@${ECHO_MSG} "You can enable FriBidi support by defining WITH_FRIBI=
DI."
---schnapp---
although I have a /var/db/pkg/fribidi-0.19.2_1 directory.

In the Makefile of dvdauthor they search for
---SCHNAPP--- Makefile
.if exists(${LOCALBASE}/lib/libfridibi.so.0)
WITH_FRIBIDI=3D<-><------>yes
---schnapp---
but ${LOCALBASE}/lib/libfribidi.so.3 happens to have been installed by
converters/fribidi.

If FRIBIDI is installed, this patch would correct it, I think:
---SCHNIPP---
--- Makefile.orig	2009-08-28 23:09:34.000000000 +0200
+++ Makefile	2009-09-02 06:21:51.000000000 +0200
@@ -28,7 +28,7 @@
 .if exists(${LOCALBASE}/lib/libfreetype.so.9)
 WITH_FREETYPE=3D		yes
 .endif
-.if exists(${LOCALBASE}/lib/libfridibi.so.0)
+.if exists(${LOCALBASE}/lib/libfribidi.so.3)
 WITH_FRIBIDI=3D		yes
 .endif
 .if exists(${LOCALBASE}/lib/libiconv.so)
---schnapp---
And there is even a typing error: not =E2=80=9ClibfriDiBi=E2=80=9D but =E2=
=80=9ClibfriBiDi=E2=80=9D.

It does not help either=E2=80=94as expected.

I do not think, one could turn off FRIBIDI in any way: not good.

Greetings!
 Kalten
--=20
Comment 3 Kalten 2009-11-03 23:46:54 UTC
Well: more than two months since reporting problems: and no reaction
yet.

But a new version to solve it:

new file for directory multimedia/dvdauthor/files/:
---SCHNIPP--- multimedia/dvdauthor/files/patch-src_subreader.c
--- src/subreader.c.orig	2006-06-01 06:04:50.000000000 +0200
+++ src/subreader.c	2009-11-04 00:29:01.000000000 +0100
@@ -46,6 +46,14 @@
 
 #ifdef HAVE_FRIBIDI
 #include <fribidi/fribidi.h>
+#include <fribidi/fribidi-types.h>
+#include <fribidi/fribidi-deprecated.h>
+#ifndef true
+ #define true 1
+#endif
+#ifndef false
+ #define false 0
+#endif
 static char *fribidi_charset = NULL;
 static int flip_hebrew = 1;
 #endif
@@ -1079,8 +1087,8 @@
   int char_set_num;
   fribidi_boolean log2vis;
   if(flip_hebrew) { // Please fix the indentation someday
-  fribidi_set_mirroring (FRIBIDI_TRUE);
-  fribidi_set_reorder_nsm (FRIBIDI_FALSE);
+  fribidi_set_mirroring (true);
+  fribidi_set_reorder_nsm (false);
 
   if( sub_utf8 == 0 ) {
     char_set_num = fribidi_parse_charset (fribidi_charset?fribidi_charset:"ISO8859-8");
---schnapp---

and a patch for the multimedia/dvdauthor/Makefile:
---SCHNIPP--- multimedia/dvdauthor/patch-Makefile_freeBidi_3
--- Makefile.orig	2009-08-28 23:09:34.000000000 +0200
+++ Makefile	2009-09-02 06:21:51.000000000 +0200
@@ -28,7 +28,7 @@
 .if exists(${LOCALBASE}/lib/libfreetype.so.9)
 WITH_FREETYPE=		yes
 .endif
-.if exists(${LOCALBASE}/lib/libfridibi.so.0)
+.if exists(${LOCALBASE}/lib/libfribidi.so.3)
 WITH_FRIBIDI=		yes
 .endif
 .if exists(${LOCALBASE}/lib/libiconv.so)
---schnapp---

greetings from Austria,
 Kalten
--
Comment 4 Nicolas Rachinsky 2009-11-28 16:05:44 UTC
Hallo,

the second patch-set seems to solve the problem.

Nicolas
Comment 5 Andriy Gapon 2009-12-08 13:37:45 UTC
I am using the following simple patch here too:
--- src/subreader.c.orig	2009-12-08 15:28:04.216295199 +0200
+++ src/subreader.c	2009-12-08 15:29:00.105654858 +0200
@@ -1079,8 +1079,8 @@
   int char_set_num;
   fribidi_boolean log2vis;
   if(flip_hebrew) { // Please fix the indentation someday
-  fribidi_set_mirroring (FRIBIDI_TRUE);
-  fribidi_set_reorder_nsm (FRIBIDI_FALSE);
+  fribidi_set_mirroring (1);
+  fribidi_set_reorder_nsm (0);

   if( sub_utf8 == 0 ) {
     char_set_num = fribidi_parse_charset
(fribidi_charset?fribidi_charset:"ISO8859-8");


Would someone finally fix this port?
It's been in this state for far too long.

P.S. port build also produces some serious warnings, which are real and indicate
bugs in code, but that's probably an upstream issue.  And it looks like there were
no new versions for two and a half years now.

-- 
Andriy Gapon
Comment 6 dfilter service freebsd_committer 2009-12-08 14:11:29 UTC
pb          2009-12-08 14:11:21 UTC

  FreeBSD ports repository

  Modified files:
    multimedia/dvdauthor Makefile 
  Added files:
    multimedia/dvdauthor/files patch-src__subreader.c 
  Log:
  Fix compilation problem with Fribidi.
  
  PR:             ports/138470, ports/141007
  Submitted by:   Dima Panov <fluffy@fluffy.khv.ru>, <hawei@free.fr>
  
  Revision  Changes    Path
  1.38      +1 -1      ports/multimedia/dvdauthor/Makefile
  1.1       +13 -0     ports/multimedia/dvdauthor/files/patch-src__subreader.c (new)
_______________________________________________
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"
Comment 7 Pierre Beyssac freebsd_committer 2009-12-08 14:14:10 UTC
State Changed
From-To: open->closed

Committed, thanks!