Index: head/devel/abi-compliance-checker/Makefile =================================================================== --- head/devel/abi-compliance-checker/Makefile (revision 432434) +++ head/devel/abi-compliance-checker/Makefile (revision 432435) @@ -1,82 +1,92 @@ # Created by: bf # $FreeBSD$ PORTNAME= abi-compliance-checker -PORTVERSION= 1.99 -PORTREVISION= 1 +DISTVERSION= 2.0b1 CATEGORIES= devel perl5 -MASTER_SITES= LOCAL/bf/${PORTNAME} MAINTAINER= ports@FreeBSD.org COMMENT= Checks binary compatibility of two versions of a C/C++ shared library LICENSE= LGPL20 GPLv2 LICENSE_COMB= dual -USES= perl5 shebangfix -SHEBANG_FILES= *.pl -USE_GITHUB= yes -GH_ACCOUNT= lvc +RUN_DEPENDS= exctags:devel/ctags +RUN_DEPENDS+= eu-readelf:devel/elfutils -.if defined(MAINTAINER_MODE) || defined(PACKAGE_BUILDING) -BUILD_DEPENDS?= exctags:devel/ctags -.else +OPTIONS_DEFINE= DOCS PORTS_BINUTILS +PORTS_BINUTILS_DESC= Use binutils from ports + +USES= gmake perl5 shebangfix USE_PERL5= run -.endif -RUN_DEPENDS?= exctags:devel/ctags -USE_GCC= any -NO_BUILD= yes -PLIST_FILES= bin/${PORTNAME}.pl +USE_GITHUB= nodefault +GH_ACCOUNT= lvc +GH_PROJECT= vtable-dumper:vdumper abi-dumper:adumper \ + abi-compliance-checker:checker +GH_TAGNAME= 0e04246:vdumper 46aae79:adumper a6554a1:checker -OPTIONS_DEFINE= DOCS +PLIST_FILES= bin/${PORTNAME}.pl bin/abi-dumper.pl bin/vtable-dumper +SHEBANG_FILES= checker/*.pl adumper/*.pl +PORTDATA= * +PORTDOCS= * + +CTAGS?= exctags + .include +.if ${PORT_OPTIONS:MPORTS_BINUTILS} +RUN_DEPENDS+= readelf:devel/binutils +CPPFILT?= ${PREFIX}/bin/c++filt +READELF?= ${PREFIX}/bin/readelf +OBJDUMP?= ${PREFIX}/bin/objdump +.else CPPFILT?= /usr/bin/c++filt -CTAGS?= exctags -GZ?= /usr/bin/gzip -READELF?= /usr/bin/readelf +.endif .if ${ARCH} == "sparc64" PICFLAG?= -fPIC .else PICFLAG?= -fpic .endif -PORTDATA= * +post-extract: + @${MKDIR} ${WRKSRC} + @${MV} ${WRKSRC_vdumper} ${WRKSRC}/vdumper + @${MV} ${WRKSRC_adumper} ${WRKSRC}/adumper + @${MV} ${WRKSRC_checker} ${WRKSRC}/checker -PORTDOCS= * +do-build: + cd ${WRKSRC}/vdumper && \ + ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${_MAKE_JOBS} ${MAKE_ARGS} post-patch: @${REINPLACE_CMD} \ -e "\|get_CmdPath(\"c++filt\")|s|\"c++filt\"|\"${CPPFILT}\"|" \ -e "\|get_CmdPath(\"ectags\")|s|\"ectags\"|\"${CTAGS}\"|" \ -e "\|get_CmdPath(\"gcc\")|s|\"gcc\"|\"${CC}\"|" \ -e "\|get_CmdPath(\"objdump\")|s|\"objdump\"|\"${OBJDUMP}\"|" \ -e "\|get_CmdPath(\"readelf\")|s|\"readelf\"|\"${READELF}\"|" \ - -e "\|my \$$GzipCmd =|s|=.*|= \"${GZ}\";|" \ + -e "\|my \$$GzipCmd =|s|=.*|= \"${GZIP_CMD}\";|" \ -e "\|my \$$TarCmd =|s|=.*|= \"${TAR}\";|" \ -e "\|TarCmd -xv.*>|{h; s| >.*|\");|; x; s|-xv|-t|; G;}" \ -e "s|ACC_MODULES_INSTALL_PATH|${DATADIR}|" \ - ${WRKSRC}/${PORTNAME}.pl + ${WRKSRC}/checker/${PORTNAME}.pl @${SED} -i "" -e "\|BuildCmd|s|GCC_PATH.\"|& ${PICFLAG}|" \ - ${WRKSRC}/modules/Internals/RegTests.pm + ${WRKSRC}/checker/modules/Internals/RegTests.pm do-install: - @${INSTALL_SCRIPT} ${WRKSRC}/${PORTNAME}.pl ${STAGEDIR}${PREFIX}/bin + ${INSTALL_PROGRAM} ${WRKSRC}/vdumper/vtable-dumper \ + ${STAGEDIR}${PREFIX}/bin + ${INSTALL_SCRIPT} ${WRKSRC}/adumper/abi-dumper.pl \ + ${STAGEDIR}${PREFIX}/bin + ${INSTALL_SCRIPT} ${WRKSRC}/checker/${PORTNAME}.pl \ + ${STAGEDIR}${PREFIX}/bin @${MKDIR} ${STAGEDIR}${DOCSDIR} - @(cd ${WRKSRC}/doc && ${COPYTREE_SHARE} \* ${STAGEDIR}${DOCSDIR}) + (cd ${WRKSRC}/checker/doc && ${COPYTREE_SHARE} \* ${STAGEDIR}${DOCSDIR}) @${MKDIR} ${STAGEDIR}${DATADIR} - @(cd ${WRKSRC} && ${COPYTREE_SHARE} \ - "modules/Internals modules/*.xml modules/Targets/unix" ${STAGEDIR}${DATADIR}) - -.if defined(MAINTAINER_MODE) || defined(PACKAGE_BUILDING) -check regression-test test: build - cd ${WRKSRC}; \ - ${PERL} ./${PORTNAME}.pl -test; \ - ${PERL} ./${PORTNAME}.pl -test-dump - -.endif + (cd ${WRKSRC}/checker && ${COPYTREE_SHARE} \ + "modules/Internals modules/*.xml" ${STAGEDIR}${DATADIR}) .include Index: head/devel/abi-compliance-checker/distinfo =================================================================== --- head/devel/abi-compliance-checker/distinfo (revision 432434) +++ head/devel/abi-compliance-checker/distinfo (revision 432435) @@ -1,2 +1,7 @@ -SHA256 (lvc-abi-compliance-checker-1.99_GH0.tar.gz) = c9b065c74685f6837592a6c8cf021f3ee9d6d61b6e6604fa58f2ce419ffc6f5d -SIZE (lvc-abi-compliance-checker-1.99_GH0.tar.gz) = 264903 +TIMESTAMP = 1484248548 +SHA256 (lvc-vtable-dumper-0e04246_GH0.tar.gz) = 4eeadbaeb78c8d7603e0d84f72300b50a1b4d45e61994ba6196318d27cd4a23c +SIZE (lvc-vtable-dumper-0e04246_GH0.tar.gz) = 16037 +SHA256 (lvc-abi-dumper-46aae79_GH0.tar.gz) = 9dc4232445d87b34eb614e286316ace6bf1ece367f8d644e4ab4a1839e818524 +SIZE (lvc-abi-dumper-46aae79_GH0.tar.gz) = 45264 +SHA256 (lvc-abi-compliance-checker-a6554a1_GH0.tar.gz) = 3b86001090b83f4c8389edab8483e276ab7dcab25f55a9df2ee8014a8081cdd1 +SIZE (lvc-abi-compliance-checker-a6554a1_GH0.tar.gz) = 228549 Index: head/devel/abi-compliance-checker/files/patch-vdumper_Makefile =================================================================== --- head/devel/abi-compliance-checker/files/patch-vdumper_Makefile (nonexistent) +++ head/devel/abi-compliance-checker/files/patch-vdumper_Makefile (revision 432435) @@ -0,0 +1,22 @@ +--- vdumper/Makefile.orig 2016-10-04 16:28:00 UTC ++++ vdumper/Makefile +@@ -7,8 +7,18 @@ install: vtable-dumper + mkdir -p $(DESTDIR)$(prefix)/bin/ + install vtable-dumper $(DESTDIR)$(prefix)/bin/ + ++OS=$(shell uname -s) ++ifeq ($(OS), Linux) ++LIBDL=-ldl ++else ifeq ($(OS), FreeBSD) ++LIBDL= ++else ++LIBDL=UNKNOWN ++endif ++ + vtable-dumper: dump-vtable.c dump-vtable.h +- $(CC) $(CFLAGS) $(LDFLAGS) -o vtable-dumper dump-vtable.c -ldl -lelf -lstdc++ ++ $(CC) $(CFLAGS) $(LDFLAGS) -o vtable-dumper dump-vtable.c \ ++ $(LIBDL) -lelf -lstdc++ + + uninstall: + rm -f $(DESTDIR)$(prefix)/bin/vtable-dumper Property changes on: head/devel/abi-compliance-checker/files/patch-vdumper_Makefile ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/abi-compliance-checker/files/patch-vdumper_dump-vtable.c =================================================================== --- head/devel/abi-compliance-checker/files/patch-vdumper_dump-vtable.c (nonexistent) +++ head/devel/abi-compliance-checker/files/patch-vdumper_dump-vtable.c (revision 432435) @@ -0,0 +1,16 @@ +--- vdumper/dump-vtable.c.orig 2016-10-04 16:28:00 UTC ++++ vdumper/dump-vtable.c +@@ -355,11 +355,11 @@ void print_VTable(void *dlhndl, vtable_i + { + if ((ptrdiff_t)vfuncp < 0) + { +- printf("(int (*)(...)) -%016p\n", (void*) -(ptrdiff_t)vfuncp); ++ printf("(int (*)(...)) -%16p\n", (void*) -(ptrdiff_t)vfuncp); + } + else + { +- printf("(int (*)(...)) %016p\n", vfuncp); ++ printf("(int (*)(...)) %16p\n", vfuncp); + } + } + } Property changes on: head/devel/abi-compliance-checker/files/patch-vdumper_dump-vtable.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/abi-compliance-checker/files/patch-vdumper_dump-vtable.h =================================================================== --- head/devel/abi-compliance-checker/files/patch-vdumper_dump-vtable.h (nonexistent) +++ head/devel/abi-compliance-checker/files/patch-vdumper_dump-vtable.h (revision 432435) @@ -0,0 +1,10 @@ +--- vdumper/dump-vtable.h.orig 2016-10-04 16:28:00 UTC ++++ vdumper/dump-vtable.h +@@ -22,6 +22,7 @@ + + #include + #include ++#include + #include + #include + #include Property changes on: head/devel/abi-compliance-checker/files/patch-vdumper_dump-vtable.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property