summaryrefslogtreecommitdiff
path: root/dev-python/leechcorepyc
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
commitb590c8d7572b727d565cc0b8ff660d43569845de (patch)
tree06f7a4102ea4e845df8b66660f252920d52952f9 /dev-python/leechcorepyc
parent24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff)
downloadbaldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip
Adding metadata
Diffstat (limited to 'dev-python/leechcorepyc')
-rw-r--r--dev-python/leechcorepyc/Manifest1
-rw-r--r--dev-python/leechcorepyc/files/leechcorepyc-2.19.2-cflags-ldflags.patch19
-rw-r--r--dev-python/leechcorepyc/files/leechcorepyc-2.21.0-respect-CC.patch30
-rw-r--r--dev-python/leechcorepyc/leechcorepyc-2.22.3.ebuild45
-rw-r--r--dev-python/leechcorepyc/metadata.xml17
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>