Ports: Build Python with libuuid

This makes the _uuid module work :^)
This commit is contained in:
Linus Groh 2021-09-10 19:56:17 +01:00 committed by Andreas Kling
parent 8b3e1c0016
commit 6b15faed30
Notes: sideshowbarker 2024-07-18 04:18:54 +09:00
3 changed files with 18 additions and 3 deletions

View file

@ -16,7 +16,7 @@ launcher_run_in_terminal="true"
icon_file="../launcher.ico" # This is an older icon that's downloaded separately, so we need to go outside of $workdir
# We could also add `openssl` here, but the _ssl modules doesn't build at the moment
depends="bzip2 libffi ncurses readline sqlite termcap zlib"
depends="bzip2 libffi libuuid ncurses readline sqlite termcap zlib"
# FIXME: --enable-optimizations results in lots of __gcov_* linker errors
configopts="--disable-ipv6 --without-ensurepip ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no"

View file

@ -22,3 +22,4 @@ Make some tweaks to Python's `setup.py` files:
- Add `/usr/local/lib` / `/usr/local/include` to the system lib / include dirs, relative to the sysroot when crosscompiling. These are by default only included when not crosscompiling for some reason.
- Add `/usr/local/include/ncurses` to the curses include paths so it can build the `_curses` module. This is by default included for a bunch of extensions, but not `_curses`.
- Add `/usr/local/includes/uuid` to the uuid include paths so it can build the `_uuid` module. This is by default included for a bunch of extensions, but not `_uuid`.

View file

@ -1,5 +1,5 @@
--- Python-3.10.0rc1/setup.py 2021-08-03 18:59:05.650000000 +0100
+++ Python-3.10.0rc1/setup.py 2021-08-03 19:00:23.210495643 +0100
--- Python-3.10.0rc1/setup.py.orig 2021-08-02 20:53:59.000000000 +0100
+++ Python-3.10.0rc1/setup.py 2021-09-10 20:13:51.191781791 +0100
@@ -832,8 +832,8 @@
add_dir_to_list(self.compiler.include_dirs,
sysconfig.get_config_var("INCLUDEDIR"))
@ -25,3 +25,17 @@
panel_library = 'panel'
if curses_library == 'ncursesw':
curses_defines.append(('HAVE_NCURSESW', '1'))
@@ -1847,7 +1852,12 @@
def detect_uuid(self):
# Build the _uuid module if possible
- uuid_incs = find_file("uuid.h", self.inc_dirs, ["/usr/include/uuid"])
+ if not CROSS_COMPILING:
+ uuid_incs = find_file("uuid.h", self.inc_dirs, ["/usr/include/uuid", "/usr/local/include/uuid"])
+ else:
+ uuid_incs = find_file("uuid.h", self.inc_dirs, sysroot_paths(
+ ('CPPFLAGS', 'CFLAGS', 'CC'), ["/usr/include/uuid", "/usr/local/include/uuid"]
+ ))
if uuid_incs is not None:
if self.compiler.find_library_file(self.lib_dirs, 'uuid'):
uuid_libs = ['uuid']