pkgsrc-WIP-changes archive

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

фÐgcc15-gnat: package refactoring



Module Name:	pkgsrc-wip
Committed By:	Dmytro Kazankov <dkazankov%NetBSD.org@localhost>
Pushed By:	dkazankov
Date:		Thu Jul 10 17:58:07 2025 +0300
Changeset:	f52b75d2f84dc42b4d6223482f1d180ecaf30734

Modified Files:
	gcc15-gnat/Makefile
	gcc15-gnat/buildlink3.mk
	gcc15-gnat/options.mk

Log Message:
фÐgcc15-gnat: package refactoring

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=f52b75d2f84dc42b4d6223482f1d180ecaf30734

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 gcc15-gnat/Makefile      | 172 +++++++++++++++++++++++------------------------
 gcc15-gnat/buildlink3.mk |   4 +-
 gcc15-gnat/options.mk    |   6 +-
 3 files changed, 91 insertions(+), 91 deletions(-)

diffs:
diff --git a/gcc15-gnat/Makefile b/gcc15-gnat/Makefile
index d795f60c35..8e7603c093 100644
--- a/gcc15-gnat/Makefile
+++ b/gcc15-gnat/Makefile
@@ -1,21 +1,18 @@
 # $NetBSD: Makefile,v 1.1 2025/04/27 12:00:00 dkazankov Exp $
 
-GCC_PKGNAME=		gcc15-gnat
-GCC_DIST_VERSION=	15.1.0
-
-PKGNAME=	${GCC_PKGNAME}-${GCC_DIST_VERSION}
+DISTNAME=	gcc-${PKGVERSION_NOREV}
+PKGNAME=	gcc15-gnat-15.1.0
 COMMENT=	GNAT compiler and Ada tools
-DISTNAME=	gcc-${GCC_DIST_VERSION}
 CATEGORIES=	lang
-MASTER_SITES=	${MASTER_SITE_GNU:=gcc/gcc-${GCC_DIST_VERSION}/}
+MASTER_SITES=	${MASTER_SITE_GNU:=gcc/gcc-${PKGVERSION_NOREV}/}
 EXTRACT_SUFX=	.tar.xz
 
 MAINTAINER=	dkazankov%NetBSD.org@localhost
 HOMEPAGE=	https://gcc.gnu.org/
 LICENSE=	gnu-gpl-v2 AND gnu-gpl-v3 AND gnu-lgpl-v2 AND gnu-lgpl-v3
 
-DISTFILES=		${DEFAULT_DISTFILES}
-EXTRACT_ONLY=		${DEFAULT_DISTFILES}
+#DISTFILES=		${DEFAULT_DISTFILES}
+#EXTRACT_ONLY=		${DEFAULT_DISTFILES}
 
 CHECK_PIE_SUPPORTED=	no
 CHECK_RELRO_SUPPORTED=	no
@@ -31,9 +28,6 @@ INFO_FILES=		yes
 GNU_CONFIGURE=		yes
 GNU_CONFIGURE_STRICT=	no
 
-USE_PKGSRC_GCC=		yes
-GCC_REQD+=		10
-
 UNLIMIT_RESOURCES+=	datasize
 UNLIMIT_RESOURCES+=	stacksize
 
@@ -42,19 +36,69 @@ CHECK_PORTABILITY_SKIP+=	gcc/configure.orig_dist
 
 .include "../../mk/bsd.prefs.mk"
 
+USE_PKGSRC_GCC?=	yes
+GCC_REQD+=		10
+
+GNAT_PKGBASE=		${PKGBASE}
+GNAT_PREFIX=		${PREFIX}/${GNAT_PKGBASE}
+GNAT_PKGSUFFIX=		gnat15
+BUILD_DEFS+=		GNAT_PKGBASE	GNAT_PREFIX	GNAT_PKGSUFFIX
+
 #PATH=			${PREFIX}/gcc10-aux/bin:${PREFIX}/bin:/usr/bin
 
 ## Build outside ${WRKSRC}
-OBJDIR=			${WRKDIR}/build
-CONFIGURE_DIRS=		${OBJDIR}
+#OBJDIR=			${WRKDIR}/build
+CONFIGURE_DIRS=		${WRKDIR}/build
 CONFIGURE_SCRIPT=	${WRKSRC}/configure
