-
Notifications
You must be signed in to change notification settings - Fork 304
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
A new installation workflow for PTB #268
base: master
Are you sure you want to change the base?
Conversation
de61132
to
f23ccbe
Compare
ebeb03f
to
e4f45b7
Compare
476f760
to
1d9f069
Compare
Hi @bpancras and @vijayiyer05 sorry for the late reply. I was forced by my boss, without meaningful heads up, to use up all saved up remaining vacation days of the last years 2022-2023, of which there were many, or lose all of them without any compensation. This lead to a mostly complete stand-still of most not-super-critical work on PTB since early March, and now to being behind in schedule by over 1.5 months on important projects. Hence this delay, and likely future delays in the next months, sorry. Anyhow, I just had a quick skim over this, and while I thank you for trying, this contribution is not suitable in its current form.
If you look at the |
A few more comments after playing with bits of code under Octave 8.4. I assume stuff works hopefully the same with Octave 6.1 and later, which would be required. webread() is supported in Octave 6.1 and later, which would be good enough for our purposes. The way to get releaseJSON on Octave, as used in your code, would be via urlwrite() works as replacement for webwrite() in Octave. You would not want to store the zip file in the Matlab Add Ons folder in the first place, as no such thing exists on Octave or in older Matlab's, and .mltbx files installed via the Add Ons explorer would be the way to go anyway in that case. So that whole logic can go and one uses the targetfolder specified by the user in DownloadPsychtoolbox.m etc. Finally, that's the wrong zip file to use, as it contains also all the C-Source, build scripts, Python code etc. You'd want the 3.0.x.y.zip file, e.g., from the url: downloadurl = releaseJSON{i}.assets(2).browser_download_url; Btw. for some unfortunate reason, the mltbx files also seem to contain the source folders etc., despite them not being specified in the toolbox project file. Only the Psychtoolbox/ subfolder should be part of those. |
This contribution implements a new installation workflow for Psychtoolbox centered around GitHub's Rest API. This is a prototype implementation targeted towards replacing the now deprecated SVN based installation workflow. The implementation has the following interface:
The installPTB script can be used until version 3.0.16.8, the tagging convention was different before this release.
"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY."