Thu Nov 23 12:43:35 2023 UTC ()
python*: Remove -luuid hack on SunOS.

This ends up leaking into the shipped python-config, which wouldn't normally
be a problem, but broken build systems such as waf end up linking against
libraries that are not buildlinked, resulting in missing libuuid references.

If this is still required for builtin libuuid support then that will need to
be done in a different way that doesn't end up in the exported libraries.


(jperkin)
diff -r1.28 -r1.29 pkgsrc/lang/python310/Makefile
diff -r1.20 -r1.21 pkgsrc/lang/python311/Makefile
diff -r1.10 -r1.11 pkgsrc/lang/python312/Makefile

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

--- pkgsrc/lang/python310/Makefile 2023/11/10 16:55:31 1.28
+++ pkgsrc/lang/python310/Makefile 2023/11/23 12:43:35 1.29
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: Makefile,v 1.28 2023/11/10 16:55:31 nia Exp $ 1# $NetBSD: Makefile,v 1.29 2023/11/23 12:43:35 jperkin Exp $
2 2
3.include "dist.mk" 3.include "dist.mk"
4 4
5PKGNAME= python310-${PY_DISTVERSION} 5PKGNAME= python310-${PY_DISTVERSION}
6PKGREVISION= 4 6PKGREVISION= 4
7CATEGORIES= lang python 7CATEGORIES= lang python
8 8
9MAINTAINER= pkgsrc-users@NetBSD.org 9MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= https://www.python.org/ 10HOMEPAGE= https://www.python.org/
11COMMENT= Interpreted, interactive, object-oriented programming language 11COMMENT= Interpreted, interactive, object-oriented programming language
12LICENSE= python-software-foundation 12LICENSE= python-software-foundation
13 13
14CONFLICTS+= python-[0-9]* 14CONFLICTS+= python-[0-9]*
@@ -75,27 +75,26 @@ ALL_ENV+= \ @@ -75,27 +75,26 @@ ALL_ENV+= \
75 _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_${PY_PLATNAME:Q} 75 _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_${PY_PLATNAME:Q}
76.endif 76.endif
77 77
78# http://bugs.python.org/issue13241 78# http://bugs.python.org/issue13241
79.if !empty(MACHINE_PLATFORM:MDarwin-1[12].*) 79.if !empty(MACHINE_PLATFORM:MDarwin-1[12].*)
80PKGSRC_COMPILER= clang 80PKGSRC_COMPILER= clang
81PKG_CC= clang 81PKG_CC= clang
82PKG_CXX= clang++ 82PKG_CXX= clang++
83.endif 83.endif
84 84
85# Used in socketmodule.c to determine if a sethostname declaration is required 85# Used in socketmodule.c to determine if a sethostname declaration is required
86CFLAGS.SunOS+= -DPKGSRC_OPSYS_VERSION=${OPSYS_VERSION} 86CFLAGS.SunOS+= -DPKGSRC_OPSYS_VERSION=${OPSYS_VERSION}
87LIBS.SunOS+= -lrt # fdatasync() 87LIBS.SunOS+= -lrt # fdatasync()
88LIBS.SunOS+= -luuid 
89.if ${OPSYS} == "SunOS" && ${OPSYS_VERSION} < 051100 88.if ${OPSYS} == "SunOS" && ${OPSYS_VERSION} < 051100
90SUBST_CLASSES+= setup 89SUBST_CLASSES+= setup
91SUBST_MESSAGE.setup= Replacing crypt with crypt_i 90SUBST_MESSAGE.setup= Replacing crypt with crypt_i
92SUBST_STAGE.setup= pre-configure 91SUBST_STAGE.setup= pre-configure
93SUBST_FILES.setup= setup.py 92SUBST_FILES.setup= setup.py
94SUBST_SED.setup= -e "s,'crypt','crypt_i'," 93SUBST_SED.setup= -e "s,'crypt','crypt_i',"
95.endif 94.endif
96 95
97PY_VER_SUFFIX= 3.10 96PY_VER_SUFFIX= 3.10
98 97
99.if ${OPSYS} == "Darwin" 98.if ${OPSYS} == "Darwin"
100USE_TOOLS+= gmake 99USE_TOOLS+= gmake
101.endif 100.endif

