From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms1.migadu.com with LMTPS id WPaiE4WyP2aoDQEAqHPOHw:P1 (envelope-from ) for ; Sat, 11 May 2024 20:01:41 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0.migadu.com with LMTPS id WPaiE4WyP2aoDQEAqHPOHw (envelope-from ) for ; Sat, 11 May 2024 20:01:41 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b=Meu33TCb; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1715450501; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=tz/dyCuv3E+bxdzHtr2O90bdua5His85y83hDt99BYI=; b=jPI9woITqIlNXJof1lcKTRDQQIcO/kdOHlvzoXQH8GXLsWR8vltN/Jd1vajWkLy7cH2NXe O1Pse0eCubXnTSiT5DPZgMgJwix56S7jnS9Y1G1TWCTIsyBPY2I0jd1Ai9q9uZqqq4rX53 oJikXH49uKf6IfUkKlbEqu/NquNRUJBijSiO08RdeQyyMHPAcjmmudBKn4D1iRAjrcLjKO JR/f8qrzgOs4sKmqWeK8Xvyot1Qdmat0ja55pe4pI9mbJZlXq/VUx9ewAZ5t/D5PRG7FSO ZF7Q/DqgCl2rZRaU3bt9H1T5kmm7BZxXZoNKptnUNswzlWLU6WR4kQCwdDPYgA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1715450501; a=rsa-sha256; cv=none; b=L1mb4//BxjhSl+1MqA8XY5MkvoZI+wEsTiwNr02qlKYEeka8DTebyYQB98kSu9pOG5vjW6 RRxC3p8GnIwupCuZedVxmYwzuwyDCbxXueFYc8wgj8tBPNpU4HyofnZQJiRMxqkgHZ2lXb 44FgvK1cwav/Ix+CoMnmxN9a2Ba2Guz2nAbHamSmYGIBQtJDiE403dxPSN7atL5T1F05Kv gcjcpIMMKS83tnVHkwUe2tjGM/wLIf/ZbP6w2sm7tck/uQlHTsvCQwX52CxlzPrVSrcHqP h44aj7VegvS34Xz0xlE2tOKYmNpbQeRL+tay5Ngr8EX7kIhI019+bfdKgHmtAA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b=Meu33TCb; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id CAC096258E for ; Sat, 11 May 2024 20:01:40 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s5r1w-0000sR-7E; Sat, 11 May 2024 14:01:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s5r1t-0000r9-5p for guix-patches@gnu.org; Sat, 11 May 2024 14:01:05 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1s5r1s-0007zS-U3 for guix-patches@gnu.org; Sat, 11 May 2024 14:01:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1s5r1s-0004Mz-AR for guix-patches@gnu.org; Sat, 11 May 2024 14:01:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#70880] [PATCH 8/8] gnu: prusa-slicer: Update to 2.7.4. Resent-From: "Artyom V. Poptsov" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 11 May 2024 18:01:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 70880 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 70880@debbugs.gnu.org Cc: "Artyom V. Poptsov" Received: via spool by 70880-submit@debbugs.gnu.org id=B70880.171545042016707 (code B ref 70880); Sat, 11 May 2024 18:01:04 +0000 Received: (at 70880) by debbugs.gnu.org; 11 May 2024 18:00:20 +0000 Received: from localhost ([127.0.0.1]:49643 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s5r19-0004LJ-4Q for submit@debbugs.gnu.org; Sat, 11 May 2024 14:00:19 -0400 Received: from mail-lj1-f181.google.com ([209.85.208.181]:49318) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s5r0u-0004H8-Dx for 70880@debbugs.gnu.org; Sat, 11 May 2024 14:00:06 -0400 Received: by mail-lj1-f181.google.com with SMTP id 38308e7fff4ca-2e43c481b53so37070271fa.2 for <70880@debbugs.gnu.org>; Sat, 11 May 2024 11:00:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715450339; x=1716055139; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=tz/dyCuv3E+bxdzHtr2O90bdua5His85y83hDt99BYI=; b=Meu33TCbQ9HMSWSokn9lYFdDReUvyAi/oXCZRLcIhVG6+RhwV4ZmM4T4cRLXaIXDD/ CUtlk0yf6ZJWXbA7X7/VVPxSUspb8Cc3iATa3uunTRiu69v2nIHo4mMZc/knW0YNwwo6 UCfWHtzb0ndSJ8eR8NFnsIK+HveECJM4OtrSijhUT1Z37pfqZNXLuqnD6tpIWNP9FtYM ZqtQOdfT2i0Hx5ONtOXrmeY6pv61MGIlg1lUAXdD/6kfC96sgOg63rceYdwrO9HbzvdT o+zrSlwIeQ48GEqGKo0NUmwBl7fklXyhlKwZpss6E4UR+H8iDiVCuGAUcEfhqVK1p8fE 0awg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715450339; x=1716055139; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tz/dyCuv3E+bxdzHtr2O90bdua5His85y83hDt99BYI=; b=LIYH9mWKXRON3k/dCbNbTEj/j7y+xXbiXkSJ+YV1lnn+BRddkKo7V4j2pB76NUiAl6 /WJ4DjaVGvDaF33oAsE1u25R5TtcCYKtYDkXG1w41xbToAlQYQj5+XX1X6t+2D83vm7v MWbcwazXsky2QoKcGDbg12CAQjTm6k3r/ZtJNwLMa0LNX1+EGKsaT77bQR0m7hNqxI/F jwXtQQ3AH53hf/KZjwCvtZ62xPwC3imRwnBbo1iZoMDVOIW7R2TcET116ymdMdlJfsq1 sB2hPti346OZuiv1DoacMat0/TZRPnaTvJRsqXHH7Y24ZINNaf1mjDscwxHU1dTiL5mB yT/w== X-Gm-Message-State: AOJu0YzxRFlqu63rEjyrF0THdi12CRgmNZ4iBagnljpo/aMI56iRU+K5 Vbwl3mqOCEP0IrqFMCBePTijiIdED3OGLLT4TA5Liy0f4DjhM8TuOahD9Q== X-Google-Smtp-Source: AGHT+IFVm7ptt0zf2qRuzS23A0qlGWOgOkEoUUOTMtXDAaBYl02uY2wBNxP8D2Fs1mK6D/zs4CeXGg== X-Received: by 2002:a19:ca47:0:b0:51e:fa8c:47cc with SMTP id 2adb3069b0e04-5220fc7ef13mr3469141e87.30.1715450338638; Sat, 11 May 2024 10:58:58 -0700 (PDT) Received: from elephant.. ([5.166.209.213]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-521f35ad59asm1075411e87.45.2024.05.11.10.58.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 May 2024 10:58:57 -0700 (PDT) From: "Artyom V. Poptsov" Date: Sat, 11 May 2024 20:58:36 +0300 Message-ID: X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -1.78 X-Spam-Score: -1.78 X-Migadu-Queue-Id: CAC096258E X-Migadu-Scanner: mx11.migadu.com X-TUID: bNTT/5l5SVzg * gnu/packages/engineering.scm (prusa-slicer): Update to 2.7.4. [source]: Add "prusa-slicer-boost-fixes.patch". Move some part of the snippet code to custom build phases. [arguments]: In configure flags add paths to external libraries. Add "fix-include-paths" phase. [native-inputs]: Add "catch2". [inputs]: Use "prusa-wxwidgets" instead of "wxwidgets" to fix segfaults. Ad "qhull", "nanosvg", "heatshrink" and "prusa-libbgcode". * gnu/packages/patches/prusa-slicer-boost-fixes.patch, gnu/packages/patches/prusa-slicer-with-cereal-1.3.1.patch: Remove unused patches. * gnu/local.mk (dist_patch_DATA): Remove unused "prusa-slicer" patches. Change-Id: I15e85d63c9ad6c731c8040ef2d8ec8b2f31f2ab7 --- gnu/local.mk | 2 - gnu/packages/engineering.scm | 51 ++++++---- .../patches/prusa-slicer-boost-fixes.patch | 97 ------------------- .../prusa-slicer-with-cereal-1.3.1.patch | 52 ---------- 4 files changed, 33 insertions(+), 169 deletions(-) delete mode 100644 gnu/packages/patches/prusa-slicer-boost-fixes.patch delete mode 100644 gnu/packages/patches/prusa-slicer-with-cereal-1.3.1.patch diff --git a/gnu/local.mk b/gnu/local.mk index 3ba9253ae2..3b61666803 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1816,9 +1816,7 @@ dist_patch_DATA = \ %D%/packages/patches/pokerth-boost.patch \ %D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch \ %D%/packages/patches/procps-strtod-test.patch \ - %D%/packages/patches/prusa-slicer-boost-fixes.patch \ %D%/packages/patches/prusa-slicer-fix-tests.patch \ - %D%/packages/patches/prusa-slicer-with-cereal-1.3.1.patch \ %D%/packages/patches/pthreadpool-system-libraries.patch \ %D%/packages/patches/python-3.12-fix-tests.patch \ %D%/packages/patches/python-accupy-use-matplotx.patch \ diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 08ff06fa94..99f7c82d7d 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -3828,7 +3828,7 @@ (define-public prusa-wxwidgets (define-public prusa-slicer (package (name "prusa-slicer") - (version "2.5.2") + (version "2.7.4") (source (origin (method git-fetch) @@ -3837,13 +3837,11 @@ (define-public prusa-slicer (url "https://github.com/prusa3d/PrusaSlicer") (commit (string-append "version_" version)))) (file-name (git-file-name name version)) - (sha256 (base32 "02qcrw3fa0d8ldbp73hp14l1qxbp3f4608j4csc07ny00ra42151")) - (patches (search-patches "prusa-slicer-boost-fixes.patch" - "prusa-slicer-fix-tests.patch" - "prusa-slicer-with-cereal-1.3.1.patch")) + (sha256 (base32 "0s1cfvhfilyv0y98asr61c6rwlgyr1hf5v5hg8q9zwmzm2bkcql3")) + (patches (search-patches "prusa-slicer-fix-tests.patch")) (modules '((guix build utils))) (snippet - '(begin + `(begin ;; Prusa slicer bundles a lot of dependencies in src/ directory. ;; Most of them contain prusa-specific modifications (e.g. avrdude), ;; but others do not. Here we replace the latter with Guix packages. @@ -3851,10 +3849,12 @@ (define-public prusa-slicer (delete-file-recursively "src/hidapi") (delete-file-recursively "src/eigen") (delete-file-recursively "src/libigl/igl") + (substitute* "CMakeLists.txt" + (("add_library\\(libexpat INTERFACE\\)") + "")) + (substitute* "src/libigl/CMakeLists.txt" + (("target_link_libraries\\(libigl INTERFACE igl::core\\)") "")) (substitute* "src/CMakeLists.txt" - (("add_subdirectory\\(libigl\\)" all) - (string-append - all "\ninclude_directories(libigl INTERFACE libigl::core)")) (("add_subdirectory\\(hidapi\\)") "pkg_check_modules(HIDAPI REQUIRED hidapi-hidraw)") (("include_directories\\(hidapi/include\\)") @@ -3867,13 +3867,24 @@ (define-public prusa-slicer (("\\bhidapi\\b") "${HIDAPI_LIBRARIES}")))))) (build-system cmake-build-system) (arguments - `(#:configure-flags - '("-DSLIC3R_FHS=1" ;; Use The Filesystem Hierarchy Standard. - "-DSLIC3R_GTK=3" ;; Use GTK+ - ;; Use wxWidgets 3.0.x.x to prevent GUI crashes when adding support enforcers. - "-DSLIC3R_WX_STABLE=1"))) + (list #:configure-flags + #~(list "-DSLIC3R_FHS=1" ;; Use The Filesystem Hierarchy Standard. + "-DSLIC3R_GTK=3" ;; Use GTK+ + ;; Use wxWidgets 3.0.x.x to prevent GUI crashes when adding support enforcers. + "-DSLIC3R_WX_STABLE=1" + (format #f "-Dlibigl_DIR=~a/lib/cmake/igl/" + #$(this-package-input "libigl")) + (format #f "-DCatch2_DIR=~a/lib/cmake/catch2/" + #$(this-package-input "catch2"))) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-include-paths + (lambda _ + (substitute* "tests/libslic3r/test_quadric_edge_collapse.cpp" + (("#include ") + "#include "))))))) (native-inputs - (list pkg-config)) + (list pkg-config catch2)) (inputs (list boost cereal @@ -3899,9 +3910,13 @@ (define-public prusa-slicer pango tbb eudev - ;; prusa-slicer 2.5 segfaults on startup with wxwidgets 3.2 - ;; See https://github.com/prusa3d/PrusaSlicer/issues/8299 - wxwidgets-3.0 + qhull + nanosvg + heatshrink + ;; XXX: Using Prusa wxWidgets fork as PrusaSlicer segfaults when compiled + ;; with regular wxwidgets. + prusa-wxwidgets + prusa-libbgcode zlib)) (home-page "https://www.prusa3d.com/prusaslicer/") (synopsis "G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)") diff --git a/gnu/packages/patches/prusa-slicer-boost-fixes.patch b/gnu/packages/patches/prusa-slicer-boost-fixes.patch deleted file mode 100644 index 5bca271625..0000000000 --- a/gnu/packages/patches/prusa-slicer-boost-fixes.patch +++ /dev/null @@ -1,97 +0,0 @@ -Fixes for Boost compatibility. -This patch comes from Gentoo: - portage/media-gfx/prusaslicer/files/prusaslicer-2.5.0_alpha2-boost-fixes.patch - ---- a/src/hints/HintsToPot.cpp -+++ b/src/hints/HintsToPot.cpp -@@ -1,6 +1,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -9,7 +10,7 @@ - - bool write_to_pot(boost::filesystem::path path, const std::vector>& data) - { -- boost::filesystem::ofstream file(std::move(path), std::ios_base::app); -+ boost::nowide::ofstream file(std::move(path), std::ios_base::app); - for (const auto& element : data) - { - //Example of .pot element ---- a/src/libslic3r/Preset.cpp -+++ b/src/libslic3r/Preset.cpp -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -84,7 +85,7 @@ ConfigFileType guess_config_file_type(const ptree &tree) - VendorProfile VendorProfile::from_ini(const boost::filesystem::path &path, bool load_all) - { - ptree tree; -- boost::filesystem::ifstream ifs(path); -+ boost::nowide::ifstream ifs(path); - boost::property_tree::read_ini(ifs, tree); - return VendorProfile::from_ini(tree, path, load_all); - } ---- a/src/slic3r/GUI/DesktopIntegrationDialog.cpp -+++ b/src/slic3r/GUI/DesktopIntegrationDialog.cpp -@@ -10,6 +10,7 @@ - #include "libslic3r/Platform.hpp" - #include "libslic3r/Config.hpp" - -+#include - #include - #include - #include -@@ -503,4 +504,4 @@ DesktopIntegrationDialog::~DesktopIntegrationDialog() - - } // namespace GUI - } // namespace Slic3r --#endif // __linux__ -\ No newline at end of file -+#endif // __linux__ ---- a/src/slic3r/GUI/GUI_App.cpp -+++ b/src/slic3r/GUI/GUI_App.cpp -@@ -13,6 +13,7 @@ - #include - #include - #include -+#include - #include - #include - #include ---- a/src/slic3r/GUI/HintNotification.cpp -+++ b/src/slic3r/GUI/HintNotification.cpp -@@ -15,6 +15,7 @@ - #include "libslic3r/PrintConfig.hpp" - - #include -+#include - #include - #include - #include -@@ -65,7 +66,7 @@ inline void push_style_color(ImGuiCol idx, const ImVec4& col, bool fading_out, f - - void write_used_binary(const std::vector& ids) - { -- boost::filesystem::ofstream file((boost::filesystem::path(data_dir()) / "cache" / "hints.cereal"), std::ios::binary); -+ boost::nowide::ofstream file((boost::filesystem::path(data_dir()) / "cache" / "hints.cereal"), std::ios::binary); - cereal::BinaryOutputArchive archive(file); - HintsCerealData cd { ids }; - try -@@ -84,7 +85,7 @@ void read_used_binary(std::vector& ids) - BOOST_LOG_TRIVIAL(warning) << "Failed to load to hints.cereal. File does not exists. " << path.string(); - return; - } -- boost::filesystem::ifstream file(path); -+ boost::nowide::ifstream file(path); - cereal::BinaryInputArchive archive(file); - HintsCerealData cd; - try diff --git a/gnu/packages/patches/prusa-slicer-with-cereal-1.3.1.patch b/gnu/packages/patches/prusa-slicer-with-cereal-1.3.1.patch deleted file mode 100644 index affa506b1c..0000000000 --- a/gnu/packages/patches/prusa-slicer-with-cereal-1.3.1.patch +++ /dev/null @@ -1,52 +0,0 @@ -Fix for building with cereal>=1.3.1. -This patch comes from Gentoo: - portage/media-gfx/prusaslicer/files/prusaslicer-2.5.0_rc1-cereal-1.3.1.patch - ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -127,7 +127,7 @@ - set_target_properties(PrusaSlicer PROPERTIES OUTPUT_NAME "prusa-slicer") - endif () - --target_link_libraries(PrusaSlicer libslic3r cereal) -+target_link_libraries(PrusaSlicer libslic3r libcereal) - - if (APPLE) - # add_compile_options(-stdlib=libc++) ---- a/src/slic3r/CMakeLists.txt -+++ b/src/slic3r/CMakeLists.txt -@@ -260,7 +260,7 @@ - - encoding_check(libslic3r_gui) - --target_link_libraries(libslic3r_gui libslic3r avrdude cereal imgui GLEW::GLEW OpenGL::GL hidapi libcurl ${wxWidgets_LIBRARIES}) -+target_link_libraries(libslic3r_gui libslic3r avrdude libcereal imgui GLEW::GLEW OpenGL::GL hidapi libcurl ${wxWidgets_LIBRARIES}) - - if (MSVC) - target_link_libraries(libslic3r_gui Setupapi.lib) ---- a/src/libslic3r/CMakeLists.txt -+++ b/src/libslic3r/CMakeLists.txt -@@ -395,7 +395,7 @@ - target_link_libraries(libslic3r - libnest2d - admesh -- cereal -+ libcereal - libigl - miniz - boost_libs ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -446,6 +446,12 @@ - - # Find the Cereal serialization library - find_package(cereal REQUIRED) -+add_library(libcereal INTERFACE) -+if (NOT TARGET cereal::cereal) -+ target_link_libraries(libcereal INTERFACE cereal) -+else() -+ target_link_libraries(libcereal INTERFACE cereal::cereal) -+endif() - - # l10n - set(L10N_DIR "${SLIC3R_RESOURCES_DIR}/localization") -- 2.41.0