Package Details: gtsam-git r11053.c6449a82d-2

Git Clone URL: https://aur.archlinux.org/gtsam-git.git (read-only, click to copy)
Package Base: gtsam-git
Description: A library of C++ classes that implement smoothing and mapping (SAM) in robotics and vision, using factor graphs and Bayes networks as the underlying computing paradigm rather than sparse matrices.
Upstream URL: https://gtsam.org/
Licenses: BSD
Conflicts: gtsam
Provides: gtsam
Submitter: kartikmohta
Maintainer: kartikmohta
Last Packager: kartikmohta
Votes: 1
Popularity: 0.000000
First Submitted: 2016-10-26 06:32 (UTC)
Last Updated: 2019-07-07 06:34 (UTC)

Dependencies (5)

  • boost-libs
  • boost (boost-gitAUR) (make)
  • cmake (cmake-gitAUR, cmake3AUR) (make)
  • intel-mkl (intel-oneapi-mkl) (optional) – Use Intel MKL to accelerate computations (add this to the depends section of the PKGBUILD and rebuild the package)
  • intel-tbb (onetbb-gitAUR, onetbb) (optional) – Use Intel TBB to accelerate computations (add this to the depends section of the PKGBUILD and rebuild the package)

Required by (5)

Sources (2)

Latest Comments

pirofti commented on 2025-04-23 14:48 (UTC) (edited on 2025-04-23 14:49 (UTC) by pirofti)

I have a large update for this package that fixes the build and adds python bindings. My diff includes the following:

  • fix build: Eigen erroring due to bounds warnings (new patch for disabling -Werror)
  • fix build: rename-included-libmetis no longer applied, update
  • fix build: default branch is now develop not master
  • fix build: documentation doc target no longer exists
  • feature: add python bindings for testing

Diff follows bellow as I reached maximum characters.

P.S. -- I can also take this over as maintainer if you want to.

pirofti commented on 2025-04-23 14:48 (UTC)

diff --git .SRCINFO .SRCINFO
index 34b0223..51a1e50 100644
--- .SRCINFO
+++ .SRCINFO
@@ -1,7 +1,7 @@
 pkgbase = gtsam-git
    pkgdesc = A library of C++ classes that implement smoothing and mapping (SAM) in robotics and vision, using factor graphs and Bayes networks as the underlying computing paradigm rather than sparse matrices.
-   pkgver = r11053.c6449a82d
-   pkgrel = 2
+   pkgver = r18873.c9498fe0c
+   pkgrel = 1
    url = https://gtsam.org/
    arch = x86_64
    arch = i686
@@ -13,10 +13,11 @@ pkgbase = gtsam-git
    optdepends = intel-mkl: Use Intel MKL to accelerate computations (add this to the depends section of the PKGBUILD and rebuild the package)
    provides = gtsam
    conflicts = gtsam
-   source = gtsam-git::git+https://github.com/borglab/gtsam.git
+   source = gtsam-git::git+https://github.com/borglab/gtsam.git#branch=develop
    source = rename-included-libmetis.patch
+   source = cmake-disable-werror.patch
    md5sums = SKIP
-   md5sums = 63093f474f5574e8dd3e300289dab47f
+   md5sums = de5c5b2be397050f435884139b1425c0
+   md5sums = 9591c2ea3867a367c8662bef1957795c

 pkgname = gtsam-git
-
diff --git PKGBUILD PKGBUILD
index 2407a43..93105f3 100644
--- PKGBUILD
+++ PKGBUILD
@@ -1,21 +1,23 @@
 # Maintainer: Kartik Mohta <kartikmohta@gmail.com>
 pkgname=gtsam-git
-pkgver=r11053.c6449a82d
-pkgrel=2
+pkgver=r18873.c9498fe0c
+pkgrel=1
 pkgdesc="A library of C++ classes that implement smoothing and mapping (SAM) in robotics and vision, using factor graphs and Bayes networks as the underlying computing paradigm rather than sparse matrices."
 url="https://gtsam.org/"
 arch=('x86_64' 'i686')
 license=('BSD')
-depends=('boost-libs')
+depends=('boost-libs' 'python-pybind11-stubgen')
 makedepends=('boost' 'cmake')
 optdepends=('intel-tbb: Use Intel TBB to accelerate computations (add this to the depends section of the PKGBUILD and rebuild the package)'
             'intel-mkl: Use Intel MKL to accelerate computations (add this to the depends section of the PKGBUILD and rebuild the package)')
 provides=('gtsam')
 conflicts=('gtsam')