-GCC_SUBPREFIX=		${GCC_PKGNAME}
-GCC_PREFIX=		${PREFIX}/${GCC_SUBPREFIX}
-GNU_CONFIGURE_PREFIX=	${GCC_PREFIX}
+GNU_CONFIGURE_PREFIX=	${GNAT_PREFIX}
 
 .include "options.mk"
 
-LDFLAGS+=		-static
+# DO NOT REMOVE THIS SUBST.  If it fails, the corruption to
+# patch-gcc_Makefile.in chronicled in PR pkg/58963 `gcc:
+# LINK_LIBGCC_SPEC snafu' <https://gnats.NetBSD.org/58963> probably got
+# replicated yet again.  You must make sure that LINK_LIBGCC_SPEC is
+# appropriately set with @GCC_TARGET_MACHINE@ in patch-gcc_Makefile.in
+# or similar, or confirm with a discussion on tech-pkg@ that it is no
+# longer relevant before you remove this SUBST.
+SUBST_CLASSES+=		vars
+SUBST_MESSAGE.vars=	Setting target machine name path in ${SUBST_FILES.vars}
+SUBST_STAGE.vars=	pre-configure
+SUBST_FILES.vars=	gcc/Makefile.in
+SUBST_VARS.vars=	GCC_TARGET_MACHINE
+
+GCC_TARGET_MACHINE?=	${MACHINE_GNU_PLATFORM}
+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+=			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 ${OS_VARIANT} == "SmartOS"
+SUBST_CLASSES+=		ccs
+SUBST_STAGE.ccs=	pre-configure
+SUBST_FILES.ccs=	contrib/make_sunver.pl
+SUBST_SED.ccs=		-e 's,/usr/ccs/bin,/usr/bin,g'
+.endif
+
+#LDFLAGS+=		-static
 
 # In some cases LINKER_RPATH_FLAG needs a trailing space.
 #LINKER_RPATH_FLAG:=	${LINKER_RPATH_FLAG:S/-rpath/& /}
@@ -66,8 +110,8 @@ LDFLAGS+=		-static
 LDFLAGS_FOR_TARGET=	#empty
 
 ## The Library rpath to use in end programs.
-LDFLAGS_FOR_TARGET+=	${COMPILER_RPATH_FLAG}${GCC_PREFIX}/lib
-LDFLAGS_FOR_TARGET+=	${COMPILER_RPATH_FLAG}${GCC_PREFIX}/lib/gcc/${MACHINE_GNU_PLATFORM}/${GCC_DIST_VERSION}/adalib
+LDFLAGS_FOR_TARGET+=	${COMPILER_RPATH_FLAG}${GNAT_PREFIX}/lib
+LDFLAGS_FOR_TARGET+=	${COMPILER_RPATH_FLAG}${GNAT_PREFIX}/lib/gcc/${GCC_TARGET_MACHINE}/${PKGVERSION_NOREV}/adalib
 LDFLAGS_FOR_TARGET+=	${COMPILER_RPATH_FLAG}${PREFIX}/lib
 
 # Needed on Darwin when LDFLAGS point to a SDK
@@ -99,18 +143,18 @@ SUBST_SED.libstdc=	-e 's,libtool_VERSION=6:,libtool_VERSION=7:,g'
 CONFIGURE_ARGS+=	--enable-libssp
 .endif
 
-CONFIGURE_ARGS+=	--enable-languages=ada,c,c++ --enable-stage1-languages=c,c++,ada
+CONFIGURE_ARGS+=	--enable-languages=ada,c,c++ --enable-stage1-languages=ada,c,c++
 
 # This will create slightly slower compiler
 CONFIGURE_ARGS+=	--enable-shared
 CONFIGURE_ARGS+=	--enable-host-shared
-#CONFIGURE_ARGS+=	--enable-host-pie
-#CONFIGURE_ARGS+=	--enable-host-bind-now
+CONFIGURE_ARGS+=	--enable-host-pie
+CONFIGURE_ARGS+=	--enable-host-bind-now
 #CONFIGURE_ARGS+=	--enable-default-pie
-#CONFIGURE_ARGS+=	--with-newlib
+CONFIGURE_ARGS+=	--with-newlib
 CONFIGURE_ARGS+=	--enable-long-long
