Bug 176768 - net-im/empathy: doesn't builds on -current
Summary: net-im/empathy: doesn't builds on -current
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: freebsd-gnome (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-03-08 20:50 UTC by Ruslan Makhmatkhanov
Modified: 2013-03-13 11:41 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 Ruslan Makhmatkhanov freebsd_committer 2013-03-08 20:50:00 UTC
gmake[2]: Вход в каталог `/usr/ports/net-im/empathy/work/empathy-2.34.0/src'
  GEN    /usr/local/include/gstreamer-0.10/gst/audio/audio-enumtypes.h
  CC     empathy_av-empathy-audio-sink.o
In file included from empathy-audio-sink.c:25:
In file included from /usr/local/include/gstreamer-0.10/gst/audio/audio.h:26:
In file included from /usr/local/include/gstreamer-0.10/gst/audio/multichannel.h:21:
/usr/local/include/gstreamer-0.10/gst/audio/audio-enumtypes.h:4:11: warning: extra tokens at end of #ifndef directive [-Wextra-tokens]
#ifndef __/USR/LOCAL/INCLUDE/GSTREAMER_0.10/GST/AUDIO/AUDIO_ENUM_TYPES_H__
          ^
          //
/usr/local/include/gstreamer-0.10/gst/audio/audio-enumtypes.h:5:11: warning: ISO C99 requires whitespace after the macro name [-Wc99-extensions]
#define __/USR/LOCAL/INCLUDE/GSTREAMER_0.10/GST/AUDIO/AUDIO_ENUM_TYPES_H__
          ^
/usr/local/include/gstreamer-0.10/gst/audio/audio-enumtypes.h:12:9: error: macro names must be identifiers
#define /USR/LOCAL/INCLUDE/GSTREAMER_TYPE_AUDIO_FORMAT (gst_audio_format_get_type())
        ^
/usr/local/include/gstreamer-0.10/gst/audio/audio-enumtypes.h:14:9: error: macro names must be identifiers
#define /USR/LOCAL/INCLUDE/GSTREAMER_TYPE_AUDIO_FORMAT_FLAGS (gst_audio_format_flags_get_type())
        ^
/usr/local/include/gstreamer-0.10/gst/audio/audio-enumtypes.h:16:9: error: macro names must be identifiers
#define /USR/LOCAL/INCLUDE/GSTREAMER_TYPE_AUDIO_FLAGS (gst_audio_flags_get_type())
        ^
/usr/local/include/gstreamer-0.10/gst/audio/audio-enumtypes.h:18:9: error: macro names must be identifiers
#define /USR/LOCAL/INCLUDE/GSTREAMER_TYPE_AUDIO_FIELD_FLAG (gst_audio_field_flag_get_type())
        ^
empathy-audio-sink.c:160:27: warning: 'g_mutex_new' is deprecated [-Wdeprecated-declarations]
  priv->audio_bins_lock = g_mutex_new ();
                          ^
/usr/local/include/glib-2.0/glib/deprecated/gthread.h:272:17: note: 'g_mutex_new' declared here
GMutex *        g_mutex_new             (void);
                ^
empathy-audio-sink.c:257:5: warning: 'g_mutex_free' is deprecated [-Wdeprecated-declarations]
    g_mutex_free (priv->audio_bins_lock);
    ^
/usr/local/include/glib-2.0/glib/deprecated/gthread.h:274:17: note: 'g_mutex_free' declared here
void            g_mutex_free            (GMutex *mutex);
                ^
4 warnings and 4 errors generated.
gmake[2]: *** [empathy_av-empathy-audio-sink.o] Ошибка 1
gmake[2]: Выход из каталога `/usr/ports/net-im/empathy/work/empathy-2.34.0/src'
gmake[1]: *** [install] Ошибка 2
gmake[1]: Выход из каталога `/usr/ports/net-im/empathy/work/empathy-2.34.0/src'
gmake: *** [install-recursive] Ошибка 1
*** [do-install] Error code 2

Stop in /usr/ports/net-im/empathy.
*** [install] Error code 1

Stop in /usr/ports/net-im/empathy.

===>>> Installation of empathy-2.34.0_3 (net-im/empathy) failed
===>>> Aborting update
Comment 1 Edwin Groothuis freebsd_committer 2013-03-08 20:50:08 UTC
Responsible Changed
From-To: freebsd-ports-bugs->gnome

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 me 2013-03-09 11:46:00 UTC
I have just run into this on 9.1-RELEASE/amd64, too.

net-im/empathy replaces
/usr/local/include/gstreamer-0.10/gst/audio/audio-enumtypes.h (from
multimedia/gstreamer-plugins) during the install phase by the weird
version that causes the problems:

gmake[1]: Leaving directory
`/usr/ports/net-im/empathy/work/empathy-2.34.0/libempathy-gtk'
Making install in src
gmake[1]: Entering directory
`/usr/ports/net-im/empathy/work/empathy-2.34.0/src'
gmake  install-am
gmake[2]: Entering directory
`/usr/ports/net-im/empathy/work/empathy-2.34.0/src'
  GEN    /usr/local/include/gstreamer-0.10/gst/audio/audio-enumtypes.h
Comment 3 Koop Mast 2013-03-09 18:33:32 UTC
It does indeed regen the audio-enumtypes.h file, which it shouldn't 
touch. I'm having trouble reproducing it at times, and I don't have any 
idea where this might come from.
Comment 4 Lawrence Chen 2013-03-12 20:06:00 UTC
After much trial and error, I found it depends on how the port is being
updated/installed.

Case #1 - if gstreamer-plugin is installed before the port is
installed/updated, it doesn't work. (the %-enumtypes.h target in the Makefile
under src does the dirty work.)

