summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 99165617a039689d3864ba008cae6b1373de3409 (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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# Maintainer: Konstantin Gizdov < arch at kge dot pw >
# Contributor: Frank Siegert < frank.siegert at googlemail dot com >
# Contributor: Scott Lawrence < bytbox at gmail dot com >
# Contributor: Thomas Dziedzic < gostrc at gmail dot com >
# Contributor: Sebastian Voecking < voeck at web dot de >

pkgname=root-extra
_pkgname=root
pkgver=6.14.08
pkgrel=1
provides=('root' 'root-extra')
conflicts=('root')
pkgdesc='C++ data analysis framework and interpreter from CERN with extra features enabled.'
arch=('i686' 'x86_64')
url='http://root.cern.ch'
license=('LGPL2.1')
makedepends=('avahi'
             'ccache'
             'cern-vdt'
             'cfitsio'
             'cmake'
             'fcgi'
             'fftw'
             'ftgl'
             'blas'
             'gcc-fortran'
             'gl2ps'
             'glew'
             'go-pie'
             'graphviz'
             'gsl'
             'hicolor-icon-theme'
             'intel-tbb'
             'libafterimage'
             'libmariadbclient'
             'ocaml'
             'ocaml-ctypes'
             'openssl'
             'postgresql-libs'
             'pythia>=8.2.23-3'
             'python'
             'python-numpy'
             'qt4'
             'sqlite'
             'tex-gyre-fonts'  # solve the pixelized font problem as per Arch Wiki
             'unixodbc'
             'unuran'
             'vc'
             'xmlrpc-c'
             'xrootd>=4.6.0-2'
             'xxhash>=0.6.5-1'
             'z3')
depends=('cfitsio'
         'cern-vdt'
         'blas'
         'fcgi'
         'fftw'
         'ftgl'
         'gl2ps'
         'glew'
         'graphviz'
         'hicolor-icon-theme'
         'intel-tbb'
         'libafterimage'
         'libmariadbclient'
         'postgresql-libs'
         'pythia>=8.2.23-3'
         'python-numpy'
         'qt4'
         'tex-gyre-fonts'  # solve the pixelized font problem as per Arch Wiki
         'unixodbc'
         'unuran'
         'xmlrpc-c'
         'xrootd>=4.6.0-2'
         'xxhash>=0.6.5-1')
optdepends=('gcc-fortran: Enable the Fortran components of ROOT'
            'tcsh: Legacy CSH support'
            'unuran: Support non-uniform random numbers'
            'vc: Add types for portable and intuitive SIMD programming'
            'xrootd: Support remote file server and client')
options=('!emptydirs')
source=("https://root.cern.ch/download/root_v${pkgver}.source.tar.gz"
        'root.sh'
        'root.xml'
        'rootd'
        'settings.cmake'
        'exclude_clang_from_install_directive.patch'
        'fix_tmva_numpy_dependency.patch')
sha256sums=('1b63b51cfb4dc20f1f5749faac6bbd1098eccab777f8b49911257d77186c73c4'
            '9d1f8e7ad923cb5450386edbbce085d258653c0160419cdd6ff154542cc32bd7'
            '50c08191a5b281a39aa05ace4feb8d5405707b4c54a5dcba061f954649c38cb0'
            '3c45b03761d5254142710b7004af0077f18efece7c95511910140d0542c8de8a'
            'e73ea28766add34072506c4e50968cdfd744eef44b836ef4f58426916978409b'
            'f2d07ccfa65dc0db8b41e36b67cc4cf471a0dec318f0f9f883711c5d2c0e296b'
            'bc0a31992c0da5004d6d9be8f0236e77185245f218ec49a6d86d9279c7bbb868')
prepare() {
    cd "${_pkgname}-${pkgver}"

    2to3 -w etc/dictpch/makepch.py 2>&1 > /dev/null

    patch -p1 -i "${srcdir}/exclude_clang_from_install_directive.patch"
    patch -p1 -i "${srcdir}/fix_tmva_numpy_dependency.patch"

    mkdir -p "${srcdir}/build"
    cd "${srcdir}/build"

    CFLAGS="${CFLAGS} -pthread" \
    CXXFLAGS="${CXXFLAGS} -pthread" \
    LDFLAGS="${LDFLAGS} -pthread -Wl,--no-undefined" \
    cmake -C "${srcdir}/settings.cmake" "${srcdir}/${_pkgname}-${pkgver}"
}

build() {
    cd "${srcdir}/build"

    make
}

package() {
    cd "${srcdir}/build"

    make DESTDIR="${pkgdir}" install

    install -D "${srcdir}/root.sh" \
        "${pkgdir}/etc/profile.d/root.sh"
    install -D "${srcdir}/rootd" \
        "${pkgdir}/etc/rc.d/rootd"
    install -D -m644 "${srcdir}/root.xml" \
        "${pkgdir}/usr/share/mime/packages/root.xml"

    install -D -m644 "${srcdir}/${_pkgname}-${pkgver}/build/package/debian/root-system-bin.desktop.in" \
        "${pkgdir}/usr/share/applications/root-system-bin.desktop"

    # replace @prefix@ with /usr for the desktop
    sed -e 's_@prefix@_/usr_' -i "${pkgdir}/usr/share/applications/root-system-bin.desktop"

    # fix python env call
    sed -e 's/@python@/python/' -i "${pkgdir}/usr/lib/root/cmdLineUtils.py"

    install -D -m644 "${srcdir}/${_pkgname}-${pkgver}/build/package/debian/root-system-bin.png" \
        "${pkgdir}/usr/share/icons/hicolor/48x48/apps/root-system-bin.png"

    # use a file that pacman can track instead of adding directly to ld.so.conf
    install -d "${pkgdir}/etc/ld.so.conf.d"
    echo '/usr/lib/root' > "${pkgdir}/etc/ld.so.conf.d/root.conf"

    rm -rf "${pkgdir}/etc/root/daemons"
}