summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: de2bd5a4ea014a6f0117aa72983e1f68edeeb964 (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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# Maintainer: Hu Butui <hot123tea123@gmail.com>
# Contributor: Matthijs Tadema <M dot J dot Tadema at pm dot me>
# Contributor: Staal <staal1978@gmail.com>
# Contributor: Jens Staal <staal1978@gmail.com>

_pkgname=ugene
pkgname=('ugene' 'ugene-cuda')
pkgver=48.1
pkgrel=1
pkgdesc='A free open-source cross-platform bioinformatics software'
arch=('x86_64')
url='http://ugene.net'
license=('GPL2')
depends=(
  glu
  libxtst
  qt5-script
  qt5-svg
)
makedepends=(
  cuda
  qt5-tools
  opencl-headers
)
source=("${_pkgname}-${pkgver}.tar.gz::https://github.com/ugeneunipro/ugene/archive/refs/tags/${pkgver}.tar.gz")
sha256sums=('6c17825fe072a07b936e9fbbcbc0cf2d16d6cac94578a354b02502771ea2ec05')

prepare() {
  cd ${srcdir}
  cp -a ${_pkgname}-${pkgver} ${_pkgname}-cuda-${pkgver}
}

build() {
  # run twice to generate the right installation files
  # see https://github.com/ugeneunipro/ugene/issues/683#issuecomment-1046370388
  cd "${srcdir}/${_pkgname}-${pkgver}"
  qmake -r \
    CONFIG+=x64 \
    UGENE_CUDA_DETECTED=0 \
    UGENE_OPENCL_DETECTED=1 \
    UGENE_USE_BUNDLED_ZLIB=0 \
    UGENE_USE_SYSTEM_SQLITE=1
  make
  qmake -r \
    CONFIG+=x64 \
    UGENE_CUDA_DETECTED=0 \
    UGENE_OPENCL_DETECTED=1 \
    UGENE_USE_BUNDLED_ZLIB=0 \
    UGENE_USE_SYSTEM_SQLITE=1
  make

  cd "${srcdir}/${_pkgname}-cuda-${pkgver}"
  CUDA_LIB_PATH=/opt/cuda/lib64 \
  CUDA_INC_PATH=/opt/cuda/include \
  qmake -r \
    CONFIG+=x64 \
    UGENE_CUDA_DETECTED=1 \
    UGENE_OPENCL_DETECTED=1 \
    UGENE_USE_BUNDLED_ZLIB=0 \
    UGENE_USE_SYSTEM_SQLITE=1
  make
  CUDA_LIB_PATH=/opt/cuda/lib64 \
  CUDA_INC_PATH=/opt/cuda/include \
  qmake -r \
    CONFIG+=x64 \
    UGENE_CUDA_DETECTED=1 \
    UGENE_OPENCL_DETECTED=1 \
    UGENE_USE_BUNDLED_ZLIB=0 \
    UGENE_USE_SYSTEM_SQLITE=1
  make
}

package_ugene() {
  cd "${pkgname}-${pkgver}"
  make install
  install -d "${pkgdir}/usr/bin"
  install -d "${pkgdir}/usr/share/applications"
  install -d "${pkgdir}/usr/share/pixmaps"
  # files installed to dist, move them to ${pkgdir}
  cp -a "${srcdir}/${pkgname}-${pkgver}/dist" "${pkgdir}/opt"
  mv -vf "${pkgdir}/opt/${_pkgname}-${pkgver}/${_pkgname}.desktop" "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
  ln -sf "/opt/${_pkgname}-${pkgver}/ugene" "${pkgdir}/usr/bin/ugene"
  ln -sf "/opt/${_pkgname}-${pkgver}/ugeneui" "${pkgdir}/usr/bin/ugeneui"
  ln -sf "/opt/${_pkgname}-${pkgver}/ugenecl" "${pkgdir}/usr/bin/ugenecl"
  mv -vf "${pkgdir}/opt/${_pkgname}-${pkgver}/${_pkgname}.png" "${pkgdir}/usr/share/pixmaps"
}

package_ugene-cuda() {
  pkgdesc="${pkgdesc} (with CUDA)"
  provides=(ugene=${pkgver})
  conflicts=(ugene)
  depends+=(
    cuda
)
  cd "${pkgname}-${pkgver}"
  make install
  install -d "${pkgdir}/usr/bin"
  install -d "${pkgdir}/usr/share/applications"
  install -d "${pkgdir}/usr/share/pixmaps"
  # files installed to dist, move them to ${pkgdir}
  cp -av "${srcdir}/${pkgname}-${pkgver}/dist" "${pkgdir}/opt"
  mv -vf "${pkgdir}/opt/${_pkgname}-${pkgver}/${_pkgname}.desktop" "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
  ln -sf "/opt/${_pkgname}-${pkgver}/ugene" "${pkgdir}/usr/bin/ugene"
  ln -sf "/opt/${_pkgname}-${pkgver}/ugeneui" "${pkgdir}/usr/bin/ugeneui"
  ln -sf "/opt/${_pkgname}-${pkgver}/ugenecl" "${pkgdir}/usr/bin/ugenecl"
  mv -vf "${pkgdir}/opt/${_pkgname}-${pkgver}/${_pkgname}.png" "${pkgdir}/usr/share/pixmaps"
}