Thu Jun 29 01:32:17 2023 UTC ()
python310: Fix env vars for sysconfig data when cross-compiling.

Paves the way to cross-version-compiling (e.g., netbsd9 building
packages for netbsd10) and cross-OS-compilation (e.g., macOS building
packages for NetBSD).


(riastradh)
diff -r1.18 -r1.19 pkgsrc/lang/python310/Makefile

cvs diff -r1.18 -r1.19 pkgsrc/lang/python310/Makefile (expand / switch to unified diff)

--- pkgsrc/lang/python310/Makefile 2023/06/27 10:35:29 1.18
+++ pkgsrc/lang/python310/Makefile 2023/06/29 01:32:17 1.19
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: Makefile,v 1.18 2023/06/27 10:35:29 riastradh Exp $ 1# $NetBSD: Makefile,v 1.19 2023/06/29 01:32:17 riastradh Exp $
2 2
3.include "dist.mk" 3.include "dist.mk"
4 4
5PKGNAME= python310-${PY_DISTVERSION} 5PKGNAME= python310-${PY_DISTVERSION}
6CATEGORIES= lang python 6CATEGORIES= lang python
7 7
8MAINTAINER= pkgsrc-users@NetBSD.org 8MAINTAINER= pkgsrc-users@NetBSD.org
9HOMEPAGE= https://www.python.org/ 9HOMEPAGE= https://www.python.org/
10COMMENT= Interpreted, interactive, object-oriented programming language 10COMMENT= Interpreted, interactive, object-oriented programming language
11LICENSE= python-software-foundation 11LICENSE= python-software-foundation
12 12
13CONFLICTS+= python-[0-9]* 13CONFLICTS+= python-[0-9]*
14 14
@@ -28,44 +28,42 @@ CONFIGURE_ARGS+= --with-openssl=${BUILDL @@ -28,44 +28,42 @@ CONFIGURE_ARGS+= --with-openssl=${BUILDL
28CONFIGURE_ARGS+= --with-system-ffi 28CONFIGURE_ARGS+= --with-system-ffi
29CONFIGURE_ARGS+= --without-ensurepip 29CONFIGURE_ARGS+= --without-ensurepip
30CONFIGURE_ENV+= OPT=${CFLAGS:M*:Q} 30CONFIGURE_ENV+= OPT=${CFLAGS:M*:Q}
31CONFIGURE_ENV+= ac_cv_path_mkdir=${TOOLS_PATH.mkdir} 31CONFIGURE_ENV+= ac_cv_path_mkdir=${TOOLS_PATH.mkdir}
32PKGCONFIG_OVERRIDE+= Misc/python.pc.in Misc/python-embed.pc.in 32PKGCONFIG_OVERRIDE+= Misc/python.pc.in Misc/python-embed.pc.in
33 33
34PTHREAD_OPTS+= require 34PTHREAD_OPTS+= require
35.include "../../mk/pthread.buildlink3.mk" 35.include "../../mk/pthread.buildlink3.mk"
36 36
37.include "../../mk/bsd.prefs.mk" 37.include "../../mk/bsd.prefs.mk"
38 38
39.if ${USE_CROSS_COMPILE:U:tl} == "yes" 39.if ${USE_CROSS_COMPILE:U:tl} == "yes"
40TOOL_DEPENDS+= ${PKGNAME}:../../${PKGPATH} 40TOOL_DEPENDS+= ${PKGNAME}:../../${PKGPATH}
41# XXX copied from ../../lang/python/pyversion.mk to avoid including it 
42CONFIGURE_ARGS+= PYTHON_FOR_BUILD=${TOOLBASE:Q}/bin/python3.10 41CONFIGURE_ARGS+= PYTHON_FOR_BUILD=${TOOLBASE:Q}/bin/python3.10
43CONFIGURE_ARGS+= MACHDEP=${PY_PLATNAME} 42CONFIGURE_ARGS+= MACHDEP=${PY_PLATNAME}
44CONFIGURE_ARGS+= \ 
45 _PYTHON_HOST_PLATFORM=${LOWER_OPSYS}-${MACHINE_GNU_ARCH} 
46CONFIGURE_ARGS+= ac_sys_system=${OPSYS} 43CONFIGURE_ARGS+= ac_sys_system=${OPSYS}
47. if ${OPSYS} == "OSF1" 44. if ${OPSYS} == "OSF1"
48CONFIGURE_ARGS+= ac_cv_buggy_getaddrinfo=true 45CONFIGURE_ARGS+= ac_cv_buggy_getaddrinfo=true
49. else 46. else
50CONFIGURE_ARGS+= ac_cv_buggy_getaddrinfo=false 47CONFIGURE_ARGS+= ac_cv_buggy_getaddrinfo=false
51. endif 48. endif
52CONFIGURE_ARGS.NetBSD+= ac_cv_file__dev_ptmx=yes 49CONFIGURE_ARGS.NetBSD+= ac_cv_file__dev_ptmx=yes
53CONFIGURE_ARGS.NetBSD+= ac_cv_file__dev_ptc=no 50CONFIGURE_ARGS.NetBSD+= ac_cv_file__dev_ptc=no
54MAKE_ENV+= \ 51ALL_ENV+= \
55 _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_${PY_PLATNAME:Q} 
56MAKE_ENV+= \ 
57 _PYTHON_HOST_PLATFORM=${LOWER_OPSYS}-${MACHINE_GNU_ARCH} 52 _PYTHON_HOST_PLATFORM=${LOWER_OPSYS}-${MACHINE_GNU_ARCH}
58MAKE_ENV+= _PYTHON_PROJECT_BASE=${WRKSRC} 53ALL_ENV+= \
 54 _PYTHON_PROJECT_BASE=${WRKSRC:Q}
 55ALL_ENV+= \
 56 _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_${PY_PLATNAME:Q}
59.endif 57.endif
60 58
61# http://bugs.python.org/issue13241 59# http://bugs.python.org/issue13241
62.if !empty(MACHINE_PLATFORM:MDarwin-1[12].*) 60.if !empty(MACHINE_PLATFORM:MDarwin-1[12].*)
63PKGSRC_COMPILER= clang 61PKGSRC_COMPILER= clang
64PKG_CC= clang 62PKG_CC= clang
65PKG_CXX= clang++ 63PKG_CXX= clang++
66.endif 64.endif
67 65
68# Used in socketmodule.c to determine if a sethostname declaration is required 66# Used in socketmodule.c to determine if a sethostname declaration is required
69CFLAGS.SunOS+= -DPKGSRC_OPSYS_VERSION=${OPSYS_VERSION} 67CFLAGS.SunOS+= -DPKGSRC_OPSYS_VERSION=${OPSYS_VERSION}
70LIBS.SunOS+= -lrt # fdatasync() 68LIBS.SunOS+= -lrt # fdatasync()
71LIBS.SunOS+= -luuid 69LIBS.SunOS+= -luuid