summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDoug Newgard2015-09-06 10:05:27 -0500
committerDoug Newgard2015-09-06 10:05:27 -0500
commit993b587fd0588d290ae90a0ae87977565a8599cd (patch)
tree6e6fe0c78c0988996fae5475f0d01e809b662775
parentad5337facd2dd4c898deaf3059da58e331c41aa2 (diff)
downloadaur-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--.SRCINFO16
-rw-r--r--PKGBUILD145
2 files changed, 27 insertions, 134 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 969135a44a28..601d2ba618b4 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 4db73022f851..1f14d22c8354 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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"
}