/[gentoo-x86]/sci-geosciences/grass/grass-6.3.0.ebuild
Gentoo

Diff of /sci-geosciences/grass/grass-6.3.0.ebuild

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.2 Revision 1.7
1# Copyright 1999-2008 Gentoo Foundation 1# Copyright 1999-2009 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/sci-geosciences/grass/Attic/grass-6.3.0.ebuild,v 1.2 2008/06/25 04:28:50 nerdboy Exp $ 3# $Header: /var/cvsroot/gentoo-x86/sci-geosciences/grass/Attic/grass-6.3.0.ebuild,v 1.7 2009/06/08 04:51:04 nerdboy Exp $
4 4
5inherit eutils distutils fdo-mime versionator wxwidgets 5inherit eutils distutils fdo-mime versionator wxwidgets
6 6
7MY_PV=$(get_version_component_range 1-2 ${PV}) 7MY_PV=$(get_version_component_range 1-2 ${PV})
8MY_PVM=$(delete_all_version_separators ${MY_PV}) 8MY_PVM=$(delete_all_version_separators ${MY_PV})
9MY_PM=${PN}${MY_PVM} 9MY_PM=${PN}${MY_PVM}
10 10
11DESCRIPTION="An open-source GIS with raster and vector functionality, as well as 3D vizualization." 11DESCRIPTION="An open-source GIS with raster and vector functionality, as well as 3D vizualization."
12HOMEPAGE="http://grass.itc.it/" 12HOMEPAGE="http://grass.osgeo.org//"
13SRC_URI="http://grass.itc.it/${MY_PM}/source/${P}.tar.gz" 13SRC_URI="http://download.osgeo.org/grass/${MY_PM}/source/${P}.tar.gz"
14 14
15LICENSE="GPL-2" 15LICENSE="GPL-2"
16SLOT="0" 16SLOT="6"
17KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" 17KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
18 18
19IUSE="ffmpeg fftw glw gmath jpeg largefile mysql nls odbc opengl png \ 19IUSE="ffmpeg fftw gmath jpeg largefile motif mysql nls odbc opengl png \
20postgres python readline sqlite tiff truetype wxwindows X" 20postgres python readline sqlite tiff truetype wxwindows X"
21 21
22RESTRICT="strip" 22RESTRICT="strip"
23 23
24RDEPEND=">=sys-libs/zlib-1.1.4 24RDEPEND=">=sys-libs/zlib-1.1.4
34 gmath? ( virtual/blas 34 gmath? ( virtual/blas
35 virtual/lapack ) 35 virtual/lapack )
36 jpeg? ( media-libs/jpeg ) 36 jpeg? ( media-libs/jpeg )
37 mysql? ( dev-db/mysql ) 37 mysql? ( dev-db/mysql )
38 odbc? ( >=dev-db/unixODBC-2.0.6 ) 38 odbc? ( >=dev-db/unixODBC-2.0.6 )
39 opengl? ( ( virtual/opengl ) 39 opengl? ( virtual/opengl )
40 ( x11-libs/openmotif ) 40 motif? ( x11-libs/openmotif )
41 glw? ( media-libs/mesa ) )
42 png? ( >=media-libs/libpng-1.2.2 ) 41 png? ( >=media-libs/libpng-1.2.2 )
43 postgres? ( >=dev-db/postgresql-7.3 ) 42 postgres? ( >=dev-db/postgresql-base-8.3 )
44 python? ( dev-lang/python ) 43 python? ( dev-lang/python )
45 readline? ( sys-libs/readline ) 44 readline? ( sys-libs/readline )
46 sqlite? ( dev-db/sqlite ) 45 sqlite? ( dev-db/sqlite )
47 tiff? ( >=media-libs/tiff-3.5.7 ) 46 tiff? ( >=media-libs/tiff-3.5.7 )
48 truetype? ( >=media-libs/freetype-2.0 ) 47 truetype? ( >=media-libs/freetype-2.0 )
75 74
76pkg_setup() { 75pkg_setup() {
77 local myblas 76 local myblas
78 elog "" 77 elog ""
79 elog "This version enables the experimental wxpython interface, which" 78 elog "This version enables the experimental wxpython interface, which"
80 elog "you may want to try, since the legacy GUI seems a little wonky" 79 elog "you may want to try. If the legacy GUI seems a little wonky in"
81 elog "in this version; just enable the wxwindows USE flag and rebuild" 80 elog "this version, just enable the wxwindows USE flag and rebuild"
82 elog "grass to use it." 81 elog "grass to use it."
83 elog "" 82 elog ""
84 if use gmath; then 83 if use gmath; then
85 for d in $(eselect lapack show); do myblas=${d}; done 84 for d in $(eselect lapack show); do myblas=${d}; done
86 if [[ -z "${myblas/reference/}" ]] && [[ -z "${myblas/atlas/}" ]]; then 85 if [[ -z "${myblas/reference/}" ]] && [[ -z "${myblas/atlas/}" ]]; then
96 ewarn "where <impl> is atlas, threaded-atlas or reference" 95 ewarn "where <impl> is atlas, threaded-atlas or reference"
97 die "setup failed" 96 die "setup failed"
98 fi 97 fi
99 fi 98 fi
100 99
101 if use glw && ! use opengl; then
102 ewarn "You set USE='glw -opengl'. GLw support needs OpenGL."
103 ewarn "OpenGL support also requires X."
104 die "Set opengl and X useflags."
105 fi
106
107 if use glw && ! built_with_use media-libs/mesa motif; then
108 ewarn "GRASS GLw/OpenGL support needs mesa with motif headers."
109 ewarn "Please rebuild mesa with motif support."
110 die "Re-emerge mesa with motif."
111 fi
112
113 if use opengl && ! use X; then 100 if use opengl && ! use X; then
114 ewarn "GRASS OpenGL support needs X (will also pull in Tcl/Tk)." 101 ewarn "GRASS OpenGL support needs X (will also pull in Tcl/Tk)."
115 die "Please set the X useflag." 102 die "Please set the X useflag."
116 fi 103 fi
117} 104}
119src_unpack() { 106src_unpack() {
120 unpack ${A} 107 unpack ${A}
121 cd "${S}" 108 cd "${S}"
122 109
123 epatch rpm/fedora/grass-readline.patch 110 epatch rpm/fedora/grass-readline.patch
111 # fix the fortify_source and buffer issues (see bug #261283)
112 epatch "${FILESDIR}"/${P}-o_creat.patch
113 # and update for gcc 4.4 C++ changes (see bug #270916)
114 epatch "${FILESDIR}"/${P}-gcc44.patch
124 115
116 sed -i -e "s:buff\[12:buff\[16:g" general/g.parser/main.c \
117 || die "sed failed"
118
125 if use opengl; then 119 if ! use opengl; then
126 epatch "${FILESDIR}"/${P}-html-nonviz.patch 120 epatch "${FILESDIR}"/${P}-html-nonviz.patch
127 fi 121 fi
128 122
129 # patch missing math functions (yes, this is still needed) 123 # patch missing math functions (yes, this is still needed)
130 sed -i -e "s:\$(EXTRA_LIBS):\$(EXTRA_LIBS) \$(MATHLIB):g" include/Make/Shlib.make 124 sed -i -e "s:\$(EXTRA_LIBS):\$(EXTRA_LIBS) \$(MATHLIB):g" include/Make/Shlib.make
131 echo "MATHLIB=-lm" >> include/Make/Rules.make 125 echo "MATHLIB=-lm" >> include/Make/Rules.make
132} 126}
133 127
134src_compile() { 128src_compile() {
135 local myconf 129 local myconf
130 # wxwindows needs python (see bug #237495)
136 use python || use wxindows && distutils_python_version 131 use wxwindows && distutils_python_version
137 132
138 myconf="--prefix=/usr --with-cxx --enable-shared \ 133 myconf="--prefix=/usr --with-cxx --enable-shared \
139 --with-gdal=$(type -P gdal-config) --with-curses --with-proj \ 134 --with-gdal=$(type -P gdal-config) --with-curses --with-proj \
140 --with-includes=/usr/include --with-libs=/usr/$(get_libdir) \ 135 --with-includes=/usr/include --with-libs=/usr/$(get_libdir) \
141 --with-proj-includes=/usr/include \ 136 --with-proj-includes=/usr/include \
142 --with-proj-libs=/usr/$(get_libdir) \ 137 --with-proj-libs=/usr/$(get_libdir) \
143 --with-proj-share=/usr/share/proj" 138 --with-proj-share=/usr/share/proj \
139 --without-glw"
144 140
145 if use X; then 141 if use X; then
146 if has_version ">=dev-lang/tcl-8.5"; then 142 if has_version ">=dev-lang/tcl-8.5"; then
147 TCL_LIBDIR="/usr/$(get_libdir)/tcl8.5" 143 TCL_LIBDIR="/usr/$(get_libdir)/tcl8.5"
148 else 144 else
157 # The following lib should be there, based on the above and the 153 # The following lib should be there, based on the above and the
158 # wxpython dependency (in theory). I still need a good way to 154 # wxpython dependency (in theory). I still need a good way to
159 # query for the location... 155 # query for the location...
160 LIBGDI="/usr/$(get_libdir)/python${PYVER}/site-packages/wx-${WX_GTK_VER}-gtk2-unicode/wx/_gdi_.so" 156 LIBGDI="/usr/$(get_libdir)/python${PYVER}/site-packages/wx-${WX_GTK_VER}-gtk2-unicode/wx/_gdi_.so"
161 myconf="${myconf} --with-python --with-wxwidgets=${WX_CONFIG}" 157 myconf="${myconf} --with-python --with-wxwidgets=${WX_CONFIG}"
158 else
159 # USE=python must be enabled above if wxwindows is enabled
160 myconf="${myconf} $(use_with python) --without-wxwidgets"
162 fi 161 fi
163 else 162 else
164 myconf="${myconf} --without-tcltk --without-x" 163 myconf="${myconf} --without-tcltk --without-x"
165 fi 164 fi
166 165
167 if use opengl; then 166 if use opengl; then
168 myconf="${myconf} --with-opengl --with-opengl-libs=/usr/$(get_libdir)/opengl/xorg-x11/lib" 167 myconf="${myconf} --with-opengl --with-opengl-libs=/usr/$(get_libdir)/opengl/xorg-x11/lib"
169 if use glw; then
170 myconf="${myconf} --with-glw"
171 fi
172 else 168 else
173 myconf="${myconf} --without-opengl --without-glw" 169 myconf="${myconf} --without-opengl"
174 fi 170 fi
175 171
176 # Should handle either older or latest without intervention; 172 # Should handle either older or latest without intervention;
177 # this won't work forever, but it should be okay for a while... 173 # this won't work forever, but it should be okay for a while...
178 if use ffmpeg; then 174 if use ffmpeg; then
213 $(use_with fftw) \ 209 $(use_with fftw) \
214 $(use_with gmath blas) \ 210 $(use_with gmath blas) \
215 $(use_with gmath lapack) \ 211 $(use_with gmath lapack) \
216 $(use_with jpeg) \ 212 $(use_with jpeg) \
217 $(use_enable largefile) \ 213 $(use_enable largefile) \
218 $(use_with opengl motif) \ 214 $(use_with motif) \
219 $(use_with nls) \ 215 $(use_with nls) \
220 $(use_with odbc) \ 216 $(use_with odbc) \
221 $(use_with png) \ 217 $(use_with png) \
222 $(use_with postgres) \ 218 $(use_with postgres) \
223 $(use_with python) \
224 $(use_with readline) \ 219 $(use_with readline) \
225 $(use_with tiff) || die "configure failed!" 220 $(use_with tiff) || die "configure failed!"
226 221
227 if use wxwindows; then 222 if use wxwindows; then
223 # can't use die here since we need to hack the vdigit build
228 emake -j1 224 emake -j1
229 ln -sf "${LIBGDI}" dist.${CHOST}/lib/libgdi.so \ 225 ln -sf "${LIBGDI}" dist.${CHOST}/lib/libgdi.so \
230 || die "making libgdi link failed" 226 || die "making libgdi link failed"
231 cd gui/wxpython/vdigit 227 cd gui/wxpython/vdigit
228 # now we're OK
232 make default -j1 || die "make vdigit failed!" 229 make default -j1 || die "make vdigit failed!"
233 else 230 else
234 emake -j1 || die "make failed!" 231 emake -j1 || die "make failed!"
235 fi 232 fi
236} 233}

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.20