-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Engine Prime export uses libdjinterop snapshot API #3776
Conversation
cde1664
to
49e80c0
Compare
@@ -1724,8 +1724,8 @@ if(ENGINEPRIME) | |||
set(DJINTEROP_LIBRARY "lib/${CMAKE_STATIC_LIBRARY_PREFIX}djinterop${CMAKE_STATIC_LIBRARY_SUFFIX}") | |||
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/download") | |||
ExternalProject_Add(libdjinterop | |||
URL "https://github.com/xsco/libdjinterop/archive/0.14.6.tar.gz" | |||
URL_HASH SHA256=db2f57f6c06c801d1785280ede0f032d7280bedd72f2a30bc263a272e3269587 | |||
URL "https://github.com/xsco/libdjinterop/archive/0.15.1.tar.gz" |
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.
Out of scope: Did you consider switching to GIT_REPOSITORY + GIT_TAG? I Just used this variant recently in a project and it seems to be more concise.
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.
This did originally use GIT_REPOSITORY
etc. but I changed it in a (sadly misguided) attempt to get the Ubuntu build working. I agree with you that GIT_REPOSITORY
is more clear vs. a download link on GitHub. It's also easier during development to temporarily point to a branch (e.g. when I'm testing out a new version of libdjinterop that hasn't been merged yet).
I'll make a note to change this back at some point!
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 wasn't aware of the Debian/Ubuntu build dependencies. The Fedora build system requires you to manually upload and hash sources in advance.
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.
There is a more full discussion in #3620
In short, there was no need to change from GIT_REPOSITORY
to plain old http downloads. The Ubuntu build should not be downloading sources of dependencies from GitHub, and should instead be using packages. To that end, libdjinterop now has its own PPA, and I either Mixxx's PPA can use the same packages, or make a dependency on the libdjinterop PPA.
This reminds me to talk to Daniel about agreeing the approach, which I'll do on Zulip now.
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.
Thank you for taking care of this feature! LGTM
This PR updates the Engine Prime export to use the 0.15.1 version of the libdjinterop library, that provides a new (breaking) API change allowing a track to be created or updated in a single call.
The new approach means that the number of database operations is greatly minimised, resulting in a much faster export experience.
As an additional bonus, the track rating is now exported too.