Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[email protected] setup new pyside2 formula #435

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 87 additions & 0 deletions Formula/[email protected]
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
class Pyside2AT51511 < Formula
desc "Python bindings for Qt5 and greater"
homepage "https://code.qt.io/cgit/pyside/pyside-setup.git/tree/README.pyside2.md?h=5.15.2"
url "https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-5.15.11-src/pyside-setup-opensource-src-5.15.11.tar.xz"
sha256 "da567cd3b7854d27a0b4afe3e89de8b2f98b7a6d57393be56f1fc13f770faf29"
license all_of: ["GFDL-1.3-only", "GPL-2.0-only", "GPL-3.0-only", "LGPL-2.1-only", "LGPL-3.0-only"]

livecheck do
url "https://download.qt.io/official_releases/QtForPython/pyside2/"
regex(%r{href=.*?PySide2[._-]v?(\d+(?:\.\d+)+)-src/}i)
end

keg_only :versioned_formula

depends_on "cmake" => :build
depends_on "freecad/freecad/[email protected]"
depends_on "llvm@15" # Upstream issue ref: https://bugreports.qt.io/browse/PYSIDE-2268
depends_on "[email protected]"
depends_on "qt@5"
depends_on "sphinx-doc"

uses_from_macos "libxml2"
uses_from_macos "libxslt"

on_linux do
depends_on "libxcb"
depends_on "mesa"
end

fails_with gcc: "5"

# Don't copy qt@5 tools.
patch do
url "https://src.fedoraproject.org/rpms/python-pyside2/raw/009100c67a63972e4c5252576af1894fec2e8855/f/pyside2-tools-obsolete.patch"
sha256 "ede69549176b7b083f2825f328ca68bd99ebf8f42d245908abd320093bac60c9"
end

def python3
"python3.10"
end

# NOTE: ipatch >= [email protected] tarballs require a c++17 compiler
def install

Check failure on line 43 in Formula/[email protected]

View workflow job for this annotation

GitHub Actions / test-bot (macos-13)

`brew install --verbose --build-bottle freecad/freecad/[email protected]` failed on macOS Ventura (13)!

