diff options
Diffstat (limited to 'dev-python/leechcorepyc')
5 files changed, 112 insertions, 0 deletions
diff --git a/dev-python/leechcorepyc/Manifest b/dev-python/leechcorepyc/Manifest new file mode 100644 index 000000000000..7303ced47eae --- /dev/null +++ b/dev-python/leechcorepyc/Manifest @@ -0,0 +1 @@ +DIST leechcorepyc-2.22.3.tar.gz 241436 BLAKE2B 2d929951f312dc1499aafd83f9cb8a16a4af827dac9f10e2ad503ecc928dc55d54045b440e5eaceff883efbb9a9e485b93cf40a803faf81a594bc281a64c7496 SHA512 894aa4c13c247b27bdacd7583edac13e129356f566e60b6a223e8be016f27a70ca81d9281b51fe388b87be2fe11080b99c1d6f663a3d7c21273a6ed40f654835 diff --git a/dev-python/leechcorepyc/files/leechcorepyc-2.19.2-cflags-ldflags.patch b/dev-python/leechcorepyc/files/leechcorepyc-2.19.2-cflags-ldflags.patch new file mode 100644 index 000000000000..23e796dbf732 --- /dev/null +++ b/dev-python/leechcorepyc/files/leechcorepyc-2.19.2-cflags-ldflags.patch @@ -0,0 +1,19 @@ +From: Mario Haustein <mario.haustein@hrz.tu-chemnitz.de> +Bug: https://bugs.gentoo.org/927935 +Bug: https://bugs.gentoo.org/934210 + +Remove debugging warning treatment CFLAGS which should only be set by +make.conf. Move linker flags from CFLAGS to LDFLAGS. + +--- a/leechcore_device_qemu/Makefile ++++ b/leechcore_device_qemu/Makefile +@@ -1,7 +1,7 @@ + CC=gcc + # -Wno-unused-variable -> unused variable in leechcore.h +-CFLAGS += -I. -I../includes -D LINUX -shared -fPIC -lrt -l:leechcore.so -L. -lm -fvisibility=hidden -g -Wall -Werror -Wextra -Wno-unused-variable +-LDFLAGS += -Wl,-rpath,'$$ORIGIN' -g -ldl -shared ++CFLAGS += -I. -I../includes -D LINUX -shared -fPIC -fvisibility=hidden ++LDFLAGS += -Wl,-rpath,'$$ORIGIN' -lrt -lm -ldl -shared -L. -lleechcore.so + OBJ = leechcore_device_qemu.o + + %.o: %.c $(DEPS) diff --git a/dev-python/leechcorepyc/files/leechcorepyc-2.21.0-respect-CC.patch b/dev-python/leechcorepyc/files/leechcorepyc-2.21.0-respect-CC.patch new file mode 100644 index 000000000000..a894e84a6423 --- /dev/null +++ b/dev-python/leechcorepyc/files/leechcorepyc-2.21.0-respect-CC.patch @@ -0,0 +1,30 @@ +--- a/leechcore/Makefile ++++ b/leechcore/Makefile +@@ -1,5 +1,6 @@ +-CC=gcc
+-CFLAGS += -I. -I../includes/ -D LINUX -D _GNU_SOURCE -shared -fPIC -fvisibility=hidden -pthread `pkg-config libusb-1.0 --libs --cflags`
++CC?=gcc
++PKG_CONFIG ?= pkg-config
++CFLAGS += -I. -I../includes/ -D LINUX -D _GNU_SOURCE -shared -fPIC -fvisibility=hidden -pthread `$(PKG_CONFIG) libusb-1.0 --libs --cflags`
+ # DEBUG FLAGS BELOW
+ # export ASAN_OPTIONS=strict_string_checks=1:detect_stack_use_after_return=1:check_initialization_order=1:strict_init_order=1:detect_invalid_pointer_pairs=2
+ # CFLAGS += -g -O0 -Wextra -Wno-unused-parameter -Wno-cast-function-type
+--- a/leechcore_device_rawtcp/Makefile ++++ b/leechcore_device_rawtcp/Makefile +@@ -1,4 +1,4 @@ +-CC=gcc ++CC?=gcc + CFLAGS += -I. -I../includes -D LINUX -shared -fPIC -fvisibility=hidden + LDFLAGS += -g -shared + DEPS = +--- a/leechcore_ft601_driver_linux/Makefile ++++ b/leechcore_ft601_driver_linux/Makefile +@@ -1,5 +1,6 @@ +-CC=gcc +-CFLAGS += -I. -D LINUX -shared -fPIC -fvisibility=hidden `pkg-config libusb-1.0 --libs --cflags` ++CC?=gcc ++PKG_CONFIG ?= pkg-config ++CFLAGS += -I. -D LINUX -shared -fPIC -fvisibility=hidden `$(PKG_CONFIG) libusb-1.0 --libs --cflags` + LDFLAGS += -g -shared + DEPS = leechcore_ft601_driver_linux.h + OBJ = fpga_libusb.o leechcore_ft601_driver_linux.o diff --git a/dev-python/leechcorepyc/leechcorepyc-2.22.3.ebuild b/dev-python/leechcorepyc/leechcorepyc-2.22.3.ebuild new file mode 100644 index 000000000000..97f891d02878 --- /dev/null +++ b/dev-python/leechcorepyc/leechcorepyc-2.22.3.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 toolchain-funcs pypi + +DESCRIPTION="Python binding for LeechCore Physical Memory Acquisition Library" +HOMEPAGE=" + https://github.com/ufrisk/LeechCore/ + https://pypi.org/project/leechcorepyc/ +" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 x86" + +# leechcorepyc ships with a bundled version of the LeechCore library. So we +# don't depend on the library here. But we must be aware this module doesn't +# use the system library. +DEPEND="virtual/libusb:=" +RDEPEND="${DEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/${PN}-2.21.0-respect-CC.patch" + "${FILESDIR}/${PN}-2.19.2-cflags-ldflags.patch" +) + +src_prepare() { + default + + # Avoid redefining _FORTIFY_SOURCE. See #893824, #906715. + sed -i -e 's/ -D_FORTIFY_SOURCE=2 / /g' leechcore/Makefile || die +} + +src_configure() { + tc-export CC + + distutils-r1_src_configure +} diff --git a/dev-python/leechcorepyc/metadata.xml b/dev-python/leechcorepyc/metadata.xml new file mode 100644 index 000000000000..535abe7663d0 --- /dev/null +++ b/dev-python/leechcorepyc/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>mario.haustein@hrz.tu-chemnitz.de</email> + <name>Mario Haustein</name> + </maintainer> + <maintainer type="person"> + <email>sam@gentoo.org</email> + <name>Sam James</name> + </maintainer> + <longdescription> + The LeechCore Memory Acquisition Library focuses on Physical Memory + Acquisition using various hardware and software based methods. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> |