Case #2 - if gstreamer-plugin is not installed, the port will then build it,
use it and then install.

using portmaster doesn't work, because portmaster will make and install
gstreamer-plugin first -- resulting in case #1.
Comment 5 R.Mahmatkhanov 2013-03-13 07:37:24 UTC
The BSD Dreamer wrote on 13.03.2013 00:06:
> After much trial and error, I found it depends on how the port is being
> updated/installed.
>
> Case #1 - if gstreamer-plugin is installed before the port is
> installed/updated, it doesn't work. (the %-enumtypes.h target in the Makefile
> under src does the dirty work.)
>
> Case #2 - if gstreamer-plugin is not installed, the port will then build it,
> use it and then install.
>
> using portmaster doesn't work, because portmaster will make and install
> gstreamer-plugin first -- resulting in case #1.

Yes, I was able to install new versions of empathy this way, thank you. 
Koop, may be it worth to mention this in UPDATING as workaround?

-- 
Regards,
Ruslan

Tinderboxing kills... the drives.
Comment 6 dfilter service freebsd_committer 2013-03-13 08:57:28 UTC
Author: kwm
Date: Wed Mar 13 08:57:19 2013
New Revision: 314040
URL: http://svnweb.freebsd.org/changeset/ports/314040

Log:
  Fix the build of empathy my removing offending Makefile rules. Bump
  gstreamer-plugins portrevision to fix the messed up header.
  
  Thanks to The BSD Dreamer <beastie@tardisi.com> for finding out where it
  went wrong.
  
  PR:		ports/176768
  Submitted by:	Ruslan Makhmatkhanov <rm@FreeBSD.org>

Added:
  head/net-im/empathy/files/patch-src_Makefile.in   (contents, props changed)
Modified:
  head/multimedia/gstreamer-plugins/Makefile

Modified: head/multimedia/gstreamer-plugins/Makefile
==============================================================================
--- head/multimedia/gstreamer-plugins/Makefile	Wed Mar 13 08:26:11 2013	(r314039)
+++ head/multimedia/gstreamer-plugins/Makefile	Wed Mar 13 08:57:19 2013	(r314040)
@@ -6,7 +6,7 @@ PORTNAME=	gstreamer
 PORTVERSION?=	${BASE_PORTVERSION}
 # When chasing a shared library for a plug-in bump the PORTREVISION in the 
 # plug-in port instead, like ${category}/gstreamer-plugin-${PLUGIN}.