tmp/pyside2A5.15.11-20231128-12161-nzsero/pyside-setup-opensource-src-5.15.11/build/sources/pyside2/PySide2/QtScript/PySide2/QtScript/qtscript_module_wrapper.cpp [ 46%] Building CXX object sources/pyside2/PySide2/QtNetwork/CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qocspresponse_wrapper.cpp.o cd /tmp/pyside2A5.15.11-20231128-12161-nzsero/pyside-setup-opensource-src-5.15.11/build/sources/pyside2/PySide2/QtNetwork && /usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang++ -DNDEBUG -DPYSIDE_QML_SUPPORT=1 -DPy_LIMITED_API=0x03050000 -DQT_CORE_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQtNetwork_EXPORTS -I/tmp/pyside2A5.15.11-20231128-12161-nzsero/pyside-setup-opensource-src-5.15.11/sources/pyside2/PySide2/QtNetwork/QtNetwork -I/tmp/pyside2A5.15.11-20231128-12161-nzsero/pyside-setup-opensource-src-5.15.11/sources/pyside2/PySide2/QtNetwork -I/tmp/pyside2A5.15.11-20231128-12161-nzsero/pyside-setup-opensource-src-5.15.11/build/sources/pyside2/PySide2/QtNetwork -I/tmp/pyside2A5.15.11-20231128-12161-nzsero/pyside-setup-opensource-src-5.15.11/sources/pyside2/libpyside -I/tmp/pyside2A5.15.11-20231128-12161-nzsero/pyside-setup-opensource-src-5.15.11/build/sources/pyside2/PySide2/QtCore/PySide2/QtCore -I/tmp/pyside2A5.15.11-20231128-12161-nzsero/pyside-setup-opensource-src-5.15.11/sources/pyside2/PySide2 -I/tmp/pyside2A5.15.11-20231128-12161-nzsero/pyside-setup-opensource-src-5.15.11/sources/shiboken2/libshiboken -I/tmp/pyside2A5.15.11-20231128-12161-nzsero/pyside-setup-opensource-src-5.15.11/build/sources/shiboken2/libshiboken -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -iframework /usr/local/opt/qt@5/lib -isystem /usr/local/opt/qt@5/lib/QtCore.framework/Headers -isystem /usr/local/opt/qt@5/./mkspecs/macx-clang -isystem /usr/local/opt/qt@5/lib/QtNetwork.framework/Headers -Wall -fvisibility=hidden -Wno-strict-aliasing -O3 -DNDEBUG -std=gnu++11 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk -fPIC -fPIC -fPIC -MD -MT sources/pyside2/PySide2/QtNetwork/CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qocspresponse_wrapper.cpp.o -MF CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qocspresponse_wrapper.cpp.o.d -o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qocspresponse_wrapper.cpp.o -c /tmp/pyside2A5.15.11-20231128-12161-nzsero/pyside-setup-opensource-src-5.15.11/build/sources/pyside2/PySide2/QtNetwork/PySide2/QtNetwork/qocspresponse_wrapper.cpp [ 46%] Building CXX object sources/pyside2/PySide2/QtScxml/CMakeFiles/QtScxml.dir/PySide2/QtScxml/qscxmlecmascriptdatamodel_wrapper.cpp.o cd /tmp/pyside2A5.15.11-20231128-12161-nzsero/pyside-setup-opensource-src-5.15.11/build/sources/pyside2/PySide2/QtScxml && /usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang++ -DNDEBUG -DPYSIDE_QML_SUPPORT=1 -DPy_LIMITED_API=0x03050000 -DQT_CORE_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QML_LIB -DQT_SCXML_LIB -DQtScxml_EXPORTS -I/tmp/pyside2A5.15.11-20231128-12161-nzsero/pyside-setup-opensource-src-5.15.11/sources/pyside2/PySide2/QtScxml/QtScxml -I/tmp/pyside2A5.15.11-20231128-12161-nzsero/pyside-setup-opensource-src-5.15.11/sources/pyside2/PySide2/QtScxml -I/tmp/pyside2A5.15.11-20231128-12161-nzsero/pyside-setup-opensource-src-5.15.11/build/sources/pyside2/PySide2/QtScxml -I/tmp/pyside2A5.15.11-20231128-12161-nzsero/pyside-setup-opensource-src-5.15.11/sources/pyside2/libpyside -I/tmp/pyside2A5.15.11-20231128-12161-nzsero/pyside-setup-opensource-src-5.15.11/build/sources/pyside2/PySide2/QtCore/PySide2/QtCore -I/tmp/pyside2A5.15.11-20231128-12161-nzsero/pyside-setup-opensource-src-5.15.11/sources/pyside2/PySide2 -I/tmp/pyside2A5.15.11-20231128-12161-nzsero/pyside-setup-opensource-src-5.15.11/sources/shiboken2/libshiboken -I/tmp/pyside2A5.15.11-20231128-12161-nzsero/pyside-setup-opensource-src-5.15.11/build/sources/shiboken2/libshiboken -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -iframework /usr/local/opt/qt@5/lib -isystem /usr/local/opt/qt@5/lib/QtCore.framework/Headers -isystem /usr/local/opt/qt@5/./mkspecs/macx-clang -isystem /usr/local/opt/qt@5/lib/QtScx

Check failure on line 43 in Formula/[email protected]

View workflow job for this annotation

GitHub Actions / test-bot (macos-12)

`brew install --verbose --build-bottle freecad/freecad/[email protected]` failed on macOS Monterey (12)!

lity=hidden -Wno-strict-aliasing -O3 -DNDEBUG -std=gnu++11 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -fPIC -fPIC -fPIC -MD -MT sources/pyside2/PySide2/QtScript/CMakeFiles/QtScript.dir/PySide2/QtScript/qscriptvalue_wrapper.cpp.o -MF CMakeFiles/QtScript.dir/PySide2/QtScript/qscriptvalue_wrapper.cpp.o.d -o CMakeFiles/QtScript.dir/PySide2/QtScript/qscriptvalue_wrapper.cpp.o -c /tmp/pyside2A5.15.11-20231128-8520-t1zreb/pyside-setup-opensource-src-5.15.11/build/sources/pyside2/PySide2/QtScript/PySide2/QtScript/qscriptvalue_wrapper.cpp [ 46%] Linking CXX shared module ../QtNetwork.abi3.so cd /tmp/pyside2A5.15.11-20231128-8520-t1zreb/pyside-setup-opensource-src-5.15.11/build/sources/pyside2/PySide2/QtNetwork && /usr/local/Cellar/cmake/3.27.6/bin/cmake -E cmake_link_script CMakeFiles/QtNetwork.dir/link.txt --verbose=1 /usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang++ -Wall -fvisibility=hidden -Wno-strict-aliasing -O3 -DNDEBUG -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -bundle -Wl,-headerpad_max_install_names -o ../QtNetwork.abi3.so CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qabstractnetworkcache_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qabstractsocket_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qauthenticator_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qdnsdomainnamerecord_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qdnshostaddressrecord_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qdnslookup_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qdnsmailexchangerecord_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qdnsservicerecord_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qdnstextrecord_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qhostaddress_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qhostinfo_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qhstspolicy_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qhttpmultipart_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qhttppart_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qipv6address_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qlocalserver_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qlocalsocket_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qnetworkaccessmanager_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qnetworkaddressentry_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qnetworkcachemetadata_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qnetworkconfiguration_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qnetworkconfigurationmanager_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qnetworkcookie_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qnetworkcookiejar_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qnetworkdatagram_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qnetworkdiskcache_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qnetworkinterface_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qnetworkproxy_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qnetworkproxyfactory_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qnetworkproxyquery_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qnetworkreply_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qnetworkrequest_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qnetworksession_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qpassworddigestor_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qssl_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qsslcertificate_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qsslcertificateextension_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qtcpserver_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qtcpsocket_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qudpsocket_wrapper.cpp.o CMakeFiles/QtNetwork.dir/PySide2/QtNetwork/qtnetwork_mod

