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

Bleeding edge FreeCAD binary #3654

Closed
luzpaz opened this issue Mar 24, 2014 · 32 comments
Closed

Bleeding edge FreeCAD binary #3654

luzpaz opened this issue Mar 24, 2014 · 32 comments

Comments

@luzpaz
Copy link
Contributor

luzpaz commented Mar 24, 2014

Current FreeCAD brew cask is old v .12
This gentleman is the only freeCAD mac dev to step up and compile the latest dev binaries:
http://forum.freecadweb.org/viewtopic.php?f=4&t=5452&start=40
Can we have a freecad-dev cask ?

@vitorgalvao
Copy link
Member

So peterl94 is not officially affiliated with FreeCAD, but compiles binaries that are not officially provided as such, only as source code?

If that’s the case, it being unofficial and from a source we don’t know and trust, it shouldn’t be added here. However, it does seem like a good candidate for caskroom/homebrew-unofficial. What do you think, @alebcay?

@alebcay
Copy link
Member

alebcay commented Apr 25, 2014

The link provided in the forum post goes to http://sourceforge.net/projects/free-cad/files/FreeCAD%20MacOSX/, which is the official download page for FreeCAD as listed on their homepage, so I don't think the link counts as unofficial (the official web page links to the same download link given in the forum post above). The issue remains that v0.14 is listed as unstable - the latest stable version is v0.13 (according to the website that is, their Sourceforge project says it's v0.12 though).

If you decide to bring in the "bleeding edge" version (which is still official, but unstable), it should probably go in caskroom/homebrew-versions.

@luzpaz
Copy link
Contributor Author

luzpaz commented Apr 25, 2014

Posted on the FreeCAD forum here: http://forum.freecadweb.org/viewtopic.php?f=4&t=5452&p=51631#p51631

@peterlama
Copy link

Hi there,
I'm the one responsible for the official Mac builds. Version 0.14 has not been released yet, so the builds in the "0.14 Unstable" folder are just development snapshots. I try to do one at least once a month. Each build has a revision number, which is the number of commits in the master branch at the time of the build.

@peterlama
Copy link

Also, another FreeCAD user has recently created a homebrew formula that builds FreeCAD from the master branch. https://github.com/sanelson/homebrew-freecad

@luzpaz
Copy link
Contributor Author

luzpaz commented Apr 25, 2014

@peterl94 just to make sure that we're on the same page, this is Homebrew Cask (http://Caskroom.io) which uses the homebrew package manager to deliver precompiled binaries. It would be awesome to be able to have Homebrew Cask deliver your volunteer dev builds. Thanks for introducing yourself. Perhaps now we can get this to happen.
Cheers.

@peterlama
Copy link

The only problem is that someone would have to manually update the url every time I uploaded a new build, right? Or does Cask provide some way to automatically fetch the newest file? I guess manually updating the url wouldn't be much of a problem if I don't do builds that frequently, but in the future I might automate the process and do weekly or even daily builds.

@luzpaz
Copy link
Contributor Author

luzpaz commented Apr 25, 2014

@peterl94 Perhaps we can figure out, if it's cool with the Caskroom devs, if there is a default HEAD-like URL address that will point to the most recent build you've created?

@luzpaz
Copy link
Contributor Author

luzpaz commented Apr 25, 2014

Automating the git fork and pull actions could also be scripted, I imagine. And could be part of the build process once the build has been uploaded to sourceforge?

@peterlama
Copy link

Yeah, that could work.

@peterlama
Copy link

I guess the normal "latest" link on sourceforge doesn't get updated automatically.

@luzpaz
Copy link
Contributor Author

luzpaz commented Apr 25, 2014

@peterl94
So I'm on: http://sourceforge.net/projects/free-cad/files/FreeCAD%20MacOSX/FreeCAD%200.14%20Unstable/
And the link that show me how to load you latest dev build is this:
http://sourceforge.net/projects/free-cad/files/latest/download?source=files
which downloads FreeCAD_0.14.3052_x64.zip
Can you confirm?
If so, if you create a new build does the link automatically point to the new build? How do we get sourceforge to play nice and point to the latest build?
Side note, their is a lack of uniformity in the file names:
as per screenshot:
https://www.dropbox.com/s/cqu83dmrg3aq4ed/Screenshot%202014-04-25%2013.46.02.png

@luzpaz
Copy link
Contributor Author

luzpaz commented Apr 25, 2014

I'm thinking now on my past experiences with Homebrew Cask that there is a necessity to provide a direct link instead of using a redirect link in the formula. So lets make a script that automates this and will be part of you build workflow...

@luzpaz
Copy link
Contributor Author

luzpaz commented Apr 25, 2014

Yes, found this in the Caskroom Contributing.md documentation: https://github.com/phinze/homebrew-cask/blob/master/CONTRIBUTING.md#sourceforge-urls

@peterlama
Copy link

