/[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.23
1# Copyright 1999-2008 Gentoo Foundation 1# Copyright 1999-2011 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.23 2011/04/10 22:10:42 arfrever Exp $
4
5EAPI=3
4 6
5inherit eutils distutils fdo-mime versionator wxwidgets 7inherit eutils distutils fdo-mime versionator wxwidgets
6 8
7MY_PV=$(get_version_component_range 1-2 ${PV}) 9MY_PV=$(get_version_component_range 1-2 ${PV})
8MY_PVM=$(delete_all_version_separators ${MY_PV}) 10MY_PVM=$(delete_all_version_separators ${MY_PV})
9MY_PM=${PN}${MY_PVM} 11MY_PM=${PN}${MY_PVM}
10 12
11DESCRIPTION="An open-source GIS with raster and vector functionality, as well as 3D vizualization." 13DESCRIPTION="A free GIS with raster and vector functionality, as well as 3D vizualization."
12HOMEPAGE="http://grass.itc.it/" 14HOMEPAGE="http://grass.osgeo.org//"
13SRC_URI="http://grass.itc.it/${MY_PM}/source/${P}.tar.gz" 15SRC_URI="http://download.osgeo.org/grass/${MY_PM}/source/${P}.tar.gz"
14 16
15LICENSE="GPL-2" 17LICENSE="GPL-2"
16SLOT="0" 18SLOT="6"
17KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" 19KEYWORDS="amd64 ppc ~ppc64 x86"
18 20
19IUSE="ffmpeg fftw glw gmath jpeg largefile mysql nls odbc opengl png \ 21IUSE="ffmpeg fftw gmath jpeg motif mysql nls odbc opengl png \
20postgres python readline sqlite tiff truetype wxwindows X" 22postgres python readline sqlite tiff truetype wxwidgets X"
21 23
22RESTRICT="strip" 24RESTRICT="strip"
23 25
24RDEPEND=">=sys-libs/zlib-1.1.4 26RDEPEND=">=sys-libs/zlib-1.1.4
25 >=sys-libs/ncurses-5.3 27 >=sys-libs/ncurses-5.3
27 || ( 29 || (
28 sys-apps/man 30 sys-apps/man
29 sys-apps/man-db ) 31 sys-apps/man-db )
30 sci-libs/gdal 32 sci-libs/gdal
31 >=sci-libs/proj-4.4.7 33 >=sci-libs/proj-4.4.7
32 ffmpeg? ( media-video/ffmpeg ) 34 ffmpeg? ( virtual/ffmpeg )
33 fftw? ( sci-libs/fftw ) 35 fftw? ( sci-libs/fftw )
34 gmath? ( virtual/blas 36 gmath? ( virtual/blas
35 virtual/lapack ) 37 virtual/lapack )
36 jpeg? ( media-libs/jpeg ) 38 jpeg? ( virtual/jpeg )
37 mysql? ( dev-db/mysql ) 39 mysql? ( dev-db/mysql )
38 odbc? ( >=dev-db/unixODBC-2.0.6 ) 40 odbc? ( >=dev-db/unixODBC-2.0.6 )
39 opengl? ( ( virtual/opengl ) 41 opengl? ( virtual/opengl )
40 ( x11-libs/openmotif ) 42 motif? ( >=x11-libs/openmotif-2.3:0 )
41 glw? ( media-libs/mesa ) )
42 png? ( >=media-libs/libpng-1.2.2 ) 43 png? ( >=media-libs/libpng-1.2.2 )
43 postgres? ( >=dev-db/postgresql-7.3 ) 44 postgres? ( || (
45 >=dev-db/postgresql-base-8.0
46 >=dev-db/postgresql-server-8.0 )
47 )
44 python? ( dev-lang/python ) 48 python? ( dev-lang/python )
45 readline? ( sys-libs/readline ) 49 readline? ( sys-libs/readline )
46 sqlite? ( dev-db/sqlite ) 50 sqlite? ( dev-db/sqlite )
47 tiff? ( >=media-libs/tiff-3.5.7 ) 51 tiff? ( >=media-libs/tiff-3.5.7 )
48 truetype? ( >=media-libs/freetype-2.0 ) 52 truetype? ( >=media-libs/freetype-2.0 )
49 wxwindows? ( 53 wxwidgets? (
50 >=dev-python/wxpython-2.8.1.1 54 >=dev-python/wxpython-2.8.1.1
51 >=dev-lang/python-2.4 55 >=dev-lang/python-2.4
52 ) 56 )
53 X? ( 57 X? (
54 x11-libs/libXmu 58 x11-libs/libXmu
65 )" 69 )"
66 70
67DEPEND="${RDEPEND} 71DEPEND="${RDEPEND}
68 >=sys-devel/flex-2.5.4a 72 >=sys-devel/flex-2.5.4a
69 >=sys-devel/bison-1.35 73 >=sys-devel/bison-1.35
70 wxwindows? ( >=dev-lang/swig-1.3.31 ) 74 wxwidgets? ( >=dev-lang/swig-1.3.31 )
71 X? ( 75 X? (
72 x11-proto/xproto 76 x11-proto/xproto
73 x11-proto/xextproto 77 x11-proto/xextproto
74 )" 78 )"
75 79
76pkg_setup() { 80pkg_setup() {
77 local myblas 81 local myblas
78 elog "" 82 elog ""
79 elog "This version enables the experimental wxpython interface, which" 83 elog "This version enables the experimental wxpython interface, which"
80 elog "you may want to try, since the legacy GUI seems a little wonky" 84 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" 85 elog "this version, just enable the wxwidgets USE flag and rebuild"
82 elog "grass to use it." 86 elog "grass to use it."
83 elog "" 87 elog ""
84 if use gmath; then 88 if use gmath; then
85 for d in $(eselect lapack show); do myblas=${d}; done 89 for d in $(eselect lapack show); do myblas=${d}; done
86 if [[ -z "${myblas/reference/}" ]] && [[ -z "${myblas/atlas/}" ]]; then 90 if [[ -z "${myblas/reference/}" ]] && [[ -z "${myblas/atlas/}" ]]; then
96 ewarn "where <impl> is atlas, threaded-atlas or reference" 100 ewarn "where <impl> is atlas, threaded-atlas or reference"
97 die "setup failed" 101 die "setup failed"
98 fi 102 fi
99 fi 103 fi
100 104
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 105 if use opengl && ! use X; then
114 ewarn "GRASS OpenGL support needs X (will also pull in Tcl/Tk)." 106 ewarn "GRASS OpenGL support needs X (will also pull in Tcl/Tk)."
115 die "Please set the X useflag." 107 die "Please set the X useflag."
116 fi 108 fi
117} 109}
118 110
119src_unpack() { 111src_prepare() {
120 unpack ${A}
121 cd "${S}"
122
123 epatch rpm/fedora/grass-readline.patch 112 epatch rpm/fedora/grass-readline.patch
113 # fix the fortify_source and buffer issues (see bug #261283)
114 epatch "${FILESDIR}"/${P}-o_creat.patch
115 # and update for gcc 4.4 C++ changes (see bug #270916)
116 epatch "${FILESDIR}"/${P}-gcc44.patch
124 117
118 sed -i -e "s:buff\[12:buff\[16:g" general/g.parser/main.c \
119 || die "sed failed"
120
125 if use opengl; then 121 if ! use opengl; then
126 epatch "${FILESDIR}"/${P}-html-nonviz.patch 122 epatch "${FILESDIR}"/${P}-html-nonviz.patch
127 fi 123 fi
128 124
129 # patch missing math functions (yes, this is still needed) 125 # patch missing math functions (yes, this is still needed)
130 sed -i -e "s:\$(EXTRA_LIBS):\$(EXTRA_LIBS) \$(MATHLIB):g" include/Make/Shlib.make 126 sed -i -e "s:\$(EXTRA_LIBS):\$(EXTRA_LIBS) \$(MATHLIB):g" include/Make/Shlib.make
131 echo "MATHLIB=-lm" >> include/Make/Rules.make 127 echo "MATHLIB=-lm" >> include/Make/Rules.make
132} 128}
133 129
134src_compile() { 130src_configure() {
135 local myconf 131 local myconf
136 use python || use wxindows && distutils_python_version 132 addpredict /var/cache/fontconfig
137 133
138 myconf="--prefix=/usr --with-cxx --enable-shared \ 134 myconf="--prefix=/usr --with-cxx --enable-shared \
139 --with-gdal=$(type -P gdal-config) --with-curses --with-proj \ 135 --with-gdal=$(type -P gdal-config) --with-curses --with-proj \
140 --with-includes=/usr/include --with-libs=/usr/$(get_libdir) \ 136 --with-includes=/usr/include --with-libs=/usr/$(get_libdir) \
141 --with-proj-includes=/usr/include \ 137 --with-proj-includes=/usr/include \
142 --with-proj-libs=/usr/$(get_libdir) \ 138 --with-proj-libs=/usr/$(get_libdir) \
143 --with-proj-share=/usr/share/proj" 139 --with-proj-share=/usr/share/proj \
140 --without-glw"
144 141
145 if use X; then 142 if use X; then
146 if has_version ">=dev-lang/tcl-8.5"; then 143 if has_version ">=dev-lang/tcl-8.5"; then
147 TCL_LIBDIR="/usr/$(get_libdir)/tcl8.5" 144 TCL_LIBDIR="/usr/$(get_libdir)/tcl8.5"
148 else 145 else
149 TCL_LIBDIR="/usr/$(get_libdir)/tcl8.4" 146 TCL_LIBDIR="/usr/$(get_libdir)/tcl8.4"
150 fi 147 fi
151 myconf="${myconf} --with-tcltk --with-x \ 148 myconf="${myconf} --with-tcltk --with-x \
152 --with-tcltk-includes=/usr/include \ 149 --with-tcltk-includes=/usr/include \
153 --with-tcltk-libs=${TCL_LIBDIR}" 150 --with-tcltk-libs=${TCL_LIBDIR}"
154 if use wxwindows; then 151 if use wxwidgets; then
155 WX_GTK_VER=2.8 152 WX_GTK_VER=2.8
156 need-wxwidgets unicode 153 need-wxwidgets unicode
157 # The following lib should be there, based on the above and the 154 # The following lib should be there, based on the above and the
158 # wxpython dependency (in theory). I still need a good way to 155 # wxpython dependency (in theory). I still need a good way to
159 # query for the location... 156 # query for the location...
160 LIBGDI="/usr/$(get_libdir)/python${PYVER}/site-packages/wx-${WX_GTK_VER}-gtk2-unicode/wx/_gdi_.so" 157 LIBGDI="$(python_get_sitedir)/wx-${WX_GTK_VER}-gtk2-unicode/wx/_gdi_.so"
161 myconf="${myconf} --with-python --with-wxwidgets=${WX_CONFIG}" 158 myconf="${myconf} --with-python --with-wxwidgets=${WX_CONFIG}"
159 else
160 # USE=python must be enabled above if wxwidgets is enabled
161 myconf="${myconf} $(use_with python) --without-wxwidgets"
162 fi 162 fi
163 else 163 else
164 myconf="${myconf} --without-tcltk --without-x" 164 myconf="${myconf} --without-tcltk --without-x"
165 fi 165 fi
166 166
167 if use opengl; then 167 if use opengl; then
168 myconf="${myconf} --with-opengl --with-opengl-libs=/usr/$(get_libdir)/opengl/xorg-x11/lib" 168 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 169 else
173 myconf="${myconf} --without-opengl --without-glw" 170 myconf="${myconf} --without-opengl"
174 fi 171 fi
175 172
176 # Should handle either older or latest without intervention; 173 # Should handle either older or latest without intervention;
177 # this won't work forever, but it should be okay for a while... 174 # this won't work forever, but it should be okay for a while...
178 if use ffmpeg; then 175 if use ffmpeg; then
179 myconf="${myconf} --with-ffmpeg \ 176 myconf="${myconf} --with-ffmpeg \
180 --with-ffmpeg-libs=/usr/$(get_libdir)" 177 --with-ffmpeg-libs=/usr/$(get_libdir)"
181 if has_version ">=media-video/ffmpeg-0.4.9_p20080326" ; then
182 # must pass multiple include dirs now; if you have a better
183 # way to do this, please speak up and file a bug :)
184 myconf="${myconf} --with-ffmpeg-includes=/usr/include/libav*" 178 myconf="${myconf} --with-ffmpeg-includes=/usr/include/libav*"
185 else
186 myconf="${myconf} --with-ffmpeg-includes=/usr/include/ffmpeg"
187 fi
188 else 179 else
189 myconf="${myconf} --without-ffmpeg" 180 myconf="${myconf} --without-ffmpeg"
190 fi 181 fi
191 182
192 if use truetype; then 183 if use truetype; then
212 $(use_enable amd64 64bit) \ 203 $(use_enable amd64 64bit) \
213 $(use_with fftw) \ 204 $(use_with fftw) \
214 $(use_with gmath blas) \ 205 $(use_with gmath blas) \
215 $(use_with gmath lapack) \ 206 $(use_with gmath lapack) \
216 $(use_with jpeg) \ 207 $(use_with jpeg) \
217 $(use_enable largefile) \
218 $(use_with opengl motif) \ 208 $(use_with motif) \
219 $(use_with nls) \ 209 $(use_with nls) \
220 $(use_with odbc) \ 210 $(use_with odbc) \
221 $(use_with png) \ 211 $(use_with png) \
222 $(use_with postgres) \ 212 $(use_with postgres) \
223 $(use_with python) \
224 $(use_with readline) \ 213 $(use_with readline) \
225 $(use_with tiff) || die "configure failed!" 214 $(use_with tiff) \
215 --enable-largefile
216}
226 217
218src_compile() {
227 if use wxwindows; then 219 if use wxwidgets; then
220 # can't use die here since we need to hack the vdigit build
228 emake -j1 221 emake -j1
229 ln -sf "${LIBGDI}" dist.${CHOST}/lib/libgdi.so \ 222 ln -sf "${LIBGDI}" dist.${CHOST}/lib/libgdi.so \
230 || die "making libgdi link failed" 223 || die "making libgdi link failed"
231 cd gui/wxpython/vdigit 224 cd gui/wxpython/vdigit
225 # now we're OK
232 make default -j1 || die "make vdigit failed!" 226 make default -j1 || die "make vdigit failed!"
233 else 227 else
234 emake -j1 || die "make failed!" 228 emake -j1 || die "make failed!"
235 fi 229 fi
236} 230}
239 elog "Grass Home is ${MY_PM}" 233 elog "Grass Home is ${MY_PM}"
240 make install UNIX_BIN="${D}"usr/bin BINDIR="${D}"usr/bin \ 234 make install UNIX_BIN="${D}"usr/bin BINDIR="${D}"usr/bin \
241 PREFIX="${D}"usr INST_DIR="${D}"usr/${MY_PM} \ 235 PREFIX="${D}"usr INST_DIR="${D}"usr/${MY_PM} \
242 || die "make install failed!" 236 || die "make install failed!"
243 237
244 if use wxwindows; then 238 if use wxwidgets; then
245 ln -sf "${LIBGDI}" "${D}"usr/${MY_PM}/lib/libgdi.so \ 239 ln -sf "${LIBGDI}" "${D}"usr/${MY_PM}/lib/libgdi.so \
246 || die "failed to find wx library" 240 || die "failed to find wx library"
247 fi 241 fi
248 242
249 # get rid of DESTDIR in script path 243 # get rid of DESTDIR in script path
273 use X && fdo-mime_desktop_database_update 267 use X && fdo-mime_desktop_database_update
274} 268}
275 269
276generate_files() { 270generate_files() {
277 local GUI="-gui" 271 local GUI="-gui"
278 use wxwindows && GUI="-wxpython" 272 use wxwidgets && GUI="-wxpython"
279 273
280 cat <<-EOF > 99grass-6 274 cat <<-EOF > 99grass-6
281 GRASS_LD_LIBRARY_PATH="/usr/${MY_PM}/lib" 275 GRASS_LD_LIBRARY_PATH="/usr/${MY_PM}/lib"
282 LDPATH="/usr/${MY_PM}/lib" 276 LDPATH="/usr/${MY_PM}/lib"
283 MANPATH="/usr/${MY_PM}/man" 277 MANPATH="/usr/${MY_PM}/man"
288 [Desktop Entry] 282 [Desktop Entry]
289 Encoding=UTF-8 283 Encoding=UTF-8
290 Version=1.0 284 Version=1.0
291 Name=Grass ${PV} 285 Name=Grass ${PV}
292 Type=Application 286 Type=Application
293 Comment=GRASS Open Source GIS, derived from the original US Army Corps of Engineers project. 287 Comment=GRASS (Geographic Resources Analysis Support System), the original GIS.
294 Exec=${TERM} -T Grass -e /usr/bin/${MY_PM} ${GUI} 288 Exec=${TERM} -T Grass -e /usr/bin/${MY_PM} ${GUI}
295 Path= 289 Path=
296 Icon=grass_icon.png 290 Icon=grass_icon.png
297 Categories=Science;Education; 291 Categories=Science;Education;
298 Terminal=true 292 Terminal=false
299 EOF 293 EOF
300} 294}

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

  ViewVC Help
Powered by ViewVC 1.1.20