summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 83fb501840965cc2f2027b31565c59215537b448 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# maintainer: bipin <kbipinkumar@pm.me>
pkgbase=mmseqs2
pkgname=('mmseqs2-sse4' 'mmseqs2-avx2')
_pkgbase=${pkgbase//mm/MM}
pkgver=16.747c6
_pkgver=16-747c6
pkgrel=5
pkgdesc="ultra fast and sensitive search and clustering suite. https://doi.org/10.1038/nbt.3988"
arch=('x86_64')
url="https://github.com/soedinglab/mmseqs2"
license=('MIT')
makedepends=('cmake' 'zlib' 'openmp' 'vim' 'perl')
source=("$_pkgbase-$_pkgver.tar.gz::https://github.com/soedinglab/MMseqs2/archive/refs/tags/${_pkgver}.tar.gz"
        "bash-completion.patch"
        "fix_util_installation.patch"
        )
install=bash-completion.install
sha256sums=('faeb6841feb8e028651c2391de1346c55c2091a96520b625525d27b99d07ef1d'
            '39432896625dca6240e7f4f6dffebd05f40a1d0de2c724d7123cb63e2464e791'
            'ca25afde5447ec6b72e0a6ca9874eb6b5b93c2ec52ff3f10e4b3929d1aea1e71')
prepare() {
  cd $_pkgbase-$_pkgver
  # add package specific information needed to enable bash autocompletion
  patch -p1 < ${srcdir}/bash-completion.patch
  # Prevent CMake from installing util/ contents to nonstandard /usr/util location.
  patch -p1 < ${srcdir}/fix_util_installation.patch
}

build() {
  cd $_pkgbase-$_pkgver
  # 'mmseqs2-sse4'
  cmake -B build1 \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_BUILD_TYPE=None  \
    -DHAVE_SSE4_1=1 \
    -DNATIVE_ARCH=0 \
    -DCMAKE_C_FLAGS="${CFLAGS} ${CPPFLAGS}" \
    -DCMAKE_CXX_FLAGS="${CXXFLAGS} ${CPPFLAGS}" \
    -DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}" \
    -DCMAKE_SHARED_LINKER_FLAGS="${LDFLAGS}" \
    -Wno-dev \
    -DVERSION_OVERRIDE="${_pkgver}"-BioArchLinux_sse4

  # 'mmseqs2-AVX2'
  cmake -B build2 \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_BUILD_TYPE=None \
    -DNATIVE_ARCH=0 \
    -DHAVE_AVX2=1 \
    -DCMAKE_C_FLAGS="${CFLAGS} ${CPPFLAGS}" \
    -DCMAKE_CXX_FLAGS="${CXXFLAGS} ${CPPFLAGS}" \
    -DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}" \
    -DCMAKE_SHARED_LINKER_FLAGS="${LDFLAGS}" \
    -Wno-dev \
    -DVERSION_OVERRIDE="${_pkgver}"-BioArchLinux_avx2

    # Build 'mmseqs2-sse4'
   MAKEFLAGS=-j1 cmake --build build1
   # Build 'mmseqs2-AVX2'
   MAKEFLAGS=-j1 cmake --build build2

}

package_mmseqs2-sse4() {
  depends=('gcc-libs' 'glibc' 'zlib' 'zstd' 'openmp' 'bzip2' 'bash')
  optdepends=('r: For running bundled rscript file')
  provides=('mmseqs2')
  conflicts=('mmseqs2-avx2')
  pkgdesc="ultra fast and sensitive search and clustering suite optimised for SSE4 instructions. https://doi.org/10.1038/nbt.3988"

  cd $_pkgbase-$_pkgver
  DESTDIR="$pkgdir" cmake --install build1
  install -Dm644 LICENSE.md -t "$pkgdir/usr/share/licenses/${pkgname}"
  cd util
  install -Dm755 bash-completion.sh "${pkgdir}"/usr/share/${pkgbase}/bash-completion.sh
  install -Dm644 format_substitution_matrix.R "${pkgdir}"/usr/share/${pkgbase}/format_substitution_matrix.R
}

package_mmseqs2-avx2() {
  depends=('gcc-libs' 'glibc' 'zlib' 'zstd' 'openmp' 'bzip2' 'bash')
  optdepends=('r: For running bundled rscript file')
  provides=('mmseqs2')
  conflicts=('mmseqs2-sse4')
  pkgdesc="ultra fast and sensitive search and clustering suite optimised for AVX2 instructions. https://doi.org/10.1038/nbt.3988"

  cd $_pkgbase-$_pkgver
  DESTDIR="$pkgdir" cmake --install build2
  install -Dm644 LICENSE.md -t "$pkgdir/usr/share/licenses/${pkgname}"
  cd util
  install -Dm755 bash-completion.sh "${pkgdir}"/usr/share/${pkgbase}/bash-completion.sh
  install -Dm644 format_substitution_matrix.R "${pkgdir}"/usr/share/${pkgbase}/format_substitution_matrix.R
}