--- setupext.py.orig	2013-08-02 09:39:43.914247832 +0200
+++ setupext.py	2013-08-02 09:40:14.785304342 +0200
@@ -749,22 +749,7 @@
             return str(e) + ' Using local copy.'
 
     def add_flags(self, ext):
-        if self.found_external:
-            pkg_config.setup_extension(ext, 'libagg')
-        else:
-            ext.include_dirs.append('agg24/include')
-            agg_sources = [
-                'agg_bezier_arc.cpp',
-                'agg_curves.cpp',
-                'agg_image_filters.cpp',
-                'agg_trans_affine.cpp',
-                'agg_vcgen_contour.cpp',
-                'agg_vcgen_dash.cpp',
-                'agg_vcgen_stroke.cpp',
-                'agg_vpgen_segmentator.cpp'
-                ]
-            ext.sources.extend(
-                os.path.join('agg24', 'src', x) for x in agg_sources)
+        pkg_config.setup_extension(ext, 'libagg', default_include_dirs=["/usr/include/agg2"])
 
 
 class FreeType(SetupPackage):