cvs diff -r1.20 -r1.21 pkgsrc/lang/python311/Makefile (expand / switch to unified diff)

--- pkgsrc/lang/python311/Makefile 2023/11/10 16:55:32 1.20
+++ pkgsrc/lang/python311/Makefile 2023/11/23 12:43:35 1.21
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: Makefile,v 1.20 2023/11/10 16:55:32 nia Exp $ 1# $NetBSD: Makefile,v 1.21 2023/11/23 12:43:35 jperkin Exp $
2 2
3.include "dist.mk" 3.include "dist.mk"
4 4
5PKGNAME= python311-${PY_DISTVERSION} 5PKGNAME= python311-${PY_DISTVERSION}
6PKGREVISION= 4 6PKGREVISION= 4
7CATEGORIES= lang python 7CATEGORIES= lang python
8 8
9MAINTAINER= pkgsrc-users@NetBSD.org 9MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= https://www.python.org/ 10HOMEPAGE= https://www.python.org/
11COMMENT= Interpreted, interactive, object-oriented programming language 11COMMENT= Interpreted, interactive, object-oriented programming language
12LICENSE= python-software-foundation 12LICENSE= python-software-foundation
13 13
14CONFLICTS+= python-[0-9]* 14CONFLICTS+= python-[0-9]*
@@ -72,27 +72,26 @@ CONFIGURE_ARGS.NetBSD+= ac_cv_file__dev_ @@ -72,27 +72,26 @@ CONFIGURE_ARGS.NetBSD+= ac_cv_file__dev_
72CONFIGURE_ARGS.NetBSD+= ac_cv_file__dev_ptc=no 72CONFIGURE_ARGS.NetBSD+= ac_cv_file__dev_ptc=no
73.endif 73.endif
74 74
75# http://bugs.python.org/issue13241 75# http://bugs.python.org/issue13241
76.if ${MACHINE_PLATFORM:MDarwin-1[12].*} 76.if ${MACHINE_PLATFORM:MDarwin-1[12].*}
77PKGSRC_COMPILER= clang 77PKGSRC_COMPILER= clang
78PKG_CC= clang 78PKG_CC= clang
79PKG_CXX= clang++ 79PKG_CXX= clang++
80.endif 80.endif
81 81
82# Used in socketmodule.c to determine if a sethostname declaration is required 82# Used in socketmodule.c to determine if a sethostname declaration is required
83CFLAGS.SunOS+= -DPKGSRC_OPSYS_VERSION=${OPSYS_VERSION} 83CFLAGS.SunOS+= -DPKGSRC_OPSYS_VERSION=${OPSYS_VERSION}
84LIBS.SunOS+= -lrt # fdatasync() 84LIBS.SunOS+= -lrt # fdatasync()
85LIBS.SunOS+= -luuid 
86.if ${OPSYS} == "SunOS" && ${OPSYS_VERSION} < 051100 85.if ${OPSYS} == "SunOS" && ${OPSYS_VERSION} < 051100
87SUBST_CLASSES+= setup 86SUBST_CLASSES+= setup
88SUBST_MESSAGE.setup= Replacing crypt with crypt_i 87SUBST_MESSAGE.setup= Replacing crypt with crypt_i
89SUBST_STAGE.setup= pre-configure 88SUBST_STAGE.setup= pre-configure
90SUBST_FILES.setup= setup.py 89SUBST_FILES.setup= setup.py
91SUBST_SED.setup= -e "s,'crypt','crypt_i'," 90SUBST_SED.setup= -e "s,'crypt','crypt_i',"
92.endif 91.endif
93 92
94PY_VER_SUFFIX= 3.11 93PY_VER_SUFFIX= 3.11
95 94
96.if ${OPSYS} == "Darwin" 95.if ${OPSYS} == "Darwin"
97USE_TOOLS+= gmake 96USE_TOOLS+= gmake
98.endif 97.endif

