summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorKartik Mohta2020-05-07 12:06:46 -0700
committerKartik Mohta2020-05-07 12:06:46 -0700
commitce9ad9e1a29703fd43e6cfa3abae6fe7c3cfa655 (patch)
treefcf987a45dee11dc95a41a7279244bd3e4643e4c
downloadaur-ce9ad9e1a29703fd43e6cfa3abae6fe7c3cfa655.tar.gz
Add a separate package with intel-mkl dependency
-rw-r--r--.SRCINFO27
-rw-r--r--PKGBUILD60
-rw-r--r--fix-findmkl.patch20
-rw-r--r--rename-included-libmetis.patch11
-rw-r--r--skip-boost-debug-libs.patch24
5 files changed, 142 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..c3d9bed18590
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,27 @@
+pkgbase = gtsam-mkl
+ 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 = 4.0.2
+ pkgrel = 5
+ url = https://gtsam.org/
+ arch = x86_64
+ arch = i686
+ license = BSD
+ makedepends = boost
+ makedepends = cmake
+ depends = boost-libs
+ depends = eigen
+ depends = intel-tbb
+ depends = intel-mkl
+ provides = gtsam=4.0.2
+ conflicts = gtsam
+ source = https://github.com/borglab/gtsam-mkl/archive/4.0.2.tar.gz
+ source = rename-included-libmetis.patch
+ source = skip-boost-debug-libs.patch
+ source = fix-findmkl.patch
+ md5sums = fc24394cf59ccf034ae4150d8613384b
+ md5sums = 63093f474f5574e8dd3e300289dab47f
+ md5sums = 3df2bbd13382765fbe40f503f3a99219
+ md5sums = 3ba08e16a06755c8cdf637b896d186a3
+
+pkgname = gtsam-mkl
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..2a0687f457b2
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,60 @@
+# Maintainer: Kartik Mohta <kartikmohta@gmail.com>
+pkgname=gtsam-mkl
+pkgver=4.0.2
+pkgrel=5
+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')
+provides=("gtsam=${pkgver}")
+conflicts=('gtsam')
+license=('BSD')
+depends=('boost-libs' 'eigen' 'intel-tbb' 'intel-mkl')
+makedepends=('boost' 'cmake')
+source=("https://github.com/borglab/${pkgname}/archive/${pkgver}.tar.gz"
+ "rename-included-libmetis.patch"
+ "skip-boost-debug-libs.patch"
+ "fix-findmkl.patch")
+md5sums=('fc24394cf59ccf034ae4150d8613384b'
+ '63093f474f5574e8dd3e300289dab47f'
+ '3df2bbd13382765fbe40f503f3a99219'
+ '3ba08e16a06755c8cdf637b896d186a3')
+
+
+prepare() {
+ cd "${srcdir}/gtsam-${pkgver}"
+ patch -p1 -i ../rename-included-libmetis.patch
+ patch -p1 -i ../skip-boost-debug-libs.patch
+ patch -p1 -i ../fix-findmkl.patch
+}
+
+build() {
+ cd "${srcdir}/gtsam-${pkgver}"
+ mkdir -p build
+ cd build
+ cmake -DCMAKE_INSTALL_PREFIX=/usr \
+ -DGTSAM_BUILD_EXAMPLES_ALWAYS=OFF \
+ -DGTSAM_BUILD_TESTS=ON \
+ -DGTSAM_BUILD_WRAP=OFF \
+ -DGTSAM_BUILD_DOCS=OFF \
+ -DGTSAM_INSTALL_CPPUNITLITE=OFF \
+ -DGTSAM_INSTALL_GEOGRAPHICLIB=OFF \
+ -DGTSAM_USE_SYSTEM_EIGEN=ON \
+ -DGTSAM_WITH_EIGEN_MKL=ON \
+ ..
+ make
+}
+
+package() {
+ cd "${srcdir}/gtsam-${pkgver}/build"
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 "${srcdir}/gtsam-${pkgver}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+# check() {
+# cd "${srcdir}/${pkgname}-${pkgver}/build"
+# make check
+# }
+
+# vim:set ts=2 sw=2 et:
diff --git a/fix-findmkl.patch b/fix-findmkl.patch
new file mode 100644
index 000000000000..fe94f7b92a7c
--- /dev/null
+++ b/fix-findmkl.patch
@@ -0,0 +1,20 @@
+--- gtsam-4.0.2/cmake/FindMKL.cmake 2020-05-07 11:28:45.694001386 -0700
++++ gtsam-4.0.2/cmake/FindMKL.cmake 2020-05-07 11:29:16.708231150 -0700
+@@ -221,7 +221,7 @@
+ FIND_LIBRARY(MKL_IOMP5_LIBRARY
+ iomp5
+ PATHS
+- ${MKL_ROOT_DIR}/../lib/ia32
++ ${MKL_ROOT_DIR}/lib/ia32
+ )
+ ELSE()
+ SET(MKL_IOMP5_LIBRARY "") # no need for mac
+@@ -231,7 +231,7 @@
+ FIND_LIBRARY(MKL_IOMP5_LIBRARY
+ iomp5
+ PATHS
+- ${MKL_ROOT_DIR}/../lib/intel64
++ ${MKL_ROOT_DIR}/lib/intel64
+ )
+ ELSE()
+ SET(MKL_IOMP5_LIBRARY "") # no need for mac
diff --git a/rename-included-libmetis.patch b/rename-included-libmetis.patch
new file mode 100644
index 000000000000..a38a2115b308
--- /dev/null
+++ b/rename-included-libmetis.patch
@@ -0,0 +1,11 @@
+--- 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)
+ endif()
+
++set_target_properties(metis PROPERTIES OUTPUT_NAME "gtsam_metis")
++
+ if(WIN32)
+ set_target_properties(metis PROPERTIES
+ PREFIX ""
diff --git a/skip-boost-debug-libs.patch b/skip-boost-debug-libs.patch
new file mode 100644
index 000000000000..4facf979df48
--- /dev/null
+++ b/skip-boost-debug-libs.patch
@@ -0,0 +1,24 @@
+--- gtsam-4.0.2/CMakeLists.txt.old 2019-10-12 17:14:32.067880953 -0700
++++ gtsam-4.0.2/CMakeLists.txt 2019-10-12 17:14:43.756628849 -0700
+@@ -185,12 +185,6 @@
+ optimized ${Boost_THREAD_LIBRARY_RELEASE}
+ optimized ${Boost_DATE_TIME_LIBRARY_RELEASE}
+ optimized ${Boost_REGEX_LIBRARY_RELEASE}
+- debug ${Boost_SERIALIZATION_LIBRARY_DEBUG}
+- debug ${Boost_SYSTEM_LIBRARY_DEBUG}
+- debug ${Boost_FILESYSTEM_LIBRARY_DEBUG}
+- debug ${Boost_THREAD_LIBRARY_DEBUG}
+- debug ${Boost_DATE_TIME_LIBRARY_DEBUG}
+- debug ${Boost_REGEX_LIBRARY_DEBUG}
+ )
+ message(STATUS "GTSAM_BOOST_LIBRARIES: ${GTSAM_BOOST_LIBRARIES}")
+ if (GTSAM_DISABLE_NEW_TIMERS)
+@@ -201,8 +195,6 @@
+ list(APPEND GTSAM_BOOST_LIBRARIES
+ optimized ${Boost_TIMER_LIBRARY_RELEASE}
+ optimized ${Boost_CHRONO_LIBRARY_RELEASE}
+- debug ${Boost_TIMER_LIBRARY_DEBUG}
+- debug ${Boost_CHRONO_LIBRARY_DEBUG}
+ )
+ else()
+ list(APPEND GTSAM_BOOST_LIBRARIES rt) # When using the header-only boost timer library, need -lrt