summaryrefslogtreecommitdiff
path: root/community/grass/PKGBUILD
blob: 827eded8c858f8111fc6980e57c3c77c6caf5592 (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
# Maintainer: Thomas Dziedzic < gostrc at gmail >
# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org

pkgname=grass
pkgver=6.4.1
pkgrel=4
pkgdesc='Geographic Information System (GIS) used for geospatial data management and analysis, image processing, graphics/maps production, spatial modeling, and visualization.'
arch=('i686' 'x86_64' 'mips64el')
url='http://grass.itc.it/index.php'
license=('GPL')
depends=('gdal' 'tk' 'sqlite3' 'python2' 'mesa' 'swig' 'proj' 'libjpeg' 'libpng' 'libtiff' 'cfitsio')
makedepends=('mysql' 'postgresql' 'r' 'fftw' 'freetype2' 'xorg-server')
optdepends=('fftw: required for i.fft and i.ifft modules'
            'postgresql: PostgreSQL database interface'
            'r: R language interface'
            'lapack: required for GMATH library'
            'blas: required for GMATH library'
            'xorg-server: required for the graphical interface'
            'wxpython: to enable the GUI')
options=('!libtool' '!makeflags')
install='grass.install'
source=("http://grass.itc.it/grass64/source/grass-${pkgver}.tar.gz"
        "grass.sh"
        "grass.conf")
md5sums=('d8ca83d416b5b0cf2aa9d36c81a77b23'
         'a0e0ac6275e09a272f8ec38d3c0b4b3a'
         '6103480c2a1adc19a50b9e925e5e6d4c')

build() {
  cd grass-${pkgver}

  # python2 fix
  sed -i 's_python $< $(GISBASE) > $@_python2 $< $(GISBASE) > $@_' gui/wxpython/Makefile
  for file in $(find . -name '*.py' -print); do
    sed -i 's_^#!.*/usr/bin/python_#!/usr/bin/python2_' $file
    sed -i 's_^#!.*/usr/bin/env.*python_#!/usr/bin/env python2_' $file
  done

  # the following exports are probably not needed
  export PYTHON=python2
  export DOXNAME=python2
  export GRASS_python=python2

  # fix wxpython error
  sed -i 's/python/&2/' ./include/Make/Platform.make.in

  # see ${srcdir}/grass-6.4.0/REQUIREMENTS.html for options
  ./configure \
    --prefix=/opt \
    --with-mysql-includes=/usr/include/mysql \
    --with-mysql \
    --with-sqlite \
    --with-postgres \
    --with-fftw \
    --with-gdal=/usr/bin/gdal-config \
    --with-blas \
    --with-lapack \
    --with-proj-libs=/usr/lib \
    --with-proj-includes=/usr/include \
    --with-proj-share=/usr/share/proj \
    --with-fftw-includes=/usr/include \
    --with-fftw-libs=/usr/lib \
    --with-python=/usr/bin/python2-config

    #--with-freetype-includes=/usr/include

  make

  # some more potential problems nvm, works without, but save for future use if problems arrise
  #cd ${pkgdir}/opt/grass-${pkgver}
  #sed -i 's/PYTHON = python/PYTHON = python2/' include/Make/Python.make
  #sed -i 's/GRASS_PYTHON=python/GRASS_PYTHON=python2/' etc/Init.sh
}

package() {
  cd grass-${pkgver}

  make \
    INST_DIR=${pkgdir}/opt/grass-${pkgver} \
    BINDIR=${pkgdir}/usr/bin \
    install

  # fix $GISBASE path
  sed -i "s|GISBASE=${pkgdir}/opt/grass-${pkgver}|GISBASE=/opt/grass-${pkgver}|g" \
    ${pkgdir}/usr/bin/grass64

  # install profile.d file
  install -D ${srcdir}/grass.sh \
    ${pkgdir}/etc/profile.d/grass.sh

  # install some freedesktop.org compatibility
  install -D -m644 gui/icons/grass.desktop \
    ${pkgdir}/usr/share/applications/grass.desktop

  sed -i -e 's/grass65/grass64/' -e 's_/usr/share/icons_/usr/share/pixmaps_' \
    ${pkgdir}/usr/share/applications/grass.desktop

  install -D -m644 gui/icons/grass-48x48.png \
    ${pkgdir}/usr/share/pixmaps/grass-48x48.png

  # create a symlink for version work around
  ln -sf /opt/grass-${pkgver} ${pkgdir}/opt/grass

  install -D -m644 ${srcdir}/grass.conf \
    ${pkgdir}/etc/ld.so.conf.d/grass.conf

  # install g.html2man which is needed for some extensions
  # FS#25705 - [grass] g.html2man is not installed into package directory
  # https://bugs.archlinux.org/task/25705
  # most likely upstream problem which will be fixed in a version later than 6.4.1
  cp -r ./tools/g.html2man ${pkgdir}/opt/grass-${pkgver}/tools
}