1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
$NetBSD: patch-electrum-ecc_fast.py,v 1.2 2021/11/08 16:37:05 cirnatdan Exp $
Don't assume libsecp256k1 is in site-packages/electrum.
--- electrum/ecc_fast.py.orig 2000-11-11 11:11:11.000000000 +0000
+++ electrum/ecc_fast.py
@@ -9,6 +9,7 @@ from ctypes import (
byref, c_byte, c_int, c_uint, c_char_p, c_size_t, c_void_p, create_string_buffer,
CFUNCTYPE, POINTER, cast
)
+import sysconfig
from .logging import get_logger
@@ -38,16 +39,13 @@ class LibModuleMissing(Exception): pass
def load_library():
if sys.platform == 'darwin':
- library_paths = (os.path.join(os.path.dirname(__file__), 'libsecp256k1.0.dylib'),
- 'libsecp256k1.0.dylib')
+ library_paths = (os.path.join(sysconfig.get_config_var('LIBDIR'), 'libsecp256k1.0.dylib'),)
elif sys.platform in ('windows', 'win32'):
- library_paths = (os.path.join(os.path.dirname(__file__), 'libsecp256k1-0.dll'),
- 'libsecp256k1-0.dll')
+ library_paths = (os.path.join(sysconfig.get_config_var('LIBDIR'), 'libsecp256k1-0.dll'),)
elif 'ANDROID_DATA' in os.environ:
library_paths = ('libsecp256k1.so',)
else: # desktop Linux and similar
- library_paths = (os.path.join(os.path.dirname(__file__), 'libsecp256k1.so.0'),
- 'libsecp256k1.so.0')
+ library_paths = (os.path.join(sysconfig.get_config_var('LIBDIR'), 'libsecp256k1.so.0'),)
exceptions = []
secp256k1 = None
|