On 03/20/16 10:33, Stuart Henderson wrote: > Watch out for p5-libintl, it currently does not have SHARED_ONLY=Yes > and should do. Not touching it myself now to avoid getting in your way. > >
These also are wrong, and have been for some time. $ pwd /usr/ports/packages/amd64/no-arch $ pkg_info -Sq p5-* | grep ",[A-z]" p5-Digest-MD4-1.9p1,c.84.2 p5-Digest-Skein-0.05p3,c.84.2 p5-Socket-GetAddrInfo-0.22p0,c.84.2 p5-Wx-0.9928,@p5-Alien-wxWidgets-0.67p0,@p5-ExtUtils-XSpp-0.18,@wxWidgets-media-2.8.12p7,m.9.0,pthread.20.1,stdc++.57.0,wx_base.3.0,wx_base_net.3.0,wx_base_xml.3.0,wx_gtk2_adv.3.0,wx_gtk2_aui.3.0,wx_gtk2_core.3.0,wx_gtk2_html.3.0,wx_gtk2_media.3.0,wx_gtk2_richtext.3.0,wx_gtk2_stc.3.0,wx_gtk2_xrc.3.0 The p5-Digest-MD4 has MD4.xs so needs a WANTLIB += perl It's has a #include perl.h in MD4.xs p5-Digest-Skein has skein.xs p5-Socket-GetAddrInfo has lib/Socket/GetAddrInfo.xs p5-Wx has .xs files everywhere All these are wrong also . $ pkg_info -Sq *.tgz | grep ",[A-z]" glm-0.9.7.1,@gcc-libs-4.9.3p3,estdc++.17.0 gnustep-make-2.6.7p1,@gcc-libs-4.9.3p3,@gtar-1.28p1,estdc++.17.0 gtk3mm-documentation-3.18.0,@gcc-libs-4.9.3p3,estdc++.17.0 kde-shared-data-4.14.3p1,@gcc-libs-4.9.3p3,@gtk-update-icon-cache-3.18.9,estdc++.17.0 ruby-ri_docs-1.8.7.374p0,@libiconv-1.14p3,iconv.6.0 tmake-1.10p3,@qt3-mt-3.8p9,lib/qt3/qt-mt.33.0 unoconv-0.7p1,@gcc-libs-4.9.3p3,@libreoffice-5.1.1.3p0v0,@python-3.4.4,estdc++.17.0 $ make SUBDIR="`cat /tmp/l.9|xargs`" show="WANTLIB PKG_ARCH" ===> converters/unoconv estdc++>=17 * ===> devel/tmake lib/qt3/qt-mt>=3 * ===> graphics/glm estdc++>=17 * ===> lang/ruby/1.8,-ri_docs iconv>=2 amd64 ===> misc/gtk3mm-documentation estdc++>=17 * ===> x11/gnustep/make estdc++>=17 * ===> x11/kde-shared-data estdc++>=17 * $ make show="WANTLIB-ri_docs PKG_ARCH-ri_docs" iconv>=2 * shouldn't use PKG_ARCH=* and WANTLIB. one of the two is wrong. Looks like portcheck agrees $ cd x11/gnustep/make/ $ portcheck non-empty WANTLIB for arch-independent package x11/gnustep/make $ portcheck non-empty WANTLIB for arch-independent package security/p5-Digest-MD4 $ portcheck www/p5-HTML-Base portcheck fails to find this one... It could find problem by analysing the PLIST PKG_ARCH = * means the expanded PLIST shouldn't contain `machine`, in file paths they should all be machine independent locations, this case ${P5ARCH} is expanded and contains machine. I do have a fixed version of p5-HTML-Base. Replace ${P5ARCH} by ${P5SITE} in the do-install:, recreate pkg/PLIST, and bump. Unexpanded PLIST files could look for ${(|P5|MACHINE-)ARCH} But don't want NO_ARCH. Should portgen be updated? Perl ports should have normally a PKG_ARCH = * added to the Makefile. When perl uses C or other languages PKG_ARCH = * should not be present, a WANTLIB += perl should. To find which either read MANIFEST if files listed end in .xs excluding those under t/ xt/ inc/ or search for files using find $ find `make show=WRKSRC`/!(inc|t|xt) -name "*.xs" /usr/ports/pobj/p5-Cpanel-JSON-XS-3.0213/Cpanel-JSON-XS-3.0213/XS.xs So this port should not have PKG_ARCH = * needs a WANTLIB += perl in the Makefile, as a .xs file is present.