-CONFIGURE_ARGS+=	--with-local-prefix=${GCC_PREFIX:Q}
-CONFIGURE_ARGS+=	--with-gxx-include-dir='${GCC_PREFIX}/include/c++'
+CONFIGURE_ARGS+=	--with-local-prefix=${GNAT_PREFIX}
+CONFIGURE_ARGS+=	--with-gxx-include-dir=${GNAT_PREFIX}/include/c++
 CONFIGURE_ARGS+=	--enable-__cxa_atexit
 CONFIGURE_ARGS+=	--disable-libstdcxx-pch
 CONFIGURE_ARGS+=	--enable-threads=posix
@@ -171,82 +215,38 @@ CONFIGURE_ARGS+=	--with-gnu-as --with-as=${PREFIX}/bin/gas
 FORTIFY_SUPPORTED=	no
 .endif
 
-.if ${OS_VARIANT} == "SmartOS"
-SUBST_CLASSES+=		ccs
-SUBST_STAGE.ccs=	pre-configure
-SUBST_FILES.ccs=	contrib/make_sunver.pl
-SUBST_SED.ccs=		-e 's,/usr/ccs/bin,/usr/bin,g'
-.endif
-
-# DO NOT REMOVE THIS SUBST.  If it fails, the corruption to
-# patch-gcc_Makefile.in chronicled in PR pkg/58963 `gcc:
-# LINK_LIBGCC_SPEC snafu' <https://gnats.NetBSD.org/58963> probably got
-# replicated yet again.  You must make sure that LINK_LIBGCC_SPEC is
-# appropriately set with @GCC_TARGET_MACHINE@ in patch-gcc_Makefile.in
-# or similar, or confirm with a discussion on tech-pkg@ that it is no
-# longer relevant before you remove this SUBST.
-SUBST_CLASSES+=		vars
-SUBST_MESSAGE.vars=	Setting target machine name path in ${SUBST_FILES.vars}
-SUBST_STAGE.vars=	pre-configure
-SUBST_FILES.vars=	gcc/Makefile.in
-SUBST_VARS.vars=	GCC_TARGET_MACHINE
-
-GCC_TARGET_MACHINE?=	${MACHINE_GNU_PLATFORM}
-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+=			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
-
 CTF_FILES_SKIP+=	*/gengtype	# CPU limit exceeded
 
-TEST_TARGET=	-j ${MAKE_JOBS} -k check || ${TRUE}
-TEST_DEPENDS+=	dejagnu-[0-9]*:../../devel/dejagnu
-
-.include "../../archivers/zstd/buildlink3.mk"
-CONFIGURE_ARGS+=	--with-zstd=${BUILDLINK_PREFIX.zstd}
-
-.include "../../mk/dlopen.buildlink3.mk"
-.include "../../mk/pthread.buildlink3.mk"
-
 pre-configure:
-	${RUN} cd ${WRKSRC} && ${MKDIR} ${OBJDIR}
+	${RUN} cd ${WRKSRC} && ${MKDIR} ${WRKDIR}/build
 
 post-test:
-	${RUN} cd ${WRKSRC} && cd ${OBJDIR} &&	\
+	${RUN} cd ${WRKSRC} && cd ${WRKDIR}/build &&	\
 	${SHELL} ${WRKSRC}/contrib/test_summary >${WRKDIR}/test_summary.log
 	${INFO_MSG} "Test summary are available in ${WRKDIR}/test_summary.log"
 
 post-install:
 # Fix group write mode
-	${CHMOD} g-w ${DESTDIR}${GCC_PREFIX}/lib/gcc/${MACHINE_GNU_PLATFORM}/${GCC_DIST_VERSION}/adainclude/standard.ads.h
+	${CHMOD} g-w ${DESTDIR}${GNAT_PREFIX}/lib/gcc/${GCC_TARGET_MACHINE}/${PKGVERSION_NOREV}/adainclude/standard.ads.h
 # Create old name that modern gnat no longer provides
-	${TEST} -f ${DESTDIR}${GCC_PREFIX}/bin/gnat && \
-		( ${RUN} cd ${DESTDIR}${GCC_PREFIX}/bin ; ${LN} -f gnat ada )
+	${TEST} -f ${DESTDIR}${GNAT_PREFIX}/bin/gnat && \
+		( ${RUN} cd ${DESTDIR}${GNAT_PREFIX}/bin ; ${LN} -f gnat ada )
 .if ${MACHINE_PLATFORM:MSunOS-*-*86*} && ${OS_VERSION} != "5.11"
