conda-forge / pyside2-feedstock

A conda-smithy repository for pyside2.
BSD 3-Clause "New" or "Revised" License
17 stars 19 forks source link

V5.15.3 #109

Closed looooo closed 2 years ago

looooo commented 2 years ago

Checklist

conda-forge-linter commented 2 years ago

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

hmaarrfk commented 2 years ago

From the log, it seems that you need to copy the file shiboken2-5.15.3.dist-info and not shiboken2.dist-info.

looooo commented 2 years ago

for python3.10 it seems like we need to apply patches. not sure what to do about linux_aarch64 and osx_arm64.

looooo commented 2 years ago

@conda-forge-admin, please rerender

looooo commented 2 years ago

@conda-forge-admin, please rerender

github-actions[bot] commented 2 years ago

Hi! This is the friendly automated conda-forge-webservice.

I tried to rerender for you, but it looks like there was nothing to do.

This message was generated by GitHub actions workflow run https://github.com/conda-forge/pyside2-feedstock/actions/runs/2255740959.

hmaarrfk commented 2 years ago

maybe we should build shiboken2 in a different recipe. that way we can cross compile (maybe)

we can add a runconstraint to pin it on the same version as pyside2

looooo commented 2 years ago

maybe we should build shiboken2 in a different recipe. that way we can cross compile (maybe)

we can add a runconstraint to pin it on the same version as pyside2

@jschueller what do you think about splitting shiboken and pyside2?

hmaarrfk commented 2 years ago

I think you want this patch: https://codereview.qt-project.org/c/pyside/pyside-setup/+/348390

hmaarrfk commented 2 years ago

Found by reading through redhat's logs: https://bugzilla.redhat.com/show_bug.cgi?id=1902618

looooo commented 2 years ago

@conda-forge-admin, please rerender

looooo commented 2 years ago

trying to build for osx_arm64 locally I am running into this:

CMake Error at /Users/lo/mambaforge/conda-bld/pyside2_1651947805807/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/cmake/Qt5Help/Qt5HelpConfig.cmake:14 (message):
  The imported target "Qt5::Help" references the file

     "/Users/lo/mambaforge/conda-bld/pyside2_1651947805807/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/bin/qcollectiongenerator"

  but this file does not exist.  Possible reasons include:

  * The file was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and contained

     "/Users/lo/mambaforge/conda-bld/pyside2_1651947805807/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/cmake/Qt5Help/Qt5HelpConfigExtras.cmake"

Is there something wrong with the osx_arm64 qt build?

looooo commented 2 years ago

windows py>3.7 is still failing with:

[ 12%] Built target QtCore
Traceback (most recent call last):
  File "D:\bld\pyside2_1652014949314\work\sources\pyside2\PySide2\support\generate_pyi.py", line 327, in <module>
    generate_all_pyi(outpath, options=options)
  File "D:\bld\pyside2_1652014949314\work\sources\pyside2\PySide2\support\generate_pyi.py", line 283, in generate_all_pyi
    import PySide2
  File "D:\bld\pyside2_1652014949314\work\sources\pyside2\build\PySide2\__init__.py", line 107, in <module>
    _setupQtDirectories()
  File "D:\bld\pyside2_1652014949314\work\sources\pyside2\build\PySide2\__init__.py", line 54, in _setupQtDirectories
    for dir in _additional_dll_directories(pyside_package_dir):
  File "D:\bld\pyside2_1652014949314\work\sources\pyside2\build\PySide2\__init__.py", line 26, in _additional_dll_directories
    raise ImportError(shiboken2 + ' does not exist')
ImportError: D:\bld\pyside2_1652014949314\work\sources\pyside2\shiboken2\libshiboken does not exist

any ideas @jschueller ? And for the other builds there is still an issue with finding pyside-rcc. I definetly need some help with this too.

pyside2-rcc: command not found
hmaarrfk commented 2 years ago

Maybe you can take a few more patches from https://src.fedoraproject.org/rpms/python-pyside2/tree/rawhide

some of them seem suspect.

hmaarrfk commented 2 years ago

This is specifically for linux/osx

looooo commented 2 years ago

@hmaarrfk I can try but I am not sure if these patches help to resolve the missing pyside2-rcc file.

hmaarrfk commented 2 years ago

Specifically, this one looks suspect: https://src.fedoraproject.org/rpms/python-pyside2/blob/rawhide/f/pyside2-tools-obsolete.patch

hmaarrfk commented 2 years ago

I looked through the spec more carefully, it seems they are doing a cmake build so it should be really similar.

Maybe we can try adding ${CMAKE_ARGS} though I'm not sure this is the problem.

looooo commented 2 years ago

I tried to build local to see where the missing file is installed, but this fails with a different error. Maybe using docker helps, but I have no centos7 docker yet.

hmaarrfk commented 2 years ago