-PORTREVISION?=	2
+PORTREVISION?=	3
 PORTEPOCH=	3
 CATEGORIES?=	multimedia audio
 MASTER_SITES=	http://gstreamer.freedesktop.org/src/gst-plugins-base/:base \

Added: head/net-im/empathy/files/patch-src_Makefile.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-im/empathy/files/patch-src_Makefile.in	Wed Mar 13 08:57:19 2013	(r314040)
@@ -0,0 +1,27 @@
+--- src/Makefile.in.orig	2013-03-12 21:11:24.000000000 +0000
++++ src/Makefile.in	2013-03-12 21:12:10.000000000 +0000
+@@ -1688,24 +1688,6 @@
+ 	$(AM_V_GEN)echo "#include \"src-marshal.h\"" > $@ && \
+ 	$(GLIB_GENMARSHAL) --body --prefix=_$(subst -,_,$*)_marshal $< >> $*-marshal.c
+ 
+-# rules for making the glib enum objects
+-%-enumtypes.h: %.h Makefile.in
+-	$(AM_V_GEN)glib-mkenums \
+-	--fhead "#ifndef __$(shell echo $* | tr [:lower:]- [:upper:]_)_ENUM_TYPES_H__\n#define __$(shell echo $* | tr [:lower:]- [:upper:]_)_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
+-	--fprod "/* enumerations from \"@filename@\" */\n" \
+-	--vhead "GType @enum_name@_get_type (void);\n#define $(shell echo $* | tr [:lower:]- [:upper:]_ | sed 's/_.*//')_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n"         \
+-	--ftail "G_END_DECLS\n\n#endif /* __$(shell echo $* | tr [:lower:]- [:upper:]_)_ENUM_TYPES_H__ */" \
+-	$< > $@
+-
+-%-enumtypes.c: %.h Makefile.in
+-	$(AM_V_GEN)glib-mkenums \
+-	--fhead "#include <$*.h>\n#include <$*-enumtypes.h>" \
+-	--fprod "\n/* enumerations from \"@filename@\" */" \
+-	--vhead "GType\n@enum_name@_get_type (void)\n{\n  static GType etype = 0;\n  if (etype == 0) {\n    static const G@Type@Value values[] = {"     \
+-	--vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@VALUENAME@\" }," \
+-	--vtail "      { 0, NULL, NULL }\n    };\n    etype = g_@type@_register_static (\"@EnumName@\", values);\n  }\n  return etype;\n}\n" \
+-	$< > $@
+-
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+ .NOEXPORT:
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 7 Koop Mast 2013-03-13 08:58:40 UTC
I added a patch to empathy that should fix the problem -r314040.
Could you people test it and report back? thanks
Comment 8 me 2013-03-13 10:19:36 UTC
On 03/13/2013 09:58, Koop Mast wrote:
> I added a patch to empathy that should fix the problem -r314040.
> Could you people test it and report back? thanks

Everything seems to work as expected: The file was repaired by
reinstalling multimedia/gstreamer-plugins and now net-im/empathy does
not touch anything that it has no business touching.

Thanks,
Jan Henrik
Comment 9 R.Mahmatkhanov 2013-03-13 11:25:16 UTC
Koop Mast wrote on 13.03.2013 12:58:
> I added a patch to empathy that should fix the problem -r314040.
> Could you people test it and report back? thanks

portmaster picked webkit-gtk update so it took some time to test :).
Yes, empathy was successfully rebuilt with portmaster. Thank you both 
for this.

-- 
Regards,
Ruslan

Tinderboxing kills... the drives.
Comment 10 Koop Mast freebsd_committer 2013-03-13 11:41:13 UTC
State Changed
From-To: open->closed

Problem was fixed, thanks for reporting.