diff options
Diffstat (limited to 'dev-python')
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 +} |
