New submission from Christian Heimes <li...@cheimes.de>:

Motivated by deprecation of distutils, I like to move more logic and checks 
from setup.py into configure.ac. Eventually I like to get rid of setup.py. The 
file contains a bunch of complicated checks and macOS-specific adjustments that 
I cannot verify on Linux.


1) socketmodule setup defines __APPLE_USE_RFC_3542 
https://github.com/python/cpython/blob/v3.11.0a2/setup.py#L1229 Can we move the 
define into the __APPLE__ block of socketmodule.c?


2) -Wl,-search_paths_first linker arg, e.g. 
https://github.com/python/cpython/blob/v3.11.0a2/setup.py#L1616  Would it be 
safe to make the option default for all core extensions on $ac_sys_system = 
Darwin? We could add it to PY_CORE_LDFLAGS or add a new Makefile variable for 
core extensions.


3) detect_dbm_gdbm has about 200 lines of complicated code to detect old to 
ancient versions of Berkeley DB (libdb), 
https://github.com/python/cpython/blob/v3.11.0a2/setup.py#L1233 . Can I remove 
support for libdb-3 / libdb-4 and only support libdb-5 in standard locations? 
libdb-5.3 has been around for over a decade.

Note: libdb, gdbm, ndbm, and gdbm-compat don't provide pkg-config .pc files. We 
cannot use pkg-config to detect them.


4) sqlite's setup 
https://github.com/python/cpython/blob/v3.11.0a2/setup.py#L1531 does extra work 
to search for header and library files in non-standard locations. Can we 
replace the code with pkg-config checks in configure.ac with a fallback to 
AC_CHECK_LIB() and AC_CHECK_HEADERS()?


5) zlib's setup code 
https://github.com/python/cpython/blob/v3.11.0a2/setup.py#L1661 has a check for 
a CVE from 2002 (!). I think we can safely assume that everybody has upgraded 
to a fixed version. The check is mixed with macOS specific code.

----------
components: Build, macOS
messages: 405908
nosy: christian.heimes, gregory.p.smith, ned.deily, ronaldoussoren
priority: normal
severity: normal
status: open
title: Cleanup and simplify setup.py
type: enhancement
versions: Python 3.11

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue45743>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to