-	${SH} files/values.c ${DESTDIR}${GCC_PREFIX}/bin/gcc -m32 || ${TRUE}
-	${SH} files/values.c ${DESTDIR}${GCC_PREFIX}/bin/gcc -m64 || ${TRUE}
+	${SH} files/values.c ${DESTDIR}${GNAT_PREFIX}/bin/gcc -m32 || ${TRUE}
+	${SH} files/values.c ${DESTDIR}${GNAT_PREFIX}/bin/gcc -m64 || ${TRUE}
 .endif
 
 GENERATE_PLIST+= \
 	cd ${DESTDIR}${PREFIX} && \
-	${FIND} ${GCC_SUBPREFIX} \( -type f -or -type l \) -print | ${SORT};
+	${FIND} ${GNAT_PKGBASE} \( -type f -or -type l \) -print | ${SORT};
+
+TEST_TARGET=	-j ${MAKE_JOBS} -k check || ${TRUE}
+TEST_DEPENDS+=	dejagnu-[0-9]*:../../devel/dejagnu
+
+.include "../../archivers/zstd/buildlink3.mk"
+CONFIGURE_ARGS+=	--with-zstd=${BUILDLINK_PREFIX.zstd}
+
+.include "../../mk/dlopen.buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
 
 .include "../../mk/bsd.pkg.mk"
diff --git a/gcc15-gnat/buildlink3.mk b/gcc15-gnat/buildlink3.mk
index 9fa4a8ec58..434ea797a3 100644
--- a/gcc15-gnat/buildlink3.mk
+++ b/gcc15-gnat/buildlink3.mk
@@ -5,8 +5,8 @@ BUILDLINK_TREE+=	gcc15-gnat
 .if !defined(GCC15_GNAT_BUILDLINK3_MK)
 GCC15_GNAT_BUILDLINK3_MK:=
 
-BUILDLINK_API_DEPENDS.gcc15-gnat+=	gcc15-gnat>=15
-BUILDLINK_ABI_DEPENDS.gcc15-gnat+=	gcc15-gnat>=15.1
+BUILDLINK_API_DEPENDS.gcc15-gnat+=	gcc15-gnat>=15.1.0
+#BUILDLINK_ABI_DEPENDS.gcc15-gnat+=	gcc15-gnat>=15.1.0
 BUILDLINK_PKGSRCDIR.gcc15-gnat?=	../../wip/gcc15-gnat
 BUILDLINK_DEPMETHOD.gcc15-gnat?=	build
 
diff --git a/gcc15-gnat/options.mk b/gcc15-gnat/options.mk
index b09faabfc4..2b68f2b64f 100644
--- a/gcc15-gnat/options.mk
+++ b/gcc15-gnat/options.mk
@@ -2,7 +2,7 @@
 
 PKG_OPTIONS_VAR=	PKG_OPTIONS.gcc15-gnat
 PKG_SUPPORTED_OPTIONS=	nls gcc-inplace-math gcc-graphite
-PKG_SUGGESTED_OPTIONS=	gcc-graphite
+PKG_SUGGESTED_OPTIONS=	gcc-inplace-math gcc-graphite
 
 .include "../../mk/bsd.fast.prefs.mk"
 
@@ -43,8 +43,9 @@ PKG_SUGGESTED_OPTIONS+=	gcc-multilib
 ###
 ### Native Language Support
 ###
-.if !empty(PKG_OPTIONS:Mnls)
 PLIST_VARS+=		nls
+.if !empty(PKG_OPTIONS:Mnls)
+PLIST.nls=		yes
 USE_TOOLS+=		msgfmt
 CONFIGURE_ARGS+=	--enable-nls
 CONFIGURE_ARGS+=	--with-libiconv-prefix=${BUILDLINK_PREFIX.iconv}
@@ -55,7 +56,6 @@ USE_BUILTIN.gettext=	no
 .endif
 .include "../../converters/libiconv/buildlink3.mk"
 .include "../../devel/gettext-lib/buildlink3.mk"
-PLIST.nls=		yes
 .else
 CONFIGURE_ARGS+=	--disable-nls
 .endif


Home | Main Index | Thread Index | Old Index