You have to update the sourceforge link manually, and I'm not sure I have the necessary admin rights to do that. I changed the naming scheme on purpose to emphasize the fact that they are development builds and not release builds.

@peterlama
Copy link

So yeah, a script to update the Cask formula would probably be the easiest.

@luzpaz
Copy link
Contributor Author

luzpaz commented Apr 25, 2014

So yeah, a script to update the Cask formula would probably be the easiest.

Cool. I think the URL would be something like this:
http://sourceforge.net/projects/free-cad/files/FreeCAD%20MacOSX/FreeCAD%200.14%20Unstable/$LATEST_BUILD_VERSION/download which points to some sort of mirror script that SourceForge uses.
where $LATEST_BUILD_VERSION would be FreeCAD_r3402_x64.zip

Just for cleanliness/clarity it may be a good idea to include OSX-dev-$snapshot_revision_number in the filenames for the builds ?

@peterlama
Copy link

Yeah, that looks like a good idea.

@luzpaz
Copy link
Contributor Author

luzpaz commented Apr 25, 2014

Hey @alebcay, @vitorgalvao
Do you know of anyone who has made automated bash scripts that will auto git fork, commit the new changes and then git pull request the homebrew cask repo ? We want this to be part of @peterl94 bleeding edge build workflow. Thanks for your help on this

@peterlama
Copy link

I know how I would right the script -- all but the pull request part. Can Cask use other repos?

@alebcay
Copy link
Member

alebcay commented Apr 25, 2014

I have yet to see this feature in a script, and it may be awhile until I get it worked into Cask Developer Tools. In the meanwhile, if you intend to use your own, you'll probably need the Pull Requests GitHub API to do it.

@alebcay
Copy link
Member

alebcay commented Apr 25, 2014

Yes, it should work just like normal Homebrew:

brew tap user/repo
cask install <some_cask_from_that_repo>

If the second step doesn't work, you might need:

cask install user/repo/cask

@vitorgalvao
Copy link
Member

I’ll have to read the rest of the issue up, but I have a script that might be able to help with the process a bit (not everything, but it may serve as a starting point). You can install it via

brew tap vitorgalvao/homebrew-tinyscripts
brew install cask-reapair

or simply by getting the raw script.

To use it, simply go to the homebrew-cask/Casks directory (wherever you may have it setup), and run cask-repair <name_of_cask>. It will then guide you through the steps. For it to work optimally, your local directory should have at least two branches — origin (pointing to your fork) and upstream (pointing to this repo).

It will pull all updates from this repo, create and change to a new branch, show you what the cask currently contains, and ask you to type a version (whatever version you updated it to), at which point you should have the direct download url in your clipboard. It’ll use that url to download the file and calculate its checksum, make all relevant changes, show you a diff, audit it, and ask you if everything is correct (you may edit it manually, if needed). If you tell it everything is ok, it’ll commit, push that branch (you’ll then have to come to github to make the pull request), go back to master, and delete the branch.

@peterlama
Copy link

Cool, I'll have to try that out. But I'm thinking that having the development builds cask formula in my own repo might be a more sensible solution. Then when 0.14 is released, the one in the official repo can be updated.

@luzpaz
Copy link
Contributor Author

luzpaz commented Apr 25, 2014

@alebcay thanks for you replies
@vitorgalvao very cool my friend. This is what I was exactly hoping existed.
@peterl94 I see what you mean though, based on what @vitorgalvao script can do what's the difference if it's your repo or sourceforge ?

@peterlama
Copy link

It would save having to do a pull request every time I updated the formula, which would be very nice if I end up doing daily builds.

@luzpaz
Copy link
Contributor Author

luzpaz commented Apr 26, 2014

@alebcay & @vitorgalvao
So what is the course of action here. If @peterl94 wants to offer daily builds and not do a pull request, instead just change a repo on his end?

@alebcay
Copy link
Member

alebcay commented Apr 26, 2014

This repository is intended for stable releases, not bleeding edges. Bleeding edge and development builds should go in caskroom/versions. It would be easier to host the builds under a static file name on a server (probably not Sourceforge - they do weird stuff with statically named files) e.g. FreeCAD_OSX_nightly_unstable.tar.gz, and then make a script that renames this file every night with a datestamp and then builds the new version of FreeCAD as the same name. That way, we don't have to change the Cask; instead, we just change the file that the Cask points at.

@peterlama
Copy link

On second thought, I think I might do that.

@luzpaz
Copy link
Contributor Author

luzpaz commented Apr 27, 2014

@alebcay So if people search for FreeCAD using homebrew... the bleeding edge dev build made by @peterl94 won't show up in the search result, right?

@alebcay
Copy link
Member

alebcay commented Apr 27, 2014

@luzpaz Yes, if you put the Cask in your own repo, you'll have to point users towards it yourself, as the search won't find it.

@vitorgalvao
Copy link
Member

Seems like we can close this, now.

@Homebrew Homebrew locked and limited conversation to collaborators May 8, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants