From fc947a3d37f0d9fee8f60d20240b3b69e6005079 Mon Sep 17 00:00:00 2001 From: Oleg Borodin Date: Thu, 28 Aug 2025 15:51:46 +0200 Subject: [PATCH] updated --- devel/re2c/Makefile | 17 + devel/re2c/distinfo | 2 + devel/re2c/pkg-descr | 8 + lang/python310/Makefile | 69 + lang/python310/distinfo | 3 + ...atch-Lib_distutils_command_install__lib.py | 41 + ...-Lib_distutils_tests_test__install__lib.py | 33 + lang/python310/files/patch-Makefile.pre.in | 65 + .../files/patch-Misc__python-config.sh.in | 11 + .../files/patch-Modules__socketmodule.c | 29 + lang/python310/files/patch-configure | 32 + lang/python310/files/pkg-message.in | 12 + lang/python310/pkg-descr | 4 + lang/python310/pkg-plist | 7742 +++++++++++++++++ lang/python39/Makefile | 2 +- lang/python39/distinfo | 6 +- .../files/patch-Modules__socketmodule.c | 29 + lang/python39/files/patch-setup.py | 11 - lang/python39/pkg-plist | 7 +- 19 files changed, 8105 insertions(+), 18 deletions(-) create mode 100644 devel/re2c/Makefile create mode 100644 devel/re2c/distinfo create mode 100644 devel/re2c/pkg-descr create mode 100644 lang/python310/Makefile create mode 100644 lang/python310/distinfo create mode 100644 lang/python310/files/patch-Lib_distutils_command_install__lib.py create mode 100644 lang/python310/files/patch-Lib_distutils_tests_test__install__lib.py create mode 100644 lang/python310/files/patch-Makefile.pre.in create mode 100644 lang/python310/files/patch-Misc__python-config.sh.in create mode 100644 lang/python310/files/patch-Modules__socketmodule.c create mode 100644 lang/python310/files/patch-configure create mode 100644 lang/python310/files/pkg-message.in create mode 100644 lang/python310/pkg-descr create mode 100644 lang/python310/pkg-plist create mode 100644 lang/python39/files/patch-Modules__socketmodule.c delete mode 100644 lang/python39/files/patch-setup.py diff --git a/devel/re2c/Makefile b/devel/re2c/Makefile new file mode 100644 index 00000000..0804fc92 --- /dev/null +++ b/devel/re2c/Makefile @@ -0,0 +1,17 @@ +# +# $Id$ +# +PORTNAME= re2c +PORTVERSION= 0.14.3 +CATEGORIES= devel +#MASTER_SITES= SF + +MAINTAINER= chalpin@cs.wisc.edu +COMMENT= Compile regular expression to C (much faster final code than flex) + +GNU_CONFIGURE= yes +USES+= gmake +PLIST_FILES= bin/re2c man/man1/re2c.1.gz + +.include +#EOF diff --git a/devel/re2c/distinfo b/devel/re2c/distinfo new file mode 100644 index 00000000..64a28aeb --- /dev/null +++ b/devel/re2c/distinfo @@ -0,0 +1,2 @@ +SHA256 (re2c-0.14.3.tar.gz) = 1c6806df599f3aef0804b576cfdf64bdba5ad590626dfca2d44e473460917e84 +SIZE (re2c-0.14.3.tar.gz) = 2576859 diff --git a/devel/re2c/pkg-descr b/devel/re2c/pkg-descr new file mode 100644 index 00000000..f6355bc2 --- /dev/null +++ b/devel/re2c/pkg-descr @@ -0,0 +1,8 @@ +re2c is a tool for generating C-based recognizers from regular +expressions. re2c-based scanners are efficient: for programming +languages, given similar specifications, an re2c-based scanner is +typically almost twice as fast as a flex-based scanner with little or no +increase in size (possibly a decrease on cisc architectures). Indeed, +re2c-based scanners are quite competitive with hand-crafted ones. + +WWW: http://re2c.sourceforge.net/ diff --git a/lang/python310/Makefile b/lang/python310/Makefile new file mode 100644 index 00000000..88a8cc2b --- /dev/null +++ b/lang/python310/Makefile @@ -0,0 +1,69 @@ +# +# $Id: Makefile 2493 2009-09-19 15:10:11Z root $ +# $URL: file:///usr2/svn/ports5/lang/python25/Makefile $ +# + +PORTNAME= python +PORTVERSION= 3.10.16 +CATEGORIES= lang python +MASTER_SITES= PYTHON +MASTER_SITE_SUBDIR= ftp/python/${PORTVERSION} +DISTNAME= Python-${PORTVERSION} +DIST_SUBDIR= python +PKGNAMESUFFIX= 310 + +MAINTAINER= onborodin@gmail.com +COMMENT= An interpreted object-oriented programming language + +#LIB_DEPENDS+= libsqlite3.so:data/sqlite3 +LIB_DEPENDS+= libexpat.so:text/libexpat +LIB_DEPENDS+= libffi.so:devel/libffi +LIB_DEPENDS+= libintl.so:devel/gettext + + +GNU_CONFIGURE= yes +INSTALLS_SHLIB= yes + +USES+= gmake tar:xz + +CONFIGURE_ENV= OPT="${CFLAGS}" SVNVERSION="echo freebsd" +MAKE_ENV= VPATH="${PYTHON_WRKSRC}" + +CONFIGURE_ARGS= --enable-ipv6 +CONFIGURE_ARGS+= --with-system-expat +CONFIGURE_ARGS+= --enable-shared +CONFIGURE_ARGS+= --without-ensurepip +CONFIGURE_ARGS+= --with-system-ffi +CONFIGURE_ARGS+= --with-threads +CONFIGURE_ARGS+= --mandir=${PREFIX}/man +CPPFLAGS= -pthread +LDFLAGS+= -pthread + +CPPFLAGS+= -I${LOCALBASE}/include +LIBS+= -L${LOCALBASE}/lib -lintl + +DISABLED_EXTENSIONS= _sqlite3 _tkinter _gdbm nis +CONFIGURE_ENV+= OPT="" DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS}" +INSTALL_TARGET= altinstall + +VERSION_SHORT= ${PORTVERSION:R} +OSVERSION_MAJOR= ${OSVERSION:C/([0-9]?[0-9])([0-9][0-9])[0-9]{3}/\1/} + +PLIST_SUB= VERSION=${PORTVERSION:R} +PLIST_SUB+= OSMAJOR=${OSVERSION:C/([0-9]*)[0-9]{5}/\1/} +PLIST_SUB+= TARGET=freebsd${OSVERSION_MAJOR} + + +post-patch: + ${REINPLACE_CMD} -e '/SOVERSION/s,1.0,1,' ${WRKSRC}/configure + ${REINPLACE_CMD} -e 's|uuid/uuid.h|ignore_&|' ${WRKSRC}/configure + ${REINPLACE_CMD} -e '/find_library_file/ s|uuid|ignore_&|' ${WRKSRC}/setup.py + ${REINPLACE_CMD} -e 's|^\( *MULTIARCH=\).*--print-multiarch.*|\1|' ${WRKSRC}/configure + ${ECHO_CMD} '*disabled*' > ${WRKSRC}/Modules/Setup.local +.for _module in ${DISABLED_EXTENSIONS} + ${ECHO_CMD} ${_module} >> ${WRKSRC}/Modules/Setup.local +.endfor + +.include +#EOF + diff --git a/lang/python310/distinfo b/lang/python310/distinfo new file mode 100644 index 00000000..f1ffcf32 --- /dev/null +++ b/lang/python310/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1756388702 +SHA256 (python/Python-3.10.16.tar.xz) = bfb249609990220491a1b92850a07135ed0831e41738cf681d63cf01b2a8fbd1 +SIZE (python/Python-3.10.16.tar.xz) = 19610392 diff --git a/lang/python310/files/patch-Lib_distutils_command_install__lib.py b/lang/python310/files/patch-Lib_distutils_command_install__lib.py new file mode 100644 index 00000000..6e925311 --- /dev/null +++ b/lang/python310/files/patch-Lib_distutils_command_install__lib.py @@ -0,0 +1,41 @@ +From 9934ce31b8447667f71c211e559a8de71e8263db Mon Sep 17 00:00:00 2001 +From: Brendan Molloy +Date: Mon, 4 Jan 2016 23:14:06 +1100 +Subject: [PATCH] Check bytecode file actually exists and tests + +Should solve issue 20397, where using the --record argument results +in files that failed to generate bytecode files are added to the +record file nonetheless. +--- + Lib/distutils/command/install_lib.py | 17 +++++++++++++---- + Lib/distutils/tests/test_install_lib.py | 8 ++++++-- + 2 files changed, 19 insertions(+), 6 deletions(-) + +--- Lib/distutils/command/install_lib.py.orig 2015-12-07 01:39:07 UTC ++++ Lib/distutils/command/install_lib.py +@@ -164,12 +164,21 @@ class install_lib(Command): + ext = os.path.splitext(os.path.normcase(py_file))[1] + if ext != PYTHON_SOURCE_EXTENSION: + continue ++ + if self.compile: +- bytecode_files.append(importlib.util.cache_from_source( +- py_file, optimization='')) ++ candidate = importlib.util.cache_from_source( ++ py_file, optimization='') ++ ++ if os.path.isfile(candidate): ++ bytecode_files.append(candidate) ++ + if self.optimize > 0: +- bytecode_files.append(importlib.util.cache_from_source( +- py_file, optimization=self.optimize)) ++ candidate = importlib.util.cache_from_source( ++ py_file, optimization=self.optimize) ++ ++ if os.path.isfile(candidate): ++ bytecode_files.append(candidate) ++ + + return bytecode_files + diff --git a/lang/python310/files/patch-Lib_distutils_tests_test__install__lib.py b/lang/python310/files/patch-Lib_distutils_tests_test__install__lib.py new file mode 100644 index 00000000..c5531b92 --- /dev/null +++ b/lang/python310/files/patch-Lib_distutils_tests_test__install__lib.py @@ -0,0 +1,33 @@ +From 9934ce31b8447667f71c211e559a8de71e8263db Mon Sep 17 00:00:00 2001 +From: Brendan Molloy +Date: Mon, 4 Jan 2016 23:14:06 +1100 +Subject: [PATCH] Check bytecode file actually exists and tests + +Should solve issue 20397, where using the --record argument results +in files that failed to generate bytecode files are added to the +record file nonetheless. +--- + Lib/distutils/command/install_lib.py | 17 +++++++++++++---- + Lib/distutils/tests/test_install_lib.py | 8 ++++++-- + 2 files changed, 19 insertions(+), 6 deletions(-) + +--- Lib/distutils/tests/test_install_lib.py.orig 2015-12-07 01:39:07 UTC ++++ Lib/distutils/tests/test_install_lib.py +@@ -64,11 +64,15 @@ class InstallLibTestCase(support.Tempdir + cmd.distribution.ext_modules = [Extension('foo', ['xxx'])] + cmd.distribution.packages = ['spam'] + cmd.distribution.script_name = 'setup.py' ++ ++ # Create rubbish, uncompilable file ++ f = os.path.join(project_dir, 'spam', 'rubbish.py') ++ self.write_file(f, 'rubbish()') + + # get_outputs should return 4 elements: spam/__init__.py and .pyc, +- # foo.import-tag-abiflags.so / foo.pyd ++ # foo.import-tag-abiflags.so / foo.pyd and rubbish.py (no .pyc) + outputs = cmd.get_outputs() +- self.assertEqual(len(outputs), 4, outputs) ++ self.assertEqual(len(outputs), 5, outputs) + + def test_get_inputs(self): + project_dir, dist = self.create_dist() diff --git a/lang/python310/files/patch-Makefile.pre.in b/lang/python310/files/patch-Makefile.pre.in new file mode 100644 index 00000000..1262d9f1 --- /dev/null +++ b/lang/python310/files/patch-Makefile.pre.in @@ -0,0 +1,65 @@ +# Description: Remove duplicate CFLAGS, CPPFLAGS, LDFLAGS by stripping CONFIGURE_* +# Submitted by: koobs (r326729) +# TODO: Upstream +--- Makefile.pre.in.orig 2019-11-04 01:16:37 UTC ++++ Makefile.pre.in +@@ -80,7 +80,6 @@ MAKESETUP= $(srcdir)/Modules/makesetup + OPT= @OPT@ + BASECFLAGS= @BASECFLAGS@ + BASECPPFLAGS= @BASECPPFLAGS@ +-CONFIGURE_CFLAGS= @CFLAGS@ + # CFLAGS_NODIST is used for building the interpreter and stdlib C extensions. + # Use it when a compiler flag should _not_ be part of the distutils CFLAGS + # once Python is installed (Issue #21121). +@@ -89,18 +88,16 @@ CONFIGURE_CFLAGS_NODIST=@CFLAGS_NODIST@ + # Use it when a linker flag should _not_ be part of the distutils LDFLAGS + # once Python is installed (bpo-35257) + CONFIGURE_LDFLAGS_NODIST=@LDFLAGS_NODIST@ +-CONFIGURE_CPPFLAGS= @CPPFLAGS@ +-CONFIGURE_LDFLAGS= @LDFLAGS@ + # Avoid assigning CFLAGS, LDFLAGS, etc. so users can use them on the + # command line to append to these values without stomping the pre-set + # values. +-PY_CFLAGS= $(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) ++PY_CFLAGS= $(BASECFLAGS) $(OPT) $(CFLAGS) $(EXTRA_CFLAGS) + PY_CFLAGS_NODIST=$(CONFIGURE_CFLAGS_NODIST) $(CFLAGS_NODIST) -I$(srcdir)/Include/internal + # Both CPPFLAGS and LDFLAGS need to contain the shell's value for setup.py to + # be able to build extension modules using the directories specified in the + # environment variables +-PY_CPPFLAGS= $(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CONFIGURE_CPPFLAGS) $(CPPFLAGS) +-PY_LDFLAGS= $(CONFIGURE_LDFLAGS) $(LDFLAGS) ++PY_CPPFLAGS= $(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CPPFLAGS) ++PY_LDFLAGS= $(LDFLAGS) + PY_LDFLAGS_NODIST=$(CONFIGURE_LDFLAGS_NODIST) $(LDFLAGS_NODIST) + NO_AS_NEEDED= @NO_AS_NEEDED@ + SGI_ABI= @SGI_ABI@ +@@ -1269,14 +1266,6 @@ bininstall: altbininstall + else true; \ + fi + (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(EXE) python3$(EXE)) +- -if test "$(VERSION)" != "$(LDVERSION)"; then \ +- rm -f $(DESTDIR)$(BINDIR)/python$(VERSION)-config; \ +- (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(LDVERSION)-config python$(VERSION)-config); \ +- rm -f $(DESTDIR)$(LIBPC)/python-$(LDVERSION).pc; \ +- (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python-$(LDVERSION).pc); \ +- rm -f $(DESTDIR)$(LIBPC)/python-$(LDVERSION)-embed.pc; \ +- (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION)-embed.pc python-$(LDVERSION)-embed.pc); \ +- fi + -rm -f $(DESTDIR)$(BINDIR)/python3-config + (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python3-config) + -rm -f $(DESTDIR)$(LIBPC)/python3.pc +@@ -1580,6 +1569,14 @@ libainstall: @DEF_MAKE_RULE@ python-config + $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh + $(INSTALL_SCRIPT) python-config.py $(DESTDIR)$(LIBPL)/python-config.py + $(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(LDVERSION)-config ++ -if test "$(VERSION)" != "$(LDVERSION)"; then \ ++ rm -f $(DESTDIR)$(BINDIR)/python$(VERSION)-config; \ ++ (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(LDVERSION)-config python$(VERSION)-config); \ ++ rm -f $(DESTDIR)$(LIBPC)/python-$(LDVERSION).pc; \ ++ (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python-$(LDVERSION).pc); \ ++ rm -f $(DESTDIR)$(LIBPC)/python-$(LDVERSION)-embed.pc; \ ++ (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION)-embed.pc python-$(LDVERSION)-embed.pc); \ ++ fi + @if [ -s Modules/python.exp -a \ + "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \ + echo; echo "Installing support files for building shared extension modules on AIX:"; \ diff --git a/lang/python310/files/patch-Misc__python-config.sh.in b/lang/python310/files/patch-Misc__python-config.sh.in new file mode 100644 index 00000000..ebb0c6a5 --- /dev/null +++ b/lang/python310/files/patch-Misc__python-config.sh.in @@ -0,0 +1,11 @@ +--- Misc/python-config.sh.in.orig 2018-07-13 21:07:16 UTC ++++ Misc/python-config.sh.in +@@ -15,7 +15,7 @@ fi + # Returns the actual prefix where this script was installed to. + installed_prefix () + { +- RESULT=$(dirname $(cd $(dirname "$1") && pwd -P)) ++ RESULT=$(dirname $(cd $(dirname $(realpath "$1")) && pwd -P)) + if which readlink >/dev/null 2>&1 ; then + if readlink -f "$RESULT" >/dev/null 2>&1; then + RESULT=$(readlink -f "$RESULT") diff --git a/lang/python310/files/patch-Modules__socketmodule.c b/lang/python310/files/patch-Modules__socketmodule.c new file mode 100644 index 00000000..93ef3b78 --- /dev/null +++ b/lang/python310/files/patch-Modules__socketmodule.c @@ -0,0 +1,29 @@ +--- Modules/socketmodule.c ++++ Modules/socketmodule.c +@@ -1850,6 +1850,11 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args, + /* RDS sockets use sockaddr_in: fall-through */ + #endif /* AF_RDS */ + ++#ifdef AF_DIVERT ++ case AF_DIVERT: ++ /* FreeBSD divert(4) sockets use sockaddr_in: fall-through */ ++#endif /* AF_DIVERT */ ++ + case AF_INET: + { + struct maybe_idna host = {NULL, NULL}; +@@ -7628,6 +7633,14 @@ PyInit__socket(void) + PyModule_AddIntMacro(m, AF_SYSTEM); + #endif + ++/* FreeBSD divert(4) */ ++#ifdef PF_DIVERT ++ PyModule_AddIntMacro(m, PF_DIVERT); ++#endif ++#ifdef AF_DIVERT ++ PyModule_AddIntMacro(m, AF_DIVERT); ++#endif ++ + #ifdef AF_PACKET + PyModule_AddIntMacro(m, AF_PACKET); + #endif diff --git a/lang/python310/files/patch-configure b/lang/python310/files/patch-configure new file mode 100644 index 00000000..1890947c --- /dev/null +++ b/lang/python310/files/patch-configure @@ -0,0 +1,32 @@ +Disable the detection of includes and library from e2fsprogs-libuuid, which +introduces hidden dependency and breaks build + +--- configure.orig 2022-08-01 20:25:27 UTC ++++ configure +@@ -6625,7 +6625,7 @@ fi + + if test "$Py_LTO" = 'true' ; then + case $CC in +- *clang*) ++ *clang*|cc) + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}llvm-ar", so it can be a program name with args. +@@ -10123,7 +10123,7 @@ fi + # Dynamic linking for HP-UX + + # checks for uuid.h location +-for ac_header in uuid/uuid.h uuid.h ++for ac_header in uuid.h + do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` + ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +@@ -10141,7 +10141,7 @@ done + $as_echo_n "checking for uuid_generate_time_safe... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +-#include ++#include + int + main () + { diff --git a/lang/python310/files/pkg-message.in b/lang/python310/files/pkg-message.in new file mode 100644 index 00000000..286359c9 --- /dev/null +++ b/lang/python310/files/pkg-message.in @@ -0,0 +1,12 @@ +[ +{ type: install + message: <