cvs diff -r1.10 -r1.11 pkgsrc/lang/python312/Makefile (expand / switch to unified diff)

--- pkgsrc/lang/python312/Makefile 2023/11/10 16:55:32 1.10
+++ pkgsrc/lang/python312/Makefile 2023/11/23 12:43:35 1.11
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: Makefile,v 1.10 2023/11/10 16:55:32 nia Exp $ 1# $NetBSD: Makefile,v 1.11 2023/11/23 12:43:35 jperkin Exp $
2 2
3.include "dist.mk" 3.include "dist.mk"
4 4
5PKGNAME= python312-${PY_DISTVERSION} 5PKGNAME= python312-${PY_DISTVERSION}
6PKGREVISION= 4 6PKGREVISION= 4
7CATEGORIES= lang python 7CATEGORIES= lang python
8 8
9MAINTAINER= pkgsrc-users@NetBSD.org 9MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= https://www.python.org/ 10HOMEPAGE= https://www.python.org/
11COMMENT= Interpreted, interactive, object-oriented programming language 11COMMENT= Interpreted, interactive, object-oriented programming language
12LICENSE= python-software-foundation 12LICENSE= python-software-foundation
13 13
14CONFLICTS+= python-[0-9]* 14CONFLICTS+= python-[0-9]*
@@ -81,27 +81,26 @@ CONFIGURE_ARGS.NetBSD+= ac_cv_file__dev_ @@ -81,27 +81,26 @@ CONFIGURE_ARGS.NetBSD+= ac_cv_file__dev_
81CONFIGURE_ARGS.NetBSD+= ac_cv_file__dev_ptc=no 81CONFIGURE_ARGS.NetBSD+= ac_cv_file__dev_ptc=no
82.endif 82.endif
83 83
84# http://bugs.python.org/issue13241 84# http://bugs.python.org/issue13241
85.if ${MACHINE_PLATFORM:MDarwin-1[12].*} 85.if ${MACHINE_PLATFORM:MDarwin-1[12].*}
86PKGSRC_COMPILER= clang 86PKGSRC_COMPILER= clang
87PKG_CC= clang 87PKG_CC= clang
88PKG_CXX= clang++ 88PKG_CXX= clang++
89.endif 89.endif
90 90
91# Used in socketmodule.c to determine if a sethostname declaration is required 91# Used in socketmodule.c to determine if a sethostname declaration is required
92CFLAGS.SunOS+= -DPKGSRC_OPSYS_VERSION=${OPSYS_VERSION} 92CFLAGS.SunOS+= -DPKGSRC_OPSYS_VERSION=${OPSYS_VERSION}
93LIBS.SunOS+= -lrt # fdatasync() 93LIBS.SunOS+= -lrt # fdatasync()
94LIBS.SunOS+= -luuid 
95 94
96LIBS.NetBSD+= -lcrypt 95LIBS.NetBSD+= -lcrypt
97 96
98PY_VER_SUFFIX= 3.12 97PY_VER_SUFFIX= 3.12
99 98
100.if ${OPSYS} == "Darwin" 99.if ${OPSYS} == "Darwin"
101USE_TOOLS+= gmake 100USE_TOOLS+= gmake
102.endif 101.endif
103 102
104.include "platname.mk" 103.include "platname.mk"
105PLIST_SUBST+= PY_PLATNAME=${PY_PLATNAME:Q} 104PLIST_SUBST+= PY_PLATNAME=${PY_PLATNAME:Q}
106 105
107# For Xcode 5 and up, we need to search the SDK path for headers, otherwise 106# For Xcode 5 and up, we need to search the SDK path for headers, otherwise