-
-
Notifications
You must be signed in to change notification settings - Fork 14.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
bambu-studio: init at unstable-2023-01-11
- Loading branch information
1 parent
bdbd82b
commit b256650
Showing
3 changed files
with
216 additions
and
0 deletions.
There are no files selected for viewing
34 changes: 34 additions & 0 deletions
34
...cations/misc/bambu-studio/0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch
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,34 @@ | ||
From 7eed499898226222a949a792e0400ec10db4a1c9 Mon Sep 17 00:00:00 2001 | ||
From: Zhaofeng Li <[email protected]> | ||
Date: Tue, 22 Nov 2022 13:00:39 -0700 | ||
Subject: [PATCH] [not for upstream] CMakeLists: Link against webkit2gtk in | ||
libslic3r_gui | ||
|
||
WebView.cpp uses symbols from webkitgtk directly. Upstream setup | ||
links wxGTK statically so webkitgtk is already pulled in. | ||
|
||
> /nix/store/039g378vc3pc3dvi9dzdlrd0i4q93qwf-binutils-2.39/bin/ld: slic3r/liblibslic3r_gui.a(WebView.cpp.o): undefined reference to symbol 'webkit_web_view_run_javascript_finish' | ||
> /nix/store/039g378vc3pc3dvi9dzdlrd0i4q93qwf-binutils-2.39/bin/ld: /nix/store/8yvy428jy2nwq4dhmrcs7gj5r27a2pv6-webkitgtk-2.38.2+abi=4.0/lib/libwebkit2gtk-4.0.so.37: error adding symbols: DSO missing from command line | ||
--- | ||
src/CMakeLists.txt | 5 +++++ | ||
1 file changed, 5 insertions(+) | ||
|
||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt | ||
index 9c5cb96..e92a0e3 100644 | ||
--- a/src/CMakeLists.txt | ||
+++ b/src/CMakeLists.txt | ||
@@ -175,6 +175,11 @@ if (WIN32) | ||
target_link_libraries(BambuStudio_app_gui PRIVATE boost_headeronly) | ||
endif () | ||
|
||
+# We link against webkit2gtk symbols in src/slic3r/GUI/Widgets/WebView.cpp | ||
+if (CMAKE_SYSTEM_NAME STREQUAL "Linux") | ||
+ target_link_libraries(libslic3r_gui "-lwebkit2gtk-4.0") | ||
+endif () | ||
+ | ||
# Link the resources dir to where Slic3r GUI expects it | ||
set(output_dlls_Release "") | ||
set(output_dlls_Debug "") | ||
-- | ||
2.38.1 | ||
|
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,164 @@ | ||
{ stdenv | ||
, lib | ||
, binutils | ||
, fetchFromGitHub | ||
, cmake | ||
, pkg-config | ||
, wrapGAppsHook | ||
, boost | ||
, cereal | ||
, cgal_5 | ||
, curl | ||
, dbus | ||
, eigen | ||
, expat | ||
, glew | ||
, glfw | ||
, glib | ||
, glib-networking | ||
, gmp | ||
, gstreamer | ||
, gst-plugins-base | ||
, gst-plugins-bad | ||
, gtest | ||
, gtk3 | ||
, hicolor-icon-theme | ||
, ilmbase | ||
, libpng | ||
, mesa | ||
, mpfr | ||
, nlopt | ||
, opencascade-occt | ||
, openvdb | ||
, pcre | ||
, qhull | ||
, systemd | ||
, tbb | ||
, webkitgtk | ||
, wxGTK31 | ||
, xorg | ||
, fetchpatch | ||
, withSystemd ? stdenv.isLinux | ||
}: | ||
let | ||
wxGTK31' = wxGTK31.overrideAttrs (old: { | ||
configureFlags = old.configureFlags ++ [ | ||
# Disable noisy debug dialogs | ||
"--enable-debug=no" | ||
]; | ||
}); | ||
in | ||
stdenv.mkDerivation rec { | ||
pname = "bambu-studio"; | ||
version = "unstable-2023-01-11"; | ||
|
||
src = fetchFromGitHub { | ||
owner = "bambulab"; | ||
repo = "BambuStudio"; | ||
rev = "730aa890c324426d6954afd9cb6333f1148288c5"; | ||
hash = "sha256-DM8BbgRcf/VS+IFRAwtlESunRdlj7z7siZ7wgxs1PIA="; | ||
}; | ||
|
||
nativeBuildInputs = [ | ||
cmake | ||
pkg-config | ||
wrapGAppsHook | ||
]; | ||
|
||
buildInputs = [ | ||
binutils | ||
boost | ||
cereal | ||
cgal_5 | ||
curl | ||
dbus | ||
eigen | ||
expat | ||
glew | ||
glfw | ||
glib | ||
glib-networking | ||
gmp | ||
gstreamer | ||
gst-plugins-base | ||
gst-plugins-bad | ||
gtk3 | ||
hicolor-icon-theme | ||
ilmbase | ||
libpng | ||
mesa.osmesa | ||
mpfr | ||
nlopt | ||
opencascade-occt | ||
openvdb | ||
pcre | ||
tbb | ||
webkitgtk | ||
wxGTK31' | ||
xorg.libX11 | ||
] ++ lib.optionals withSystemd [ | ||
systemd | ||
] ++ checkInputs; | ||
|
||
patches = [ | ||
# Fix for webkitgtk linking | ||
./0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch | ||
]; | ||
|
||
doCheck = true; | ||
checkInputs = [ gtest ]; | ||
|
||
separateDebugInfo = true; | ||
|
||
# The build system uses custom logic - defined in | ||
# cmake/modules/FindNLopt.cmake in the package source - for finding the nlopt | ||
# library, which doesn't pick up the package in the nix store. We | ||
# additionally need to set the path via the NLOPT environment variable. | ||
NLOPT = nlopt; | ||
|
||
# Disable compiler warnings that clutter the build log. | ||
# It seems to be a known issue for Eigen: | ||
# http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1221 | ||
NIX_CFLAGS_COMPILE = "-Wno-ignored-attributes"; | ||
|
||
# prusa-slicer uses dlopen on `libudev.so` at runtime | ||
NIX_LDFLAGS = lib.optionalString withSystemd "-ludev"; | ||
|
||
# TODO: macOS | ||
prePatch = '' | ||
# Since version 2.5.0 of nlopt we need to link to libnlopt, as libnlopt_cxx | ||
# now seems to be integrated into the main lib. | ||
sed -i 's|nlopt_cxx|nlopt|g' cmake/modules/FindNLopt.cmake | ||
''; | ||
|
||
cmakeFlags = [ | ||
"-DSLIC3R_STATIC=0" | ||
"-DSLIC3R_FHS=1" | ||
"-DSLIC3R_GTK=3" | ||
|
||
# BambuStudio-specific | ||
"-DBBL_RELEASE_TO_PUBLIC=1" | ||
"-DBBL_INTERNAL_TESTING=0" | ||
"-DDEP_WX_GTK3=ON" | ||
"-DSLIC3R_BUILD_TESTS=0" | ||
"-DCMAKE_CXX_FLAGS=-DBOOST_LOG_DYN_LINK" | ||
]; | ||
|
||
preFixup = '' | ||
gappsWrapperArgs+=( | ||
--prefix LD_LIBRARY_PATH : "$out/lib" | ||
# Fixes intermittent crash | ||
# The upstream setup links in glew statically | ||
--prefix LD_PRELOAD : "${glew.out}/lib/libGLEW.so" | ||
) | ||
''; | ||
|
||
meta = with lib; { | ||
description = "PC Software for BambuLab's 3D printers"; | ||
homepage = "https://github.com/bambulab/BambuStudio"; | ||
license = licenses.agpl3; | ||
maintainers = with maintainers; [ zhaofengli ]; | ||
mainProgram = "bambu-studio"; | ||
}; | ||
} |
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