pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/lang/gcc15-gnat
Module Name: pkgsrc
Committed By: dkazankov
Date: Sun Oct 19 03:53:33 UTC 2025
Modified Files:
pkgsrc/lang/gcc15-gnat: Makefile buildlink3.mk distinfo options.mk
Added Files:
pkgsrc/lang/gcc15-gnat/patches: patch-isl_configure
Log Message:
gcc15-gnat: migrate to new bootstrap, some patch and option changes
* Move conditional NetBSD specific Ada patches to SUBST framework.
* GCC's inplace graphite changed to distribution downloading variant.
* NetBSD builds migrated to the new bootstrap compiler.
Other platforms uses old build with gcc10-aux package which still
doesn't work.
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 pkgsrc/lang/gcc15-gnat/Makefile \
pkgsrc/lang/gcc15-gnat/buildlink3.mk
cvs rdiff -u -r1.2 -r1.3 pkgsrc/lang/gcc15-gnat/distinfo
cvs rdiff -u -r1.1 -r1.2 pkgsrc/lang/gcc15-gnat/options.mk
cvs rdiff -u -r0 -r1.1 pkgsrc/lang/gcc15-gnat/patches/patch-isl_configure
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/lang/gcc15-gnat/Makefile
diff -u pkgsrc/lang/gcc15-gnat/Makefile:1.3 pkgsrc/lang/gcc15-gnat/Makefile:1.4
--- pkgsrc/lang/gcc15-gnat/Makefile:1.3 Wed Aug 27 18:59:44 2025
+++ pkgsrc/lang/gcc15-gnat/Makefile Sun Oct 19 03:53:33 2025
@@ -1,26 +1,34 @@
-# $NetBSD: Makefile,v 1.3 2025/08/27 18:59:44 dkazankov Exp $
+# $NetBSD: Makefile,v 1.4 2025/10/19 03:53:33 dkazankov Exp $
DISTNAME= gcc-${PKGVERSION_NOREV}
PKGNAME= gcc15-gnat-15.2.0
-#PKGREVISION= 1
+PKGREVISION= 1
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_GNU:=gcc/${DISTNAME}/}
EXTRACT_SUFX= .tar.xz
DISTFILES= ${DEFAULT_DISTFILES}
-EXTRACT_ONLY= ${DEFAULT_DISTFILES}
MAINTAINER= dkazankov%NetBSD.org@localhost
HOMEPAGE= https://gcc.gnu.org/
COMMENT= GNAT compiler and Ada tools
LICENSE= gnu-gpl-v2 AND gnu-gpl-v3 AND gnu-lgpl-v2 AND gnu-lgpl-v3
+# The list is copy of one from gcc6-aux as it used as a bootstrapper
+ONLY_FOR_PLATFORM= DragonFly-*-x86_64 \
+ FreeBSD-*-i386 \
+ FreeBSD-*-x86_64 \
+ SunOS-5.1[1-9]*-i386 \
+ SunOS-5.1[1-9]*-x86_64 \
+ NetBSD-*-i386 \
+ NetBSD-*-x86_64
+
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114065
BROKEN_ON_PLATFORM= *-*-i386
CHECK_PIE_SUPPORTED= no
CHECK_RELRO_SUPPORTED= no
-USE_LANGUAGES= c c++ ada
+USE_LANGUAGES= # empty
USE_TOOLS+= gmake makeinfo sed perl flex bison
USE_TOOLS.NetBSD+= gsed
# Built-in Texinfo can no longer process GCC 15's files
@@ -33,15 +41,31 @@ GNU_CONFIGURE_STRICT= no
.include "../../mk/bsd.prefs.mk"
-USE_PKGSRC_GCC?= yes
-GCC_REQD+= 10
-
UNLIMIT_RESOURCES+= datasize
UNLIMIT_RESOURCES+= stacksize
CHECK_PORTABILITY_SKIP+= contrib/*
CHECK_PORTABILITY_SKIP+= gcc/configure.orig_dist
+USE_GCC_BOOTSTRAP= no
+
+.if ${OPSYS} == NetBSD
+BOOT_DISTNAME= gcc-bootstrap-${MACHINE_GNU_PLATFORM}-10.5.0.tar.bz2
+SITES.${BOOT_DISTNAME}= ${MASTER_SITE_BACKUP}
+
+USE_GCC_BOOTSTRAP= yes
+.endif
+
+.if ${USE_GCC_BOOTSTRAP:U:tl} == "yes"
+DISTFILES+= ${BOOT_DISTNAME}
+CC= ${WRKDIR}/gcc-bootstrap/bin/gcc
+CXX= ${WRKDIR}/gcc-bootstrap/bin/g++
+.else
+TOOL_DEPENDS+= gcc10-aux-[0-9]*:../../lang/gcc10-aux
+CC= ${PREFIX}/gcc10-aux/bin/gcc
+CXX= ${PREFIX}/gcc10-aux/bin/g++
+.endif
+
## Build outside ${WRKSRC}
OBJDIR= ${WRKDIR}/build
CONFIGURE_DIRS= ${OBJDIR}
@@ -68,38 +92,25 @@ BUILD_DEFS+= GCC_TARGET_MACHINE
# Use C preprocessed symbols on NetBSD
.if ${OPSYS} == "NetBSD"
-SUBST_CLASSES+= select
-SUBST_MESSAGE.select= Replace select with __gnat_select in ${SUBST_FILES.select}
-SUBST_STAGE.select= pre-configure
-SUBST_FILES.select= gcc/ada/libgnat/g-socthi.ads
-SUBST_SED.select= -e "s,\"select\",\"__gnat_select\","
-
-SUBST_CLASSES+= socket
-SUBST_MESSAGE.socket= Replace socket with __gnat_socket in ${SUBST_FILES.socket}
-SUBST_STAGE.socket= pre-configure
-SUBST_FILES.socket= gcc/ada/libgnat/g-socthi.adb
-SUBST_SED.socket= -e "s,\"socket\",\"__gnat_socket\","
-
-SUBST_CLASSES+= nanosleep
-SUBST_MESSAGE.nanosleep= Replace nanosleep with __gnat_nanosleep in ${SUBST_FILES.nanosleep}
-SUBST_STAGE.nanosleep= pre-configure
-SUBST_FILES.nanosleep= gcc/ada/libgnat/s-osprim__posix.adb
-SUBST_SED.nanosleep= -e "s,\"nanosleep\",\"__gnat_nanosleep\","
-
-SUBST_CLASSES+= gettimeofday
-SUBST_MESSAGE.gettimeofday= Replace gettimeofday with __gnat_gettimeofday in ${SUBST_FILES.gettimeofday}
-SUBST_STAGE.gettimeofday= pre-configure
-SUBST_FILES.gettimeofday= gcc/ada/libgnat/s-osprim__posix.adb
-SUBST_SED.gettimeofday= -e "s,\"gettimeofday\",\"__gnat_gettimeofday\","
-.endif
-
-#.if ${MACHINE_PLATFORM:MDarwin-*-*}
-#BUILDLINK_TRANSFORM+= rm:-nodefaultrpaths
-#CONFIGURE_ARGS+= --disable-darwin-at-rpath
-#PATCHFILES= gcc-15.1.0.diff
-#PATCH_SITES= https://raw.githubusercontent.com/Homebrew/formula-patches/bda0fad/gcc/
-#PATCH_DIST_STRIP= -p1
-#.endif
+SUBST_CLASSES+= patch1
+SUBST_MESSAGE.patch1= Replace nanosleep, gettimeofday in ${SUBST_FILES.patch1}
+SUBST_STAGE.patch1= pre-configure
+SUBST_FILES.patch1= gcc/ada/libgnat/s-osprim__posix.adb
+SUBST_SED.patch1= -e "s,\"nanosleep\",\"__gnat_nanosleep\","
+SUBST_SED.patch1+= -e "s,\"gettimeofday\",\"__gnat_gettimeofday\","
+
+SUBST_CLASSES+= patch2
+SUBST_MESSAGE.patch2= Replace select with __gnat_select in ${SUBST_FILES.patch2}
+SUBST_STAGE.patch2= pre-configure
+SUBST_FILES.patch2= gcc/ada/libgnat/g-socthi.ads
+SUBST_SED.patch2= -e "s,\"select\",\"__gnat_select\","
+
+SUBST_CLASSES+= patch3
+SUBST_MESSAGE.patch3= Replace socket with __gnat_socket in ${SUBST_FILES.patch3}
+SUBST_STAGE.patch3= pre-configure
+SUBST_FILES.patch3= gcc/ada/libgnat/g-socthi.adb
+SUBST_SED.patch3= -e "s,\"socket\",\"__gnat_socket\","
+.endif
.if ${OS_VARIANT} == "SmartOS"
SUBST_CLASSES+= ccs
@@ -121,8 +132,7 @@ SUBST_SED.fixinc= -e "s,\./fixinc.sh,-c
LINKER_RPATH_FLAG:= ${LINKER_RPATH_FLAG:S/-rpath/& /}
## The Library rpath to use in end programs.
-#LDFLAGS_FOR_TARGET= ${LDFLAGS:M${COMPILER_RPATH_FLAG}*:N*/usr/lib*} ${LDFLAGS:M-Wl,-z*}
-LDFLAGS_FOR_TARGET= -static-libstdc++ -static-libgcc
+LDFLAGS_FOR_TARGET= ${COMPILER_RPATH_FLAG}${PREFIX}/${PKGBASE}/${MACHINE_GNU_PLATFORM}/lib
LDFLAGS_FOR_TARGET+= ${COMPILER_RPATH_FLAG}${PREFIX}/${PKGBASE}/lib
LDFLAGS_FOR_TARGET+= ${COMPILER_RPATH_FLAG}${PREFIX}/${PKGBASE}/lib/gcc/${MACHINE_GNU_PLATFORM}/${PKGVERSION_NOREV}/adalib
LDFLAGS_FOR_TARGET+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib
@@ -130,14 +140,18 @@ LDFLAGS_FOR_TARGET+= ${COMPILER_RPATH_FL
# The "-static-libstdc++ -static-libgcc" flags are normally added to the
# boot-ldflags by configure but because we are supply the boot-ldflags
# we mash supply them.
-STAGE1_LDFLAGS= ${LDFLAGS:M*:N-Wl,-z*} -static
-BOOT_LDFLAGS= ${LDFLAGS_FOR_TARGET:M*}
+BOOT_LDFLAGS= -static-libstdc++ -static-libgcc
+BOOT_LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/${PKGBASE}/lib
+BOOT_LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/${PKGBASE}/lib/gcc/${MACHINE_GNU_PLATFORM}/${PKGVERSION_NOREV}/adalib
# Needed on Darwin when LDFLAGS point to a SDK
.if !empty(OSX_SDK_PATH)
BOOT_LDFLAGS+= ${LDFLAGS:M-Wl,-syslibroot*}
.endif
+## For target librarys and libjava programs.
+CONFIGURE_ENV+= LDFLAGS_FOR_TARGET=${LDFLAGS_FOR_TARGET:Q}
+
# GCC does not understand this option; remove it, or stage build will fail
BUILDLINK_TRANSFORM+= rm:-stdlib=libc++
@@ -154,7 +168,12 @@ SUBST_SED.libstdc= -e 's,libtool_VERSION
CONFIGURE_ARGS+= --enable-libssp
.endif
-CONFIGURE_ARGS+= --enable-languages=ada,c,c++ --enable-stage1-languages=ada,c,c++
+.if ${USE_CROSS_COMPILE:U:tl} == "yes"
+CONFIGURE_ENV+= CC_FOR_BUILD=${NATIVE_CC:Q}
+CONFIGURE_ENV+= CXX_FOR_BUILD=${NATIVE_CXX:Q}
+.endif
+
+CONFIGURE_ARGS+= --enable-languages=ada,c,c++
CONFIGURE_ARGS+= --enable-shared
CONFIGURE_ARGS+= --enable-host-shared
@@ -169,18 +188,6 @@ CONFIGURE_ARGS+= --enable-__cxa_atexit
CONFIGURE_ARGS+= --disable-libstdcxx-pch
CONFIGURE_ARGS+= --enable-threads=posix
-.if ${USE_CROSS_COMPILE:U:tl} == "yes"
-CONFIGURE_ARGS+= --disable-bootstrap
-CONFIGURE_ENV+= CC_FOR_BUILD=${NATIVE_CC:Q}
-CONFIGURE_ENV+= CXX_FOR_BUILD=${NATIVE_CXX:Q}
-CONFIGURE_ARGS+= --with-stage1-ldflags=${BOOT_LDFLAGS:M*:Q}
-.else
-CONFIGURE_ARGS+= --with-stage1-ldflags=${STAGE1_LDFLAGS:M*:Q}
-CONFIGURE_ARGS+= --with-boot-ldflags=${BOOT_LDFLAGS:M*:Q}
-.endif
-## For target librarys and libjava programs.
-CONFIGURE_ENV+= LDFLAGS_FOR_TARGET=${LDFLAGS_FOR_TARGET:Q}
-
# causes build errors even when using lang/gcc* to self host
CONFIGURE_ARGS.SunOS+= --disable-libsanitizer
# multilib on Darwin requires fat-binaries
@@ -273,3 +280,14 @@ CONFIGURE_ARGS+= --with-zstd=${BUILDLINK
.include "../../mk/pthread.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
+
+.if ${USE_GCC_BOOTSTRAP:U:tl} == "yes"
+PREPEND_PATH+= ${WRKDIR}/gcc-bootstrap/bin
+.else
+PREPEND_PATH+= ${PREFIX}/gcc10-aux/bin
+.endif
+
+CFLAGS= -O2
+CPPFLAGS= #empty
+CXXFLAGS= -O2
+LDFLAGS= -static-libstdc++ -static-libgcc
Index: pkgsrc/lang/gcc15-gnat/buildlink3.mk
diff -u pkgsrc/lang/gcc15-gnat/buildlink3.mk:1.3 pkgsrc/lang/gcc15-gnat/buildlink3.mk:1.4
--- pkgsrc/lang/gcc15-gnat/buildlink3.mk:1.3 Wed Aug 27 18:59:44 2025
+++ pkgsrc/lang/gcc15-gnat/buildlink3.mk Sun Oct 19 03:53:33 2025
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.3 2025/08/27 18:59:44 dkazankov Exp $
+# $NetBSD: buildlink3.mk,v 1.4 2025/10/19 03:53:33 dkazankov Exp $
BUILDLINK_TREE+= gcc15-gnat
@@ -6,6 +6,7 @@ BUILDLINK_TREE+= gcc15-gnat
GCC15_GNAT_BUILDLINK3_MK:=
BUILDLINK_API_DEPENDS.gcc15-gnat+= gcc15-gnat>=15.1.0
+BUILDLINK_ABI_DEPENDS.gcc15-gnat+= gcc15-gnat>=15.2.0
BUILDLINK_PKGSRCDIR.gcc15-gnat?= ../../lang/gcc15-gnat
BUILDLINK_DEPMETHOD.gcc15-gnat?= build
Index: pkgsrc/lang/gcc15-gnat/distinfo
diff -u pkgsrc/lang/gcc15-gnat/distinfo:1.2 pkgsrc/lang/gcc15-gnat/distinfo:1.3
--- pkgsrc/lang/gcc15-gnat/distinfo:1.2 Wed Aug 27 18:59:44 2025
+++ pkgsrc/lang/gcc15-gnat/distinfo Sun Oct 19 03:53:33 2025
@@ -1,8 +1,14 @@
-$NetBSD: distinfo,v 1.2 2025/08/27 18:59:44 dkazankov Exp $
+$NetBSD: distinfo,v 1.3 2025/10/19 03:53:33 dkazankov Exp $
BLAKE2s (gcc-15.2.0.tar.xz) = ee9b2705b03ef8e6b5a41cf523dad26dcdaa8047be3743121b1673ce2fcc8832
SHA512 (gcc-15.2.0.tar.xz) = 89047a2e07bd9da265b507b516ed3635adb17491c7f4f67cf090f0bd5b3fc7f2ee6e4cc4008beef7ca884b6b71dffe2bb652b21f01a702e17b468cca2d10b2de
Size (gcc-15.2.0.tar.xz) = 101056276 bytes
+BLAKE2s (gcc-bootstrap-x86_64--netbsd-10.5.0.tar.bz2) = 90d731f859fde9db5e416a233eea6fe487bf9c45b974708a5913cbd0cafed0d3
+SHA512 (gcc-bootstrap-x86_64--netbsd-10.5.0.tar.bz2) = e649dc8473c6c526bb447f42235abe7d4abf57d3ab2fe22bb5ca4303f2f08f85a501121c61e0104b17a3dd8c76d54b6925a25401bdccd5590ddab92bed948d70
+Size (gcc-bootstrap-x86_64--netbsd-10.5.0.tar.bz2) = 70613322 bytes
+BLAKE2s (isl-0.24.tar.xz) = a3013b0d39b7fe68a1b3e15dc7e925b347d555348ee946a80f5319a76973cd61
+SHA512 (isl-0.24.tar.xz) = ff6bdcff839e1cd473f2a0c1e4dd4a3612ec6fee4544ccbc62b530a7248db2cf93b4b99bf493a86ddf2aba00e768927265d5d411f92061ea85fd7929073428e8
+Size (isl-0.24.tar.xz) = 1930956 bytes
SHA1 (patch-gcc_Makefile.in) = a3976de1679978fb7598fd5777ea1ab4bb596896
SHA1 (patch-gcc_ada_Makefile.rtl) = 376acf3e0b26bf07d0e83c54437403945de604f0
SHA1 (patch-gcc_ada_adaint.c) = 62411073bac71aa96d12c69a0b02a4206401f852
@@ -26,6 +32,7 @@ SHA1 (patch-gcc_config_i386_t-netbsd64)
SHA1 (patch-gcc_configure) = 72983cd72129a920ec8123ab52f66026df909782
SHA1 (patch-gcc_tree.h) = 402c23ae02a6d50d0899baa7e32205e3292f1eca
SHA1 (patch-gnattools_configure) = ca592eb0ff40d7103ed69370b34a55de43ba6b09
+SHA1 (patch-isl_configure) = a6295c509bdc82e8b54d7dec5252994532463091
SHA1 (patch-libcody_configure) = 361fa471f6afb578782322586395faa8f4e9a40c
SHA1 (patch-libffi_configure) = b7e3ac7febb98e789d7b662bd2e80edae61345a1
SHA1 (patch-libffi_testsuite_libffi.call_float2.c) = 89e2dd6aaf2c1f75726f02362d8a8bf7178694ea
Index: pkgsrc/lang/gcc15-gnat/options.mk
diff -u pkgsrc/lang/gcc15-gnat/options.mk:1.1 pkgsrc/lang/gcc15-gnat/options.mk:1.2
--- pkgsrc/lang/gcc15-gnat/options.mk:1.1 Thu Jul 17 05:00:16 2025
+++ pkgsrc/lang/gcc15-gnat/options.mk Sun Oct 19 03:53:33 2025
@@ -1,4 +1,4 @@
-# $NetBSD: options.mk,v 1.1 2025/07/17 05:00:16 dkazankov Exp $
+# $NetBSD: options.mk,v 1.2 2025/10/19 03:53:33 dkazankov Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.gcc15-gnat
PKG_SUPPORTED_OPTIONS= nls gcc-inplace-math gcc-graphite
@@ -95,10 +95,14 @@ LIBS.SunOS+= -lgmp
### Graphite Support
###
.if !empty(PKG_OPTIONS:Mgcc-graphite)
-BUILDLINK_API_DEPENDS.isl+= isl>=0.24
+BUILDLINK_API_DEPENDS.isl+= isl>=0.15
. if !empty(PKG_OPTIONS:Mgcc-inplace-math)
-. include "../../math/isl/inplace.mk"
-FORCE_CXX_STD= c++17
+ISL24= isl-0.24
+SITES.${ISL24}.tar.bz2= ${MASTER_SITE_GNU:=gcc/infrastructure/}
+DISTFILES+= ${ISL24}.tar.xz
+post-extract:
+ ${MV} ${WRKDIR}/${ISL24} ${WRKSRC}/isl
+
. else
. include "../../math/isl/buildlink3.mk"
CONFIGURE_ARGS+= --with-isl=${BUILDLINK_PREFIX.isl}
Added files:
Index: pkgsrc/lang/gcc15-gnat/patches/patch-isl_configure
diff -u /dev/null pkgsrc/lang/gcc15-gnat/patches/patch-isl_configure:1.1
--- /dev/null Sun Oct 19 03:53:33 2025
+++ pkgsrc/lang/gcc15-gnat/patches/patch-isl_configure Sun Oct 19 03:53:33 2025
@@ -0,0 +1,24 @@
+$NetBSD: patch-isl_configure,v 1.1 2025/10/19 03:53:33 dkazankov Exp $
+
+Fix unportable test(1) operator.
+
+--- isl/configure.orig 2021-04-26 09:13:19.000000000 +0000
++++ isl/configure
+@@ -20657,7 +20657,7 @@ else
+ HAVE_CXX11_FALSE=
+ fi
+
+- if test "x$with_int" == "ximath-32"; then
++ if test "x$with_int" = "ximath-32"; then
+ SMALL_INT_OPT_TRUE=
+ SMALL_INT_OPT_FALSE='#'
+ else
+@@ -20665,7 +20665,7 @@ else
+ SMALL_INT_OPT_FALSE=
+ fi
+
+-if test "x$with_int" == "ximath-32"; then :
++if test "x$with_int" = "ximath-32"; then :
+
+
+ $as_echo "#define USE_SMALL_INT_OPT /**/" >>confdefs.h
Home |
Main Index |
Thread Index |
Old Index