Bug 70001 - MPlayer-1.0pre5 port can be built with GTK2, finally.
Summary: MPlayer-1.0pre5 port can be built with GTK2, finally.
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: Volker Stolz
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-08-04 15:10 UTC by Seva Gluschenko
Modified: 2004-10-26 23:50 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 Seva Gluschenko 2004-08-04 15:10:24 UTC
	The multimedia/mplayer port has ditto WITH_GTK2 knob which
	does nothing but complains it's unavailable. That's not true.

	I found the patch here:

	http://homepages.ius.edu/CJEZELL/patches/mplayer1.0pre5-gtk2-20040730.patch.bz2

	the description is at

	http://homepages.ius.edu/CJEZELL/projects.html

	I have no clue how to specify master site for extra patchfile,
	so I downloaded it in files/ and adjusted Makefile appropriately.

Fix: 

The Makefile's patch is probably needs to be fixed for using either
	PATCHFILE variable or the patch mentioned needs to be placed to ports
	tree. The known issue of WITH_GTK2 is language problems: trying it
	with WITH_LANG=ru resulted to empty menus and many debug complains to
	the console:

** (<unknown>:24529): WARNING **: Invalid UTF8 string passed to pango_layout_set_text()

	So that I put some message to Makefile and disabled using WITH_LANG
	together with WITH_GTK2.
How-To-Repeat: 	CVSup and cd to latest multimedia/mplayer. Download the patch
	specified and place it to files/ subdir of multimedia/mplayer port.
	Then apply the patch below:

--- Makefile.orig	Wed Aug  4 18:01:24 2004
+++ Makefile	Wed Aug  4 18:04:23 2004
@@ -43,8 +43,6 @@
 #       gui capabilities.
 #       The GTK2 patches are not official ones, so they should be considered as
 #       experimental.
-# Note: GTK2 patches are not included at the moment. So defining this knob has
-#       no effect until new working patches are available
 #
 # WITHOUT_GUI
 # default: undefined
@@ -372,30 +370,31 @@
 
 .if !defined(WITHOUT_GUI)
 PLIST_SUB+=	GMPLAYER=""
+RUN_DEPENDS+=	${LOCALBASE}/share/mplayer/Skin:${PORTSDIR}/multimedia/mplayer-skins
+CONFIGURE_ARGS+=	--enable-gui
 .else
 PLIST_SUB+=	GMPLAYER="@comment "
 .endif
 
-#.if defined(WITH_GTK2) && !defined(WITHOUT_GUI)
-#USE_GNOME+=	gtk20
-#RUN_DEPENDS+=	${LOCALBASE}/share/mplayer/Skin:${PORTSDIR}/multimedia/mplayer-skins
-#.if defined(PKGNAMESUFFIX)
-#PKGNAMESUFFIX:=	${PKGNAMESUFFIX}-gtk2
-#.else
-#PKGNAMESUFFIX=	-gtk2
-#.endif
-#CONFIGURE_ARGS+=	--enable-gui
-#.endif
+.if defined(WITH_GTK2) && !defined(WITHOUT_GUI)
+USE_GNOME+=	gtk20
+.if defined(PKGNAMESUFFIX)
+PKGNAMESUFFIX:=	${PKGNAMESUFFIX}-gtk2
+.else
+PKGNAMESUFFIX=	-gtk2
+.endif
+.if defined(WITH_LANG)
+WITH_LANG=	""
+.endif
+.endif
 
 .if defined(WITH_GTK1) && !defined(WITHOUT_GUI)
 USE_GNOME+=	gtk12
-RUN_DEPENDS+=	${LOCALBASE}/share/mplayer/Skin:${PORTSDIR}/multimedia/mplayer-skins
 .if defined(PKGNAMESUFFIX)
 PKGNAMESUFFIX:=	${PKGNAMESUFFIX}-gtk
 .else
 PKGNAMESUFFIX=	-gtk
 .endif
-CONFIGURE_ARGS+=	--enable-gui
 .endif
 
 .if defined(WITHOUT_GUI)
