aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeal Nelson <ports@nicandneal.net>2023-09-01 16:27:03 +0000
committerMuhammad Moinur Rahman <bofh@FreeBSD.org>2023-09-01 17:16:15 +0000
commit2cde3efd909901be11505bac4617e88ad1d7a34b (patch)
tree507b51c4dc4cbdef685615c2b3e8195f69adb352
parentfda94412729c83c02ec6d9d4e4e44ba3805eef1b (diff)
downloadports-2cde3efd909901be11505bac4617e88ad1d7a34b.tar.gz
ports-2cde3efd909901be11505bac4617e88ad1d7a34b.zip
devel/py-lief: New Port
The purpose of this project is to provide a cross platform library which can parse, modify and abstract ELF, PE and MachO formats. Main features: - Parsing: LIEF can parse ELF, PE, MachO, OAT, DEX, VDEX, ART and provides a user-friendly API to access to format internals. - Modify: LIEF enables to modify some parts of these formats - Abstract: Three formats have common features like sections, symbols, entry point... LIEF factors them. - API: LIEF can be used in C, C++ and Python WWW: https://github.com/lief-project/lief PR: 257041
-rw-r--r--devel/Makefile1
-rw-r--r--devel/py-lief/Makefile26
-rw-r--r--devel/py-lief/distinfo3
-rw-r--r--devel/py-lief/pkg-descr11
-rw-r--r--devel/py-lief/pkg-plist4
5 files changed, 45 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index b97c13c8680e..902fb8062c75 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4926,6 +4926,7 @@
SUBDIR += py-libversion
SUBDIR += py-libvirt
SUBDIR += py-libzfs
+ SUBDIR += py-lief
SUBDIR += py-line-profiler
SUBDIR += py-linear-tsv
SUBDIR += py-linecache2
diff --git a/devel/py-lief/Makefile b/devel/py-lief/Makefile
new file mode 100644
index 000000000000..db3d6618072e
--- /dev/null
+++ b/devel/py-lief/Makefile
@@ -0,0 +1,26 @@
+PORTNAME= lief
+DISTVERSION= 0.11.5
+CATEGORIES= devel python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= ports@nicandneal.net
+COMMENT= Library to instrument executable formats
+WWW= https://github.com/lief-project/lief
+
+LICENSE= APACHE20
+
+# Note: cmake is needed to build, but distutils is used directly.
+# If USES= cmake is set, the build will not work.
+BUILD_DEPENDS= cmake:devel/cmake
+
+USES= python zip
+USE_PYTHON= concurrent distutils
+
+PY_VER= ${PYTHON_VER:S/.//}
+PLIST_SUB= PY_VER=${PY_VER}
+
+post-install:
+ @${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/lief.cpython-${PY_VER}.so
+
+.include <bsd.port.mk>
diff --git a/devel/py-lief/distinfo b/devel/py-lief/distinfo
new file mode 100644
index 000000000000..77399f747f6f
--- /dev/null
+++ b/devel/py-lief/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1626076347
+SHA256 (lief-0.11.5.zip) = 932ba495388fb52b4ba056a0b00abe0bda3567ad3ebc6d726be1e87b8be08b3f
+SIZE (lief-0.11.5.zip) = 15699277
diff --git a/devel/py-lief/pkg-descr b/devel/py-lief/pkg-descr
new file mode 100644
index 000000000000..256a1a34b084
--- /dev/null
+++ b/devel/py-lief/pkg-descr
@@ -0,0 +1,11 @@
+The purpose of this project is to provide a cross platform library which can
+parse, modify and abstract ELF, PE and MachO formats.
+
+Main features:
+
+- Parsing: LIEF can parse ELF, PE, MachO, OAT, DEX, VDEX, ART and provides a
+ user-friendly API to access to format internals.
+- Modify: LIEF enables to modify some parts of these formats
+- Abstract: Three formats have common features like sections, symbols, entry
+ point... LIEF factors them.
+- API: LIEF can be used in C, C++ and Python
diff --git a/devel/py-lief/pkg-plist b/devel/py-lief/pkg-plist
new file mode 100644
index 000000000000..ed8f1e24a237
--- /dev/null
+++ b/devel/py-lief/pkg-plist
@@ -0,0 +1,4 @@
+bin/elf_reader.py
+bin/macho_reader.py
+bin/pe_reader.py
+%%PYTHON_SITELIBDIR%%/lief.cpython-%%PY_VER%%.so