build: add Docker + Makefile for dependency-free local builds#3759
Closed
EdCordata wants to merge 2 commits intolinuxmint:masterfrom
Closed
build: add Docker + Makefile for dependency-free local builds#3759EdCordata wants to merge 2 commits intolinuxmint:masterfrom
EdCordata wants to merge 2 commits intolinuxmint:masterfrom
Conversation
Member
|
This doesn't really make any sense - Sure, you can build in docker so the build dependencies are there, but you still have matching runtime dependencies to deal with. Having libxapp-dev as a build dependency means libxapp1 will be an install dependency. cinnamon-desktop and libxapp (which isn't a Cinnamon package) are trivial to build on any Debian/Ubuntu distribution. git clone ....
sudo mk-build-deps -ir # need equivs package installed
dpkg-buildpackage
cd ..
sudo dpkg -i *.debAfter you build and install those, nemo builds the same way. |
Author
|
@mtwebster I’m not sure why this was rejected—adding Docker support would make the project buildable across all platforms and significantly simplify setup, including on Linux, and even, macOS, and Windows. It would also reduce distro-specific build issues and the number of related pull requests. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Building Nemo from source requires several Cinnamon-specific dependencies (e.g., libcinnamon-desktop, libxapp) that are not consistently available across distributions, making setup more complex outside Linux Mint or in CI environments.
This PR adds three files to make building easy for anyone with Docker and
Docker Compose:
Dockerfile— Useslinuxmintd/mint21-amd64as the base image.Since this is an official Linux Mint 21 image, all Cinnamon-specific
packages (
libcinnamon-desktop-dev,libxapp-dev, etc.) are availablenatively via apt — no third-party repo configuration needed.
docker-compose.yml— Mounts the local source tree into thecontainer and maps
./build-output/to the meson output directory socompiled binaries land on the host.
Makefile— Provides two targets:make build— runsmeson setupandninjainside the container,clearing the output directory first for a clean build each time.
make fix_permissions— restores ownership of./build-output/and./build/tothe current user, since files written by the container are owned by
root.The README is updated with a "Building from Source" section explaining how to
use this.
I’m a web developer, so this is slightly outside my area of expertise—any feedback is welcome. I added this feature for my own use, as I want to make some changes to the file manager that I personally would like to see, and I thought that this might be helpful for others as well.