@@ -420,7 +419,7 @@
 PLIST_SUB+=	MENCODER="@comment "
 .endif
 
-.if defined(WITH_ARTS) && (!defined(WITH_GTK1) || defined(WITHOUT_GUI))
+.if defined(WITH_ARTS) && (!defined(WITH_GTK1) || defined(WITH_GTK2) || defined(WITHOUT_GUI))
 LIB_DEPENDS+=	artsc.0:${PORTSDIR}/audio/arts
 
 CONFIGURE_ARGS+=	--enable-arts
@@ -623,9 +622,10 @@
 	@${ECHO_MSG} "make WITH_GTK1"
 	@${ECHO_MSG} "builds MPlayer with GTK1-GUI support."
 
-.if defined(WITH_GTK2) && !defined(WITHOUT_GUI)
-	@${ECHO_MSG} "GTK2 plugin is not available at the moment."
-	@${ECHO_MSG} "Falling back to use GTK1 if installed on the system."
+.if defined(WITH_LANG) && defined(WITH_GTK2)
+	@${ECHO_MSG}	"========================== ATTENTION! ============================"
+	@${ECHO_MSG}	"GTK2 has UTF8 compatibility problems. Language selection disabled."
+	@${ECHO_MSG}	"=================================================================="
 .endif
 .if !defined(WITHOUT_GUI)
 	@${ECHO_MSG} "If you want to use the GUI, you can either install"
@@ -635,9 +635,9 @@
 .endif
 
 post-patch:
-#.if defined(WITH_GTK2) && !defined(WITHOUT_GUI)
-#	@cd ${WRKSRC} && ${PATCH} < ${PATCHDIR}/extra-patch-gtk2
-#.endif
+.if defined(WITH_GTK2) && !defined(WITHOUT_GUI)
+	@cd ${WRKSRC} && bzcat ${PATCHDIR}/mplayer1.0pre5-gtk2-20040730.patch.bz2 | ${PATCH} -p1
+.endif
 	@${REINPLACE_CMD} -e \
 		's|libxmms.so.1|libxmms.so|' \
 		${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
Comment 1 Volker Stolz freebsd_committer freebsd_triage 2004-08-09 15:45:57 UTC
Dear maintainer, please review the proposed PR!

Cheers,
   Volker
Comment 2 Volker Stolz freebsd_committer freebsd_triage 2004-08-09 15:46:36 UTC
State Changed
From-To: open->feedback

Forwarded PR to maintainer
Comment 3 Volker Stolz freebsd_committer freebsd_triage 2004-08-16 09:31:49 UTC
Responsible Changed
From-To: freebsd-ports-bugs->vs

I'm on this
Comment 4 Volker Stolz freebsd_committer freebsd_triage 2004-08-16 10:45:20 UTC
State Changed
From-To: feedback->closed

Committed, thanks!
Comment 5 wak 2004-10-26 23:42:19 UTC
Just some feedback on mplayer built with gtk2

Mplayer builds fine with gtk2 but dies with signal 11 (SIGSEGV) upon
clicking ok in the preferences window - all other things work fine
(command-line - playing movies w/o touching preferences)

uname -a:  FreeBSD a.nonymiz.ed 5.3-STABLE FreeBSD 5.3-STABLE #0: Mon 
Oct 25 18:42:47 CEST 2004     
root@a.nonymiz.ed:/usr/obj/usr/src/sys/CUSTOM53  i386

GTK2: gtk-2.4.9_1

mplayer built from ports (cvsuped Oct 25th) with:

-DWITH_OPTIMIZED_CFLAGS
-DWITHOUT_RUNTIME_CPUDETECTION
-DWITH_GTK2
-DWITHOUT_3DNOW
-DWITHOUT_DSP
-DWITHOUT_ESOUND

However, building without optimized cflags did the trick for my system, 
so you
might consider disabling -DWITH_OPTIMIZED_CFLAGS upon usage of -DWITH_GTK2.

Rgds,
Wolfram