Bug 193092 - [stage] stage-fy lang/icc
Summary: [stage] stage-fy lang/icc
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Many People
Assignee: Thomas Zander
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-08-28 11:32 UTC by TsurutaniNaoki
Modified: 2014-09-07 14:33 UTC (History)
1 user (show)

See Also:


Attachments
a patch missed to attatch (5.47 KB, patch)
2014-08-28 12:35 UTC, TsurutaniNaoki
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description TsurutaniNaoki 2014-08-28 11:32:28 UTC

Fix:
found some warnings but no problem with a patch attached:
	% pwd
	/usr/ports/lang/icc
	% make check-plist
	====> Checking for pkg-plist issues (check-plist)
	===> Parsing plist
	===> Checking for items in STAGEDIR missing from pkg-plist
	===> Checking for directories owned by MTREEs
	===> Checking for directories handled by dependencies
	===> Checking for items in pkg-plist which are not in STAGEDIR
	===> No pkg-plist issues found (check-plist)
	% make stage-qa
	====> Running Q/A tests (stage-qa)
	% portlint
	WARN: Makefile: [61]: IGNORE messages should begin with a lowercase letter and end without a period.
	WARN: Makefile: possible use of absolute pathname "/usr/include/c++/${G...".
	WARN: Makefile: possible use of absolute pathname "/usr/lib/${f}".
	WARN: Makefile: possible direct use of "work" " @${ECHO} "Please use FreeBSD as the name of your OS in communications with the support, the larger the FreeBSD userbase is, the more work gets done on FreeBSD specific issues by Intel. And please thank them for the FreeBSD support, they are already spending some time to improve icc on FreeBSD." | fmt" found. if so, use ${WRKDIR} instead.
	WARN: Makefile: no MASTER_SITES found. is it ok?
	WARN: Makefile: use of DISTFILES with single file discouraged. distribution filename should be set by DISTNAME and EXTRACT_SUFX.
	WARN: Makefile: Consider defining LICENSE.
	WARN: Makefile: "PATCH_DEPENDS" has to appear earlier.
	WARN: Makefile: do not use DISTFILES and DISTNAME to control WRKSRC. how about "WRKSRC=${WRKDIR}/l_cc_pc_${PORTVERSION:C/p.+$//}"?
	0 fatal errors and 9 warnings found.

	


