summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD98
1 files changed, 98 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..bbc3da6213c3
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,98 @@
+# Maintainer: Timo Sarawinsi <tino@it-kraut.net>
+
+pkgbase=dlib
+pkgname=("dlib-sse" "dlib-sse-cuda")
+pkgver=19.22
+pkgrel=1
+_commit=4a53742f8f6a071fb002655857f3a4e5d72a52d1
+pkgdesc="A general purpose cross-platform C++ library designed using contract programming and modern C++ techniques"
+arch=('x86_64')
+url="http://dlib.net"
+license=('custom')
+depends=('cblas'
+ 'lapack'
+ 'blas'
+ 'libjpeg-turbo'
+ 'libpng'
+ 'libx11')
+optdepends=('giflib: for GIF support'
+ 'sqlite: for sqlite support')
+makedepends=('cmake' 'ccache-ext' 'ccache' 'cuda' 'cudnn')
+source=("https://github.com/davisking/dlib/archive/$_commit.tar.gz"
+ "version.patch")
+sha256sums=('f2f7aecb25f6a70c902e95e8ed6d24e663fff4e03fac03d607ad2d4d4169943f'
+ 'df6167bb6c9a258eebfed651bd4c8d4e5d89324dd10579057fa58e6d1f4d110d')
+build() {
+ mv -v "${srcdir}/${pkgbase}-${_commit}" "${srcdir}/${pkgbase}-${pkgver}"
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ patch -p1 -i ../version.patch
+ cd ..
+ mkdir -p build && cd build
+ #cmake -GNinja \
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DDLIB_ENABLE_ASSERTS=ON \
+ -DDLIB_PNG_SUPPORT=ON \
+ -DDLIB_JPEG_SUPPORT=ON \
+ -DDLIB_GIF_SUPPORT=ON \
+ -DUSE_AVX_INSTRUCTIONS=ON \
+ -DDLIB_USE_LAPACK=ON \
+ -DDLIB_USE_FFTW=ON \
+ -DDLIB_LINK_WITH_SQLITE3=ON \
+ -DUSE_SSE2_INSTRUCTIONS=ON \
+ -DUSE_SSE4_INSTRUCTIONS=ON \
+ -DDLIB_USE_BLAS=ON \
+ -DDLIB_USE_CUDA=OFF \
+ "../${pkgbase}-${pkgver}"
+ #ninja ${MAKEFLAGS:--j1}
+ cmake --build . --config Release -- -j $(nproc)
+
+ cd "${srcdir}"
+ mkdir -p build-cuda && cd build-cuda
+ # cmake -GNinja \
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DUSE_AVX_INSTRUCTIONS=ON \
+ -DDLIB_USE_LAPACK=ON \
+ -DDLIB_ENABLE_ASSERTS=ON \
+ -DDLIB_PNG_SUPPORT=ON \
+ -DDLIB_JPEG_SUPPORT=ON \
+ -DDLIB_GIF_SUPPORT=ON \
+ -DDLIB_USE_BLAS=ON \
+ -DUSE_SSE2_INSTRUCTIONS=ON \
+ -DUSE_SSE4_INSTRUCTIONS=ON \
+ -DDLIB_USE_FFTW=ON \
+ -DDLIB_LINK_WITH_SQLITE3=ON \
+ -DDLIB_USE_CUDA=ON \
+ -DCUDA_NVCC_EXECUTABLE=/usr/lib/ccache/bin/nvcc-ccache \
+ "../${pkgbase}-${pkgver}"
+ #inja ${MAKEFLAGS:--j1}
+ cmake --build . --config Release -- -j $(nproc)
+}
+
+package_dlib-sse() {
+ cd "${srcdir}/build"
+ #DESTDIR=${pkgdir} ninja install
+ DESTDIR=${pkgdir} cmake --install "$DESTDIR"
+ install -Dm644 "../${pkgbase}-${pkgver}/dlib/LICENSE.txt" "${pkgdir}/usr/share/licenses/${pkgbase}/LICENSE"
+ # remove redundant external libraries
+ rm -r "${pkgdir}/usr/include/dlib/external"
+}
+
+package_dlib-sse-cuda() {
+ pkgdesc="A general purpose cross-platform C++ library designed using contract programming and modern C++ techniques (with CUDA)"
+ depends+=(cuda cudnn)
+ conflicts=(dlib)
+ cd "${srcdir}/build-cuda"
+ #DESTDIR=${pkgdir} ninja install
+ DESTDIR=${pkgdir} cmake --install "$DESTDIR"
+ install -Dm644 "../${pkgbase}-${pkgver}/dlib/LICENSE.txt" "${pkgdir}/usr/share/licenses/${pkgbase}/LICENSE"
+ # remove redundant external libraries
+ rm -r "${pkgdir}/usr/include/dlib/external"
+}