I wonder if you just need to add entry points: https://github.com/conda-forge/spyder-feedstock/blob/main/recipe/meta.yaml#L16 https://github.com/pyside/pyside2-setup/blob/5.15/build_scripts/config.py#L216

hmaarrfk commented 2 years ago

spyder is an example of a architecture dependent package that uses entry points. I also provided the source of the entry points that you likely want to add.

hmaarrfk commented 2 years ago

Seems like errors like:

2022-05-11T16:46:16.8170176Z Errors while running CTest
2022-05-11T16:46:16.8170551Z no ok
2022-05-11T16:46:16.8170973Z ~/feedstock_root/build_artifacts/pyside2_1652284187826/work
2022-05-11T16:46:16.9950061Z ***** Exception while trying to prepare bdist_wheel override class: No module named 'packaging'. Skipping wheel overriding.
2022-05-11T16:46:17.1939280Z ***** Exception while trying to prepare bdist_wheel override class: No module named 'packaging'. Skipping wheel overriding.
2022-05-11T16:46:17.7208825Z running dist_info
2022-05-11T16:46:17.7795757Z creating PySide2.egg-info
2022-05-11T16:46:17.8375418Z writing PySide2.egg-info/PKG-INFO
2022-05-11T16:46:17.8947361Z writing dependency_links to PySide2.egg-info/dependency_links.txt

were poping up. so I think packaging was missing, resulting in a partial install.

hmaarrfk commented 2 years ago

locally this didn't fix things.

hmaarrfk commented 2 years ago

I think the issue is that pyside2 might have changed how they install things.

https://github.com/pyside/pyside2-setup/blob/5.15/dist/changes-5.14.0#L56

So it seems that they don't install them unless you explicitly request it using a flag I still don't understand.

In the pypi package, the following entry points are specified:

[console_scripts]
pyside2-designer = PySide2.scripts.pyside_tool:designer
pyside2-lupdate = PySide2.scripts.pyside_tool:main
pyside2-rcc = PySide2.scripts.pyside_tool:rcc
pyside2-uic = PySide2.scripts.pyside_tool:uic
hmaarrfk commented 2 years ago

Sorry for the commits. I think they fundamentally changed how they organize their tools. This seems to have been folded in the parent qt package and no longer a part of pyside2.

New: https://code.qt.io/cgit/pyside/pyside-tools.git/tree/pyside_tool.py?h=v5.15.2 Old: https://code.qt.io/cgit/pyside/pyside-tools.git/tree/pyside_tool.py?h=v5.13.2

I'm not sure how they build their system, but it is likely that we need to build the scripts directory ourselves, and move the scripts file ourself there. I'm not sure about the upstream build scripts. But there doesn't seem to be an easy way to to d this from the "CMake" file: https://code.qt.io/cgit/pyside/pyside-tools.git/tree/CMakeLists.txt?h=v5.15.2#n117 Their cmake file installs things in the bin dir.

However, it is clear that they anticipate copying these files over. If internal_build is true, then they copy these files from the bin dir to the package directory so that the entry points can find the scripts

https://github.com/pyside/pyside2-setup/blob/d526f801ced4687d5413907a93dedcd782ef72fa/build_scripts/platforms/unix.py#L120

Therefore, I think we need to follow this logic. It is unclear to me why fedora is immune to this.

hmaarrfk commented 2 years ago

THe error in windows seems to be related to the same as that of linux (initially)

2022-05-12T02:27:50.4923215Z -------------------------------------------------------------------------------
2022-05-12T02:27:50.4928246Z    ROBOCOPY     ::     Robust File Copy for Windows                              
2022-05-12T02:27:50.4931531Z -------------------------------------------------------------------------------
2022-05-12T02:27:50.4952540Z 
2022-05-12T02:27:50.4971302Z   Started : Thursday, May 12, 2022 2:27:50 AM
2022-05-12T02:27:50.4972220Z    Source : %SRC_DIR%\shiboken2.dist-info\
2022-05-12T02:27:50.4997866Z      Dest : %PREFIX%\Library\Lib\python%i\site-packages\shiboken2.dist-info\
2022-05-12T02:27:50.5011081Z 
2022-05-12T02:27:50.5028814Z     Files : *.*
2022-05-12T02:27:50.5029258Z        
2022-05-12T02:27:50.5137622Z   Options : *.* /S /E /DCOPY:DA /COPY:DAT /R:1000000 /W:30 
2022-05-12T02:27:50.5147961Z 
2022-05-12T02:27:50.5149925Z ------------------------------------------------------------------------------
2022-05-12T02:27:50.5151888Z 
2022-05-12T02:27:50.5176842Z 2022/05/12 02:27:50 ERROR 2 (0x00000002) Accessing Source Directory %SRC_DIR%\shiboken2.dist-info\
2022-05-12T02:27:50.5178123Z The system cannot find the file specified.