Opencascade for the masses?

Here's the place for discussion related to coding in FreeCAD, C++ or Python. Design, interfaces and structures.
blacey
Posts: 370
Joined: Tue Dec 08, 2015 11:28 pm

Opencascade for the masses?

Postby blacey » Mon Dec 18, 2017 1:11 pm

Long story short, the Homebrew macOS package management team will not accept an opencascade formula that does not download the source tarball from the official opencascade site but the opencascade download site requires credentials to download the tarball - not possible in a formula. Does anyone know of a solution or how to best to reach the opencascade team for possible solutions? While we can host an opencascade formula in the FreeCAD-homebrew tap, it would be better for the opencascade ecosystem to offer it more broadly in the HomeBrew core with prebuilt bottles.

I'm ready and willing to continue my work on the formula and work with the Homebrew team to make it generally available but need to get past this small hurdle.
User avatar
Kunda1
Posts: 7308
Joined: Thu Jan 05, 2017 9:03 pm

Re: Opencascade for the masses?

Postby Kunda1 » Mon Dec 18, 2017 8:32 pm

I've had good success getting typo patches submitted via http://www.salome-platform.org/forum/forum_9
It's safe to say that the OCC Devs keep an eye on the forums. But maybe a personal more direct way is more ideal?
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
blacey
Posts: 370
Joined: Tue Dec 08, 2015 11:28 pm

Re: Opencascade for the masses?

Postby blacey » Mon Dec 18, 2017 10:16 pm

Kunda1 wrote:
Mon Dec 18, 2017 8:32 pm
I've had good success getting typo patches submitted via http://www.salome-platform.org/forum/forum_9
It's safe to say that the OCC Devs keep an eye on the forums. But maybe a personal more direct way is more ideal?
Thanks. @saso pointed me to Quaor who provided the contact information for the Opencascade kernel project. I have penned a note to him - hopefully he will be able to help directly or point me to someone who can.
triplus
Posts: 9417
Joined: Mon Dec 12, 2011 4:45 pm

Re: Opencascade for the masses?

Postby triplus » Tue Dec 19, 2017 12:19 am

Until they change the policy (provide credentials to download) you could i guess try to download a snapshot (provided in tar.gz or zip format) and see how that goes. Browsing through:

http://git.dev.opencascade.org/gitweb/? ... a=shortlog

And taking a quick glance this looks relevant:

Code: Select all

2017-08-30 	bugmaster	Incrementing OCCT version up to 7.2.0 	commit | commitdiff | tree | snapshot (tar.gz zip)
P.S. Downloading a snapshot by for example using wget highly likely should be achievable.
blacey
Posts: 370
Joined: Tue Dec 08, 2015 11:28 pm

Re: Opencascade for the masses?

Postby blacey » Tue Dec 19, 2017 1:10 pm

triplus wrote:
Tue Dec 19, 2017 12:19 am
http://git.dev.opencascade.org/gitweb/? ... a=shortlog
P.S. Downloading a snapshot by for example using wget highly likely should be achievable.
Thanks but something like that won't work because each separate download yields a different sha so the git snapshot process must mutate some of the tarball content slightly.

Code: Select all

curl -L -o opencascade-7.2.0.tgz "http://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V7_2_0;sf=tgz"
openssl sha -sha256 opencascade-7.2.0.tgz 
SHA256(opencascade-7.2.0.tgz)= f9a81ca2267635773af9fff80625735dd4f65389af986fe93a94263081b422e9
The formula requires a consistent sha embedded in the formula that Homebrew uses to verify the download.
User avatar
looo
Posts: 3286
Joined: Mon Nov 11, 2013 5:29 pm

Re: Opencascade for the masses?

Postby looo » Tue Dec 19, 2017 1:55 pm

As oce is not yet adopting occ version 7.0 and higher, we could try to create a kind of community fork of occ7.2 on github.
blacey
Posts: 370
Joined: Tue Dec 08, 2015 11:28 pm

Re: Opencascade for the masses?

Postby blacey » Tue Dec 19, 2017 2:10 pm

looo wrote:
Tue Dec 19, 2017 1:55 pm
As oce is not yet adopting occ version 7.0 and higher, we could try to create a kind of community fork of occ7.2 on github.
@Quaoar provided the contact information for the Opencascade Kernel project manager. I have reached out to him and he is interested in finding a solution to support Homebrew and said he will get back to my later this week. Fingers-crossed that this will bear fruit.
Last edited by blacey on Tue Dec 19, 2017 3:27 pm, edited 1 time in total.
User avatar
looo
Posts: 3286
Joined: Mon Nov 11, 2013 5:29 pm

Re: Opencascade for the masses?

Postby looo » Tue Dec 19, 2017 2:44 pm

ok, this is definitely a better solution.
triplus
Posts: 9417
Joined: Mon Dec 12, 2011 4:45 pm

Re: Opencascade for the masses?

Postby triplus » Tue Dec 19, 2017 2:51 pm

blacey wrote:
Tue Dec 19, 2017 1:10 pm
Thanks but something like that won't work because each separate download yields a different sha so the git snapshot process must mutate some of the tarball content slightly.
Interesting.
@Quoroar provided the contact information for the Opencascade Kernel project manager. I have reached out to him and he is interested in finding a solution to support Homebrew and said he will get back to my later this week. Fingers-crossed that this will bear fruit.
Nice!
blacey
Posts: 370
Joined: Tue Dec 08, 2015 11:28 pm

Re: Opencascade for the masses?

Postby blacey » Tue Dec 19, 2017 3:33 pm

triplus wrote:
Tue Dec 19, 2017 2:51 pm
blacey wrote:
Tue Dec 19, 2017 1:10 pm
Thanks but something like that won't work because each separate download yields a different sha so the git snapshot process must mutate some of the tarball content slightly.
Interesting.
md5deep doesn't find any differences between two downloads so I wonder if it is simply some metadata on the tarball that causes the sha to change.

Code: Select all

$ openssl sha -sha256 opencascade-7.2.0.a.tgz 
SHA256(opencascade-7.2.0.a.tgz)= 7aecff59b9f4bc3dda87059c7b91f6d6be1ff0f4d80aef2704e11df51cc4dd1e

$ openssl sha -sha256 opencascade-7.2.0.b.tgz 
SHA256(opencascade-7.2.0.b.tgz)= 0747951dee19c4fc644843d90218349e5d3192500da5282f5d3a923fe9c77448

$ md5deep -r -s occt-V7_2_0.a > /tmp/occt.a.sums
$ md5deep -r -X /tmp/occt.a.sums occt-V7_2_0.b