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