Fri Dec 29 23:06:14 2017 UTC ()
glibmm: Add kludge to use gcc 4.9 for depending packages

glibmm seems to need gcc 4.9 to build; therefore set GCC_REQD.

This means that depending packages using other versions (specifically
4.8 on NetBSD 7) will fail to link.  As a kludge to make more things
build for the upcoming branch, force GCC_REQD to 4.9 in glibmm's
buildlink3.mk.  Now, at least some packages that depend on glibmm
build.  While icky, it's my judgement that having more packages
building is better.

This will very likely be reverted either after the branch or as part
of the upcoming compiler selection logic changes.

As proposed on tech-pkg.


(gdt)
diff -r1.75 -r1.76 pkgsrc/devel/glibmm/Makefile
diff -r1.15 -r1.16 pkgsrc/devel/glibmm/buildlink3.mk

cvs diff -r1.75 -r1.76 pkgsrc/devel/glibmm/Makefile (expand / switch to unified diff)

--- pkgsrc/devel/glibmm/Makefile 2017/12/11 13:37:43 1.75
+++ pkgsrc/devel/glibmm/Makefile 2017/12/29 23:06:14 1.76
@@ -1,26 +1,28 @@ @@ -1,26 +1,28 @@
1# $NetBSD: Makefile,v 1.75 2017/12/11 13:37:43 jperkin Exp $ 1# $NetBSD: Makefile,v 1.76 2017/12/29 23:06:14 gdt Exp $
2 2
3DISTNAME= glibmm-2.54.1 3DISTNAME= glibmm-2.54.1
4CATEGORIES= devel gnome 4CATEGORIES= devel gnome
5MASTER_SITES= ${MASTER_SITE_GNOME:=sources/glibmm/${PKGVERSION_NOREV:R}/} 5MASTER_SITES= ${MASTER_SITE_GNOME:=sources/glibmm/${PKGVERSION_NOREV:R}/}
6EXTRACT_SUFX= .tar.xz 6EXTRACT_SUFX= .tar.xz
7 7
8MAINTAINER= adam@NetBSD.org 8MAINTAINER= adam@NetBSD.org
9HOMEPAGE= https://www.gtkmm.org/ 9HOMEPAGE= https://www.gtkmm.org/
10COMMENT= C++ bindings for glib 10COMMENT= C++ bindings for glib
11LICENSE= gnu-gpl-v2 AND gnu-lgpl-v2.1 11LICENSE= gnu-gpl-v2 AND gnu-lgpl-v2.1
12 12
13GCC_REQD+= 4.8 13# With 4.8, one gets the following:
 14# error: no matching function for call to 'regex_replace(const char*&, std::regex, const char [3])'
 15GCC_REQD+= 4.9
14USE_LANGUAGES= c c++11 16USE_LANGUAGES= c c++11
15USE_LIBTOOL= yes 17USE_LIBTOOL= yes
16USE_PKGLOCALEDIR= yes 18USE_PKGLOCALEDIR= yes
17USE_TOOLS+= gmake pkg-config perl:run 19USE_TOOLS+= gmake pkg-config perl:run
18GNU_CONFIGURE= yes 20GNU_CONFIGURE= yes
19EXTRACT_USING= bsdtar # added for pkg/42258 21EXTRACT_USING= bsdtar # added for pkg/42258
20 22
21PKGCONFIG_OVERRIDE+= gio/giomm.pc.in 23PKGCONFIG_OVERRIDE+= gio/giomm.pc.in
22PKGCONFIG_OVERRIDE+= glib/glibmm.pc.in 24PKGCONFIG_OVERRIDE+= glib/glibmm.pc.in
23 25
24# x11/gtkmm needs these tools 26# x11/gtkmm needs these tools
25INSTALLATION_DIRS= share/glibmm-2.4/doctool 27INSTALLATION_DIRS= share/glibmm-2.4/doctool
26 28

cvs diff -r1.15 -r1.16 pkgsrc/devel/glibmm/buildlink3.mk (expand / switch to unified diff)

--- pkgsrc/devel/glibmm/buildlink3.mk 2012/09/15 10:04:10 1.15
+++ pkgsrc/devel/glibmm/buildlink3.mk 2017/12/29 23:06:14 1.16
@@ -1,16 +1,21 @@ @@ -1,16 +1,21 @@
1# $NetBSD: buildlink3.mk,v 1.15 2012/09/15 10:04:10 obache Exp $ 1# $NetBSD: buildlink3.mk,v 1.16 2017/12/29 23:06:14 gdt Exp $
2 2
3BUILDLINK_TREE+= glibmm 3BUILDLINK_TREE+= glibmm
4 4
5.if !defined(GLIBMM_BUILDLINK3_MK) 5.if !defined(GLIBMM_BUILDLINK3_MK)
6GLIBMM_BUILDLINK3_MK:= 6GLIBMM_BUILDLINK3_MK:=
7 7
 8# It is necessary to use the same compiler to link against libmm as it
 9# was built with. This is hacky, but enables at least
 10# gnome-system-monitor to build.
 11GCC_REQD+= 4.9
 12
8BUILDLINK_API_DEPENDS.glibmm+= glibmm>=2.24.2 13BUILDLINK_API_DEPENDS.glibmm+= glibmm>=2.24.2
9BUILDLINK_ABI_DEPENDS.glibmm+= glibmm>=2.32.1nb1 14BUILDLINK_ABI_DEPENDS.glibmm+= glibmm>=2.32.1nb1
10BUILDLINK_PKGSRCDIR.glibmm?= ../../devel/glibmm 15BUILDLINK_PKGSRCDIR.glibmm?= ../../devel/glibmm
11 16
12.include "../../devel/glib2/buildlink3.mk" 17.include "../../devel/glib2/buildlink3.mk"
13.include "../../devel/libsigc++/buildlink3.mk" 18.include "../../devel/libsigc++/buildlink3.mk"
14.endif # GLIBMM_BUILDLINK3_MK 19.endif # GLIBMM_BUILDLINK3_MK
15 20
16BUILDLINK_TREE+= -glibmm 21BUILDLINK_TREE+= -glibmm