pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

openlane build project: c++20, gcc10 needed in some pkgsrc packages



It will be good to see a fully open source ASIC development platform like
openlane2 working natively on NetBSD. It already does on FreeBSD and
Linux.

Over last few days I have created many wip packages, mainly google
or-tools and the dependencies it needs. A few more components are pending
before building the top package openlane2.

c++20 is a declared[1] dependency of or-tools.

At least gcc-10 is needed and for compatibility reason, one or both these
requirements (gcc-10 or c++20) pass on to several components in wip as
well as pkgsrc.

I am attaching a patch of the things I had to patch in pkgsrc. I have been
conservative in making these changes i.e. changes are made only when the
build fails otherwise for or-tools or some of its dependencies.

This attachment excludes the ipopt patch, since it needed an upgrade. I
have shared that patch in a separate mail already.

Of course, it will not be easy to absorb the chain of impact on main
pkgsrc. But, then having openlane2 is a really good goal to have. So,
would like to seek views on what best can be done.

-- 
Mayuresh


[1] https://github.com/google/or-tools/blob/stable/cmake/README.md#requirement
diff --git a/devel/abseil/Makefile b/devel/abseil/Makefile
index f946c1eb279..98af90fcb9c 100644
--- a/devel/abseil/Makefile
+++ b/devel/abseil/Makefile
@@ -11,14 +11,11 @@ HOMEPAGE=	https://github.com/abseil/abseil-cpp
 COMMENT=	C++ Common Libraries
 LICENSE=	apache-2.0
 
-USE_CXX_FEATURES=	c++14
 USE_LANGUAGES=		c++
-FORCE_CXX_STD=		c++14
+FORCE_CXX_STD=		c++20
 CMAKE_CONFIGURE_ARGS+=	-DBUILD_SHARED_LIBS=ON
 
-# include/absl/base/policy_checks.h:57:2: error:
-# #error "This package requires GCC 7 or higher."
-GCC_REQD+=	7
+GCC_REQD+=	10
 
 .include "../../mk/bsd.prefs.mk"
 
diff --git a/devel/gmp/Makefile b/devel/gmp/Makefile
index 4a38d3aa27c..47eb5c6bd92 100644
--- a/devel/gmp/Makefile
+++ b/devel/gmp/Makefile
@@ -25,6 +25,8 @@ PKGCONFIG_OVERRIDE+=	gmpxx.pc.in
 
 PLIST_VARS+=		cxx
 
+GCC_REQD+=	10
+
 .include "../../mk/bsd.prefs.mk"
 
 .if ${USE_CROSS_COMPILE:U:tl} == yes
diff --git a/devel/protobuf/Makefile b/devel/protobuf/Makefile
index 0b308b641ee..b47164e8650 100644
--- a/devel/protobuf/Makefile
+++ b/devel/protobuf/Makefile
@@ -19,11 +19,9 @@ HOMEPAGE=	https://github.com/protocolbuffers/protobuf
 COMMENT=	Google protocol buffers
 LICENSE=	modified-bsd
 
-USE_CXX_FEATURES=	c++14
 USE_LANGUAGES=		c c++
 
-# Fails with C++14 default language
-FORCE_CXX_STD=		c++14
+FORCE_CXX_STD=		c++20
 
 CMAKE_CONFIGURE_ARGS+=	-Dprotobuf_ABSL_PROVIDER=package
 # FIXME: Currently libupd makes net/grpc build fail.
diff --git a/devel/re2/Makefile b/devel/re2/Makefile
index 8bf8b00f4a3..8bb31b5a9f0 100644
--- a/devel/re2/Makefile
+++ b/devel/re2/Makefile
@@ -14,7 +14,7 @@ USE_LANGUAGES=	c c++
 
 CMAKE_CONFIGURE_ARGS+=	-DBUILD_SHARED_LIBS=ON
 
-USE_CXX_FEATURES=	c++11
+FORCE_CXX_STD=		c++20
 PKGCONFIG_OVERRIDE=	re2.pc.in
 INSTALLATION_DIRS+=	lib/pkgconfig
 


Home | Main Index | Thread Index | Old Index