-
-
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
Remove SCons #2777
Remove SCons #2777
Conversation
Thanks. We can't merge this until we get CMake working on macOS and switch the build servers to CMake. |
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 think most of the files in the debian folder need to remain.
We need to find out what is the standard way of creating a deb file making use of cmake and follow it.
build/debian/changelog
Outdated
@@ -1,277 +0,0 @@ | |||
mixxx (2.2.2-0ubuntu1) bionic; urgency=medium |
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.
We need most of the diebisn files to create the deb packages.
I know that there is some automation with cmake and pebuilder, but some files are required anyway.
To keep almost empty changelog is stupid anyway. I think we need to find a way to make our main changelog file debian compliment.
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.
Typical entry in the (RPMFusion) distribution changelog: "New upstream release". Otherwise only technical changes when bumping the .spec version.
This is a different kind of changelog.
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.
Not everyone uses a Debian system and the main changelog should stay agnostic.
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 can already build a DEB package via cpack -G DEB
.
I would like to enforce the removal of SCons:
|
Unfortunately we still need someone to make CMake builds not crash on startup on macOS... |
No one seems to care as long as the SCons builds are available. That's my point. |
But if there is simply no one we are running into dead end with no MacOs support. I think we should find a contributor fro MacOS CMake first. |
Unfortunately finding volunteers for fixing macOS issues didn't work well in the past. I don't expect anyone will step in until we cut off this convenient workaround. In the worst case just a few weeks without nightly macOS builds. |
Considering we have a usable 2.3 beta branch with macOS builds now, this may be a good time to do that. |
@crisclacerda has tried it unsuccessfully, he is now at Linux. But we will loose him entirely as master tester if we merge this without a working CMake. |
I am afraid breaking master with macOS will have the opposite effect and discourage macOS contributors. |
Do we have an OS requirement for mac? I have an old (2009) Mac Pro that can run Mixxx, but I think the nvidia graphics card isn't supported in the newest OS |
I think macOS 10.13 is our current minimum. |
it looks like that's the last OS that supports nvidia so I might be able to make it work. I'll see if I can get it up and running |
That would be great. Although I presume it will be painfully slow to keep retrying failing builds on a computer from 2009. |
it was a beefy machine in 2009 capable of realtime hi rez video editing, so it should still be able to chew through gcc easily |
Hi, I'm willing to test this on macOS - can someone explain to me what exactly is the test procedure ? should I just get this PR, and check that it builds with cmake ? |
@jcelerier thanks for your interest in helping. Please read the prior Zulip discussion we had about the problem. There is a crash on startup in libsqlite3.dylib. I suspect this has to do with how CMake is linking Mixxx to SQLite and the custom collate function we use with SQLite. |
@jcelerier I see you also have a lot of experience with QML and you've ported RtMidi to C++17. We are currently brainstorming a new JavaScript controller mapping system including how we could use QML for controller screens. If you're interested in helping with that, take a look at this wiki page summarizing the current plans and the Zulip discussions linked from that page. |
@jcelerier You don't need to test this PR (it just deletes SCons), just try to compile the master branch using CMake on MacOS and check if it's usable. Apparently it crashes on MacOS, but I can't debug it without access to a Mac. |
This PR is marked as stale because it has been open 90 days with no activity. |
Now that CMake packaging and code signing is working on macOS, I think we have one last obstacle before we can get rid of scons. Currently the PPA is updated by a Jenkins job running |
Yes, macOS builds, packaging, code signing, and deployment are all working with CMake now. I think it might be easier to start this over on the 2.3 branch than resolve conflicts. |
This cannot merged, because the debian folder needs to remain. How should the new directory layout look like? |
I'm rebasing on 2.3 and take care of the issues. |
I like the idea to not put everything in the |
Please hold on until my PPA branch is ready. Otherwise this will conflict again. |
fa71319
to
a046cde
Compare
Not sure about this. I think we already have enough top-level directories, and the setup scripts are not related to packaging. They are also needed for macos/windows users that just want to build Mixxx locally. |
@daschuer i moved the Debian directory to cmake/ instead of removing it. The merge conflicts should be neglible then, right? |
For my understanding, the cmake folder contains cmake helper files, that are as good as possible project independent. Setup script at for my understanding a part of the package. IMHO In all cases, you have the binary, additional data, metadata and setup scripts that are more or less packaged to one achieve. |
I meant the buildenv setup scripts that not supposed to be packaged. They are in the |
Finally, let's do this. @Holzhaus there are some conflicts now. |
Did I mess up the merge? Something is wrong with the debian source packaging. |
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 have no idea why the source package export fails. The error message is not very helpful.
I suggest to start this over by rebasing.
@@ -182,7 +182,7 @@ jobs: | |||
${{ matrix.os }}-${{ matrix.compiler_cache }} | |||
|
|||
- name: "Create build directory" | |||
run: mkdir cmake_build | |||
run: mkdir build |
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.
Do all jobs have a new working directory?
I know an approach where you use subdirectories for different builds.
I this relevant here.
I use for instance a build/Debug folder and a build/RelWithDebugInfo folder.
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.
Do all jobs have a new working directory?
On GitHub Actions, yes.
I know an approach where you use subdirectories for different builds.
I this relevant here.
I use for instance a build/Debug folder and a build/RelWithDebugInfo folder
Every build starts in a clean container, so there is no reason to use different directories on GitHub Actions.
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.
Ok.
That's might be the issue for the packaging fail. Cpack alown fails.
You need to configure it with cmake first.
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.
The reason for the packaging fail was that the PPA step still used the cmake_build
directory instead of build
, but since that step was new it didn't caused a conflict. I amended the merge commit.
@@ -1,66 +0,0 @@ | |||
|
|||
Transifex doesn't handle wxl files. |
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 think we still need these files, right?
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, localized WIX installers are a total hack and I wasted way too much time to make them work with CPack. If nobody volunteers to implement it, let's remove them. We could just pull them from transifex if somebody wants to add them, right?
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.
What is the current situation?
Scons = localized wix
Cmake = english only?
4cbf793
to
b44e2e4
Compare
Can you rebase / squash commits to avoid double renamings In the commit history? |
- Move packaging files from packaging/ directory - Tidy up cmake/ directory - Remove obsolete files from the build directory
52f7999
to
cb4a83e
Compare
Before merging, let's prepare a blog post, as this will probably break the workflow for a bunch of third party package maintainers that still use SCons (e. g. the |
You can discuss moving to GitHub Actions from our old build servers in that post too. |
Already happened: https://bugs.launchpad.net/mixxx/+bug/1907528 |
Good point. SCons is already broken. Merge now before waiting for the blog post? |
No need to wait. It is already broken and main does not build with SCons. |
We still need to update the Windows build documentation. |
No description provided.