summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-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.21.0.ebuild42
4 files changed, 92 insertions, 0 deletions
diff --git a/dev-python/leechcorepyc/Manifest b/dev-python/leechcorepyc/Manifest
index 037c3c104253..8811557cb82f 100644
--- a/dev-python/leechcorepyc/Manifest
+++ b/dev-python/leechcorepyc/Manifest
@@ -1 +1,2 @@
DIST leechcorepyc-2.18.7.tar.gz 234929 BLAKE2B 5e785ec50975fdf3f943a18a09bdae6308e8426691ee5f1eb11d0db9534126b39d009946b8ff2f02783d6e97e2d45e2cf9cddd1cc7882a1569412dc50d08694f SHA512 8938ff389aed0b49df4c0f3c9f00838a418784dd21d019f6c821fc4d1561414d17ac4f59702cb54f4e1584f39d48bcd3bbd8247e8eed2bd38ec6941524948ffa
+DIST leechcorepyc-2.21.0.tar.gz 241055 BLAKE2B fbf2423044ec2a0d43c81b2e70c4171d912e2811878c398120305ac3cfa2b024ca8b785ab5df6487f8d6100959d1b7a556710516d4669445122ce6066c61a138 SHA512 107036e9feba18a0c7f076d21f4b81b0ffe96f6dded441521241875e62e4cc76cb1a327b4231aadf6ae0093b6af00e191b74dd2525d164cf906fcca50318ab10
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.21.0.ebuild b/dev-python/leechcorepyc/leechcorepyc-2.21.0.ebuild
new file mode 100644
index 000000000000..e8f976f0b5cf
--- /dev/null
+++ b/dev-python/leechcorepyc/leechcorepyc-2.21.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2025 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_{10..13} )
+
+inherit distutils-r1 toolchain-funcs pypi
+
+DESCRIPTION="Python binding for LeechCore Physical Memory Acquisition Library"
+HOMEPAGE="https://github.com/ufrisk/LeechCore"
+
+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
+}