[3dprinter-general] Bug#979826: slic3r-prusa: Embeddeding a code copy of catch2

Tobias Frost tobi at debian.org
Mon Jan 11 18:19:57 GMT 2021


Package: prusa-slicer
Version: 2.2.0+dfsg1-3
Severity: normal
Tags: patch
Justification: Policy 4.13

Dear Maintainer,

slic3r-prusa embeds catch2, and a quite old one, too.*
Policy ยง4.13 asks to not use convienience copies, especially when
it has been packaged already.

The attached patch uses the packaged one (and make that a sure thing by removing the embedded code copy.
(As you are already dfsg-repacking, you probably want to add it to Files-Excluded with the next new upstream version;
this is _not_ in my patch)

-- 
Cheers
tobi

* convenience copy: 2.9.2 g2c869e1; Debian archive: 2.13.4

PS: Thanks for maintaining prusa-slicer; I use it regularily :)


-- System Information:
Debian Release: bullseye/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.9.0-4-amd64 (SMP w/12 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages prusa-slicer depends on:
ii  fonts-noto-hinted                                  20201109-1
ii  libboost-chrono1.71.0                              1.71.0-7+b1
ii  libboost-filesystem1.71.0                          1.71.0-7+b1
ii  libboost-locale1.71.0                              1.71.0-7+b1
ii  libboost-log1.71.0                                 1.71.0-7+b1
ii  libboost-regex1.71.0 [libboost-regex1.71.0-icu67]  1.71.0-7+b1
ii  libboost-thread1.71.0                              1.71.0-7+b1
ii  libc6                                              2.31-4
ii  libcurl3-gnutls                                    7.72.0-1
ii  libexpat1                                          2.2.10-1
ii  libgcc-s1                                          10.2.0-19
ii  libgl1                                             1.3.2-1
ii  libglew2.1                                         2.1.0-4+b1
ii  libglu1-mesa [libglu1]                             9.0.1-1
ii  libgmp10                                           2:6.2.1+dfsg-1
ii  libilmbase25                                       2.5.3-2
ii  libmpfr6                                           4.1.0-3
ii  libnlopt0                                          2.7.0-4+b2
ii  libopenvdb7.1                                      7.1.0-2+b3
ii  libstdc++6                                         10.2.0-19
ii  libtbb2                                            2020.3-1
ii  libwxbase3.0-0v5                                   3.0.5.1+dfsg-2
ii  libwxgtk3.0-gtk3-0v5                               3.0.5.1+dfsg-2

prusa-slicer recommends no packages.

prusa-slicer suggests no packages.

-- no debconf information
-------------- next part --------------
diff -Naur archive/slic3r-prusa-2.2.0+dfsg1/debian/clean slic3r-prusa-2.2.0+dfsg1/debian/clean
--- archive/slic3r-prusa-2.2.0+dfsg1/debian/clean	1970-01-01 01:00:00.000000000 +0100
+++ slic3r-prusa-2.2.0+dfsg1/debian/clean	2021-01-11 19:05:11.022641604 +0100
@@ -0,0 +1,2 @@
+cmake/modules/Catch2/Catch.cmake
+tests/catch2/*
diff -Naur archive/slic3r-prusa-2.2.0+dfsg1/debian/control slic3r-prusa-2.2.0+dfsg1/debian/control
--- archive/slic3r-prusa-2.2.0+dfsg1/debian/control	2020-09-27 19:13:24.000000000 +0200
+++ slic3r-prusa-2.2.0+dfsg1/debian/control	2021-01-11 19:05:45.907515936 +0100
@@ -4,6 +4,7 @@
 Maintainer: Debian 3-D Printing Packages <3dprinter-general at lists.alioth.debian.org>
 Uploaders: Chow Loong Jin <hyperair at debian.org>
 Build-Depends: debhelper (>= 9.20120312),
+               catch2,
                cmake,
                help2man,
                libboost-all-dev,
diff -Naur archive/slic3r-prusa-2.2.0+dfsg1/debian/patches/series slic3r-prusa-2.2.0+dfsg1/debian/patches/series
--- archive/slic3r-prusa-2.2.0+dfsg1/debian/patches/series	2020-09-27 19:13:24.000000000 +0200
+++ slic3r-prusa-2.2.0+dfsg1/debian/patches/series	2021-01-11 19:17:25.653044397 +0100
@@ -1,2 +1,3 @@
 Move-Slic3r-data-to-usr-share-slic3r-prusa.patch
 Install-XS-files-into-usr-lib-slic3r-prusa3d.patch
+use-packaged-catch2.patch
diff -Naur archive/slic3r-prusa-2.2.0+dfsg1/debian/patches/use-packaged-catch2.patch slic3r-prusa-2.2.0+dfsg1/debian/patches/use-packaged-catch2.patch
--- archive/slic3r-prusa-2.2.0+dfsg1/debian/patches/use-packaged-catch2.patch	1970-01-01 01:00:00.000000000 +0100
+++ slic3r-prusa-2.2.0+dfsg1/debian/patches/use-packaged-catch2.patch	2021-01-11 19:06:42.160925422 +0100
@@ -0,0 +1,29 @@
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -4,15 +4,8 @@
+ set(TEST_DATA_DIR ${CMAKE_CURRENT_SOURCE_DIR}/data)
+ file(TO_NATIVE_PATH "${TEST_DATA_DIR}" TEST_DATA_DIR)
+ 
+-add_library(Catch2 INTERFACE)
+-list (APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/modules/Catch2)
+-target_include_directories(Catch2 INTERFACE ${CMAKE_CURRENT_LIST_DIR})
+-add_library(Catch2::Catch2 ALIAS Catch2)
+-if (APPLE)
+-	# OSX builds targeting OSX 10.9 do not support new std::uncought_exception()
+-	# see https://github.com/catchorg/Catch2/issues/1218
+-	target_compile_definitions(Catch2 INTERFACE -DCATCH_CONFIG_NO_CPP17_UNCAUGHT_EXCEPTIONS)
+-endif()
++find_package(Catch2 REQUIRED)
++
+ include(Catch)
+ 
+ set(CATCH_EXTRA_ARGS "" CACHE STRING "Extra arguments for catch2 test suites.")
+@@ -20,7 +13,7 @@
+ add_library(test_common INTERFACE)
+ target_compile_definitions(test_common INTERFACE TEST_DATA_DIR=R"\(${TEST_DATA_DIR}\)" CATCH_CONFIG_FAST_COMPILE)
+ target_link_libraries(test_common INTERFACE Catch2::Catch2)
+-
++target_include_directories(test_common INTERFACE ${CMAKE_CURRENT_LIST_DIR})
+ if (APPLE)
+     target_link_libraries(test_common INTERFACE "-liconv -framework IOKit" "-framework CoreFoundation" -lc++)
+ endif()


More information about the 3dprinter-general mailing list