/[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.1 Revision 1.6
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.1 2008/06/24 07:45:51 nerdboy Exp $ 3# $Header: /var/cvsroot/gentoo-x86/sci-geosciences/grass/Attic/grass-6.3.0.ebuild,v 1.6 2009/03/23 03:51:42 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 build." 80 elog "this version, just enable the wxwindows USE flag and rebuild"
81 elog "grass to use it."
82 elog "" 82 elog ""
83 if use gmath; then 83 if use gmath; then
84 for d in $(eselect lapack show); do myblas=${d}; done 84 for d in $(eselect lapack show); do myblas=${d}; done
85 if [[ -z "${myblas/reference/}" ]] && [[ -z "${myblas/atlas/}" ]]; then 85 if [[ -z "${myblas/reference/}" ]] && [[ -z "${myblas/atlas/}" ]]; then
86 ewarn "You need to set lapack to atlas or reference. Do:" 86 ewarn "You need to set lapack to atlas or reference. Do:"
95 ewarn "where <impl> is atlas, threaded-atlas or reference" 95 ewarn "where <impl> is atlas, threaded-atlas or reference"
96 die "setup failed" 96 die "setup failed"
97 fi 97 fi
98 fi 98 fi
99 99
100 if use glw && ! use opengl; then
101 ewarn "You set USE='glw -opengl'. GLw support needs OpenGL."
102 ewarn "OpenGL support also requires X."
103 die "Set opengl and X useflags."
104 fi
105
106 if use glw && ! built_with_use media-libs/mesa motif; then
107 ewarn "GRASS GLw/OpenGL support needs mesa with motif headers."
108 ewarn "Please rebuild mesa with motif support."
109 die "Re-emerge mesa with motif."
110 fi
111
112 if use opengl && ! use X; then 100 if use opengl && ! use X; then
113 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)."
114 die "Please set the X useflag." 102 die "Please set the X useflag."
115 fi 103 fi
116} 104}
118src_unpack() { 106src_unpack() {
119 unpack ${A} 107 unpack ${A}
120 cd "${S}" 108 cd "${S}"
121 109
122 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 sed -i -e "s:buff\[12:buff\[16:g" general/g.parser/main.c \
114 || die "sed failed"
123 115
124 if use opengl; then 116 if ! use opengl; then
125 epatch "${FILESDIR}"/${P}-html-nonviz.patch 117 epatch "${FILESDIR}"/${P}-html-nonviz.patch
126 fi 118 fi
127 119
128 # patch missing math functions (yes, this is still needed) 120 # patch missing math functions (yes, this is still needed)
129 sed -i -e "s:\$(EXTRA_LIBS):\$(EXTRA_LIBS) \$(MATHLIB):g" include/Make/Shlib.make 121 sed -i -e "s:\$(EXTRA_LIBS):\$(EXTRA_LIBS) \$(MATHLIB):g" include/Make/Shlib.make
130 echo "MATHLIB=-lm" >> include/Make/Rules.make 122 echo "MATHLIB=-lm" >> include/Make/Rules.make
131} 123}
132 124
133src_compile() { 125src_compile() {
134 local myconf 126 local myconf
127 # wxwindows needs python (see bug #237495)
135 use python || use wxindows && distutils_python_version 128 use wxwindows && distutils_python_version
136 129
137 myconf="--prefix=/usr --with-cxx --enable-shared \ 130 myconf="--prefix=/usr --with-cxx --enable-shared \
138 --with-gdal=$(type -P gdal-config) --with-curses --with-proj \ 131 --with-gdal=$(type -P gdal-config) --with-curses --with-proj \
139 --with-includes=/usr/include --with-libs=/usr/$(get_libdir) \ 132 --with-includes=/usr/include --with-libs=/usr/$(get_libdir) \
140 --with-proj-includes=/usr/include \ 133 --with-proj-includes=/usr/include \
141 --with-proj-libs=/usr/$(get_libdir) \ 134 --with-proj-libs=/usr/$(get_libdir) \
142 --with-proj-share=/usr/share/proj" 135 --with-proj-share=/usr/share/proj \
136 --without-glw"
143 137
144 if use X; then 138 if use X; then
145 if has_version ">=dev-lang/tcl-8.5"; then 139 if has_version ">=dev-lang/tcl-8.5"; then
146 TCL_LIBDIR="/usr/$(get_libdir)/tcl8.5" 140 TCL_LIBDIR="/usr/$(get_libdir)/tcl8.5"
147 else 141 else
150 myconf="${myconf} --with-tcltk --with-x \ 144 myconf="${myconf} --with-tcltk --with-x \
151 --with-tcltk-includes=/usr/include \ 145 --with-tcltk-includes=/usr/include \
152 --with-tcltk-libs=${TCL_LIBDIR}" 146 --with-tcltk-libs=${TCL_LIBDIR}"
153 if use wxwindows; then 147 if use wxwindows; then
154 WX_GTK_VER=2.8 148 WX_GTK_VER=2.8
155 need-wxwidgets gtk2 149 need-wxwidgets unicode
150 # The following lib should be there, based on the above and the
151 # wxpython dependency (in theory). I still need a good way to
152 # query for the location...
156 LIBGDI="/usr/$(get_libdir)/python${PYVER}/site-packages/wx-2.8-gtk2-unicode/wx/_gdi_.so" 153 LIBGDI="/usr/$(get_libdir)/python${PYVER}/site-packages/wx-${WX_GTK_VER}-gtk2-unicode/wx/_gdi_.so"
157 myconf="${myconf} --with-python --with-wxwidgets=${WX_CONFIG}" 154 myconf="${myconf} --with-python --with-wxwidgets=${WX_CONFIG}"
155 else
156 # USE=python must be enabled above if wxwindows is enabled
157 myconf="${myconf} $(use_with python) --without-wxwidgets"
158 fi 158 fi
159 else 159 else
160 myconf="${myconf} --without-tcltk --without-x" 160 myconf="${myconf} --without-tcltk --without-x"
161 fi 161 fi
162 162
163 if use opengl; then 163 if use opengl; then
164 myconf="${myconf} --with-opengl --with-opengl-libs=/usr/$(get_libdir)/opengl/xorg-x11/lib" 164 myconf="${myconf} --with-opengl --with-opengl-libs=/usr/$(get_libdir)/opengl/xorg-x11/lib"
165 if use glw; then
166 myconf="${myconf} --with-glw"
167 fi
168 else 165 else
169 myconf="${myconf} --without-opengl --without-glw" 166 myconf="${myconf} --without-opengl"
170 fi 167 fi
171 168
172 # Should handle either older or latest without intervention; 169 # Should handle either older or latest without intervention;
173 # this won't work forever, but it should be okay for a while... 170 # this won't work forever, but it should be okay for a while...
174 if use ffmpeg; then 171 if use ffmpeg; then
209 $(use_with fftw) \ 206 $(use_with fftw) \
210 $(use_with gmath blas) \ 207 $(use_with gmath blas) \
211 $(use_with gmath lapack) \ 208 $(use_with gmath lapack) \
212 $(use_with jpeg) \ 209 $(use_with jpeg) \
213 $(use_enable largefile) \ 210 $(use_enable largefile) \
214 $(use_with opengl motif) \ 211 $(use_with motif) \
215 $(use_with nls) \ 212 $(use_with nls) \
216 $(use_with odbc) \ 213 $(use_with odbc) \
217 $(use_with png) \ 214 $(use_with png) \
218 $(use_with postgres) \ 215 $(use_with postgres) \
219 $(use_with python) \
220 $(use_with readline) \ 216 $(use_with readline) \
221 $(use_with tiff) || die "configure failed!" 217 $(use_with tiff) || die "configure failed!"
222 218
223 if use wxwindows; then 219 if use wxwindows; then
220 # can't use die here since we need to hack the vdigit build
224 emake -j1 221 emake -j1
225 ln -sf "${LIBGDI}" dist.x86_64-pc-linux-gnu/lib/libgdi.so \ 222 ln -sf "${LIBGDI}" dist.${CHOST}/lib/libgdi.so \
226 || die "making libgdi link failed" 223 || die "making libgdi link failed"
227 cd gui/wxpython/vdigit 224 cd gui/wxpython/vdigit
225 # now we're OK
228 make default -j1 || die "make vdigit failed!" 226 make default -j1 || die "make vdigit failed!"
229 else 227 else
230 emake -j1 || die "make failed!" 228 emake -j1 || die "make failed!"
231 fi 229 fi
232} 230}

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.20