mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 23:13:19 +00:00
bambu-studio: init at 01.06.02.04 (#206495)
* wxGTK31: Support enabling WebRequest component * wxGTK31: Support enabling private fonts * bambu-studio: init at 01.06.02.04 Co-authored-by: Phileas Lebada <gitpl@woerm.at> * bambu-studio: 01.06.02.04 -> 01.07.00.65 * bambu-studio: 01.07.00.65 -> 01.07.06.92 The OpenSSL pin is no longer needed. * bambu-studio: 01.07.06.92 -> 01.08.00.62 * Switch to newer tbb version tbb was broken up into two versions for backwards compability https://github.com/NixOS/nixpkgs/pull/217585/files and put into prusa-slicer https://github.com/NixOS/nixpkgs/pull/238921/files Which fixes for 1.8 beta build ``` bambu-studio> CMake Error at src/libslic3r/CMakeLists.txt:490 (target_link_libraries): bambu-studio> Target "libslic3r" links to: bambu-studio> TBB::tbbmalloc bambu-studio> but the target was not found. Possible reasons include: bambu-studio> * There is a typo in the target name. bambu-studio> * A find_package call is missing for an IMPORTED target. bambu-studio> * An ALIAS target is missing. bambu-studio> bambu-studio> -- Generating done (0.2s) bambu-studio> CMake Warning: bambu-studio> Manually-specified variables were not used by the project: bambu-studio> CMAKE_EXPORT_NO_PACKAGE_REGISTRY bambu-studio> DEP_WX_GTK3 bambu-studio> bambu-studio> CMake Generate step failed. Build files cannot be regenerated correctly. error: builder for '/nix/store/rzgx01p1ni2xbx5ddg0133pjjlzs8618-bambu-studio-01.08.00.57.drv' failed with exit code 1; ``` * bambu-studio: switch to custom openvdb tbb version * Downgrade boost to 179 (181 is current default) --------- Co-authored-by: Phileas Lebada <gitpl@woerm.at>
This commit is contained in:
parent
29d6c96900
commit
92ec31fbee
@ -0,0 +1,34 @@
|
||||
From 7eed499898226222a949a792e0400ec10db4a1c9 Mon Sep 17 00:00:00 2001
|
||||
From: Zhaofeng Li <hello@zhaofeng.li>
|
||||
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
|
||||
|
172
pkgs/applications/misc/bambu-studio/default.nix
Normal file
172
pkgs/applications/misc/bambu-studio/default.nix
Normal file
@ -0,0 +1,172 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, openexr
|
||||
, jemalloc
|
||||
, c-blosc
|
||||
, binutils
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, pkg-config
|
||||
, wrapGAppsHook
|
||||
, boost179
|
||||
, cereal
|
||||
, cgal_5
|
||||
, curl
|
||||
, dbus
|
||||
, eigen
|
||||
, expat
|
||||
, gcc-unwrapped
|
||||
, 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_2021_8
|
||||
, webkitgtk
|
||||
, wxGTK31
|
||||
, xorg
|
||||
, fetchpatch
|
||||
, withSystemd ? stdenv.isLinux
|
||||
}:
|
||||
let
|
||||
wxGTK31' = wxGTK31.overrideAttrs (old: {
|
||||
configureFlags = old.configureFlags ++ [
|
||||
# Disable noisy debug dialogs
|
||||
"--enable-debug=no"
|
||||
];
|
||||
});
|
||||
openvdb_tbb_2021_8 = openvdb.overrideAttrs (old: rec {
|
||||
buildInputs = [ openexr boost179 tbb_2021_8 jemalloc c-blosc ilmbase ];
|
||||
});
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bambu-studio";
|
||||
version = "01.08.00.62";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bambulab";
|
||||
repo = "BambuStudio";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Rb8YNf+ZQ8+9jAP/ZLze0PfY/liE7Rr2bJX33AENsbg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
binutils
|
||||
boost179
|
||||
cereal
|
||||
cgal_5
|
||||
curl
|
||||
dbus
|
||||
eigen
|
||||
expat
|
||||
gcc-unwrapped
|
||||
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_tbb_2021_8
|
||||
pcre
|
||||
tbb_2021_8
|
||||
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";
|
||||
};
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, curl
|
||||
, gst_all_1
|
||||
, gtk3
|
||||
, libGL
|
||||
@ -14,6 +15,8 @@
|
||||
, compat28 ? false
|
||||
, compat30 ? true
|
||||
, unicode ? true
|
||||
, withCurl ? false
|
||||
, withPrivateFonts ? false
|
||||
, withEGL ? true
|
||||
, withMesa ? !stdenv.isDarwin
|
||||
, withWebKit ? stdenv.isDarwin
|
||||
@ -59,6 +62,7 @@ stdenv.mkDerivation rec {
|
||||
libXxf86vm
|
||||
xorgproto
|
||||
]
|
||||
++ lib.optional withCurl curl
|
||||
++ lib.optional withMesa libGLU
|
||||
++ lib.optional (withWebKit && !stdenv.isDarwin) webkitgtk
|
||||
++ lib.optional (withWebKit && stdenv.isDarwin) WebKit
|
||||
@ -85,6 +89,8 @@ stdenv.mkDerivation rec {
|
||||
]
|
||||
++ lib.optional (!withEGL) "--disable-glcanvasegl"
|
||||
++ lib.optional unicode "--enable-unicode"
|
||||
++ lib.optional withCurl "--enable-webrequest"
|
||||
++ lib.optional withPrivateFonts "--enable-privatefonts"
|
||||
++ lib.optional withMesa "--with-opengl"
|
||||
++ lib.optionals stdenv.isDarwin [
|
||||
"--with-osx_cocoa"
|
||||
|
@ -35476,6 +35476,18 @@ with pkgs;
|
||||
|
||||
super-slicer-latest = super-slicer.latest;
|
||||
|
||||
bambu-studio = callPackage ../applications/misc/bambu-studio {
|
||||
inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-bad;
|
||||
|
||||
glew = glew-egl;
|
||||
|
||||
wxGTK31 = wxGTK31.override {
|
||||
withCurl = true;
|
||||
withPrivateFonts = true;
|
||||
withWebKit = true;
|
||||
};
|
||||
};
|
||||
|
||||
snapmaker-luban = callPackage ../applications/misc/snapmaker-luban { };
|
||||
|
||||
robustirc-bridge = callPackage ../servers/irc/robustirc-bridge { };
|
||||
|
Loading…
Reference in New Issue
Block a user