Bug 2275305

Summary: Review Request: python-glfw - A Python ctypes-based wrapper for GLFW3
Product: [Fedora] Fedora Reporter: Tim <t.imarthurlee>
Component: Package ReviewAssignee: Sandro <gui1ty>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: gui1ty, package-review
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-07-04 10:41:02 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 201449    

Description Tim 2024-04-16 15:22:11 UTC
Spec URL: https://github.com/timarthurlee/uml-redhat-capstone-2023/raw/main/rpmbuild/SPECS/python-glfw.spec
SRPM URL: https://github.com/timarthurlee/uml-redhat-capstone-2023/raw/main/rpmbuild/SRPMS/python-glfw-2.7.0-1.fc39.src.rpm
Description: This module provides Python bindings for GLFW < (on GitHub: glfw/glfw < It is a ctypes wrapper which keeps very close to the original GLFW API.
Fedora Account System Username: timarthurlee
This is one of my first packages and I will need a sponsor. I am submitting this as a part of the 2023 Friendly Fedora capstone project team at UMass Lowell.

The rpm was successfully built in koji:
https://koji.fedoraproject.org/koji/taskinfo?taskID=116458826

Comment 1 Sandro 2024-05-28 12:08:41 UTC
I'm taking this. Seems I might need it for another package I'm working on.

Glancing over the spec file, I have the following preliminary remarks:

In `setup.py` upstream defines extra `preview`. That should be packaged as such. See:

https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#Extras

However, since glfw-preview [1] is not yet packaged for Fedora, you can leave out the extra. On the other hand, `glfw-preview` uses the same source as `glfw`, so it seems reasonable to package that as well. It should probably be a package of its own, but I'll check on that.

You should use the modern Python (pyproject) macros described in [2], unless there's a compelling reason for using the older macros [3]. Using the modern macros, you should not need to specify any Provides or Requires. They will be detected and added automatically. You have `Requires: python3dist(glfw-preview)`. That seems wrong since only the optional `preview` extra requires it. It also causes the package not to install since nothing provides `python3dist(glfw-preview)`.

The modern macros will also make it easy to populate the `%files` section (see [4]).

Lastly, please consider defining a macro for the description instead of repeating the content. See the example spec file [4] for inspiration. It will make maintaining the spec file easier.

[1] https://pypi.org/project/glfw-preview/
[2] https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/
[3] https://docs.fedoraproject.org/en-US/packaging-guidelines/Python_201x/
[4] https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_example_spec_file

Comment 2 Sandro 2024-06-08 10:08:57 UTC
Ping? 

Tim, are you still interested in getting this packaged for Fedora?

Comment 3 Sandro 2024-06-25 22:05:08 UTC
This review appears to be stalled. It's been four weeks since I took it. I'll wait another week as per stalled review policy [1] before closing this as a dead review 

[1] https://docs.fedoraproject.org/en-US/fesco/Package_review_policy/#submitter_not_responding

Comment 4 Sandro 2024-07-04 10:41:02 UTC

*** This bug has been marked as a duplicate of bug 2295768 ***