diff options
author | Kartik Mohta | 2020-05-07 12:06:46 -0700 |
---|---|---|
committer | Kartik Mohta | 2020-05-07 12:06:46 -0700 |
commit | ce9ad9e1a29703fd43e6cfa3abae6fe7c3cfa655 (patch) | |
tree | fcf987a45dee11dc95a41a7279244bd3e4643e4c | |
download | aur-ce9ad9e1a29703fd43e6cfa3abae6fe7c3cfa655.tar.gz |
Add a separate package with intel-mkl dependency
-rw-r--r-- | .SRCINFO | 27 | ||||
-rw-r--r-- | PKGBUILD | 60 | ||||
-rw-r--r-- | fix-findmkl.patch | 20 | ||||
-rw-r--r-- | rename-included-libmetis.patch | 11 | ||||
-rw-r--r-- | skip-boost-debug-libs.patch | 24 |
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 |