diff -urN icc.orig/Makefile icc/Makefile
--- icc.orig/Makefile	2014-01-23 02:00:46.000000000 +0900
+++ icc/Makefile	2014-08-28 20:23:43.000000000 +0900
@@ -7,25 +7,24 @@
 CATEGORIES=	lang linux devel
 MASTER_SITES=
 DISTNAME=	l_cc_pc_${PORTVERSION:C/p.+$//}
+DISTFILES=	${DISTNAME}${EXTRACT_SUFX}
 
 # netchild@FreeBSD.org is willing to review patches and to provide background
 # infos regarding this port
 MAINTAINER=	ports@FreeBSD.org
 COMMENT=	Intels C/C++ compiler, set up to produce native FreeBSD binaries
 
+EXTRACT_DEPENDS=	rpm2cpio.pl:${PORTSDIR}/archivers/rpm2cpio
+
 PATCHLEVEL=	${PORTVERSION:C/(.+p)(.+)$/pe\2/}
-DISTFILES=	${DISTNAME}${EXTRACT_SUFX}
 .if ${PORTVERSION} != ${PATCHLEVEL}
 DISTFILES+=	${DISTNAME}_${PATCHLEVEL}${EXTRACT_SUFX}
-PATCH_DEPENDS=		${LINUX_BASE_PORT}
+PATCH_DEPENDS=	${LINUX_BASE_PORT}
 .endif
 
-EXTRACT_DEPENDS=	rpm2cpio.pl:${PORTSDIR}/archivers/rpm2cpio
-
 RESTRICTED=	Intel forbids any redistribution
 
 ONLY_FOR_ARCHS=		i386
-CONFLICTS=		linux_devtools*
 
 USE_LINUX=		yes
 
@@ -33,13 +32,14 @@
 PLIST_SUB=	COMPILERDIR=${COMPILERDIR}
 PATCH_WRKSRC=	${WRKSRC}/opt/${COMPILERDIR}
 
-MAN1=		icc.1
-MLINKS=		icc.1 icpc.1
+OPTIONS_DEFINE=	DOCS
+
+.include <bsd.port.options.mk>
+
 MANPREFIX=	${PREFIX}/${COMPILERDIR}
 
 ICC_SITE=	http://www.intel.com/software/products/compilers/
 
-NO_STAGE=	yes
 .include <bsd.port.pre.mk>
 
 EXTRACT_AFTER_ARGS=	--exclude cdt-\*.zip \
@@ -51,13 +51,13 @@
 			--exclude \*ia64.rpm \
 			--exclude flexlm64
 
-ICCCFGVAL!=	${UNAME} -r | ${SED} -e 's/\..*//'
+ICCCFGVAL_CMD=	${UNAME} -r | ${SED} -e 's/\..*//'
 
 GCCCOMPATVER=	340
 GXXINCLUDE=	/usr/include/c++/${GCCCOMPATVER:C/([0-9])([0-9]).+/\1.\2/}
 
-.for file in ${DISTFILES}
-.if !exists(${DISTDIR}/${DIST_SUBDIR}/${file})
+.for f in ${DISTFILES}
+.if !exists(${DISTDIR}/${DIST_SUBDIR}/${f})
 IGNORE=	Go to Intel Premier Support \(https://premier.intel.com/\) to obtain ${DISTFILES}. Product updates such as this compiler are posted regularly on Premier Support. You must have a license to obtain access to Premier Support. If you do not already have a license go to ${ICC_SITE} to review licensing options \(evaluation, commercial, and free non-commercial\) and obtain a license. Put ${DISTFILES} into ${DISTDIR} and run make again
 .endif
 .endfor
@@ -82,7 +82,7 @@
 	@for i in `${CAT} ${FILESDIR}/exclude`; do \
 		${RM} -rf ${WRKSRC}/opt/${COMPILERDIR}/$$i; \
 	done
-.if defined(NOPORTDOCS)
+.if ! ${PORT_OPTIONS:MDOCS}
 # Remove docs.
 	@for i in `${CAT} ${FILESDIR}/exclude_noportdocs`; do \
 		${RM} -rf ${WRKSRC}/opt/${COMPILERDIR}/$$i; \
@@ -122,7 +122,7 @@
 .endfor
 # Provide a more FreeBSD'ish compile environment
 .for i in icc.cfg icpc.cfg
-	@${ECHO_CMD} -e "-Qlocation,ld,${PREFIX}/${COMPILERDIR}/bin/ldwrapper\n\n-wr1125\n-we140\n\n-Ulinux\n-U__linux__\n-U__linux\n-U__gnu_linux__\n\n-D__FreeBSD__=${ICCCFGVAL}\n\n" >>${WRKSRC}/opt/${COMPILERDIR}/bin/${i}
+	@${ECHO_CMD} -e "-Qlocation,ld,${PREFIX}/${COMPILERDIR}/bin/ldwrapper\n\n-wr1125\n-we140\n\n-Ulinux\n-U__linux__\n-U__linux\n-U__gnu_linux__\n\n-D__FreeBSD__=$$(${ICCCFGVAL_CMD})\n\n" >>${WRKSRC}/opt/${COMPILERDIR}/bin/${i}
 	@${ECHO_CMD} -e "-D__wchar_t=__ct_rune_t\n" >>${WRKSRC}/opt/${COMPILERDIR}/bin/${i}
 	@${ECHO_CMD} -e "-restrict\n" >>${WRKSRC}/opt/${COMPILERDIR}/bin/${i}
 	@${CHMOD} a-x,g-w ${WRKSRC}/opt/${COMPILERDIR}/bin/${i}
@@ -159,12 +159,12 @@
 		${WRKSRC}/opt/${COMPILERDIR}/bin/ldwrapper/ld \
 		${FILESDIR}/ld.c
 # We can't use STRIP_CMD, since we need the FreeBSD one, not the Linux one.
-	@/usr/bin/strip ${WRKSRC}/opt/${COMPILERDIR}/bin/ldwrapper/ld
+	@${STRIP_CMD} ${WRKSRC}/opt/${COMPILERDIR}/bin/ldwrapper/ld
 	@${CHMOD} 755 ${WRKSRC}/opt/${COMPILERDIR}/bin/ldwrapper/ld
 # Make ICC happy with regards to crtbegin.o, crtend.o and libgcc.a which it
 # expects to find in GXX_ROOT.
-.for file in crtbegin.o crtend.o libgcc.a
-	@cd ${WRKSRC}/opt/${COMPILERDIR}/lib && ${LN} -s /usr/lib/${file} ${file}
+.for f in crtbegin.o crtend.o libgcc.a
+	@cd ${WRKSRC}/opt/${COMPILERDIR}/lib && ${LN} -s /usr/lib/${f} ${f}
 .endfor
 # The static linking case expects a crtbeginT.o. Based upon inspection of
 # /usr/src/contrib/gnu/crtstuff.c it seems it's the same as crtbegin.o.
@@ -172,9 +172,10 @@
 
 do-install:
 	@cd ${WRKSRC}/opt && ${FIND} . -print | \
-		${CPIO} -pdu -R ${BINOWN}:${BINGRP} --quiet ${PREFIX}
+		${CPIO} -pdu --quiet ${STAGEDIR}${PREFIX}
 
 post-install:
+	@${LN} -sf icc.1.gz ${STAGEDIR}${MANPREFIX}/man/man1/icpc.1.gz
 	@${ECHO} "${PKGNAME} is now installed in ${PREFIX}/${COMPILERDIR}, to use it you have to put your license into your \$${INTEL_FLEXLM_LICENSE} (default: ${PREFIX}/${COMPILERDIR}/licenses) directory and add ${PREFIX}/${COMPILERDIR}/bin to your PATH." | fmt
 	@${ECHO}
 	@${ECHO} "WARNING: If you use icc while having linux_devtools installed, icc will use the wrong includes and therefore will generate non-working binaries!" | fmt
diff -urN icc.orig/pkg-plist icc/pkg-plist
--- icc.orig/pkg-plist	2014-01-23 00:16:56.000000000 +0900
+++ icc/pkg-plist	2014-08-28 20:24:25.000000000 +0900
@@ -1,3 +1,5 @@
+@owner bin
+@group bin
 %%COMPILERDIR%%/bin/Errormatch.txt
 %%COMPILERDIR%%/bin/codecov
 %%COMPILERDIR%%/bin/icc
@@ -943,6 +945,8 @@
 %%COMPILERDIR%%/licenses/clicense
 %%COMPILERDIR%%/licenses/credist.txt
 %%COMPILERDIR%%/licenses/lgpltext
+%%COMPILERDIR%%/man/man1/icc.1.gz
+%%COMPILERDIR%%/man/man1/icpc.1.gz
 @unexec rmdir %D/%%COMPILERDIR%%/licenses >/dev/null 2>&1 || echo '*** License directory (%D/%%COMPILERDIR%%/licenses/) not removed, it may contain a license.'
 @dirrm %%COMPILERDIR%%/man/man1
 @dirrm %%COMPILERDIR%%/man
Comment 1 John Marino freebsd_committer freebsd_triage 2014-08-28 11:56:17 UTC
this one needs the attachment attached (it's stuck in the comments).

There's no way to clean up any of those warnings?
Comment 2 TsurutaniNaoki 2014-08-28 12:35:42 UTC
Created attachment 146445 [details]
a patch missed to attatch
Comment 3 TsurutaniNaoki 2014-08-28 12:36:33 UTC
I tried and reduced some warnings, but they still remains...I have no idea.
Comment 4 John Marino freebsd_committer freebsd_triage 2014-08-28 12:39:43 UTC
okay, as long as you tried that's okay.  moving to patch-ready
Comment 5 commit-hook freebsd_committer freebsd_triage 2014-09-07 13:38:01 UTC
A commit references this bug:

Author: riggs
Date: Sun Sep  7 13:37:07 UTC 2014
New revision: 367545
URL: http://svnweb.freebsd.org/changeset/ports/367545

Log:
  - Stagify
  - Introduce DOCS option

  PR:		193092
  Submitted by:	turutani@scphys.kyoto-u.ac.jp

Changes:
  head/lang/icc/Makefile
  head/lang/icc/pkg-plist
Comment 6 Thomas Zander freebsd_committer freebsd_triage 2014-09-07 13:43:01 UTC
Okay, committed for now despite the remaining warnings.

Unfortunately, this port has not received much love in the recent past. turutani, is it important for you? Would you be interested in becoming maintainer and giving it a general cleanup?
Comment 7 TsurutaniNaoki 2014-09-07 14:33:17 UTC
No, I do not want to be a maintainer... I just think we should not lose this port for it simply is not stagifed.
In addition, I am not a expart for the compiler.
If this port is obsolete and/or is not used, I have no objection to remove this port.
Comment 8 TsurutaniNaoki 2014-09-07 14:33:38 UTC
No, I do not want to be a maintainer... I just think we should not lose this port for it simply is not stagifed.
In addition, I am not a expart for the compiler.
If this port is obsolete and/or is not used, I have no objection to remove this port.