homebrew-core/Formula/mapnik.rb
nibbles 2bits 13549dbb10 mapnik: only apply patch to stable
The patch has been merged upstream.
Add `unless ARGV.build_head?` to the patch block.
Note in the comments to remove the patch at version 2.0.2.
Mapnik HEAD builds well again.

Fixes Homebrew/homebrew#12683

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2012-06-09 07:36:35 -07:00

74 lines
2.2 KiB
Ruby

require 'formula'
class Mapnik < Formula
url 'https://github.com/downloads/mapnik/mapnik/mapnik-v2.0.1.tar.bz2'
md5 'e3dd09991340e2568b99f46bac34b0a8'
homepage 'http://www.mapnik.org/'
head 'https://github.com/mapnik/mapnik.git'
depends_on 'pkg-config' => :build
depends_on 'libtiff'
depends_on 'jpeg'
depends_on 'proj'
depends_on 'icu4c'
depends_on 'boost'
depends_on 'cairomm' => :optional
# Reported upstream: https://github.com/mapnik/mapnik/issues/1171
# Fix is in head. Remove at 2.0.2.
def patches
DATA unless ARGV.build_head?
end
def install
ENV.x11 # for freetype-config
icu = Formula.factory("icu4c")
# mapnik compiles can take ~1.5 GB per job for some .cpp files
# so lets be cautious by limiting to CPUS/2
jobs = ENV.make_jobs
if jobs > 2
jobs = Integer(jobs/2)
end
system "python",
"scons/scons.py",
"configure",
"CC=\"#{ENV.cc}\"",
"CXX=\"#{ENV.cxx}\"",
"JOBS=#{jobs}",
"PREFIX=#{prefix}",
"ICU_INCLUDES=#{icu.include}",
"ICU_LIBS=#{icu.lib}",
"PYTHON_PREFIX=#{prefix}" # Install to Homebrew's site-packages
system "python",
"scons/scons.py",
"install"
end
def caveats; <<-EOS.undent
For non-homebrew Python, you need to amend your PYTHONPATH like so:
export PYTHONPATH=#{HOMEBREW_PREFIX}/lib/#{which_python}/site-packages:$PYTHONPATH
EOS
end
def which_python
"python" + `python -c 'import sys;print(sys.version[:3])'`.strip
end
end
__END__
--- a/bindings/python/build.py
+++ b/bindings/python/build.py
@@ -143,10 +143,7 @@ paths += "__all__ = [mapniklibpath,inputpluginspath,fontscollectionpath]\n"
if not os.path.exists('mapnik'):
os.mkdir('mapnik')
-if hasattr(os.path,'relpath'): # python 2.6 and above
- file('mapnik/paths.py','w').write(paths % (os.path.relpath(env['MAPNIK_LIB_DIR'],target_path)))
-else:
- file('mapnik/paths.py','w').write(paths % (env['MAPNIK_LIB_DIR']))
+file('mapnik/paths.py','w').write(paths % (env['MAPNIK_LIB_DIR']))
# force open perms temporarily so that `sudo scons install`
# does not later break simple non-install non-sudo rebuild