summaryrefslogtreecommitdiff
path: root/dev-python/leechcorepyc
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/leechcorepyc')
-rw-r--r--dev-python/leechcorepyc/Manifest3
-rw-r--r--dev-python/leechcorepyc/files/leechcorepyc-2.16.9-respect-CC.patch30
-rw-r--r--dev-python/leechcorepyc/leechcorepyc-2.16.9.ebuild41
3 files changed, 74 insertions, 0 deletions
diff --git a/dev-python/leechcorepyc/Manifest b/dev-python/leechcorepyc/Manifest
index 982035f5d599..462e88802f1d 100644
--- a/dev-python/leechcorepyc/Manifest
+++ b/dev-python/leechcorepyc/Manifest
@@ -1,4 +1,7 @@
AUX leechcorepyc-2.16.0-respect-CC.patch 1298 BLAKE2B 2d5d1683887daae0fdb711b3678ab972d1be2941f5cc61f45a242bea5a4f15257bdd7167baafd1089e01ebea98beb80cc323b9f7a31b1da3f96487fe551550ea SHA512 8d0060756b535c18c0f5ece6c99c8b6c4f84ea741eb52363317d956813e308ef94b0ee5a51500974745de4a3ed42c5116ec1c973fc04bbd1858f2f90f707bcb8
+AUX leechcorepyc-2.16.9-respect-CC.patch 1306 BLAKE2B a86c60aa1e4e6e09b5de727afa7a0e686b0dae5a50f56243402a21f6f1671ddaa5617e69e1e4155e4804bc97809d6cc024fcdcce13cdc199d1048f9b718af263 SHA512 d25f5b09fcf5360b028ef6a7e712eb990cfd9cb1074f2bd4b3164b0bfd9f3d976912f226c85e0b684872abd7adc0889ec28453667b34d1f815018ec53e7c7a57
DIST leechcorepyc-2.16.5.tar.gz 177365 BLAKE2B a5193e6e6c3fc2dc63358f62a2240b3a186b2acb37968597c5b5c690fbc94487c17bef55e8123bfdc55df2aa8668f667750a850fe4480b08d85bc311b1d2a95d SHA512 8d9b556d7ebc7de474dc853f9dfa005f91a19e6f7672d4021bc83c48b7d3ab0b6617bdbaf79e79b2fc930b64f448e3b8849d83c735077fd98776b026cff57a30
+DIST leechcorepyc-2.16.9.tar.gz 178656 BLAKE2B 76cefea2d8c30c88ae649da6c95f420b366e6b7ec8a44339cda6bd65b890b02196ff19d3b7d8218c87a73256e079fdd51dcb0499934fef0145e4a404376be7de SHA512 5a5455d0401177d2ae4f6b22a0dbf1f4ddce3458edb4cea04c8a127a6baa7083c83ba79d3d236a6cec15e8a1c05c4a8c747d7053b451dbed9b6a8defa17ec288
EBUILD leechcorepyc-2.16.5.ebuild 944 BLAKE2B 170aaf693af6a3fec5ea6d87f3683afd3e198b7d0d1bcdcc851633a407e4e82506ae5b0de898634b992d0dbc53d3d7d15fd7eafd676ca748f6e65f046208f5e5 SHA512 d79ab8185fae001c289fb7ae96c11c82f06309b95a8acacf6f47791ad9f49d9243b9f8c1dc80a531bd758e87387f7a803259aa88558c85b623370e4acefb8f47
+EBUILD leechcorepyc-2.16.9.ebuild 946 BLAKE2B 6347b2b0bf5e3ca57220cab76e66147abbaf929fa77c2d9b4865caff8033701bbbf6dfb3a5c13e080883cff4700d07724b2f6bb2254b527f829e5ea282e2fb41 SHA512 736cdf984e7a568ff49e2ec7568bf2f0f38e024016e65f10334e83b015bd7db9635726b51e2bb29f503f89ba2546779379b1507787fb9dc90ab45b5a6b3f2513
MISC metadata.xml 683 BLAKE2B e85f13b83acf28fc6d59876fad2576afe741065c754680650adcb7acd1068410469de969ab4ee28ef5d9e7ff448c615293cf3f4713b4211c22dbb1b13d7f5947 SHA512 cff010f9f6dafcb3379a0de5ae0c98b974e605cf4e3a0131657832da2f0609e62cf07d3da84327b8c1272eb4cad64218e6c3f0231ec2402b3801e2453a10e76c
diff --git a/dev-python/leechcorepyc/files/leechcorepyc-2.16.9-respect-CC.patch b/dev-python/leechcorepyc/files/leechcorepyc-2.16.9-respect-CC.patch
new file mode 100644
index 000000000000..7ad3aac070ab
--- /dev/null
+++ b/dev-python/leechcorepyc/files/leechcorepyc-2.16.9-respect-CC.patch
@@ -0,0 +1,30 @@
+--- a/leechcore/Makefile
++++ b/leechcore/Makefile
+@@ -1,5 +1,6 @@
+-CC=gcc
+-CFLAGS += -I. -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. -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.16.9.ebuild b/dev-python/leechcorepyc/leechcorepyc-2.16.9.ebuild
new file mode 100644
index 000000000000..594aa6daeab7
--- /dev/null
+++ b/dev-python/leechcorepyc/leechcorepyc-2.16.9.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 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..12} )
+
+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.16.9-respect-CC.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
+}