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
vcvrack: new port #7995
vcvrack: new port #7995
Conversation
Travis Build #13183 Passed. Lint results
Port vcvrack success on xcode10.3. Log |
will need thread_local:
I think this has been finally fixed in the new base, so if we're lucky, you can just add it with a compiler spec now. |
OK, thanks. Trying with |
Travis Build #13192 Passed. Lint results
Port vcvrack success on xcode10.3. Log |
well, now we see the next problem! It's not UsingTheRightCompiler:
so it has ignored your nice compiler spec... |
Trying one more time... |
Travis Build #13194 Passed. Lint results
Port vcvrack success on xcode10.3. Log |
Travis Build #13196 Passed. Lint results
Port vcvrack success on xcode10.3. Log |
Trying another approach, incorporating the |
a6984c7
to
9574408
Compare
Nevermind. Reverting changes. |
bba929f
to
02bc90f
Compare
Travis Build #13209 Failed. Lint results
Port vcvrack fail on xcode10.3. Log |
Travis Build #13216 Passed. Lint results
Port vcvrack success on xcode10.3. Log |
To my very great disappointment, despite adding |
It could just be that the way the Makefile is structured, it's ignoring what MacPorts is trying to do. I haven't dug in myself, but tbh I think we're not bad for 3 out of 4 XCode versions 😂 |
Or also perhaps in the way we're invoking make, as we have to use manually specified build steps instead of the default build command, env and args as would be provided by MacPorts default. |
luckily that is easy to test...just force a compiler. |
Only because our Travis CI build process has not been updated to use MacPorts 2.6.3. https://trac.macports.org/ticket/60925 |
audio/vcvrack/Portfile
Outdated
port:automake \ | ||
port:cmake \ | ||
port:jq \ | ||
port:python38 \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does it use autoconf, automake, python38? I didn't see it in the log, but it is downloading and building lots of other dependencies and is using silent rules so the exact commands it's running aren't always visible.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're right, I removed those and the build still completed. Will see how it fares in CI.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And jq? I see it is mentioned in the building instructions. I don't see it used in the log but maybe it is still used in some way that isn't shown in the log.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
jq
is indeed used by one of the dependencies that gets pulled in, "jpommier".
Travis Build #13362 Passed. Lint results
Port vcvrack success on xcode10.3. Log |
platforms darwin | ||
license GPL-3 | ||
|
||
set rack_fundamental_version 1.3.1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it make sense to have a separate vcvrack-fundamental port that vcvrack would depend on? That way it could have its own version number, could be updated independently of vcvrack, could use a normal distfile which could be mirrored, etc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had that passing thought, but the problem is that the Fundamental plugins have no place on the installed filesystem.
They are only meant as extra source files going into vcvrack
's build process. If I make them a sub-port then they will have to be installed somewhere in the formal filesystem - but once vcvrack
is built and packaged, they serve no further purpose after that....
Then again I suppose that's the entire point of `depends_build, I guess 😅
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
They are only meant as extra source files going into
vcvrack
's build process
Oh I didn't realize that. I just saw the code in the portfile that just seemed to be fetching the fundamental distfile, verifying checksums, extracting, and then creating a new zip file. I assumed that new zip file was being installed as is. I didn't realize the build process was unpacking it again and building it. I wonder why they make you create a new zip file rather than using the one that was downloaded.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Basically the way it works is that Rack can build plugins against its source. There are the set of "fundamental" plugins, and then others/3rd-party.
The fundamental plugins are downloaded as a zip file containing source, extracted into place in the source tree, and after the first phase of Rack's build process, the plugins are then built against the libs and assets of Rack. Afterwards the resulting objects and dylibs (and source code, manifest JSON and what-have-you) are zipped up again and placed into the resulting .app bundle for vcvrack
.
When the user first double-clicks on the app, Rack creates a user directory in ~/Documents, and extracts the built fundamentals zip into a plugins subdirectory there.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well thanks for figuring this all out. A friend of mine has been raving about the wonders of the Eurorack so I'll have to try this port.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No worries. The one thing this is missing is the SDK, which I'll add at some later point in time. The vcvrack
SDK is necessary to build additional plugins for Rack which also get installed to the user plugins directory.
New port for VCVRack
Description
Tested on
macOS 10.15.6 19G73
Xcode 11.6 11E708
Verification
Have you
port lint
?sudo port test
?sudo port -vst install
?