From 94b985a891ce1f7b0d8501d081a4e8f3f8c5bc0f Mon Sep 17 00:00:00 2001 From: Aleks Bunin Date: Fri, 25 Jun 2021 12:40:44 -0400 Subject: [PATCH 01/29] 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 02/29] 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 03/29] 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 04/29] 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 05/29] 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 06/29] 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 07/29] 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 08/29] 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 09/29] 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 10/29] 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 11/29] 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 12/29] 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 13/29] 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 14/29] 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 15/29] 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 16/29] 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 17/29] 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 18/29] 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 19/29] 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 20/29] 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 21/29] 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 22/29] 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 23/29] 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 24/29] 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 25/29] 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 26/29] 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 27/29] 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 28/29] 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 29/29] 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 pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy