From ecda81cb62094a963ef841b0c8d956336857916c Mon Sep 17 00:00:00 2001 From: Aleks Bunin Date: Fri, 25 Jun 2021 12:36:45 -0400 Subject: [PATCH 01/31] python@3.8: 3.8.10 + pip 21.1.2 and setuptools 57.0.0 Closes #127. Signed-off-by: Aleks Bunin <868842+sashkab@users.noreply.github.com> --- Formula/python@3.8.rb | 12 ++++++------ README.md | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Formula/python@3.8.rb b/Formula/python@3.8.rb index 81bb757..3c0ffef 100644 --- a/Formula/python@3.8.rb +++ b/Formula/python@3.8.rb @@ -1,8 +1,8 @@ class PythonAT38 < Formula desc "Interpreted, interactive, object-oriented programming language" homepage "https://www.python.org/" - url "https://www.python.org/ftp/python/3.8.8/Python-3.8.8.tar.xz" - sha256 "7c664249ff77e443d6ea0e4cf0e587eae918ca3c48d081d1915fe2a1f1bcc5cc" + url "https://www.python.org/ftp/python/3.8.10/Python-3.8.10.tar.xz" + sha256 "6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9" license "Python-2.0" livecheck do @@ -44,13 +44,13 @@ class PythonAT38 < Formula skip_clean "bin/pip3", "bin/pip-3.4", "bin/pip-3.5", "bin/pip-3.6", "bin/pip-3.7", "bin/pip-3.8" resource "setuptools" do - url "https://pypi.org/packages/source/s/setuptools/setuptools-53.0.0.tar.gz" - sha256 "1b18ef17d74ba97ac9c0e4b4265f123f07a8ae85d9cd093949fa056d3eeeead5" + url "https://pypi.org/packages/source/s/setuptools/setuptools-57.0.0.tar.gz" + sha256 "401cbf33a7bf817d08014d51560fc003b895c4cdc1a5b521ad2969e928a07535" end resource "pip" do - url "https://www.pypi.org/packages/source/p/pip/pip-21.0.1.tar.gz" - sha256 "99bbde183ec5ec037318e774b0d8ae0a64352fe53b2c7fd630be1d07e94f41e5" + url "https://www.pypi.org/packages/source/p/pip/pip-21.1.2.tar.gz" + sha256 "eb5df6b9ab0af50fe1098a52fd439b04730b6e066887ff7497357b9ebd19f79b" end resource "wheel" do diff --git a/README.md b/README.md index 8052d53..f922654 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Python Version | Latest revision ---------------|---------------- Python 3.6 | 3.6.13 Python 3.7 | 3.7.10 -Python 3.8 | 3.8.8 +Python 3.8 | 3.8.10 ## Installing formulae From 8c7b60472357f2a57b2c476519daf1db088b2f9f Mon Sep 17 00:00:00 2001 From: Aleks Bunin <868842+sashkab@users.noreply.github.com> Date: Fri, 25 Jun 2021 16:52:11 +0000 Subject: [PATCH 02/31] python@3.8: update 3.8.10 bottle. --- Formula/python@3.8.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Formula/python@3.8.rb b/Formula/python@3.8.rb index 3c0ffef..3faeaea 100644 --- a/Formula/python@3.8.rb +++ b/Formula/python@3.8.rb @@ -11,8 +11,8 @@ class PythonAT38 < Formula end bottle do - root_url "https://github.com/sashkab/homebrew-python/releases/download/python@3.8-3.8.8" - sha256 catalina: "801de2f653296f48e7fdb0019452378a0f8a67b09d175c527ad1c9faeac169ab" + root_url "https://github.com/sashkab/homebrew-python/releases/download/python@3.8-3.8.10" + sha256 catalina: "7e03eb2f607689311b9542c18e5e581640e509850ee7b58a2b948ca91cba34fd" end # setuptools remembers the build flags python is built with and uses them to From 94b985a891ce1f7b0d8501d081a4e8f3f8c5bc0f Mon Sep 17 00:00:00 2001 From: Aleks Bunin Date: Fri, 25 Jun 2021 12:40:44 -0400 Subject: [PATCH 03/31] python@3.8: use our own tcl-tk via homebrew/homebrew-core@4dc505d50de8ac02a9ab15dbcd4e74a2f590f210 --- Formula/python@3.8.rb | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/Formula/python@3.8.rb b/Formula/python@3.8.rb index 3faeaea..a2091cd 100644 --- a/Formula/python@3.8.rb +++ b/Formula/python@3.8.rb @@ -33,6 +33,7 @@ class PythonAT38 < Formula depends_on "openssl@1.1" depends_on "readline" depends_on "sqlite" + depends_on "tcl-tk" depends_on "xz" uses_from_macos "bzip2" @@ -97,14 +98,13 @@ def install # The setup.py looks at "-isysroot" to get the sysroot (and not at --sysroot) cflags << "-isysroot #{MacOS.sdk_path}" << "-I#{MacOS.sdk_path}/usr/include" ldflags << "-isysroot #{MacOS.sdk_path}" - # For the Xlib.h, Python needs this header dir with the system Tk - # Yep, this needs the absolute path where zlib needed a path relative - # to the SDK. - cflags << "-I#{MacOS.sdk_path}/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers" end # Avoid linking to libgcc https://mail.python.org/pipermail/python-dev/2012-February/116205.html args << "MACOSX_DEPLOYMENT_TARGET=#{MacOS.version.to_f}" + args << "--with-tcltk-includes=-I#{Formula["tcl-tk"].opt_include}" + args << "--with-tcltk-libs=-L#{Formula["tcl-tk"].opt_lib} -ltcl8.6 -ltk8.6" + # We want our readline! This is just to outsmart the detection code, # superenv makes cc always find includes/libs! inreplace "setup.py", @@ -239,9 +239,9 @@ def post_install # Help distutils find brewed stuff when building extensions include_dirs = [HOMEBREW_PREFIX/"include", Formula["openssl@1.1"].opt_include, - Formula["sqlite"].opt_include] + Formula["sqlite"].opt_include], Formula["tcl-tk"].opt_include library_dirs = [HOMEBREW_PREFIX/"lib", Formula["openssl@1.1"].opt_lib, - Formula["sqlite"].opt_lib] + Formula["sqlite"].opt_lib], Formula["tcl-tk"].opt_lib cfg = prefix/"Frameworks/Python.framework/Versions/#{xy}/lib/python#{xy}/distutils/distutils.cfg" @@ -318,9 +318,7 @@ def caveats system "#{bin}/python#{xy}", "-c", "import sqlite3" # Check if some other modules import. Then the linked libs are working. - # Temporary failure on macOS 11.1 due to https://bugs.python.org/issue42480 - # Reenable unconditionnaly once Apple fixes the Tcl/Tk issue - system "#{bin}/python#{xy}", "-c", "import tkinter; root = tkinter.Tk()" if MacOS.full_version < "11.1" + system "#{bin}/python#{xy}", "-c", "import tkinter; root = tkinter.Tk()" system "#{bin}/python#{xy}", "-c", "import _gdbm" system "#{bin}/python#{xy}", "-c", "import zlib" From ab4c1a6e08dca86b9050a6400aa36f923e5400be Mon Sep 17 00:00:00 2001 From: Aleks Bunin Date: Fri, 25 Jun 2021 12:46:16 -0400 Subject: [PATCH 04/31] python@3.8: build --with-system-libmpdec via homebrew/homebrew-core@079d29a1717c8b015bad4c78820521d700ed6b9f --- Formula/python@3.8.rb | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/Formula/python@3.8.rb b/Formula/python@3.8.rb index a2091cd..4d83db8 100644 --- a/Formula/python@3.8.rb +++ b/Formula/python@3.8.rb @@ -30,6 +30,7 @@ class PythonAT38 < Formula depends_on "pkg-config" => :build depends_on "gdbm" + depends_on "mpdecimal" depends_on "openssl@1.1" depends_on "readline" depends_on "sqlite" @@ -68,12 +69,23 @@ class PythonAT38 < Formula end end + # Link against libmpdec.so.3, update for mpdecimal.h symbol cleanup. + patch do + url "https://www.bytereef.org/contrib/decimal-3.8.diff" + sha256 "104083617f086375974908f619369cd64005d5ffc314038c31b8b49032280148" + end + def install # Unset these so that installing pip and setuptools puts them where we want # and not into some other Python the user has installed. ENV["PYTHONHOME"] = nil ENV["PYTHONPATH"] = nil + # Override the auto-detection in setup.py, which assumes a universal build. + on_macos do + ENV["PYTHON_DECIMAL_WITH_MACHINE"] = Hardware::CPU.arm? ? "uint128" : "x64" + end + xy = (buildpath/"configure.ac").read.slice(/PYTHON_VERSION, (3\.\d)/, 1) lib_cellar = prefix/"Frameworks/Python.framework/Versions/#{xy}/lib/python#{xy}" @@ -87,6 +99,7 @@ def install --without-ensurepip --with-dtrace --with-openssl=#{Formula["openssl@1.1"].opt_prefix} + --with-system-libmpdec ] cflags = ["-I#{HOMEBREW_PREFIX}/include"] @@ -317,7 +330,7 @@ def caveats # and it can occur that building sqlite silently fails if OSX's sqlite is used. system "#{bin}/python#{xy}", "-c", "import sqlite3" # Check if some other modules import. Then the linked libs are working. - + system "#{bin}/python#{xy}", "-c", "import _decimal" system "#{bin}/python#{xy}", "-c", "import tkinter; root = tkinter.Tk()" system "#{bin}/python#{xy}", "-c", "import _gdbm" From b00080fc566e598ac2e06dcb5fc4f38465be47f5 Mon Sep 17 00:00:00 2001 From: Aleks Bunin Date: Fri, 25 Jun 2021 12:50:05 -0400 Subject: [PATCH 05/31] python@3.8: upstream changes. homebrew/homebrew-core@c04a13a54e215283d43cc863f264d324c9780ace homebrew/homebrew-core@7e1dbbbc5d8a168d8a7593d7493394ab4c1a49d1 --- Formula/python@3.8.rb | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/Formula/python@3.8.rb b/Formula/python@3.8.rb index 4d83db8..9dab73d 100644 --- a/Formula/python@3.8.rb +++ b/Formula/python@3.8.rb @@ -17,14 +17,7 @@ class PythonAT38 < Formula # setuptools remembers the build flags python is built with and uses them to # build packages later. Xcode-only systems need different flags. - pour_bottle? do - reason <<~EOS - The bottle needs the Apple Command Line Tools to be installed. - You can install them, if desired, with: - xcode-select --install - EOS - satisfy { MacOS::CLT.installed? } - end + pour_bottle? only_if: :clt_installed keg_only :versioned_formula @@ -60,15 +53,6 @@ class PythonAT38 < Formula sha256 "e11eefd162658ea59a60a0f6c7d493a7190ea4b9a85e335b33489d9f17e0245e" end - # Remove this block when upstream backports arm64 compatibility to the 3.8 branch - if Hardware::CPU.arm? - # Upstream PRs #20171, #21114, #21224 and #21249 - patch do - url "https://raw.githubusercontent.com/Homebrew/formula-patches/cef51fde/python/3.8.7.patch" - sha256 "01ebca9fed99fd0b34abfd198e7d6137e3f851d9d1a07ded837b28c7998e810c" - end - end - # Link against libmpdec.so.3, update for mpdecimal.h symbol cleanup. patch do url "https://www.bytereef.org/contrib/decimal-3.8.diff" From 0d34b01290381f392827e50ad67f6390172aca54 Mon Sep 17 00:00:00 2001 From: Aleks Bunin Date: Fri, 25 Jun 2021 12:52:32 -0400 Subject: [PATCH 06/31] python@3.8: bump revision Closes #128. Signed-off-by: Aleks Bunin <868842+sashkab@users.noreply.github.com> --- Formula/python@3.8.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/Formula/python@3.8.rb b/Formula/python@3.8.rb index 9dab73d..74ef485 100644 --- a/Formula/python@3.8.rb +++ b/Formula/python@3.8.rb @@ -4,6 +4,7 @@ class PythonAT38 < Formula url "https://www.python.org/ftp/python/3.8.10/Python-3.8.10.tar.xz" sha256 "6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9" license "Python-2.0" + revision 1 livecheck do url "https://www.python.org/ftp/python/" From 2f09db4f599a16ce7d9bdb74d379815cc46ac79d Mon Sep 17 00:00:00 2001 From: Aleks Bunin <868842+sashkab@users.noreply.github.com> Date: Fri, 25 Jun 2021 17:49:06 +0000 Subject: [PATCH 07/31] python@3.8: update 3.8.10_1 bottle. --- Formula/python@3.8.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Formula/python@3.8.rb b/Formula/python@3.8.rb index 74ef485..a519f9e 100644 --- a/Formula/python@3.8.rb +++ b/Formula/python@3.8.rb @@ -12,8 +12,8 @@ class PythonAT38 < Formula end bottle do - root_url "https://github.com/sashkab/homebrew-python/releases/download/python@3.8-3.8.10" - sha256 catalina: "7e03eb2f607689311b9542c18e5e581640e509850ee7b58a2b948ca91cba34fd" + root_url "https://github.com/sashkab/homebrew-python/releases/download/python@3.8-3.8.10_1" + sha256 catalina: "f1599b103842da9fc1aad9bde1a021ec534fe5551b20a446aa28c24811fa9609" end # setuptools remembers the build flags python is built with and uses them to From 610caecc23d09cf3fbd81da55f08364494f4e709 Mon Sep 17 00:00:00 2001 From: Aleks Bunin Date: Tue, 29 Jun 2021 10:51:21 -0400 Subject: [PATCH 08/31] python@3.7: 3.7.11 Closes #130. Signed-off-by: Aleks Bunin <868842+sashkab@users.noreply.github.com> --- Formula/python@3.7.rb | 12 ++++++------ README.md | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Formula/python@3.7.rb b/Formula/python@3.7.rb index eb743b0..4b5cfd8 100644 --- a/Formula/python@3.7.rb +++ b/Formula/python@3.7.rb @@ -1,8 +1,8 @@ class PythonAT37 < Formula desc "Interpreted, interactive, object-oriented programming language" homepage "https://www.python.org/" - url "https://www.python.org/ftp/python/3.7.10/Python-3.7.10.tar.xz" - sha256 "f8d82e7572c86ec9d55c8627aae5040124fd2203af400c383c821b980306ee6b" + url "https://www.python.org/ftp/python/3.7.11/Python-3.7.11.tar.xz" + sha256 "ddb4196ab5c4f69e895920a422cb60d42b46e2de2b173ce7fd57f1435459a734" license "Python-2.0" livecheck do @@ -44,13 +44,13 @@ class PythonAT37 < Formula skip_clean "bin/pip3", "bin/pip-3.4", "bin/pip-3.5", "bin/pip-3.6", "bin/pip-3.7" resource "setuptools" do - url "https://pypi.org/packages/source/s/setuptools/setuptools-53.0.0.tar.gz" - sha256 "1b18ef17d74ba97ac9c0e4b4265f123f07a8ae85d9cd093949fa056d3eeeead5" + url "https://pypi.org/packages/source/s/setuptools/setuptools-57.0.0.tar.gz" + sha256 "401cbf33a7bf817d08014d51560fc003b895c4cdc1a5b521ad2969e928a07535" end resource "pip" do - url "https://www.pypi.org/packages/source/p/pip/pip-21.0.1.tar.gz" - sha256 "99bbde183ec5ec037318e774b0d8ae0a64352fe53b2c7fd630be1d07e94f41e5" + url "https://www.pypi.org/packages/source/p/pip/pip-21.1.2.tar.gz" + sha256 "eb5df6b9ab0af50fe1098a52fd439b04730b6e066887ff7497357b9ebd19f79b" end resource "wheel" do diff --git a/README.md b/README.md index f922654..af06409 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ This [Homebrew](http://brew.sh) tap provides formulae to install multiple Python Python Version | Latest revision ---------------|---------------- Python 3.6 | 3.6.13 -Python 3.7 | 3.7.10 +Python 3.7 | 3.7.11 Python 3.8 | 3.8.10 ## Installing formulae From 03a0c25b5bed66385f6f815b369ebfe73abfdbcc Mon Sep 17 00:00:00 2001 From: Aleks Bunin <868842+sashkab@users.noreply.github.com> Date: Wed, 30 Jun 2021 02:27:37 +0000 Subject: [PATCH 09/31] python@3.7: update 3.7.11 bottle. --- Formula/python@3.7.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Formula/python@3.7.rb b/Formula/python@3.7.rb index 4b5cfd8..8fce643 100644 --- a/Formula/python@3.7.rb +++ b/Formula/python@3.7.rb @@ -11,8 +11,8 @@ class PythonAT37 < Formula end bottle do - root_url "https://github.com/sashkab/homebrew-python/releases/download/python@3.7-3.7.10" - sha256 catalina: "9d491882b64f3c5287bffd6537ea3ecd0dfaa5f9b6c2f99c5418d75c8c3ca7de" + root_url "https://github.com/sashkab/homebrew-python/releases/download/python@3.7-3.7.11" + sha256 catalina: "c7345395511e0076758b82118aebbd9ddd11d14312869ec1645f440d40adf922" end # setuptools remembers the build flags python is built with and uses them to From 02bdd92e2c762c29c5b26762767bcaadd66609a3 Mon Sep 17 00:00:00 2001 From: Aleks Bunin Date: Tue, 29 Jun 2021 10:52:45 -0400 Subject: [PATCH 10/31] python@3.8: 3.8.11 Closes #131. Signed-off-by: Aleks Bunin <868842+sashkab@users.noreply.github.com> --- Formula/python@3.8.rb | 5 ++--- README.md | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Formula/python@3.8.rb b/Formula/python@3.8.rb index a519f9e..5630e0a 100644 --- a/Formula/python@3.8.rb +++ b/Formula/python@3.8.rb @@ -1,10 +1,9 @@ class PythonAT38 < Formula desc "Interpreted, interactive, object-oriented programming language" homepage "https://www.python.org/" - url "https://www.python.org/ftp/python/3.8.10/Python-3.8.10.tar.xz" - sha256 "6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9" + url "https://www.python.org/ftp/python/3.8.11/Python-3.8.11.tar.xz" + sha256 "fb1a1114ebfe9e97199603c6083e20b236a0e007a2c51f29283ffb50c1420fb2" license "Python-2.0" - revision 1 livecheck do url "https://www.python.org/ftp/python/" diff --git a/README.md b/README.md index af06409..dfb5dc3 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Python Version | Latest revision ---------------|---------------- Python 3.6 | 3.6.13 Python 3.7 | 3.7.11 -Python 3.8 | 3.8.10 +Python 3.8 | 3.8.11 ## Installing formulae From a906a4f4530e961d5c4b26f7e2234d8a514b115f Mon Sep 17 00:00:00 2001 From: Aleks Bunin <868842+sashkab@users.noreply.github.com> Date: Wed, 30 Jun 2021 15:13:45 +0000 Subject: [PATCH 11/31] python@3.8: update 3.8.11 bottle. --- Formula/python@3.8.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Formula/python@3.8.rb b/Formula/python@3.8.rb index 5630e0a..92b6dbb 100644 --- a/Formula/python@3.8.rb +++ b/Formula/python@3.8.rb @@ -11,8 +11,8 @@ class PythonAT38 < Formula end bottle do - root_url "https://github.com/sashkab/homebrew-python/releases/download/python@3.8-3.8.10_1" - sha256 catalina: "f1599b103842da9fc1aad9bde1a021ec534fe5551b20a446aa28c24811fa9609" + root_url "https://github.com/sashkab/homebrew-python/releases/download/python@3.8-3.8.11" + sha256 catalina: "4ecf55b69608bed8852a0a58817faed03dd2fd2900c1671ccfd7feb4c15803ab" end # setuptools remembers the build flags python is built with and uses them to From d03c6d6062177f849cbc939373b967a2bce949a8 Mon Sep 17 00:00:00 2001 From: Aleks Bunin Date: Fri, 30 Jul 2021 11:26:34 -0400 Subject: [PATCH 12/31] python@3.8: sync to upstream; update pip and setuptools Closes #132. Signed-off-by: Aleks Bunin <868842+sashkab@users.noreply.github.com> --- Formula/python@3.8.rb | 100 ++++++++++++++++++++++++------------------ 1 file changed, 57 insertions(+), 43 deletions(-) diff --git a/Formula/python@3.8.rb b/Formula/python@3.8.rb index 92b6dbb..dd04fcf 100644 --- a/Formula/python@3.8.rb +++ b/Formula/python@3.8.rb @@ -34,18 +34,21 @@ class PythonAT38 < Formula uses_from_macos "libffi" uses_from_macos "ncurses" uses_from_macos "unzip" + uses_from_macos "xz" uses_from_macos "zlib" skip_clean "bin/pip3", "bin/pip-3.4", "bin/pip-3.5", "bin/pip-3.6", "bin/pip-3.7", "bin/pip-3.8" + skip_clean "bin/easy_install3", "bin/easy_install-3.4", "bin/easy_install-3.5", "bin/easy_install-3.6", + "bin/easy_install-3.7", "bin/easy_install-3.8" resource "setuptools" do - url "https://pypi.org/packages/source/s/setuptools/setuptools-57.0.0.tar.gz" - sha256 "401cbf33a7bf817d08014d51560fc003b895c4cdc1a5b521ad2969e928a07535" + url "https://pypi.org/packages/source/s/setuptools/setuptools-57.4.0.tar.gz" + sha256 "6bac238ffdf24e8806c61440e755192470352850f3419a52f26ffe0a1a64f465" end resource "pip" do - url "https://www.pypi.org/packages/source/p/pip/pip-21.1.2.tar.gz" - sha256 "eb5df6b9ab0af50fe1098a52fd439b04730b6e066887ff7497357b9ebd19f79b" + url "https://www.pypi.org/packages/source/p/pip/pip-21.2.1.tar.gz" + sha256 "303a82aaa24cdc01f7ebbd1afc7d1b871a4aa0a88bb5bedef1fa86a3ee44ca0a" end resource "wheel" do @@ -59,6 +62,19 @@ class PythonAT38 < Formula sha256 "104083617f086375974908f619369cd64005d5ffc314038c31b8b49032280148" end + def lib_cellar + prefix/"Frameworks/Python.framework/Versions/#{version.major_minor}/lib/python#{version.major_minor}" + end + + def site_packages_cellar + lib_cellar/"site-packages" + end + + # The HOMEBREW_PREFIX location of site-packages. + def site_packages + HOMEBREW_PREFIX/"lib/python#{version.major_minor}/site-packages" + end + def install # Unset these so that installing pip and setuptools puts them where we want # and not into some other Python the user has installed. @@ -70,9 +86,6 @@ def install ENV["PYTHON_DECIMAL_WITH_MACHINE"] = Hardware::CPU.arm? ? "uint128" : "x64" end - xy = (buildpath/"configure.ac").read.slice(/PYTHON_VERSION, (3\.\d)/, 1) - lib_cellar = prefix/"Frameworks/Python.framework/Versions/#{xy}/lib/python#{xy}" - args = %W[ --prefix=#{prefix} --enable-ipv6 @@ -86,18 +99,25 @@ def install --with-system-libmpdec ] - cflags = ["-I#{HOMEBREW_PREFIX}/include"] - ldflags = ["-L#{HOMEBREW_PREFIX}/lib"] - cppflags = ["-I#{HOMEBREW_PREFIX}/include"] + # Python re-uses flags when building native modules. + # Since we don't want native modules prioritizing the brew + # include path, we move them to [C|LD]FLAGS_NODIST. + # Note: Changing CPPFLAGS causes issues with dbm, so we + # leave it as-is. + cflags = [] + cflags_nodist = ["-I#{HOMEBREW_PREFIX}/include"] + ldflags = [] + ldflags_nodist = ["-L#{HOMEBREW_PREFIX}/lib", "-Wl,-rpath,#{HOMEBREW_PREFIX}/lib"] + cppflags = ["-I#{HOMEBREW_PREFIX}/include"] if MacOS.sdk_path_if_needed # Help Python's build system (setuptools/pip) to build things on SDK-based systems # The setup.py looks at "-isysroot" to get the sysroot (and not at --sysroot) - cflags << "-isysroot #{MacOS.sdk_path}" << "-I#{MacOS.sdk_path}/usr/include" + cflags << "-isysroot #{MacOS.sdk_path}" ldflags << "-isysroot #{MacOS.sdk_path}" end # Avoid linking to libgcc https://mail.python.org/pipermail/python-dev/2012-February/116205.html - args << "MACOSX_DEPLOYMENT_TARGET=#{MacOS.version.to_f}" + args << "MACOSX_DEPLOYMENT_TARGET=#{MacOS.version}" args << "--with-tcltk-includes=-I#{Formula["tcl-tk"].opt_include}" args << "--with-tcltk-libs=-L#{Formula["tcl-tk"].opt_lib} -ltcl8.6 -ltk8.6" @@ -106,7 +126,7 @@ def install # superenv makes cc always find includes/libs! inreplace "setup.py", "do_readline = self.compiler.find_library_file(self.lib_dirs, 'readline')", - "do_readline = '#{Formula["readline"].opt_lib}/libhistory.dylib'" + "do_readline = '#{Formula["readline"].opt_lib}/#{shared_library("libhistory")}'" inreplace "setup.py" do |s| s.gsub! "sqlite_setup_debug = False", "sqlite_setup_debug = True" @@ -124,7 +144,9 @@ def install end args << "CFLAGS=#{cflags.join(" ")}" unless cflags.empty? + args << "CFLAGS_NODIST=#{cflags_nodist.join(" ")}" unless cflags_nodist.empty? args << "LDFLAGS=#{ldflags.join(" ")}" unless ldflags.empty? + args << "LDFLAGS_NODIST=#{ldflags_nodist.join(" ")}" unless ldflags_nodist.empty? args << "CPPFLAGS=#{cppflags.join(" ")}" unless cppflags.empty? system "./configure", *args @@ -156,10 +178,10 @@ def install "\\1'#{opt_prefix}/Frameworks/\\2'" # Symlink the pkgconfig files into HOMEBREW_PREFIX so they're accessible. - (lib/"pkgconfig").install_symlink Dir["#{frameworks}/Python.framework/Versions/#{xy}/lib/pkgconfig/*"] + (lib/"pkgconfig").install_symlink Dir["#{frameworks}/Python.framework/Versions/#{version.major_minor}/lib/pkgconfig/*"] # Remove the site-packages that Python created in its Cellar. - (prefix/"Frameworks/Python.framework/Versions/#{xy}/lib/python#{xy}/site-packages").rmtree + site_packages_cellar.rmtree %w[setuptools pip wheel].each do |r| (libexec/r).install resource(r) @@ -184,14 +206,10 @@ def install def post_install ENV.delete "PYTHONPATH" - xy = (prefix/"Frameworks/Python.framework/Versions").children.min.basename.to_s - site_packages = HOMEBREW_PREFIX/"lib/python#{xy}/site-packages" - site_packages_cellar = prefix/"Frameworks/Python.framework/Versions/#{xy}/lib/python#{xy}/site-packages" - # Fix up the site-packages so that user-installed Python software survives # minor updates, such as going from 3.3.2 to 3.3.3: - # Create a site-packages in HOMEBREW_PREFIX/lib/python#{xy}/site-packages + # Create a site-packages in HOMEBREW_PREFIX/lib/python#{version.major_minor}/site-packages site_packages.mkpath # Symlink the prefix site-packages into the cellar. @@ -220,7 +238,7 @@ def post_install end end - rm_rf [bin/"pip"] + rm_rf [bin/"pip", bin/"easy_install"] mv bin/"wheel", bin/"wheel3" # Create symlink python3 -> python3.8 (due to use of altinstall and conflict with python@3.8 formulae) @@ -240,7 +258,7 @@ def post_install library_dirs = [HOMEBREW_PREFIX/"lib", Formula["openssl@1.1"].opt_lib, Formula["sqlite"].opt_lib], Formula["tcl-tk"].opt_lib - cfg = prefix/"Frameworks/Python.framework/Versions/#{xy}/lib/python#{xy}/distutils/distutils.cfg" + cfg = lib_cellar/"distutils/distutils.cfg" cfg.atomic_write <<~EOS [install] @@ -252,8 +270,6 @@ def post_install end def sitecustomize - xy = (prefix/"Frameworks/Python.framework/Versions").children.min.basename.to_s - <<~EOS # This file is created by Homebrew and is executed on each python startup. # Don't print from here, or else python command line scripts may fail! @@ -273,53 +289,51 @@ def sitecustomize # Only do this for a brewed python: if os.path.realpath(sys.executable).startswith('#{rack}'): # Shuffle /Library site-packages to the end of sys.path - library_site = '/Library/Python/#{xy}/site-packages' + library_site = '/Library/Python/#{version.major_minor}/site-packages' library_packages = [p for p in sys.path if p.startswith(library_site)] sys.path = [p for p in sys.path if not p.startswith(library_site)] # .pth files have already been processed so don't use addsitedir sys.path.extend(library_packages) # the Cellar site-packages is a symlink to the HOMEBREW_PREFIX # site_packages; prefer the shorter paths - long_prefix = re.compile(r'#{rack}/[0-9\._abrc]+/Frameworks/Python\.framework/Versions/#{xy}/lib/python#{xy}/site-packages') - sys.path = [long_prefix.sub('#{HOMEBREW_PREFIX/"lib/python#{xy}/site-packages"}', p) for p in sys.path] + long_prefix = re.compile(r'#{rack}/[0-9\._abrc]+/Frameworks/Python\.framework/Versions/#{version.major_minor}/lib/python#{version.major_minor}/site-packages') + sys.path = [long_prefix.sub('#{HOMEBREW_PREFIX/"lib/python#{version.major_minor}/site-packages"}', p) for p in sys.path] # Set the sys.executable to use the opt_prefix. Only do this if PYTHONEXECUTABLE is not # explicitly set and we are not in a virtualenv: if 'PYTHONEXECUTABLE' not in os.environ and sys.prefix == sys.base_prefix: - sys.executable = '#{opt_bin}/python#{xy}' + sys.executable = '#{opt_bin}/python#{version.major_minor}' EOS end def caveats - xy = if prefix.exist? - (prefix/"Frameworks/Python.framework/Versions").children.min.basename.to_s - else - version.to_s.slice(/(3\.\d)/) || "3.8" - end <<~EOS Python has been installed as #{opt_bin}/python3.8 + Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to + `python3`, `python3-config`, `pip3` etc., respectively, have been installed into + #{opt_libexec}/bin + You can install Python packages with - #{opt_bin}/pip3.8 install + #{opt_bin}/pip3 install They will install into the site-package directory - #{prefix/"Frameworks/Python.framework/Versions/#{xy}/lib/python#{xy}/site-packages"} + #{HOMEBREW_PREFIX/"lib/python#{version.major_minor}/site-packages"} See: https://docs.brew.sh/Homebrew-and-Python EOS end test do - xy = (prefix/"Frameworks/Python.framework/Versions").children.min.basename.to_s # Check if sqlite is ok, because we build with --enable-loadable-sqlite-extensions # and it can occur that building sqlite silently fails if OSX's sqlite is used. - system "#{bin}/python#{xy}", "-c", "import sqlite3" + system "#{bin}/python#{version.major_minor}", "-c", "import sqlite3" # Check if some other modules import. Then the linked libs are working. - system "#{bin}/python#{xy}", "-c", "import _decimal" - system "#{bin}/python#{xy}", "-c", "import tkinter; root = tkinter.Tk()" + system "#{bin}/python#{version.major_minor}", "-c", "import _decimal" + system "#{bin}/python#{version.major_minor}", "-c", "import tkinter; root = tkinter.Tk()" - system "#{bin}/python#{xy}", "-c", "import _gdbm" - system "#{bin}/python#{xy}", "-c", "import zlib" - system "#{bin}/python#{xy}", "-c", "import ssl" - system bin/"pip3.8", "list", "--format=columns" + system "#{bin}/python#{version.major_minor}", "-c", "import _gdbm" + system "#{bin}/python#{version.major_minor}", "-c", "import zlib" + system "#{bin}/python#{version.major_minor}", "-c", "import ssl" + system "#{bin}/pip#{version.major_minor}", "list", "--format=columns" end end From 2f48f744a99b303bf3df2ed4336b362c0021075b Mon Sep 17 00:00:00 2001 From: Aleks Bunin <868842+sashkab@users.noreply.github.com> Date: Fri, 30 Jul 2021 15:50:35 +0000 Subject: [PATCH 13/31] python@3.8: update 3.8.11 bottle. --- Formula/python@3.8.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Formula/python@3.8.rb b/Formula/python@3.8.rb index dd04fcf..cfe3970 100644 --- a/Formula/python@3.8.rb +++ b/Formula/python@3.8.rb @@ -12,7 +12,8 @@ class PythonAT38 < Formula bottle do root_url "https://github.com/sashkab/homebrew-python/releases/download/python@3.8-3.8.11" - sha256 catalina: "4ecf55b69608bed8852a0a58817faed03dd2fd2900c1671ccfd7feb4c15803ab" + rebuild 1 + sha256 catalina: "9b0407a4a03426bca859be5c39f41500940330394fbacc5bf6dbc3be56e25093" end # setuptools remembers the build flags python is built with and uses them to From 0b9e43c24758f1ed797c9618628db2295050c596 Mon Sep 17 00:00:00 2001 From: Aleks Bunin Date: Tue, 29 Jun 2021 10:49:48 -0400 Subject: [PATCH 14/31] python@3.6: 3.6.14 Closes #129. Signed-off-by: Aleks Bunin <868842+sashkab@users.noreply.github.com> --- Formula/python@3.6.rb | 12 ++++++------ README.md | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Formula/python@3.6.rb b/Formula/python@3.6.rb index 2ad0a4a..7fa55b8 100644 --- a/Formula/python@3.6.rb +++ b/Formula/python@3.6.rb @@ -1,8 +1,8 @@ class PythonAT36 < Formula desc "Interpreted, interactive, object-oriented programming language" homepage "https://www.python.org/" - url "https://www.python.org/ftp/python/3.6.13/Python-3.6.13.tar.xz" - sha256 "a47a43a53abb42286a2c11965343ff56711b9e64e8d11bf2c6701a4fb8ce1a0f" + url "https://www.python.org/ftp/python/3.6.14/Python-3.6.14.tar.xz" + sha256 "2663a7a0cfbd00fc76269dce4317db0b54be53c0f4d705aabb32b87efa02d5ae" license "Python-2.0" head "https://github.com/python/cpython.git", branch: "3.6" @@ -39,13 +39,13 @@ class PythonAT36 < Formula skip_clean "bin/pip3", "bin/pip-3.4", "bin/pip-3.5", "bin/pip-3.6" resource "setuptools" do - url "https://pypi.org/packages/source/s/setuptools/setuptools-53.0.0.tar.gz" - sha256 "1b18ef17d74ba97ac9c0e4b4265f123f07a8ae85d9cd093949fa056d3eeeead5" + url "https://pypi.org/packages/source/s/setuptools/setuptools-57.0.0.tar.gz" + sha256 "401cbf33a7bf817d08014d51560fc003b895c4cdc1a5b521ad2969e928a07535" end resource "pip" do - url "https://www.pypi.org/packages/source/p/pip/pip-21.0.1.tar.gz" - sha256 "99bbde183ec5ec037318e774b0d8ae0a64352fe53b2c7fd630be1d07e94f41e5" + url "https://www.pypi.org/packages/source/p/pip/pip-21.1.2.tar.gz" + sha256 "eb5df6b9ab0af50fe1098a52fd439b04730b6e066887ff7497357b9ebd19f79b" end resource "wheel" do diff --git a/README.md b/README.md index dfb5dc3..9b959e8 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This [Homebrew](http://brew.sh) tap provides formulae to install multiple Python Python Version | Latest revision ---------------|---------------- -Python 3.6 | 3.6.13 +Python 3.6 | 3.6.14 Python 3.7 | 3.7.11 Python 3.8 | 3.8.11 From d57a6c531146fffe1256b10e40f0b99b92fadfab Mon Sep 17 00:00:00 2001 From: Aleks Bunin <868842+sashkab@users.noreply.github.com> Date: Fri, 30 Jul 2021 16:15:46 +0000 Subject: [PATCH 15/31] python@3.6: update 3.6.14 bottle. --- Formula/python@3.6.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Formula/python@3.6.rb b/Formula/python@3.6.rb index 7fa55b8..321d6c5 100644 --- a/Formula/python@3.6.rb +++ b/Formula/python@3.6.rb @@ -12,8 +12,8 @@ class PythonAT36 < Formula end bottle do - root_url "https://github.com/sashkab/homebrew-python/releases/download/python@3.6-3.6.13" - sha256 catalina: "5c09ac2b3105a674c1e3f9ea0289134f932f26b152e6713cd233fca2032f5fcb" + root_url "https://github.com/sashkab/homebrew-python/releases/download/python@3.6-3.6.14" + sha256 catalina: "887ca2f38ab382f2488857251e4f53f7ea99272e8e624039ce0f98b6ecf21bc0" end # setuptools remembers the build flags python is built with and uses them to From 657c3866a950038736e12105794652693ffcdfe4 Mon Sep 17 00:00:00 2001 From: Aleks Bunin Date: Tue, 31 Aug 2021 11:18:32 -0400 Subject: [PATCH 16/31] python@3.8: 3.8.12 + pip 21.2.4 and wheel 0.37.0 Closes #133. Signed-off-by: Aleks Bunin <868842+sashkab@users.noreply.github.com> --- Formula/python@3.8.rb | 12 ++++++------ README.md | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Formula/python@3.8.rb b/Formula/python@3.8.rb index cfe3970..84fc33d 100644 --- a/Formula/python@3.8.rb +++ b/Formula/python@3.8.rb @@ -1,8 +1,8 @@ class PythonAT38 < Formula desc "Interpreted, interactive, object-oriented programming language" homepage "https://www.python.org/" - url "https://www.python.org/ftp/python/3.8.11/Python-3.8.11.tar.xz" - sha256 "fb1a1114ebfe9e97199603c6083e20b236a0e007a2c51f29283ffb50c1420fb2" + url "https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tar.xz" + sha256 "b1d3a76420375343b5e8a22fceb1ac65b77193e9ed27146524f0a9db058728ea" license "Python-2.0" livecheck do @@ -48,13 +48,13 @@ class PythonAT38 < Formula end resource "pip" do - url "https://www.pypi.org/packages/source/p/pip/pip-21.2.1.tar.gz" - sha256 "303a82aaa24cdc01f7ebbd1afc7d1b871a4aa0a88bb5bedef1fa86a3ee44ca0a" + url "https://www.pypi.org/packages/source/p/pip/pip-21.2.4.tar.gz" + sha256 "0eb8a1516c3d138ae8689c0c1a60fde7143310832f9dc77e11d8a4bc62de193b" end resource "wheel" do - url "https://pypi.org/packages/source/w/wheel/wheel-0.36.2.tar.gz" - sha256 "e11eefd162658ea59a60a0f6c7d493a7190ea4b9a85e335b33489d9f17e0245e" + url "https://pypi.org/packages/source/w/wheel/wheel-0.37.0.tar.gz" + sha256 "e2ef7239991699e3355d54f8e968a21bb940a1dbf34a4d226741e64462516fad" end # Link against libmpdec.so.3, update for mpdecimal.h symbol cleanup. diff --git a/README.md b/README.md index 9b959e8..39fd0c6 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Python Version | Latest revision ---------------|---------------- Python 3.6 | 3.6.14 Python 3.7 | 3.7.11 -Python 3.8 | 3.8.11 +Python 3.8 | 3.8.12 ## Installing formulae From d4626558e5c8cf889a257dc3f854ddb7a562e30a Mon Sep 17 00:00:00 2001 From: Aleks Bunin <868842+sashkab@users.noreply.github.com> Date: Tue, 31 Aug 2021 16:03:29 +0000 Subject: [PATCH 17/31] python@3.8: update 3.8.12 bottle. --- Formula/python@3.8.rb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Formula/python@3.8.rb b/Formula/python@3.8.rb index 84fc33d..e8863f1 100644 --- a/Formula/python@3.8.rb +++ b/Formula/python@3.8.rb @@ -11,9 +11,8 @@ class PythonAT38 < Formula end bottle do - root_url "https://github.com/sashkab/homebrew-python/releases/download/python@3.8-3.8.11" - rebuild 1 - sha256 catalina: "9b0407a4a03426bca859be5c39f41500940330394fbacc5bf6dbc3be56e25093" + root_url "https://github.com/sashkab/homebrew-python/releases/download/python@3.8-3.8.12" + sha256 catalina: "cd35443783c8e81d5cbd96ebbb1daf41dc47e68082bf8a03a91fde8b1b343aaf" end # setuptools remembers the build flags python is built with and uses them to From 7d1c89f028afe438441cef30edda5d7e398f48b1 Mon Sep 17 00:00:00 2001 From: Aleks Bunin Date: Wed, 8 Sep 2021 09:49:58 -0400 Subject: [PATCH 18/31] python@3.8: update style; update setuptools Closes #136. Signed-off-by: Aleks Bunin <868842+sashkab@users.noreply.github.com> --- Formula/python@3.8.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Formula/python@3.8.rb b/Formula/python@3.8.rb index e8863f1..71bb203 100644 --- a/Formula/python@3.8.rb +++ b/Formula/python@3.8.rb @@ -42,8 +42,8 @@ class PythonAT38 < Formula "bin/easy_install-3.7", "bin/easy_install-3.8" resource "setuptools" do - url "https://pypi.org/packages/source/s/setuptools/setuptools-57.4.0.tar.gz" - sha256 "6bac238ffdf24e8806c61440e755192470352850f3419a52f26ffe0a1a64f465" + url "https://pypi.org/packages/source/s/setuptools/setuptools-58.0.3.tar.gz" + sha256 "5e4c36f55012a46c1b3e4b67a8236d1d73856a90fc7b3207d29bedb7d2bac417" end resource "pip" do @@ -82,7 +82,7 @@ def install ENV["PYTHONPATH"] = nil # Override the auto-detection in setup.py, which assumes a universal build. - on_macos do + if OS.mac? ENV["PYTHON_DECIMAL_WITH_MACHINE"] = Hardware::CPU.arm? ? "uint128" : "x64" end From e3da0092054250ad9036692e35c085857e5cd7da Mon Sep 17 00:00:00 2001 From: Aleks Bunin <868842+sashkab@users.noreply.github.com> Date: Wed, 8 Sep 2021 14:09:08 +0000 Subject: [PATCH 19/31] python@3.8: update 3.8.12 bottle. --- Formula/python@3.8.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Formula/python@3.8.rb b/Formula/python@3.8.rb index 71bb203..8ae534e 100644 --- a/Formula/python@3.8.rb +++ b/Formula/python@3.8.rb @@ -12,7 +12,8 @@ class PythonAT38 < Formula bottle do root_url "https://github.com/sashkab/homebrew-python/releases/download/python@3.8-3.8.12" - sha256 catalina: "cd35443783c8e81d5cbd96ebbb1daf41dc47e68082bf8a03a91fde8b1b343aaf" + rebuild 1 + sha256 catalina: "b1d64ddeadc58543d0050ff609f709a48fcdaf9ca7ecf149e27f32e35773af69" end # setuptools remembers the build flags python is built with and uses them to From 1853eb583ea05050b33a49a03f493a3ff0290be1 Mon Sep 17 00:00:00 2001 From: Aleks Bunin Date: Wed, 8 Sep 2021 09:39:34 -0400 Subject: [PATCH 20/31] python@3.7: 3.7.12 Closes #135. Signed-off-by: Aleks Bunin <868842+sashkab@users.noreply.github.com> --- Formula/python@3.7.rb | 16 ++++++++-------- README.md | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Formula/python@3.7.rb b/Formula/python@3.7.rb index 8fce643..e6f6a72 100644 --- a/Formula/python@3.7.rb +++ b/Formula/python@3.7.rb @@ -1,8 +1,8 @@ class PythonAT37 < Formula desc "Interpreted, interactive, object-oriented programming language" homepage "https://www.python.org/" - url "https://www.python.org/ftp/python/3.7.11/Python-3.7.11.tar.xz" - sha256 "ddb4196ab5c4f69e895920a422cb60d42b46e2de2b173ce7fd57f1435459a734" + url "https://www.python.org/ftp/python/3.7.12/Python-3.7.12.tar.xz" + sha256 "f77bf7fb47839f213e5cbf7827281078ea90de7e72b44f10d7ef385ea8c43210" license "Python-2.0" livecheck do @@ -44,18 +44,18 @@ class PythonAT37 < Formula skip_clean "bin/pip3", "bin/pip-3.4", "bin/pip-3.5", "bin/pip-3.6", "bin/pip-3.7" resource "setuptools" do - url "https://pypi.org/packages/source/s/setuptools/setuptools-57.0.0.tar.gz" - sha256 "401cbf33a7bf817d08014d51560fc003b895c4cdc1a5b521ad2969e928a07535" + url "https://pypi.org/packages/source/s/setuptools/setuptools-58.0.3.tar.gz" + sha256 "5e4c36f55012a46c1b3e4b67a8236d1d73856a90fc7b3207d29bedb7d2bac417" end resource "pip" do - url "https://www.pypi.org/packages/source/p/pip/pip-21.1.2.tar.gz" - sha256 "eb5df6b9ab0af50fe1098a52fd439b04730b6e066887ff7497357b9ebd19f79b" + url "https://www.pypi.org/packages/source/p/pip/pip-21.2.4.tar.gz" + sha256 "0eb8a1516c3d138ae8689c0c1a60fde7143310832f9dc77e11d8a4bc62de193b" end resource "wheel" do - url "https://pypi.org/packages/source/w/wheel/wheel-0.36.2.tar.gz" - sha256 "e11eefd162658ea59a60a0f6c7d493a7190ea4b9a85e335b33489d9f17e0245e" + url "https://pypi.org/packages/source/w/wheel/wheel-0.37.0.tar.gz" + sha256 "e2ef7239991699e3355d54f8e968a21bb940a1dbf34a4d226741e64462516fad" end def install diff --git a/README.md b/README.md index 39fd0c6..e756fd2 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ This [Homebrew](http://brew.sh) tap provides formulae to install multiple Python Python Version | Latest revision ---------------|---------------- Python 3.6 | 3.6.14 -Python 3.7 | 3.7.11 +Python 3.7 | 3.7.12 Python 3.8 | 3.8.12 ## Installing formulae From 9ee50fbe8d62687fac161da2116b8dace44b1899 Mon Sep 17 00:00:00 2001 From: Aleks Bunin <868842+sashkab@users.noreply.github.com> Date: Wed, 8 Sep 2021 14:46:25 +0000 Subject: [PATCH 21/31] python@3.7: update 3.7.12 bottle. --- Formula/python@3.7.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Formula/python@3.7.rb b/Formula/python@3.7.rb index e6f6a72..43fef04 100644 --- a/Formula/python@3.7.rb +++ b/Formula/python@3.7.rb @@ -11,8 +11,8 @@ class PythonAT37 < Formula end bottle do - root_url "https://github.com/sashkab/homebrew-python/releases/download/python@3.7-3.7.11" - sha256 catalina: "c7345395511e0076758b82118aebbd9ddd11d14312869ec1645f440d40adf922" + root_url "https://github.com/sashkab/homebrew-python/releases/download/python@3.7-3.7.12" + sha256 catalina: "e1d2f2aa9b2b4f25f0a921f4b36c4e5240b45c0c9baea1cad6dfbba120bfba00" end # setuptools remembers the build flags python is built with and uses them to From b8339576711d9edcfa70d955e413d36532f2d2b1 Mon Sep 17 00:00:00 2001 From: Aleks Bunin Date: Wed, 8 Sep 2021 09:37:57 -0400 Subject: [PATCH 22/31] python@3.6: 3.6.15 Closes #134. Signed-off-by: Aleks Bunin <868842+sashkab@users.noreply.github.com> --- Formula/python@3.6.rb | 16 ++++++++-------- README.md | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Formula/python@3.6.rb b/Formula/python@3.6.rb index 321d6c5..f48b9ca 100644 --- a/Formula/python@3.6.rb +++ b/Formula/python@3.6.rb @@ -1,8 +1,8 @@ class PythonAT36 < Formula desc "Interpreted, interactive, object-oriented programming language" homepage "https://www.python.org/" - url "https://www.python.org/ftp/python/3.6.14/Python-3.6.14.tar.xz" - sha256 "2663a7a0cfbd00fc76269dce4317db0b54be53c0f4d705aabb32b87efa02d5ae" + url "https://www.python.org/ftp/python/3.6.15/Python-3.6.15.tar.xz" + sha256 "6e28d7cdd6dd513dd190e49bca3972e20fcf455090ccf2ef3f1a227614135d91" license "Python-2.0" head "https://github.com/python/cpython.git", branch: "3.6" @@ -39,18 +39,18 @@ class PythonAT36 < Formula skip_clean "bin/pip3", "bin/pip-3.4", "bin/pip-3.5", "bin/pip-3.6" resource "setuptools" do - url "https://pypi.org/packages/source/s/setuptools/setuptools-57.0.0.tar.gz" - sha256 "401cbf33a7bf817d08014d51560fc003b895c4cdc1a5b521ad2969e928a07535" + url "https://pypi.org/packages/source/s/setuptools/setuptools-58.0.3.tar.gz" + sha256 "5e4c36f55012a46c1b3e4b67a8236d1d73856a90fc7b3207d29bedb7d2bac417" end resource "pip" do - url "https://www.pypi.org/packages/source/p/pip/pip-21.1.2.tar.gz" - sha256 "eb5df6b9ab0af50fe1098a52fd439b04730b6e066887ff7497357b9ebd19f79b" + url "https://www.pypi.org/packages/source/p/pip/pip-21.2.4.tar.gz" + sha256 "0eb8a1516c3d138ae8689c0c1a60fde7143310832f9dc77e11d8a4bc62de193b" end resource "wheel" do - url "https://pypi.org/packages/source/w/wheel/wheel-0.36.2.tar.gz" - sha256 "e11eefd162658ea59a60a0f6c7d493a7190ea4b9a85e335b33489d9f17e0245e" + url "https://pypi.org/packages/source/w/wheel/wheel-0.37.0.tar.gz" + sha256 "e2ef7239991699e3355d54f8e968a21bb940a1dbf34a4d226741e64462516fad" end def install diff --git a/README.md b/README.md index e756fd2..64250da 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This [Homebrew](http://brew.sh) tap provides formulae to install multiple Python Python Version | Latest revision ---------------|---------------- -Python 3.6 | 3.6.14 +Python 3.6 | 3.6.15 Python 3.7 | 3.7.12 Python 3.8 | 3.8.12 From 085886c1866352de09b60e2d7a3587d17e9f3ae7 Mon Sep 17 00:00:00 2001 From: Aleks Bunin <868842+sashkab@users.noreply.github.com> Date: Thu, 9 Sep 2021 01:07:59 +0000 Subject: [PATCH 23/31] python@3.6: update 3.6.15 bottle. --- Formula/python@3.6.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Formula/python@3.6.rb b/Formula/python@3.6.rb index f48b9ca..05b3274 100644 --- a/Formula/python@3.6.rb +++ b/Formula/python@3.6.rb @@ -12,8 +12,8 @@ class PythonAT36 < Formula end bottle do - root_url "https://github.com/sashkab/homebrew-python/releases/download/python@3.6-3.6.14" - sha256 catalina: "887ca2f38ab382f2488857251e4f53f7ea99272e8e624039ce0f98b6ecf21bc0" + root_url "https://github.com/sashkab/homebrew-python/releases/download/python@3.6-3.6.15" + sha256 catalina: "bee89d6ec7a62d812bef244a28acf9bcd88cbde8d80d424bd89472882ddb5b4a" end # setuptools remembers the build flags python is built with and uses them to From 7ad14afd3a39b52fa87d557c190e78995d0b693a Mon Sep 17 00:00:00 2001 From: Aleks Bunin Date: Wed, 23 Mar 2022 10:28:39 -0400 Subject: [PATCH 24/31] Removed Python 3.6, as no longer supported --- Formula/python@3.6.rb | 320 ------------------------------------------ README.md | 1 - formula_renames.json | 1 - 3 files changed, 322 deletions(-) delete mode 100644 Formula/python@3.6.rb diff --git a/Formula/python@3.6.rb b/Formula/python@3.6.rb deleted file mode 100644 index 05b3274..0000000 --- a/Formula/python@3.6.rb +++ /dev/null @@ -1,320 +0,0 @@ -class PythonAT36 < Formula - desc "Interpreted, interactive, object-oriented programming language" - homepage "https://www.python.org/" - url "https://www.python.org/ftp/python/3.6.15/Python-3.6.15.tar.xz" - sha256 "6e28d7cdd6dd513dd190e49bca3972e20fcf455090ccf2ef3f1a227614135d91" - license "Python-2.0" - head "https://github.com/python/cpython.git", branch: "3.6" - - livecheck do - url "https://www.python.org/ftp/python/" - regex(%r{href=.*?v?(3\.6(?:\.\d+)*)/?["' >]}i) - end - - bottle do - root_url "https://github.com/sashkab/homebrew-python/releases/download/python@3.6-3.6.15" - sha256 catalina: "bee89d6ec7a62d812bef244a28acf9bcd88cbde8d80d424bd89472882ddb5b4a" - end - - # setuptools remembers the build flags python is built with and uses them to - # build packages later. Xcode-only systems need different flags. - pour_bottle? do - reason <<~EOS - The bottle needs the Apple Command Line Tools to be installed. - You can install them, if desired, with: - xcode-select --install - EOS - satisfy { MacOS::CLT.installed? } - end - - keg_only :versioned_formula - - depends_on "pkg-config" => :build - depends_on "gdbm" - depends_on "openssl@1.1" - depends_on "readline" - depends_on "sqlite" - depends_on "xz" - - skip_clean "bin/pip3", "bin/pip-3.4", "bin/pip-3.5", "bin/pip-3.6" - - resource "setuptools" do - url "https://pypi.org/packages/source/s/setuptools/setuptools-58.0.3.tar.gz" - sha256 "5e4c36f55012a46c1b3e4b67a8236d1d73856a90fc7b3207d29bedb7d2bac417" - end - - resource "pip" do - url "https://www.pypi.org/packages/source/p/pip/pip-21.2.4.tar.gz" - sha256 "0eb8a1516c3d138ae8689c0c1a60fde7143310832f9dc77e11d8a4bc62de193b" - end - - resource "wheel" do - url "https://pypi.org/packages/source/w/wheel/wheel-0.37.0.tar.gz" - sha256 "e2ef7239991699e3355d54f8e968a21bb940a1dbf34a4d226741e64462516fad" - end - - def install - # Unset these so that installing pip and setuptools puts them where we want - # and not into some other Python the user has installed. - ENV["PYTHONHOME"] = nil - ENV["PYTHONPATH"] = nil - - xy = (buildpath/"configure.ac").read.slice(/PYTHON_VERSION, (3\.\d)/, 1) - lib_cellar = prefix/"Frameworks/Python.framework/Versions/#{xy}/lib/python#{xy}" - - args = %W[ - --prefix=#{prefix} - --enable-ipv6 - --datarootdir=#{share} - --datadir=#{share} - --enable-framework=#{frameworks} - --enable-loadable-sqlite-extensions - --without-ensurepip - --with-dtrace - ] - - args << "--without-gcc" if ENV.compiler == :clang - - cflags = [] - ldflags = [] - cppflags = [] - - if MacOS.sdk_path_if_needed - # Help Python's build system (setuptools/pip) to build things on SDK-based systems - # The setup.py looks at "-isysroot" to get the sysroot (and not at --sysroot) - cflags << "-isysroot #{MacOS.sdk_path}" - ldflags << "-isysroot #{MacOS.sdk_path}" - - if DevelopmentTools.clang_build_version < 1000 - cflags << "-I/usr/include" # find zlib - end - - # For the Xlib.h, Python needs this header dir with the system Tk - # Yep, this needs the absolute path where zlib needed a path relative - # to the SDK. - cflags << "-I#{MacOS.sdk_path}/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers" - end - # Avoid linking to libgcc https://mail.python.org/pipermail/python-dev/2012-February/116205.html - args << "MACOSX_DEPLOYMENT_TARGET=#{MacOS.version.to_f}" - - # We want our readline and openssl@1.1! This is just to outsmart the detection code, - # superenv makes cc always find includes/libs! - inreplace "setup.py" do |s| - s.gsub! "do_readline = self.compiler.find_library_file(lib_dirs, 'readline')", - "do_readline = '#{Formula["readline"].opt_lib}/libhistory.dylib'" - s.gsub! "/usr/local/ssl", Formula["openssl@1.1"].opt_prefix - end - - inreplace "setup.py" do |s| - s.gsub! "sqlite_setup_debug = False", "sqlite_setup_debug = True" - s.gsub! "for d_ in inc_dirs + sqlite_inc_paths:", - "for d_ in ['#{Formula["sqlite"].opt_include}']:" - end - - # Allow python modules to use ctypes.find_library to find homebrew's stuff - # even if homebrew is not a /usr/local/lib. Try this with: - # `brew install enchant && pip install pyenchant` - inreplace "./Lib/ctypes/macholib/dyld.py" do |f| - f.gsub! "DEFAULT_LIBRARY_FALLBACK = [", "DEFAULT_LIBRARY_FALLBACK = [ '#{HOMEBREW_PREFIX}/lib'," - f.gsub! "DEFAULT_FRAMEWORK_FALLBACK = [", "DEFAULT_FRAMEWORK_FALLBACK = [ '#{HOMEBREW_PREFIX}/Frameworks'," - end - - args << "CFLAGS=#{cflags.join(" ")}" unless cflags.empty? - args << "LDFLAGS=#{ldflags.join(" ")}" unless ldflags.empty? - args << "CPPFLAGS=#{cppflags.join(" ")}" unless cppflags.empty? - - system "./configure", *args - system "make" - - ENV.deparallelize do - # Tell Python not to install into /Applications (default for framework builds) - system "make", "altinstall", "PYTHONAPPSDIR=#{prefix}" - system "make", "frameworkinstallextras", "PYTHONAPPSDIR=#{pkgshare}" - end - - # Any .app get a " 3" attached, so it does not conflict with python 2.x. - Dir.glob("#{prefix}/*.app") { |app| mv app, app.sub(/\.app$/, " 3.6.app") } - - # Prevent third-party packages from building against fragile Cellar paths - inreplace Dir[lib_cellar/"**/_sysconfigdata_m_darwin_darwin.py", - lib_cellar/"config*/Makefile", - frameworks/"Python.framework/Versions/3*/lib/pkgconfig/python-3.?.pc"], - prefix, opt_prefix - - # Help third-party packages find the Python framework - inreplace Dir[lib_cellar/"config*/Makefile"], - /^LINKFORSHARED=(.*)PYTHONFRAMEWORKDIR(.*)/, - "LINKFORSHARED=\\1PYTHONFRAMEWORKINSTALLDIR\\2" - - # Fix for https://github.com/Homebrew/homebrew-core/issues/21212 - inreplace Dir[lib_cellar/"**/_sysconfigdata_m_darwin_darwin.py"], - %r{('LINKFORSHARED': .*?)'(Python.framework/Versions/3.\d+/Python)'}m, - "\\1'#{opt_prefix}/Frameworks/\\2'" - - # A fix, because python and python3 both want to install Python.framework - # and therefore we can't link both into HOMEBREW_PREFIX/Frameworks - # https://github.com/Homebrew/homebrew/issues/15943 - ["Headers", "Python", "Resources"].each { |f| rm(prefix/"Frameworks/Python.framework/#{f}") } - rm prefix/"Frameworks/Python.framework/Versions/Current" - - # Symlink the pkgconfig files into HOMEBREW_PREFIX so they're accessible. - (lib/"pkgconfig").install_symlink Dir["#{frameworks}/Python.framework/Versions/#{xy}/lib/pkgconfig/*"] - - # Remove the site-packages that Python created in its Cellar. - (prefix/"Frameworks/Python.framework/Versions/#{xy}/lib/python#{xy}/site-packages").rmtree - - %w[setuptools pip wheel].each do |r| - (libexec/r).install resource(r) - end - - # Remove wheel test data. - # It's for people editing wheel and contains binaries which fail `brew linkage`. - rm libexec/"wheel/tox.ini" - rm_r libexec/"wheel/tests" - end - - def post_install - ENV.delete "PYTHONPATH" - - xy = (prefix/"Frameworks/Python.framework/Versions").children.min.basename.to_s - site_packages = HOMEBREW_PREFIX/"lib/python#{xy}/site-packages" - site_packages_cellar = prefix/"Frameworks/Python.framework/Versions/#{xy}/lib/python#{xy}/site-packages" - - # Fix up the site-packages so that user-installed Python software survives - # minor updates, such as going from 3.3.2 to 3.3.3: - - # Create a site-packages in HOMEBREW_PREFIX/lib/python#{xy}/site-packages - site_packages.mkpath - - # Symlink the prefix site-packages into the cellar. - site_packages_cellar.unlink if site_packages_cellar.exist? - site_packages_cellar.parent.install_symlink site_packages - - # Write our sitecustomize.py - rm_rf Dir["#{site_packages}/sitecustomize.py[co]"] - (site_packages/"sitecustomize.py").atomic_write(sitecustomize) - - # Remove old setuptools installations that may still fly around and be - # listed in the easy_install.pth. This can break setuptools build with - # zipimport.ZipImportError: bad local file header - # setuptools-0.9.8-py3.3.egg - rm_rf Dir["#{site_packages}/setuptools*"] - rm_rf Dir["#{site_packages}/distribute*"] - rm_rf Dir["#{site_packages}/pip[-_.][0-9]*", "#{site_packages}/pip"] - - %w[setuptools pip wheel].each do |pkg| - (libexec/pkg).cd do - system bin/"python3.6", "-s", "setup.py", "--no-user-cfg", "install", - "--force", "--verbose", "--install-scripts=#{bin}", - "--install-lib=#{site_packages}", - "--single-version-externally-managed", - "--record=installed.txt" - end - end - - rm_rf [bin/"pip"] - mv bin/"wheel", bin/"wheel3" - - # Install unversioned symlinks in libexec/bin. - { - "pip" => "pip3", - "wheel" => "wheel3", - }.each do |unversioned_name, versioned_name| - (libexec/"bin").install_symlink (bin/versioned_name).realpath => unversioned_name - end - - # post_install happens after link - %W[pip#{xy}].each do |e| - (HOMEBREW_PREFIX/"bin").install_symlink bin/e - end - - # Help distutils find brewed stuff when building extensions - include_dirs = [HOMEBREW_PREFIX/"include", Formula["openssl@1.1"].opt_include, - Formula["sqlite"].opt_include] - library_dirs = [HOMEBREW_PREFIX/"lib", Formula["openssl@1.1"].opt_lib, - Formula["sqlite"].opt_lib] - - cfg = prefix/"Frameworks/Python.framework/Versions/#{xy}/lib/python#{xy}/distutils/distutils.cfg" - - cfg.atomic_write <<~EOS - [install] - prefix=#{HOMEBREW_PREFIX} - - [build_ext] - include_dirs=#{include_dirs.join ":"} - library_dirs=#{library_dirs.join ":"} - EOS - end - - def sitecustomize - xy = (prefix/"Frameworks/Python.framework/Versions").children.min.basename.to_s - - <<~EOS - # This file is created by Homebrew and is executed on each python startup. - # Don't print from here, or else python command line scripts may fail! - # - import re - import os - import sys - - if sys.version_info[0] != 3: - # This can only happen if the user has set the PYTHONPATH for 3.x and run Python 2.x or vice versa. - # Every Python looks at the PYTHONPATH variable and we can't fix it here in sitecustomize.py, - # because the PYTHONPATH is evaluated after the sitecustomize.py. Many modules (e.g. PyQt4) are - # built only for a specific version of Python and will fail with cryptic error messages. - # In the end this means: Don't set the PYTHONPATH permanently if you use different Python versions. - exit('Your PYTHONPATH points to a site-packages dir for Python 3.x but you are running Python ' + - str(sys.version_info[0]) + '.x!\\n PYTHONPATH is currently: "' + str(os.environ['PYTHONPATH']) + '"\\n' + - ' You should `unset PYTHONPATH` to fix this.') - - # Only do this for a brewed python: - if os.path.realpath(sys.executable).startswith('#{rack}'): - # Shuffle /Library site-packages to the end of sys.path - library_site = '/Library/Python/#{xy}/site-packages' - library_packages = [p for p in sys.path if p.startswith(library_site)] - sys.path = [p for p in sys.path if not p.startswith(library_site)] - # .pth files have already been processed so don't use addsitedir - sys.path.extend(library_packages) - - # the Cellar site-packages is a symlink to the HOMEBREW_PREFIX - # site_packages; prefer the shorter paths - long_prefix = re.compile(r'#{rack}/[0-9\._abrc]+/Frameworks/Python\.framework/Versions/#{xy}/lib/python#{xy}/site-packages') - sys.path = [long_prefix.sub('#{HOMEBREW_PREFIX/"lib/python#{xy}/site-packages"}', p) for p in sys.path] - - # Set the sys.executable to use the opt_prefix, unless explicitly set - # with PYTHONEXECUTABLE: - if 'PYTHONEXECUTABLE' not in os.environ: - sys.executable = '#{opt_bin}/python#{xy}' - EOS - end - - def caveats - xy = if prefix.exist? - (prefix/"Frameworks/Python.framework/Versions").children.min.basename.to_s - else - version.to_s.slice(/(3\.\d)/) || "3.6" - end - <<~EOS - You can install Python packages with - pip3.6 install - - They will install into the site-package directory - #{HOMEBREW_PREFIX/"lib/python#{xy}/site-packages"} - - See: https://docs.brew.sh/Homebrew-and-Python - EOS - end - - test do - xy = (prefix/"Frameworks/Python.framework/Versions").children.min.basename.to_s - # Check if sqlite is ok, because we build with --enable-loadable-sqlite-extensions - # and it can occur that building sqlite silently fails if OSX's sqlite is used. - system "#{bin}/python#{xy}", "-c", "import sqlite3" - # Check if some other modules import. Then the linked libs are working. - system "#{bin}/python#{xy}", "-c", "import tkinter; root = tkinter.Tk()" - system "#{bin}/python#{xy}", "-c", "import _gdbm" - system "#{bin}/python#{xy}", "-c", "import zlib" - system "#{bin}/python#{xy}", "-c", "import ssl" - system bin/"pip3.6", "list", "--format=columns" - end -end diff --git a/README.md b/README.md index 64250da..857a28f 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,6 @@ This [Homebrew](http://brew.sh) tap provides formulae to install multiple Python Python Version | Latest revision ---------------|---------------- -Python 3.6 | 3.6.15 Python 3.7 | 3.7.12 Python 3.8 | 3.8.12 diff --git a/formula_renames.json b/formula_renames.json index 4378fb0..d486d70 100644 --- a/formula_renames.json +++ b/formula_renames.json @@ -1,4 +1,3 @@ { - "python36": "python@3.6", "python37": "python@3.7" } From 8411132cd5688bceb4456ed857261bb63b314bc2 Mon Sep 17 00:00:00 2001 From: Aleks Bunin Date: Wed, 23 Mar 2022 10:33:50 -0400 Subject: [PATCH 25/31] Update README --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 857a28f..2c64f4f 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Python 3.8 | 3.8.12 ## Installing formulae -Replace `X` in examples below with minor version of Python -- `5` for Python 3.5, `6` for Python 3.6, `7` for Python 3.7, or `8` for Python 3.8. +Replace `X` in examples below with minor version of Python -- `7` for Python 3.7, or `8` for Python 3.8. Python 3.X will be installed into `/usr/local/opt/python@3.X`, as a keg, i.e without linking into `/usr/local/bin` in order to avoid conflicts with the python formulae. @@ -35,6 +35,10 @@ In order to update to latest version of `pip`, `setuptools` and `wheel`, use fol Python 2.7 has been removed from this repository in early January 2020 after it reached end-of-life. See #46 for details. +## Python 3.6 + +Python 3.6 has been removed from this repository in March 2022 after it reached end-of-life. + ## Acknowledgement This repository started as a fork of the [zoidbergwill/homebrew-python][1]. From f65039dd39f1d5f85aa511500cdcb20f38717349 Mon Sep 17 00:00:00 2001 From: Aleks Bunin Date: Wed, 23 Mar 2022 10:34:14 -0400 Subject: [PATCH 26/31] Update README --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2c64f4f..73d1c00 100644 --- a/README.md +++ b/README.md @@ -31,11 +31,13 @@ In order to update to latest version of `pip`, `setuptools` and `wheel`, use fol /usr/local/opt/python@3.X/bin/python3.X -mpip install -U pip setuptools wheel ``` -## Python 2.7 +## Deprecations + +### Python 2.7 Python 2.7 has been removed from this repository in early January 2020 after it reached end-of-life. See #46 for details. -## Python 3.6 +### Python 3.6 Python 3.6 has been removed from this repository in March 2022 after it reached end-of-life. From cbb35b2a1faab9e6b59839f1795a1a7c784f5ea8 Mon Sep 17 00:00:00 2001 From: Aleks Bunin Date: Wed, 23 Mar 2022 10:31:21 -0400 Subject: [PATCH 27/31] python@3.7: 3.7.13 Closes #140. Signed-off-by: Aleks Bunin <868842+sashkab@users.noreply.github.com> --- Formula/python@3.7.rb | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Formula/python@3.7.rb b/Formula/python@3.7.rb index 43fef04..63800c3 100644 --- a/Formula/python@3.7.rb +++ b/Formula/python@3.7.rb @@ -1,8 +1,8 @@ class PythonAT37 < Formula desc "Interpreted, interactive, object-oriented programming language" homepage "https://www.python.org/" - url "https://www.python.org/ftp/python/3.7.12/Python-3.7.12.tar.xz" - sha256 "f77bf7fb47839f213e5cbf7827281078ea90de7e72b44f10d7ef385ea8c43210" + url "https://www.python.org/ftp/python/3.7.13/Python-3.7.13.tar.xz" + sha256 "99f106275df8899c3e8cb9d7c01ce686c202ef275953301427194693de5bef84" license "Python-2.0" livecheck do @@ -44,18 +44,18 @@ class PythonAT37 < Formula skip_clean "bin/pip3", "bin/pip-3.4", "bin/pip-3.5", "bin/pip-3.6", "bin/pip-3.7" resource "setuptools" do - url "https://pypi.org/packages/source/s/setuptools/setuptools-58.0.3.tar.gz" - sha256 "5e4c36f55012a46c1b3e4b67a8236d1d73856a90fc7b3207d29bedb7d2bac417" + url "https://pypi.org/packages/source/s/setuptools/setuptools-60.10.0.tar.gz" + sha256 "6599055eeb23bfef457d5605d33a4d68804266e6cb430b0fb12417c5efeae36c" end resource "pip" do - url "https://www.pypi.org/packages/source/p/pip/pip-21.2.4.tar.gz" - sha256 "0eb8a1516c3d138ae8689c0c1a60fde7143310832f9dc77e11d8a4bc62de193b" + url "https://www.pypi.org/packages/source/p/pip/pip-22.0.4.tar.gz" + sha256 "b3a9de2c6ef801e9247d1527a4b16f92f2cc141cd1489f3fffaf6a9e96729764" end resource "wheel" do - url "https://pypi.org/packages/source/w/wheel/wheel-0.37.0.tar.gz" - sha256 "e2ef7239991699e3355d54f8e968a21bb940a1dbf34a4d226741e64462516fad" + url "https://pypi.org/packages/source/w/wheel/wheel-0.37.1.tar.gz" + sha256 "e9a504e793efbca1b8e0e9cb979a249cf4a0a7b5b8c9e8b65a5e39d49529c1c4" end def install From 523fdaecacc07114b3d401e06a32e5e190c02b7b Mon Sep 17 00:00:00 2001 From: Aleks Bunin <868842+sashkab@users.noreply.github.com> Date: Wed, 23 Mar 2022 17:33:51 +0000 Subject: [PATCH 28/31] python@3.7: update 3.7.13 bottle. --- Formula/python@3.7.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Formula/python@3.7.rb b/Formula/python@3.7.rb index 63800c3..4e5d9a3 100644 --- a/Formula/python@3.7.rb +++ b/Formula/python@3.7.rb @@ -11,8 +11,8 @@ class PythonAT37 < Formula end bottle do - root_url "https://github.com/sashkab/homebrew-python/releases/download/python@3.7-3.7.12" - sha256 catalina: "e1d2f2aa9b2b4f25f0a921f4b36c4e5240b45c0c9baea1cad6dfbba120bfba00" + root_url "https://github.com/sashkab/homebrew-python/releases/download/python@3.7-3.7.13" + sha256 big_sur: "7072206b88d699502effefe8bf79f90abda7396a50fbfc3a8975f3d6ec00fad9" end # setuptools remembers the build flags python is built with and uses them to From c5bd65b89899dceea01d78ec3a5d6fe6334d6337 Mon Sep 17 00:00:00 2001 From: Aleks Bunin Date: Wed, 23 Mar 2022 10:32:35 -0400 Subject: [PATCH 29/31] python@3.8: 3.8.13 Closes #141. Signed-off-by: Aleks Bunin <868842+sashkab@users.noreply.github.com> --- Formula/python@3.8.rb | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Formula/python@3.8.rb b/Formula/python@3.8.rb index 8ae534e..71c4171 100644 --- a/Formula/python@3.8.rb +++ b/Formula/python@3.8.rb @@ -1,8 +1,8 @@ class PythonAT38 < Formula desc "Interpreted, interactive, object-oriented programming language" homepage "https://www.python.org/" - url "https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tar.xz" - sha256 "b1d3a76420375343b5e8a22fceb1ac65b77193e9ed27146524f0a9db058728ea" + url "https://www.python.org/ftp/python/3.8.13/Python-3.8.13.tar.xz" + sha256 "6f309077012040aa39fe8f0c61db8c0fa1c45136763299d375c9e5756f09cf57" license "Python-2.0" livecheck do @@ -43,18 +43,18 @@ class PythonAT38 < Formula "bin/easy_install-3.7", "bin/easy_install-3.8" resource "setuptools" do - url "https://pypi.org/packages/source/s/setuptools/setuptools-58.0.3.tar.gz" - sha256 "5e4c36f55012a46c1b3e4b67a8236d1d73856a90fc7b3207d29bedb7d2bac417" + url "https://pypi.org/packages/source/s/setuptools/setuptools-60.10.0.tar.gz" + sha256 "6599055eeb23bfef457d5605d33a4d68804266e6cb430b0fb12417c5efeae36c" end resource "pip" do - url "https://www.pypi.org/packages/source/p/pip/pip-21.2.4.tar.gz" - sha256 "0eb8a1516c3d138ae8689c0c1a60fde7143310832f9dc77e11d8a4bc62de193b" + url "https://www.pypi.org/packages/source/p/pip/pip-22.0.4.tar.gz" + sha256 "b3a9de2c6ef801e9247d1527a4b16f92f2cc141cd1489f3fffaf6a9e96729764" end resource "wheel" do - url "https://pypi.org/packages/source/w/wheel/wheel-0.37.0.tar.gz" - sha256 "e2ef7239991699e3355d54f8e968a21bb940a1dbf34a4d226741e64462516fad" + url "https://pypi.org/packages/source/w/wheel/wheel-0.37.1.tar.gz" + sha256 "e9a504e793efbca1b8e0e9cb979a249cf4a0a7b5b8c9e8b65a5e39d49529c1c4" end # Link against libmpdec.so.3, update for mpdecimal.h symbol cleanup. From f9a3c4312f84b3c8e6e61cdaa517b1472114a289 Mon Sep 17 00:00:00 2001 From: Aleks Bunin <868842+sashkab@users.noreply.github.com> Date: Wed, 23 Mar 2022 23:08:10 +0000 Subject: [PATCH 30/31] python@3.8: update 3.8.13 bottle. --- Formula/python@3.8.rb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Formula/python@3.8.rb b/Formula/python@3.8.rb index 71c4171..2ddc3ff 100644 --- a/Formula/python@3.8.rb +++ b/Formula/python@3.8.rb @@ -11,9 +11,8 @@ class PythonAT38 < Formula end bottle do - root_url "https://github.com/sashkab/homebrew-python/releases/download/python@3.8-3.8.12" - rebuild 1 - sha256 catalina: "b1d64ddeadc58543d0050ff609f709a48fcdaf9ca7ecf149e27f32e35773af69" + root_url "https://github.com/sashkab/homebrew-python/releases/download/python@3.8-3.8.13" + sha256 big_sur: "5f1ca2a717b4af81a7ad113dfce042d5c0d6df5d0994851b35a6da8a0648d730" end # setuptools remembers the build flags python is built with and uses them to From 476b7d0e7c0553d950645cf88e9e197b65000d02 Mon Sep 17 00:00:00 2001 From: Aleks Bunin Date: Wed, 23 Mar 2022 19:11:09 -0400 Subject: [PATCH 31/31] udpate readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 73d1c00..abe7e02 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,8 @@ This [Homebrew](http://brew.sh) tap provides formulae to install multiple Python Python Version | Latest revision ---------------|---------------- -Python 3.7 | 3.7.12 -Python 3.8 | 3.8.12 +Python 3.7 | 3.7.13 +Python 3.8 | 3.8.13 ## Installing formulae