From 35f97e9b7d9bf04f18dba2c64aa1f8b306ac35b8 Mon Sep 17 00:00:00 2001 From: chris Date: Wed, 6 Dec 2023 14:23:22 -0600 Subject: [PATCH] shiboken2: update formula to include py module .pth file --- Formula/shiboken2@5.15.11.rb | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/Formula/shiboken2@5.15.11.rb b/Formula/shiboken2@5.15.11.rb index 760242d4..f0748a53 100644 --- a/Formula/shiboken2@5.15.11.rb +++ b/Formula/shiboken2@5.15.11.rb @@ -2,7 +2,7 @@ class Shiboken2AT51511 < Formula desc "GeneratorRunner plugin that outputs C++ code for CPython extensions" homepage "https://code.qt.io/cgit/pyside/pyside-setup.git/tree/README.shiboken2-generator.md?h=5.15.2" license all_of: ["GFDL-1.3-only", "GPL-2.0-only", "GPL-3.0-only", "LGPL-2.1-only", "LGPL-3.0-only"] - revision 3 + revision 4 head "https://github.com/qt/qt5.git", branch: "dev", shallow: false stable do @@ -26,12 +26,18 @@ class Shiboken2AT51511 < Formula depends_on "llvm" depends_on "numpy" depends_on "qt@5" + depends_on "sphinx-doc" uses_from_macos "libxml2" uses_from_macos "libxslt" def python3 - "python3.11" + Formula["python@3.11"].opt_bin/"python3" + end + + def pythons + deps.map(&:to_formula) + .select { |f| f.name.match?(/^python@3\.\d+$/) } end def install @@ -44,9 +50,8 @@ def install ENV.append_path "CMAKE_PREFIX_PATH", Formula["qt@5"].opt_lib - # "-DCMAKE_INSTALL_RPATH=#{rpaths.join(";")}", system "cmake", "-S", "./sources/shiboken2", "-B", "build", - "-DPYTHON_EXECUTABLE=#{which(python3)}", + "-DPYTHON_EXECUTABLE=#{python3}", "-DFORCE_LIMITED_API=no", "-DCMAKE_INSTALL_RPATH=#{rpaths.join(";")}", *std_cmake_args @@ -54,6 +59,21 @@ def install system "cmake", "--install", "build" end + def post_install + # explicitly set python version + python_version = "3.11" + + # Unlink the existing .pth file to avoid reinstall issues + pth_file = lib/"python#{python_version}/site-packages/shiboken2.pth" + pth_file.unlink if pth_file.exist? + + ohai "Creating .pth file for shiboken2 module" + # write the .pth file to the site-packages directory + (lib/"python#{python_version}/site-packages/shiboken2.pth").write <<~EOS + import site; site.addsitedir('#{lib}/python#{python_version}/site-packages/') + EOS + end + def caveats <<-EOS this formula is keg-only