-source=("$pkgname::git+https://github.com/borglab/gtsam.git"
-        "rename-included-libmetis.patch")
+source=("$pkgname::git+https://github.com/borglab/gtsam.git#branch=develop"
+        "rename-included-libmetis.patch"
+        "cmake-disable-werror.patch")
 md5sums=('SKIP'
-         '63093f474f5574e8dd3e300289dab47f')
+         'de5c5b2be397050f435884139b1425c0'
+         '9591c2ea3867a367c8662bef1957795c')


 pkgver() {
@@ -26,6 +28,7 @@ pkgver() {
 prepare() {
   cd "${srcdir}/${pkgname}"
   patch -p1 -i ../rename-included-libmetis.patch
+  patch -p1 -i ../cmake-disable-werror.patch
 }

 build() {
@@ -33,6 +36,7 @@ build() {
   mkdir -p build
   cd build
   cmake -DCMAKE_INSTALL_PREFIX=/usr \
+    -DGTSAM_BUILD_UNSTABLE=OFF \
     -DGTSAM_BUILD_EXAMPLES_ALWAYS=OFF \
     -DGTSAM_BUILD_TESTS=ON \
     -DGTSAM_BUILD_WRAP=OFF \
@@ -40,16 +44,21 @@ build() {
     -DGTSAM_INSTALL_CPPUNITLITE=OFF \
     -DGTSAM_INSTALL_GEOGRAPHICLIB=OFF \
     -DGTSAM_USE_SYSTEM_EIGEN=ON \
+    -DGTSAM_BUILD_PYTHON=ON \
     ..
-  make && make doc
+  make
+
+  cd "${srcdir}/${pkgname}/build/python"
+  python -m build --wheel --no-isolation
 }

 package() {
   cd "${srcdir}/${pkgname}/build"
   make DESTDIR="${pkgdir}" install
   install -Dm644 "${srcdir}/${pkgname}/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
-  install -d "$pkgdir/usr/share/doc/$pkgname/"
-  cp -a "${srcdir}/${pkgname}/doc/html" "$pkgdir/usr/share/doc/$pkgname/"
+
+  cd "${srcdir}/${pkgname}/build/python"
+  python -m installer --destdir="$pkgdir" dist/*.whl
 }

 # vim:set ts=2 sw=2 et:
diff --git rename-included-libmetis.patch rename-included-libmetis.patch
index a38a211..78fd293 100644
--- rename-included-libmetis.patch
+++ rename-included-libmetis.patch
@@ -1,11 +1,12 @@
---- a/gtsam/3rdparty/metis/libmetis/CMakeLists.txt 2019-05-19 18:35:20.000000000 -0700
-+++ b/gtsam/3rdparty/metis/libmetis/CMakeLists.txt 2019-07-06 13:51:47.634206733 -0700
-@@ -9,6 +9,8 @@
-   target_link_libraries(metis m)
+diff -ura gtsam-git.orig/gtsam/3rdparty/metis/libmetis/CMakeLists.txt gtsam-git/gtsam/3rdparty/metis/libmetis/CMakeLists.txt
+--- gtsam-git.orig/gtsam/3rdparty/metis/libmetis/CMakeLists.txt    2025-04-23 12:25:30.958473651 +0200
++++ gtsam-git/gtsam/3rdparty/metis/libmetis/CMakeLists.txt 2025-04-23 12:24:25.975618561 +0200
+@@ -8,6 +8,8 @@
+   target_link_libraries(metis-gtsam m)
  endif()

-+set_target_properties(metis PROPERTIES OUTPUT_NAME "gtsam_metis")
++set_target_properties(metis-gtsam PROPERTIES OUTPUT_NAME "gtsam_metis")
 +
  if(WIN32)
-       set_target_properties(metis PROPERTIES
-           PREFIX ""
+       set_target_properties(metis-gtsam PROPERTIES
+           COMPILE_FLAGS /w

haagch commented on 2021-09-16 09:56 (UTC)

rename-included-libmetis.patch breaks cmake now

acxz commented on 2019-07-02 14:34 (UTC) (edited on 2019-07-02 14:35 (UTC) by acxz)

Upstream has changed to https://gtsam.org/ and their development is on github now (https://github.com/borglab/gtsam). Can this information be reflected on this package?