Check failure on line 43 in Formula/[email protected]

View workflow job for this annotation

GitHub Actions / test-bot (self-hosted-bigsurvm)

`brew install --verbose --build-bottle freecad/freecad/[email protected]` failed on macOS Big Sur (11)!

ld/sources/pyside2/PySide2/QtCore/PySide2/QtCore -I/tmp/pyside2A5.15.11-20231128-71284-1s5ld7/pyside-setup-opensource-src-5.15.11/sources/pyside2/PySide2 -I/tmp/pyside2A5.15.11-20231128-71284-1s5ld7/pyside-setup-opensource-src-5.15.11/sources/shiboken2/libshiboken -I/tmp/pyside2A5.15.11-20231128-71284-1s5ld7/pyside-setup-opensource-src-5.15.11/build/sources/shiboken2/libshiboken -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -iframework /usr/local/opt/qt@5/lib -isystem /usr/local/opt/qt@5/lib/QtCore.framework/Headers -isystem /usr/local/opt/qt@5/./mkspecs/macx-clang -isystem /usr/local/opt/qt@5/lib/QtSensors.framework/Headers -Wall -fvisibility=hidden -Wno-strict-aliasing -O3 -DNDEBUG -std=gnu++11 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -fPIC -fPIC -fPIC -MD -MT sources/pyside2/PySide2/QtSensors/CMakeFiles/QtSensors.dir/PySide2/QtSensors/qtapreading_wrapper.cpp.o -MF CMakeFiles/QtSensors.dir/PySide2/QtSensors/qtapreading_wrapper.cpp.o.d -o CMakeFiles/QtSensors.dir/PySide2/QtSensors/qtapreading_wrapper.cpp.o -c /tmp/pyside2A5.15.11-20231128-71284-1s5ld7/pyside-setup-opensource-src-5.15.11/build/sources/pyside2/PySide2/QtSensors/PySide2/QtSensors/qtapreading_wrapper.cpp [ 52%] Building CXX object sources/pyside2/PySide2/QtSensors/CMakeFiles/QtSensors.dir/PySide2/QtSensors/qtapsensor_wrapper.cpp.o cd /tmp/pyside2A5.15.11-20231128-71284-1s5ld7/pyside-setup-opensource-src-5.15.11/build/sources/pyside2/PySide2/QtSensors && /usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang++ -DNDEBUG -DPYSIDE_QML_SUPPORT=1 -DPy_LIMITED_API=0x03050000 -DQT_CORE_LIB -DQT_NO_DEBUG -DQT_SENSORS_LIB -DQtSensors_EXPORTS -I/tmp/pyside2A5.15.11-20231128-71284-1s5ld7/pyside-setup-opensource-src-5.15.11/sources/pyside2/PySide2/QtSensors/QtSensors -I/tmp/pyside2A5.15.11-20231128-71284-1s5ld7/pyside-setup-opensource-src-5.15.11/sources/pyside2/PySide2/QtSensors -I/tmp/pyside2A5.15.11-20231128-71284-1s5ld7/pyside-setup-opensource-src-5.15.11/build/sources/pyside2/PySide2/QtSensors -I/tmp/pyside2A5.15.11-20231128-71284-1s5ld7/pyside-setup-opensource-src-5.15.11/sources/pyside2/libpyside -I/tmp/pyside2A5.15.11-20231128-71284-1s5ld7/pyside-setup-opensource-src-5.15.11/build/sources/pyside2/PySide2/QtCore/PySide2/QtCore -I/tmp/pyside2A5.15.11-20231128-71284-1s5ld7/pyside-setup-opensource-src-5.15.11/sources/pyside2/PySide2 -I/tmp/pyside2A5.15.11-20231128-71284-1s5ld7/pyside-setup-opensource-src-5.15.11/sources/shiboken2/libshiboken -I/tmp/pyside2A5.15.11-20231128-71284-1s5ld7/pyside-setup-opensource-src-5.15.11/build/sources/shiboken2/libshiboken -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10 -iframework /usr/local/opt/qt@5/lib -isystem /usr/local/opt/qt@5/lib/QtCore.framework/Headers -isystem /usr/local/opt/qt@5/./mkspecs/macx-clang -isystem /usr/local/opt/qt@5/lib/QtSensors.framework/Headers -Wall -fvisibility=hidden -Wno-strict-aliasing -O3 -DNDEBUG -std=gnu++11 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -fPIC -fPIC -fPIC -MD -MT sources/pyside2/PySide2/QtSensors/CMakeFiles/QtSensors.dir/PySide2/QtSensors/qtapsensor_wrapper.cpp.o -MF CMakeFiles/QtSensors.dir/PySide2/QtSensors/qtapsensor_wrapper.cpp.o.d -o CMakeFiles/QtSensors.dir/PySide2/QtSensors/qtapsensor_wrapper.cpp.o -c /tmp/pyside2A5.15.11-20231128-71284-1s5ld7/pyside-setup-opensource-src-5.15.11/build/sources/pyside2/PySide2/QtSensors/PySide2/QtSensors/qtapsensor_wrapper.cpp [ 52%] Building CXX object sources/pyside2/PySide2/QtSensors/CMakeFiles/QtSensors.dir/PySide2/QtSensors/qtiltfilter_wrapper.cpp.o cd /tmp/pyside2A5.15.11-20231128-71284-1s5ld7/pyside-setup-opensource-src-5.15.11/build/sources/pyside2/PySide2/QtSensors && /usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang++ -DNDEBUG -DPYSIDE_QML_SUPPORT=1 -DPy_LIMITED_API=0x03050000 -DQT_CORE_LIB -DQT_NO_DEBUG -DQT_SENSORS_LIB -DQtSensors_EXPORTS -I/tmp/pyside2A5.15.11-20231128-71284-1s5ld7/pyside-setup-opensource-src-5.15.11/sources/pyside2/PySide2/QtSensors/QtSensors -I/tmp/pyside2A5.15.11-202
rpaths = if OS.mac?
pyside2_module = prefix/Language::Python.site_packages(python3)/"PySide2"
[rpath, rpath(source: pyside2_module)]
else
# Add missing include dirs on Linux.
# upstream issue: https://bugreports.qt.io/browse/PYSIDE-1684
extra_include_dirs = [Formula["mesa"].opt_include, Formula["libxcb"].opt_include]
inreplace "sources/pyside2/cmake/Macros/PySideModules.cmake",
"--include-paths=${shiboken_include_dirs}",
"--include-paths=${shiboken_include_dirs}:#{extra_include_dirs.join(":")}"

# Add rpath to qt@5 because it is keg-only.
[lib, Formula["qt@5"].opt_lib]
end

# Avoid shim reference.
inreplace "sources/shiboken2/ApiExtractor/CMakeLists.txt", "${CMAKE_CXX_COMPILER}", ENV.cxx

# This is a workaround for current problems with Shiboken2
# ENV["HOMEBREW_INCLUDE_PATHS"] = ENV["HOMEBREW_INCLUDE_PATHS"].sub(Formula["qt@5"].include, "")

ENV.append_path "CMAKE_PREFIX_PATH", Formula["qt@5"].opt_lib
system "cmake", "-S", ".", "-B", "build",
"-DPYTHON_EXECUTABLE=#{which(python3)}",
"-DCMAKE_INSTALL_RPATH=#{rpaths.join(";")}",
"-DFORCE_LIMITED_API=yes",
*std_cmake_args
system "cmake", "--build", "build"
system "cmake", "--install", "build"
end

def caveats
<<-EOS
if qt6, qt@6 is linked then this formula will fail to build from source
this formula requires manually linking after install
EOS
end

test do
Language::Python.each_python(build) do |python, _version|
system python, "-c", "from PySide2 import QtCore"
end
end
end
Loading