Bug 251412 - math/py-pandas Update to 1.1.5 (Python 3.9 compatible)
Summary: math/py-pandas Update to 1.1.5 (Python 3.9 compatible)
Status: Closed Overcome By Events
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-python (Nobody)
URL: https://pandas.pydata.org/docs/whatsn...
Keywords: needs-qa
Depends on:
Blocks: 251626
  Show dependency treegraph
 
Reported: 2020-11-26 19:50 UTC by j.david.lists
Modified: 2021-01-30 13:39 UTC (History)
3 users (show)

See Also:
rhurlin: maintainer-feedback-


Attachments
Patch to update math/py-pandas to 1.1.4 (1.29 KB, patch)
2020-11-26 19:50 UTC, j.david.lists
no flags Details | Diff
Original version of patch missed new file needed for clang compatibility (2.20 KB, patch)
2020-11-26 20:02 UTC, j.david.lists
no flags Details | Diff
Additional fix for 3.8 (2.22 KB, patch)
2020-11-27 03:30 UTC, j.david.lists
no flags Details | Diff
Same patch, but restore PORTEPOCH (2.18 KB, patch)
2020-11-29 18:28 UTC, j.david.lists
no flags Details | Diff
Update to 1.1.5 and reorder Makefile vars (7.29 KB, patch)
2021-01-03 07:46 UTC, Rainer Hurling
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description j.david.lists 2020-11-26 19:50:01 UTC
Created attachment 220008 [details]
Patch to update math/py-pandas to 1.1.4

The py-pandas port has been held back to 0.2.4 for a long time to maintain Python 2.x compatibility.

Support for Python 2.x ended at the beginning of 2020, so this is no longer necessary, but the maintainer for this port has retired.

Here is a candidate patch to update to 1.1.4, which supports Python 3.9.
Comment 1 j.david.lists 2020-11-26 20:02:37 UTC
Created attachment 220009 [details]
Original version of patch missed new file needed for clang compatibility

Original version of patch missed a new file needed for clang compatibility; they compile with -Werror on clang, but have unreachable code from Cython.  They use -Wno-error=unreachable-code on Mac to deal with this, so the patch to setup.py just adds the same flag.
Comment 2 j.david.lists 2020-11-27 03:30:05 UTC
Created attachment 220024 [details]
Additional fix for 3.8

This updated patch incorporates an additional flag needed to keep deprecation warnings in 3.8 from causing the build to fail.
Comment 3 Rainer Hurling freebsd_committer freebsd_triage 2020-11-29 09:15:46 UTC
Hi, 
Many thanks for the patch.

There two issues with your patch (test with 'portlint -AC'):
- Don't remove PORTEPOCH, once it exists [1]
- Your files/patch-setup.py is not generated by 'make makepatch'. For a proper patch format it is recommended to use 'make makepatch' [2]


[1] Section 5.2.3.2 from Porters Handbook https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/book.html
[2] Section 4.4 from Porters Handbook


Another thought:
The hint in pkg-message about two additional ports is only visible when the port is installed. 

Wouldn't it be useful from the user's point of view to include these two ports math/py-statsmodels and devel/py-xarray as RUN_DEPENDS in the Makefile? I would expect a much better user experience.
Comment 4 j.david.lists 2020-11-29 18:28:40 UTC
Created attachment 220077 [details]
Same patch, but restore PORTEPOCH

Here is the patch with PORTEPOCH restored.

I only use poudriere so I don't know how to do "make makepatch" in that context.  This patch seems to apply and work, but feel free to modify it as needed.

With respect to math/py-statsmodels and devel/py-xarray, I am a sysadmin not a Python programmer so I know very little about it.  But I have encountered that the Python numeric stuff can be incredibly tricky to build and combine, and not everything works in every combination.  If that stuff isn't commonly used, blanket adding it to RUN_DEPENDS may have serious unanticipated consequences.  It's not something I feel I know enough about to mess with.
Comment 5 Rainer Hurling freebsd_committer freebsd_triage 2021-01-03 07:46:43 UTC
Created attachment 221231 [details]
Update to 1.1.5 and reorder Makefile vars

After v1.1.5 is released for some weeks now, I renewd the existing patch.

While here, I also reordered Makefile variables, as suggested by portclippy (ports-mgmt/portfmt) and added USE_GL=glu.
Comment 6 Rainer Hurling freebsd_committer freebsd_triage 2021-01-03 07:50:12 UTC
Forgot to mention, that for some days now, also v1.2.0 is released. 

I haven't prepared a patch for it because there are some problems with plist that I don't understand at the moment.
Comment 7 Kubilay Kocak freebsd_committer freebsd_triage 2021-01-13 08:12:47 UTC
^Triage: [tags] in issue Titles are deprecated
Comment 8 Rainer Hurling freebsd_committer freebsd_triage 2021-01-18 21:00:00 UTC
Hi Kubilay,

Don't know if this is meant with 'needs-qa':

Patch to v1.1.5 is tested on Poudriere (amd64, i386) on HEAD, 12.2, and 11.4. 

'portlint -AC' is ok and portclippy has no suggestions for Makefile ;)
Comment 9 Rainer Hurling freebsd_committer freebsd_triage 2021-01-24 09:36:43 UTC
maintainer timeout
Comment 10 Rainer Hurling freebsd_committer freebsd_triage 2021-01-24 14:14:58 UTC
I just tested all math/py-pandas dependent ports [1] in Poudriere with py37 flavor. No errors occurred. Do we need an exp-run?

[1] devel/py-hypothesis devel/py-xarray devel/py-fbprophet devel/py-spyder devel/py-datatest devel/py-dask graphics/py-mapclassify graphics/py- ointpats graphics/qgis graphics/py-geopandas graphics/qgis-ltr graphics/py-traitsui science/py-oddt science/agrum science/py-chainer-chemistry science/py-spaghetti science/abinit science/py-tobler science/py-nilearn science/py-abipy science/py-lifelines science/py-pymatgen science/py-segregation science/py-libpysal science/py-esda science/py-access textproc/py-elasticsearch6 textproc/py-tablib textproc/py-petl biology/py-biom-format biology/py-scikit-bio biology/py-gtfparse biology/py-loompy biology/py-orange3-single-cell biology/py-pandas-charm math/py-arviz math/py-statsmodels math/py-pymc3 math/py-pandas-datareader math/py-nevergrad math/py-seaborn math/py-statsmodels010 math/py-benford_py math/py-spvcm math/py-spreg misc/py-eemeter misc/py-orange3-timeseries www/py-spyne astro/py-metpy
Comment 11 Po-Chuan Hsieh freebsd_committer freebsd_triage 2021-01-24 17:01:15 UTC
(In reply to Rainer Hurling from comment #10)

FYI, I have prepared the 1.2.0 update in bug #250103.
Comment 12 Rainer Hurling freebsd_committer freebsd_triage 2021-01-24 17:41:35 UTC
(In reply to Sunpoet Po-Chuan Hsieh from comment #11)
Hi Sunpoet,

Thanks for the pointer. I wasn't aware of it.

After a first look, it is not clear to me if your v1.2.0 is ready to go?

If not and it needs some more work, I have a ready and approved version v1.1.5 in [1]. What do you think?


[1] https://reviews.freebsd.org/D28059
Comment 13 Po-Chuan Hsieh freebsd_committer freebsd_triage 2021-01-30 13:39:07 UTC
py-pandas updated to 1.2.0 in ports r563406 (bug #250103).