Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Mar 2013 14:04:47 +0100
From:      Koop Mast <kwm@rainbow-runner.nl>
To:        Chris Torek <torek@torek.net>
Cc:        AN <andy@neu.net>, freebsd-ports@freebsd.org
Subject:   Re: Installing empathy-2.32.2_3...warning: undefined reference
Message-ID:  <5140796F.7090800@rainbow-runner.nl>
In-Reply-To: <201303131207.r2DC7sei079612@elf.torek.net>
References:  <201303131207.r2DC7sei079612@elf.torek.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 13-3-2013 13:07, Chris Torek wrote:
> On Sun, Mar 10, 2013 at 3:34 PM, Koop Mast <kwm@rainbow-runner.nl>
> wrote:
>
>> Thanks for the report, this is already known.  Sadly I haven't
>> managed to find a solution for this :/
>>
>>      -Koop
> The Makefile in net-im/empathy tries to build its included header
> files using glib-mkenums, but it assumes they're in the current
> directory and depend on Makefile.in.  When they are in
> /usr/local/include/* (and Makefile.in is newer) it goes badly
> awry.
>
> This somewhat crude patch fixes the problem...
>
> Chris

Thanks to information from BSD Dreamer in ports/176768, I came to the 
same patch. And committed it as as revision 314040. I also bumped 
gstreamer-plugins revision so it can fix the header for those people 
where empathy messed it up.

-Koop

> --- src/Makefile.in.orig
> +++ src/Makefile.in
> @@ -1689,22 +1689,4 @@
>   	$(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.




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