FreeCAD / FPA-grant-proposals

Submit grant proposals to the FPA by creating an issue in this repository.
https://fpa.freecad.org
0 stars 1 forks source link

update homebrew-freecad tap with a freecad formula that uses python v3.12 and qt v6 #11

Open ipatch opened 1 month ago

ipatch commented 1 month ago

Proposal description

In one of the recent PR merge meetings, there was a discussion on getting the homebrew-freecad tap to support qt v6. this proposals aims at creating a freecad formula within the tap where the formula is built and linked against both python v3.12 and qt v6.

there are several challenges that will need to be overcome to achieve both of these goals.

  1. updating the required dependencies in the tap to use python v3.12 and qt v6 when required.

Deliverables

so when everything is complete, when a user who uses homebrew or linuxbrew for that matter (myself included). when they run,

brew install freecad/freecad/freecad

they should have a installed version of freecad on their system that is built and linked against qt v6 and python v3.12. both the qt v6 and the python v3.12 are formula supplied by upstream homebrew-core tap/repo.

there will be a new formula added to the tap such as the recently added pyside6_py12 (link below), a new version of coin will need to be addressed that is setup to use python v3.12 along qt v6. and including the gui widget bindings that connect coin & pivy. I'm currently working on that at the moment. (link below)

https://github.com/FreeCAD/homebrew-freecad/blob/master/Formula/pyside6_py312.rb

https://github.com/FreeCAD/homebrew-freecad/pull/551

Timeline

I started the migration for the tap ~ a week ago, and have made good progress thus far. I'd like to think that I could get a new formula working within a week or two, depending on how busy I am with my day job. (apprentice electrician).

Risks and mitigation

I believe the risks will be minimal at best. I've already begun the work on the migration to python v3.12 and qt v6, as I've already created a new formula in the tap that builds and links against qt v6.

https://github.com/FreeCAD/homebrew-freecad/blob/master/Formula/pyside6_py312.rb

I think the biggest challenge will be working around the peculiarities of the homebrew infrastructure.

Compensation

I want to be compensated $2000 USD. (my local currency). Also is there any alternate forms of payment other than PayPal? Last time I received a payment via PayPal, there was a noticeable service charge taken by PayPal itself.

I think asking ~ $2000 is on par with what has been compensated in the past for such maintenance / infrastructure updates as seen in the links below.

https://github.com/FreeCAD/FPA/issues/100

https://github.com/FreeCAD/FPA/issues/112

About you

Name

Chris Jones

forum / Community username(s)

ipatch

Experience relevant to the proposed grant

currently, i am the maintainer of the homebrew-freecad tap.

Have you already contributed to FreeCAD? Please elaborate.

yes, i submitted a PR a few years ago about building freecad using homebrew, and thus have been maintaining the tap since then.

Have you ever worked on similar software before? Please elaborate.

can't really say that i have.

Have you ever solved similar tasks before? Please elaborate.

yes, it took a considerable amount of time, but i did manage to get homebrew-freecad tap setup to work with linuxbrew and also got it so that the versioned (keg-only) formula of pyside, shiboken, and qt v5 to work with a formula in the tap that requires little to no hacking from a user, to where they can just run brew install freecad/freecad/freecad.

yorikvanhavre commented 1 month ago

Looks good to me, definitely happy to see the homebrew build maintained and upgraded

ipatch commented 4 weeks ago

i think the below comment could resolve some of these issues related to the "proxy" / "shadowed" PySide module setup by the freecad install.

https://github.com/FreeCAD/homebrew-freecad/issues/547#issuecomment-2286647111

chennes commented 3 weeks ago

The Grant Review committee recommends that the FPA approve this grant: some quotes from committee members --

“All kinds of "maintenance" tasks are not gratifying, boring things that nobody really likes to do, but that do good to everybody. The more we can fund those and free other developers from these tasks so they can freely concentrate on coding, the more we help the project. Definitely something the FPA should fund.”

“I have read his proposal, and same as [those] reasons I'm in favour.”

“it‘s a good proposal and would give good support to the project smoothing installation”

I will forward this recommendation to the FPA for voting.

chennes commented 2 weeks ago

The FPA has voted to approve this grant. Congratulations @ipatch, we look forward to working with you on this project. When you are ready for final payment, send email to fpa@freecad.org to appraise us of the project status.

ipatch commented 1 week ago

thanks chris aka @chennes 🙏 i'm stoked to work on this.

have run into a couple of road blocks so far, but hopefully they won't be to difficult to resolve. 🤞

also been getting more AFK work, so haven't had as much time to dedicate to this as i'd like, but hopefully i can chip away it.