Package Details: libsavitar 5.3.0-0.2

Git Clone URL: https://aur.archlinux.org/libsavitar.git (read-only, click to copy)
Package Base: libsavitar
Description: C++ implementation of 3mf loading with SIP python bindings
Upstream URL: https://github.com/Ultimaker/libsavitar
Licenses: AGPL
Submitter: jelly
Maintainer: None
Last Packager: cqzw555
Votes: 1
Popularity: 0.000005
First Submitted: 2022-09-01 19:36 (UTC)
Last Updated: 2024-04-12 00:51 (UTC)

Latest Comments

flaviut commented on 2024-05-26 18:53 (UTC)

Needed a small tweak (see https://wiki.archlinux.org/title/CMake_package_guidelines#Template) to get this to build with ninja:

diff --git a/PKGBUILD b/PKGBUILD
index 98115db..30239af 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -38,15 +38,14 @@ prepare() {

 build() {
   cd libSavitar-${pkgver}
-  mkdir  build && cd build
-  cmake .. \
+  cmake -B build . \
     -DCMAKE_INSTALL_PREFIX=/usr \
     -DCMAKE_INSTALL_LIBDIR=/usr/lib \
     -DCMAKE_BUILD_TYPE=Release \
     -DBUILD_SHARED_LIBS=ON \
     -DCMAKE_PREFIX_PATH=../conan-ultimaker-index/recipes/standardprojectsettings/all \
     -Wno-dev
-  make
+  cmake --build build
 }

 check() {

Mighty_Pig commented on 2024-04-13 10:00 (UTC)

Ah it seems the failing tests is a upstream issue which they have already fixed 3 weeks ago but haven't put into a release yet...

https://github.com/Ultimaker/libSavitar/pull/51

Mighty_Pig commented on 2024-04-12 15:49 (UTC)

For me the test don't pass:

==> Starting check()...
Internal ctest changing into directory: /home/daan/.cache/yay/libsavitar/src/libSavitar-5.3.0/build
Test project /home/daan/.cache/yay/libsavitar/src/libSavitar-5.3.0/build
    Start 1: ThreeMFParserTest
1/3 Test #1: ThreeMFParserTest ................***Failed    0.00 sec
[==========] Running 3 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 3 tests from ThreeMFParserTest
[ RUN      ] ThreeMFParserTest.parse
/usr/src/debug/libsavitar/libSavitar-5.3.0/tests/ThreeMFParserTest.cpp:50: Failure
Value of: xml_string.empty()
  Actual: true
Expected: false

[  FAILED  ] ThreeMFParserTest.parse (0 ms)
[ RUN      ] ThreeMFParserTest.sceneToString
/usr/src/debug/libsavitar/libSavitar-5.3.0/tests/ThreeMFParserTest.cpp:112: Failure
Value of: xml_string.empty()
  Actual: true
Expected: false

[  FAILED  ] ThreeMFParserTest.sceneToString (0 ms)
[ RUN      ] ThreeMFParserTest.decimalSeparatorTest
/usr/src/debug/libsavitar/libSavitar-5.3.0/tests/ThreeMFParserTest.cpp:131: Failure
Expected: scene = parser_septest.parse(xml_string_septest) throws an exception of type std::runtime_error.
  Actual: it throws nothing.

[  FAILED  ] ThreeMFParserTest.decimalSeparatorTest (0 ms)
[----------] 3 tests from ThreeMFParserTest (0 ms total)

[----------] Global test environment tear-down
[==========] 3 tests from 1 test suite ran. (0 ms total)
[  PASSED  ] 0 tests.
[  FAILED  ] 3 tests, listed below:
[  FAILED  ] ThreeMFParserTest.parse
[  FAILED  ] ThreeMFParserTest.sceneToString
[  FAILED  ] ThreeMFParserTest.decimalSeparatorTest

 3 FAILED TESTS


0% tests passed, 1 tests failed out of 1

cqzw555 commented on 2024-04-12 00:23 (UTC)

I found standardprojectsettings.cmake in Ultimaker/conan-ultimaker-index, and the compilation and unit tests all passed.

MarsSeed commented on 2024-04-07 19:09 (UTC) (edited on 2024-04-07 19:11 (UTC) by MarsSeed)

Unfortunately upstream seems to thwart unaffiliated third parties' (users') attempts at building their application. They achieve this by not providing a needed standardprojectsettings CMake module.

They use the conan build helper tool to prepare a cura config before the CMake build, but it needs access to an Ultimaker internal cura-conan-dev artifact repository.

I'm not familiar with the conan tool, and I'm just an outsider with some curiosity. So far I was not able to figure out what to do in this situation.

greve commented on 2024-04-07 13:16 (UTC)

Error building package:

AUR Dependency (1): libsavitar-5.3.0-0.1
:: PKGBUILD up to date, skipping download: libsavitar
  1 libsavitar                               (Installed) (Build Files Exist)
==> Packages to cleanBuild?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> A
:: Deleting (1/1): /home/nico/.cache/yay/libsavitar
HEAD is now at 54ac176 5.3.0-0.1: WiP update, but CMake build is broken due to upstream transitioning to conan
warning: could not open directory 'pkg/': Permission denied
Removing libsavitar-5.3.0.tar.gz
Removing pkg/
Removing src/
  1 libsavitar                               (Installed) (Build Files Exist)
==> Diffs to show?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> 
==> Making package: libsavitar 5.3.0-0.1 (Sun 07 Apr 2024 03:14:55 PM CEST)
==> Retrieving sources...
  -> Downloading libsavitar-5.3.0.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 25406  100 25406    0     0  54450      0 --:--:-- --:--:-- --:--:-- 54450
==> WARNING: Skipping verification of source file PGP signatures.
==> Validating source files with b2sums...
    libsavitar-5.3.0.tar.gz ... Passed
:: (1/1) Parsing SRCINFO: libsavitar
==> Making package: libsavitar 5.3.0-0.1 (Sun 07 Apr 2024 03:14:57 PM CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found libsavitar-5.3.0.tar.gz
==> Validating source files with b2sums...
    libsavitar-5.3.0.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting libsavitar-5.3.0.tar.gz with bsdtar
==> Starting prepare()...
==> Sources are ready.
==> Making package: libsavitar 5.3.0-0.1 (Sun 07 Apr 2024 03:15:01 PM CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Starting build()...
CMake Warning (dev) at CMakeLists.txt:2 (project):
  cmake_minimum_required() should be called prior to this top-level project()
  call.  Please see the cmake-commands(7) manual for usage documentation of
  both commands.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- The C compiler identification is GNU 13.2.1
-- The CXX compiler identification is GNU 13.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:4 (find_package):
  By not providing "Findstandardprojectsettings.cmake" in CMAKE_MODULE_PATH
  this project has asked CMake to find a package configuration file provided
  by "standardprojectsettings", but CMake did not find one.

  Could not find a package configuration file provided by
  "standardprojectsettings" with any of the following names:

    standardprojectsettingsConfig.cmake
    standardprojectsettings-config.cmake

  Add the installation prefix of "standardprojectsettings" to
  CMAKE_PREFIX_PATH or set "standardprojectsettings_DIR" to a directory
  containing one of the above files.  If "standardprojectsettings" provides a
  separate development package or SDK, be sure it has been installed.


-- Configuring incomplete, errors occurred!
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: libsavitar-exit status 4
 -> Failed to install the following packages. Manual intervention is required:
libsavitar - exit status 4