diff options
author | Doug Newgard | 2015-09-06 10:05:27 -0500 |
---|---|---|
committer | Doug Newgard | 2015-09-06 10:05:27 -0500 |
commit | 993b587fd0588d290ae90a0ae87977565a8599cd (patch) | |
tree | 6e6fe0c78c0988996fae5475f0d01e809b662775 | |
parent | ad5337facd2dd4c898deaf3059da58e331c41aa2 (diff) | |
download | aur-993b587fd0588d290ae90a0ae87977565a8599cd.tar.gz |
Bump to 7.0.1; MASSIVE cleanup
Still need to clean up deps and get rid of python2 symlink hack.
-rw-r--r-- | .SRCINFO | 16 | ||||
-rw-r--r-- | PKGBUILD | 145 |
2 files changed, 27 insertions, 134 deletions
@@ -1,12 +1,11 @@ pkgbase = grass - pkgdesc = GRASS GIS (7.0 release): geospatial data management and analysis, image processing, graphics/maps production, spatial modeling and visualization. - pkgver = 7.0 + pkgdesc = Geospatial data management and analysis, image processing, graphics/maps production, spatial modeling and visualization. + pkgver = 7.0.1 pkgrel = 1 url = http://grass.osgeo.org/ arch = i686 arch = x86_64 license = GPL - makedepends = subversion makedepends = doxygen depends = zlib depends = freetype2 @@ -16,7 +15,6 @@ pkgbase = grass depends = geos depends = glu depends = libjpeg - depends = liblas depends = libpng depends = libtiff depends = libxmu @@ -33,14 +31,8 @@ pkgbase = grass depends = python2-matplotlib depends = python2-pillow optdepends = r: R language interface; see http://grasswiki.osgeo.org/wiki/R_statistics - optdepends = mariadb: mysql database interface - optdepends = ffmpeg: ffmpeg support - optdepends = lapack: required for GMATH library - optdepends = blas: required for GMATH library - optdepends = lesstif: motif support - provides = grass - source = http://grass.osgeo.org/grass70/source/grass-7.0.0.tar.gz - md5sums = 25b00b74ddb15284ffe2eacbb8999c7d + source = http://grass.osgeo.org/grass70/source/grass-7.0.1.tar.gz + sha256sums = 0987dd1618fde24b05785a502c7db8c09401a522a7a3ee50543068fab4eb405f pkgname = grass @@ -1,150 +1,51 @@ -# Maintainer: Maciej Sieczka <msieczka at sieczka dot org> +# Maintainer: Doug Newgard <scimmia at archlinux dot info> # Contributor: Maciej Sieczka <msieczka at sieczka dot org> pkgname='grass' -pkgver='7.0' +pkgver='7.0.1' pkgrel='1' -pkgdesc="GRASS GIS (7.0 release): geospatial data management and analysis, image \ -processing, graphics/maps production, spatial modeling and visualization." +pkgdesc="Geospatial data management and analysis, image processing, graphics/maps production, spatial modeling and visualization." arch=('i686' 'x86_64') url='http://grass.osgeo.org/' license=('GPL') -provides=("$pkgname") - -# More about GRASS build and runtime deps on http://grasswiki.osgeo.org/wiki/Compile_and_Install. depends=('zlib' 'freetype2' 'cfitsio' 'fftw' 'gdal' 'geos' 'glu' 'libjpeg' - 'liblas' 'libpng' 'libtiff' 'libxmu' 'mesa' 'postgresql' 'proj' + 'libpng' 'libtiff' 'libxmu' 'mesa' 'postgresql' 'proj' 'wxpython2.8' 'wxgtk2.8' 'xorg-server' 'cairo' 'unixodbc' 'python2' 'python2-numpy' 'python2-matplotlib' 'python2-pillow') -makedepends=('subversion' 'doxygen') -optdepends=('r: R language interface; see http://grasswiki.osgeo.org/wiki/R_statistics' - 'mariadb: mysql database interface' - 'ffmpeg: ffmpeg support' - 'lapack: required for GMATH library' - 'blas: required for GMATH library' - 'lesstif: motif support') -source=("http://grass.osgeo.org/grass70/source/grass-7.0.0.tar.gz") -md5sums=('25b00b74ddb15284ffe2eacbb8999c7d') +makedepends=('doxygen') +optdepends=('r: R language interface; see http://grasswiki.osgeo.org/wiki/R_statistics') +source=("http://grass.osgeo.org/grass70/source/$pkgname-$pkgver.tar.gz") +sha256sums=('0987dd1618fde24b05785a502c7db8c09401a522a7a3ee50543068fab4eb405f') prepare() { - mv "${srcdir}/grass-7.0.0" "${srcdir}/${pkgname}" - cd "$pkgname" - - msg 'Patching source...' - # Tweak the initial PATH so that it advertised a python2->python link as - # python. No patching to deal with the python/python2/3 issue needed: - ln -sf "`which python2`" "${srcdir}/${pkgname}/python" + cd $pkgname-$pkgver - # INSTDIR is partly hardcoded in `configure'. Fix it, so that INST_DIR, which - # is derived from it, is set as needed: - sed -i "s,INSTDIR='\${prefix}'\"/grass-\${GRASS_VERSION_MAJOR}\.\${GRASS_VERSION_MINOR}\.\${GRASS_VERSION_RELEASE}\",INSTDIR='\${prefix}/${pkgname}'," configure - # This e.g. prevents ./configure from not telling true about the "Installation directory:". + ln -sf "$(which python2)" python - # Custom desktop file: - sed -i -e "s,^Name=GRASS GIS 7\$,Name=GRASS GIS 7.0 release," \ - -e "s,^Icon=grass\$,Icon=/usr/share/icons/${pkgname}-64x64.png," \ - -e "s,^Exec=grass7\$,Exec=${pkgname}," \ - "${srcdir}/${pkgname}/gui/icons/grass.desktop" + sed -i "s/env python$/&2/" $(find . -name "*.py") + sed -i 's/grass7$/grass70/' gui/icons/grass.desktop } build() { - cd "$pkgname" - msg 'Configuring build...' - PATH="${srcdir}/${pkgname}:$PATH" - export PATH - # Enabling only those features which are not enabled by default. Out of the - # usefull ones, only DWG, MySQL, FFMPEG and Motif are left disabled. LAPACK - # and BLAS are not used for anything in GRASS anyway: + cd $pkgname-$pkgver + export PATH="$srcdir/$pkgname-$pkgver:$PATH" - # GRASS build dystem can't cope with current Arch's /etc/makepkg.conf default CPPFLAGS="-D_FORTIFY_SOURCE=2". - # At configure it throws: - # - # checking for curses.h... no - # configure: error: *** Unable to locate curses includes. - # - # Due to (in config.log): - # - # In file included from /usr/include/assert.h:36:0, - # from configure:1527: - # /usr/include/features.h:330:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp] - # # warning _FORTIFY_SOURCE requires compiling with optimization (-O) - # ^ - - # I don't have any better idea than removing any -D_FORTIFY_SOURCE occurences from CPPFLAGS: - CPPFLAGS=`echo $CPPFLAGS | sed 's/-D_FORTIFY_SOURCE=.//g'` CFLAGS="$CFLAGS -Wall" CXXFLAGS="$CXXFLAGS -Wall" ./configure \ + CPPFLAGS="" ./configure \ --prefix=/opt \ - --exec-prefix="/opt/$pkgname" \ - --with-cxx \ - --with-cairo \ - --with-freetype \ - --with-freetype-includes=/usr/include/freetype2 \ - --with-geos \ - --with-liblas \ - --with-nls \ - --with-netcdf \ - --with-odbc \ - --with-openmp \ - --with-postgres \ - --with-python=/usr/bin/python2-config \ - --with-readline \ - --with-proj-includes=/usr/include \ - --with-proj-libs=/usr/lib \ - --with-proj-share=/usr/share/proj \ - --with-pthread \ - --with-sqlite \ - --with-wxwidgets=/usr/bin/wx-config-2.8 - - # According to GRASS dev team, --enable-64bit has effect only on AIX, HP-UX, - # IRIX and Solaris. It's *always* enabled on GNU/Linux if the build platform - # supports it, no matter what "64bit support:" on the configure output reads, - # so there's no need to set it explicitely on Arch. - - # To provide a usefull stacktrace: - # - # CFLAGS="-O0 -ggdb -Wall -Werror-implicit-function-declaration -fexceptions" - # CXXFLAGS="-O0 -ggdb -Wall -Werror-implicit-function-declaration -fexceptions" - # options=(!strip) - # Not sure if -Werror-implicit-function-declaration -fexceptions should really go to CXXFLAGS. - # Let me know if you know. + --with-freetype-includes=/usr/include/freetype2 - msg 'Building...' make - # That used to be `make PYTHON=python2' } package() { - cd "$pkgname" - # Install GRASS in $pkgir of makepkg's fakeroot env: - make prefix="${pkgdir}/opt" exec_prefix="${pkgdir}/opt/${pkgname}" INST_DIR="${pkgdir}/opt/${pkgname}" install - - msg 'Patching the build results...' - # During `make install' several files get a content based on `INST_DIR' and - # `UNIX_BIN' make vars. I don't know how to avoid this without changing - # GRASS build system. Doing some post-install tweaks then: - sed -i "s,${pkgdir},,g" "${pkgdir}/opt/${pkgname}/include/Make/Platform.make" \ - "${pkgdir}/opt/${pkgname}/include/Make/Grass.make" \ - "${pkgdir}/opt/${pkgname}/etc/fontcap" \ - "${pkgdir}/opt/${pkgname}/bin/grass70" \ - "${pkgdir}/opt/${pkgname}/demolocation/.grassrc70" - - # Link GRASS exec script in /usr/bin under a custom name. - # This allows e.g. grass70 and grass70-svn be co-installed: - mkdir -p "${pkgdir}/usr/bin" - ln -sf "/opt/${pkgname}/bin/grass70" "${pkgdir}/usr/bin/grass" - - # Instead of patching GRASS Python scripts to use `python2' and messing with - # GRASS_PYTHON, link to a correct interpreter from $GISBASE: - ln -sf "`which python2`" "${pkgdir}/opt/${pkgname}/bin/python" + cd $pkgname-$pkgver - # The startup Python 2 script needs a patch nevertheless: - sed -i '1 s/python/python2/' "${pkgdir}/opt/${pkgname}/bin/grass70" + make exec_prefix="$pkgdir/usr" INST_DIR="$pkgdir/opt/$pkgname" install - # Install an ldconfig conf for GRASS libs in /opt to be visible on the - # system. Arch runs `ldconfig' after install automatically: - echo "/opt/${pkgname}/lib" > "${srcdir}/${pkgname}.conf" - install -D -m644 "${srcdir}/${pkgname}.conf" "${pkgdir}/etc/ld.so.conf.d/${pkgname}.conf" + sed -i "s|$pkgdir||g" "$pkgdir/opt/grass/demolocation/.grassrc70" "$pkgdir/usr/bin/grass70" + sed -i "s|$srcdir||g" "$pkgdir/opt/grass/docs/html/t.connect.html" + sed -i 's/"python"/"python2"/' "$pkgdir/usr/bin/grass70" - # Desktop integration: - install -D -m644 "${srcdir}/${pkgname}/gui/icons/grass-64x64.png" "${pkgdir}/usr/share/icons/${pkgname}-64x64.png" - install -D -m644 "${srcdir}/${pkgname}/gui/icons/grass.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop" + install -Dm644 gui/icons/grass-64x64.png "$pkgdir/usr/share/icons/grass.png" + install -Dm644 gui/icons/grass.desktop "$pkgdir/usr/share/applications/grass.desktop" } |