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

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

Open
ipatch opened this issue Jul 27, 2024 · 8 comments
Labels
funded The FPA voted to fund this proposal

Comments

@ipatch
Copy link

ipatch commented Jul 27, 2024

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

FreeCAD/homebrew-freecad#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.

FreeCAD/FPA#100

FreeCAD/FPA#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
Copy link
Member

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

@ipatch
Copy link
Author

ipatch commented Aug 13, 2024

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

FreeCAD/homebrew-freecad#547 (comment)

@chennes
Copy link
Member

chennes commented Aug 15, 2024

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
Copy link
Member

chennes commented Aug 27, 2024

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 [email protected] to appraise us of the project status.

@ipatch
Copy link
Author

ipatch commented Aug 29, 2024

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.

@chennes chennes added the funded The FPA voted to fund this proposal label Sep 9, 2024
@ipatch
Copy link
Author

ipatch commented Oct 16, 2024

still chipping ⛏️ away at this proposal. recently got all the freecad formula deps updated to build and link against python 3.12 provided by upstream homebrew-core. now i'm drafting out a new freecad v1.0.0rc2 formula in the below PR.

FreeCAD/homebrew-freecad#574

it's a bit of tedious process to setup homebrew, install the deps, configure with cmake, then build, then get the error message 🥵 with both doing all the above steps locally or through github ci.

either way, hopefully i'll work through all the errors as they arise, and will have finished one step ie. get everything going in the tap with python v3.12.x 🤞, and then draft a new freecad v1.0.0rc2 that builds and links against qt v6.

all that said, is it possible to get partial payment when the first freecad v1.0.0rc2 py312 formula is published?

and if so, is there an alternate payment method other than paypal? last time i received a payment they took a substantial portion of the payment for transaction fees?

looking forward to finishing the first step of this grant, sooner than later.

@chennes
Copy link
Member

chennes commented Oct 18, 2024

While we typically ask grantees to structure their original grant request into smaller payments if that's something they want to do (so we don't have to make an evaluation after the fact of whether this or that phase was really half the project, or whatever), we have historically been willing to split a larger grant into smaller payments on request. Please send an email to [email protected] with your proposed new payment structure. We are also usually able to do direct bank transfers, so you can send along your bank's routing information as well and we can work with you on getting the funds via that channel instead.

@ipatch
Copy link
Author

ipatch commented Nov 10, 2024

i've drafted an email, but haven't sent it, requesting / requesting the split of the payments for the separate tasks. i'm still working on this ongoing issue. and once i feel comfortable that i've completed it. i'll send out the email. i thought i'd post here to just a courtesy follow up.

FreeCAD/homebrew-freecad#630

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
funded The FPA voted to fund this proposal
Projects
None yet
Development

No branches or pull requests

3 participants