Thu Jun 29 01:32:06 2023 UTC ()
python39: 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.24 -r1.25 pkgsrc/lang/python39/Makefile

cvs diff -r1.24 -r1.25 pkgsrc/lang/python39/Makefile (expand / switch to unified diff)

--- pkgsrc/lang/python39/Makefile 2023/06/27 10:35:30 1.24
+++ pkgsrc/lang/python39/Makefile 2023/06/29 01:32:06 1.25
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: Makefile,v 1.24 2023/06/27 10:35:30 riastradh Exp $ 1# $NetBSD: Makefile,v 1.25 2023/06/29 01:32:06 riastradh Exp $
2 2
3.include "dist.mk" 3.include "dist.mk"
4 4
5PKGNAME= python39-${PY_DISTVERSION} 5PKGNAME= python39-${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,42 +28,41 @@ CONFIGURE_ARGS+= --with-openssl=${BUILDL @@ -28,42 +28,41 @@ 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.9 41CONFIGURE_ARGS+= PYTHON_FOR_BUILD=${TOOLBASE:Q}/bin/python3.9
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+= _PYTHON_PROJECT_BASE=${WRKSRC:Q}
 52ALL_ENV+= \
55 _PYTHON_HOST_PLATFORM=${LOWER_OPSYS}-${MACHINE_GNU_ARCH} 53 _PYTHON_HOST_PLATFORM=${LOWER_OPSYS}-${MACHINE_GNU_ARCH}
56MAKE_ENV+= _PYTHON_PROJECT_BASE=${WRKSRC:Q} 54ALL_ENV+= \
 55 _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_${PY_PLATNAME}
57.endif 56.endif
58 57
59# http://bugs.python.org/issue13241 58# http://bugs.python.org/issue13241
60.if !empty(MACHINE_PLATFORM:MDarwin-1[12].*) 59.if !empty(MACHINE_PLATFORM:MDarwin-1[12].*)
61PKGSRC_COMPILER= clang 60PKGSRC_COMPILER= clang
62PKG_CC= clang 61PKG_CC= clang
63PKG_CXX= clang++ 62PKG_CXX= clang++
64.endif 63.endif
65 64
66# Used in socketmodule.c to determine if a sethostname declaration is required 65# Used in socketmodule.c to determine if a sethostname declaration is required
67CFLAGS.SunOS+= -DPKGSRC_OPSYS_VERSION=${OPSYS_VERSION} 66CFLAGS.SunOS+= -DPKGSRC_OPSYS_VERSION=${OPSYS_VERSION}
68LIBS.SunOS+= -lrt # fdatasync() 67LIBS.SunOS+= -lrt # fdatasync()
69LIBS.SunOS+= -luuid 68LIBS.SunOS+= -luuid