Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Aug 2014 11:32:28 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   [Bug 193092] New: stage-fy lang/icc
Message-ID:  <bug-193092-13@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193092

            Bug ID: 193092
           Summary: stage-fy lang/icc
           Product: Ports Tree
           Version: Latest
          Hardware: Any
                OS: Any
            Status: Needs Triage
          Severity: Affects Many People
          Priority: Normal
         Component: Individual Port(s)
          Assignee: freebsd-ports-bugs@FreeBSD.org
          Reporter: turutani@scphys.kyoto-u.ac.jp



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

-- 
You are receiving this mail because:
You are the assignee for the bug.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-193092-13>