forked from bambulab/BambuStudio
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Copy Containerfile to Dockerfile before modifying
- Loading branch information
1 parent
69573c9
commit a64085f
Showing
1 changed file
with
71 additions
and
0 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
# Build Bambu Slicer in a container | ||
# | ||
# Build an AppImage using rootless Podman (refer to https://github.com/containers/podman/blob/main/docs/tutorials/rootless_tutorial.md): | ||
# rm -rf build; podman build . -t bambu-studio-builder && podman run --rm localhost/bambu-studio-builder /bin/bash -c 'tar -c $(find build | grep ubu64.AppImage | head -1)' | tar -xv | ||
# | ||
# Troubleshooting the build container: | ||
# podman run -it --name bambu-studio-builder localhost/bambu-studio-builder /bin/bash | ||
# | ||
# Debugging the resulting AppImage: | ||
# 1) Install `gdb` | ||
# 2) In a terminal in the same directory as the AppImage, start it with following: | ||
# echo -e "run\nbt\nquit" | gdb ./BambuStudio_ubu64.AppImage | ||
# 3) Find related issue using backtrace output for clues and add backtrace to it on github | ||
# | ||
# Docker alternative AppImage build syntax (use this if you can't install podman): | ||
# rm -rf build; docker build . --file Containerfile -t bambu-studio-builder; docker run --rm bambu-studio-builder /bin/bash -c 'tar -c $(find build | grep ubu64.AppImage | head -1)' | tar -xv | ||
# | ||
# | ||
# TODO: bind mount BambuStudio to inside the container instead of COPY to enable faster rebuilds during dev work. | ||
|
||
FROM docker.io/ubuntu:20.04 | ||
LABEL maintainer "DeftDawg <[email protected]>" | ||
|
||
# Disable interactive package configuration | ||
RUN apt-get update && \ | ||
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections | ||
|
||
# Add a deb-src | ||
RUN echo deb-src http://archive.ubuntu.com/ubuntu \ | ||
$(cat /etc/*release | grep VERSION_CODENAME | cut -d= -f2) main universe>> /etc/apt/sources.list | ||
|
||
RUN apt-get update && apt-get install -y \ | ||
git \ | ||
build-essential \ | ||
autoconf pkgconf m4 \ | ||
cmake extra-cmake-modules \ | ||
libglu1-mesa-dev libglu1-mesa-dev \ | ||
libwayland-dev libxkbcommon-dev wayland-protocols \ | ||
eglexternalplatform-dev libglew-dev \ | ||
libgtk-3-dev \ | ||
libdbus-1-dev \ | ||
libcairo2-dev \ | ||
libgtk-3-dev libwebkit2gtk-4.0-dev \ | ||
libsoup2.4-dev \ | ||
libgstreamer1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer-plugins-base1.0-dev libgstreamerd-3-dev \ | ||
libmspack-dev \ | ||
libosmesa6-dev \ | ||
libssl-dev libcurl4-openssl-dev libsecret-1-dev \ | ||
libudev-dev \ | ||
curl \ | ||
wget \ | ||
file \ | ||
sudo | ||
|
||
COPY ./ BambuStudio | ||
|
||
WORKDIR BambuStudio | ||
|
||
# These can run together, but we run them seperate for podman caching | ||
# Update System dependencies | ||
RUN ./BuildLinux.sh -u | ||
|
||
# Build dependencies in ./deps | ||
RUN ./BuildLinux.sh -d | ||
|
||
# Build slic3r | ||
RUN ./BuildLinux.sh -s | ||
|
||
# Build AppImage | ||
ENV container podman | ||
RUN ./BuildLinux.sh -i |