From 9b8b8de545ba92dce05400e525d3e2877448b286 Mon Sep 17 00:00:00 2001 From: Dmitri Goutnik Date: Thu, 14 Jan 2021 22:55:27 +0000 Subject: [PATCH] New port: devel/objconv This utility can be used for converting object files between COFF/PE, OMF, ELF and Mach-O formats for all 32-bit and 64-bit x86 platforms. Can modify symbol names in object files. Can build, modify and convert function libraries across platforms. Can dump object files and executable files. Also includes a very good disassembler supporting the SSE4, AVX, AVX2, AVX512, FMA3, FMA4, XOP and Knights Corner instruction sets. WWW: https://www.agner.org/optimize PR: 252674 Submitted by: Robert Clausecker --- devel/Makefile | 1 + devel/objconv/Makefile | 30 ++++++++++++++++++++++++++++++ devel/objconv/distinfo | 3 +++ devel/objconv/pkg-descr | 9 +++++++++ devel/objconv/pkg-plist | 7 +++++++ 5 files changed, 50 insertions(+) create mode 100644 devel/objconv/Makefile create mode 100644 devel/objconv/distinfo create mode 100644 devel/objconv/pkg-descr create mode 100644 devel/objconv/pkg-plist diff --git a/devel/Makefile b/devel/Makefile index 2936c5eec040..6cde878dc454 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -1572,6 +1572,7 @@ SUBDIR += nsync SUBDIR += nuitka SUBDIR += obby + SUBDIR += objconv SUBDIR += objecthash SUBDIR += ocaml-annexlib SUBDIR += ocaml-calendar diff --git a/devel/objconv/Makefile b/devel/objconv/Makefile new file mode 100644 index 000000000000..c1ffcf6f8158 --- /dev/null +++ b/devel/objconv/Makefile @@ -0,0 +1,30 @@ +# $FreeBSD$ + +PORTNAME= objconv +DISTVERSION= 2.52 +CATEGORIES= devel +MASTER_SITES= http://fuz.su/~fuz/objconv/ + +MAINTAINER= fuz@fuz.su +COMMENT= Agner Fog's object file converter + +LICENSE= GPLv1 + +USES= dos2unix zip +NO_WRKSUBDIR= yes + +post-extract: + @${MKDIR} ${WRKSRC}/source ${WRKSRC}/extras + @${TAR} xf ${WRKSRC}/source.zip -C ${WRKSRC}/source + @${TAR} xf ${WRKSRC}/extras.zip -C ${WRKSRC}/extras + +do-build: + ${CXX} ${CXXFLAGS} -o ${WRKSRC}/${PORTNAME} ${WRKSRC}/source/*.cpp + +do-install: + ${MKDIR} ${STAGEDIR}${DATADIR}/extras ${STAGEDIR}${DOCSDIR} + ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin + ${INSTALL_MAN} ${WRKSRC}/objconv-instructions.pdf ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/extras/*.asm ${STAGEDIR}${DATADIR}/extras + +.include diff --git a/devel/objconv/distinfo b/devel/objconv/distinfo new file mode 100644 index 000000000000..7e3144e8038a --- /dev/null +++ b/devel/objconv/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1610640416 +SHA256 (objconv-2.52.zip) = 1bfd417d73a9beb7ebdcfc986b5607d5966be2f7f376fef86b7be3ed4f3e2164 +SIZE (objconv-2.52.zip) = 1055692 diff --git a/devel/objconv/pkg-descr b/devel/objconv/pkg-descr new file mode 100644 index 000000000000..76eb8a3117ab --- /dev/null +++ b/devel/objconv/pkg-descr @@ -0,0 +1,9 @@ +This utility can be used for converting object files between COFF/PE, +OMF, ELF and Mach-O formats for all 32-bit and 64-bit x86 platforms. +Can modify symbol names in object files. Can build, modify and convert +function libraries across platforms. Can dump object files and +executable files. Also includes a very good disassembler supporting the +SSE4, AVX, AVX2, AVX512, FMA3, FMA4, XOP and Knights Corner instruction +sets. + +WWW: https://www.agner.org/optimize diff --git a/devel/objconv/pkg-plist b/devel/objconv/pkg-plist new file mode 100644 index 000000000000..b5fca688c575 --- /dev/null +++ b/devel/objconv/pkg-plist @@ -0,0 +1,7 @@ +bin/objconv +%%DOCSDIR%%/objconv-instructions.pdf +%%DATADIR%%/extras/u2wstub.asm +%%DATADIR%%/extras/u2wstubvec1.asm +%%DATADIR%%/extras/u2wstubvec2.asm +%%DATADIR%%/extras/w2ustub.asm +%%DATADIR%%/extras/w2ustubvec.asm