Mercurial > gub
view gub/specs/inkscape.py @ 6487:9bf9726dad38
schikkers-list: install updates.
author | Jan Nieuwenhuizen <janneke@gnu.org> |
---|---|
date | Thu, 03 Feb 2011 23:57:59 +0100 |
parents | 137e2c1120bf |
children |
line wrap: on
line source
from gub import build from gub import context from gub import misc from gub import target class Inkscape (target.AutoBuild): source = 'svn:https://inkscape.svn.sourceforge.net/svnroot/inkscape&module=inkscape&branch=trunk&revision=22714' branch = 'trunk' dependencies = [ 'cross/gcc-c++-runtime', 'tools::automake', 'tools::gettext', 'tools::intltool', 'tools::pkg-config', 'boost-devel', 'glibmm-devel', 'gtkmm-devel', 'gtk+-devel', 'gsl-devel', 'lcms-devel', 'poppler-devel', 'popt-devel', 'libgc-devel', 'libpng-devel', 'librsvg-devel', 'libsig++-devel', 'libxml2-devel', 'libxslt-devel', ] configure_flags = (target.AutoBuild.configure_flags + ' --enable-lcms' + ' --enable-binreloc=yes' ) configure_variables = (target.AutoBuild.configure_variables + ' CXXFLAGS=-fpermissive' ) def __init__ (self, settings, source): target.AutoBuild.__init__ (self, settings, source) build.add_dict (self, {'ACLOCAL_FLAGS': ' -I '.join ([''] + self.aclocal_path ()), }) source.is_tracking = misc.bind_method (lambda x: True, source) def patch (self): target.AutoBuild.patch (self) self.file_sub ([('AC_PATH_PROG\(PKG_CONFIG,', 'AC_PATH_PROG(ARE_YOU_FREAKING_MAD__OVERRIDING_PKG_CONFIG,')], '%(srcdir)s/configure.ac') class Inkscape__mingw (Inkscape): parallel_build_broken = True # linking breaks: two simultaneous # inkscape.exe linking processes!? patches = [ 'inkscape-mingw.patch', 'inkscape-mingw-DATADIR.h.patch', ] dependencies = [x for x in Inkscape.dependencies if 'poppler' not in x] configure_flags = (Inkscape.configure_flags + ' --disable-poppler-cairo') class Inkscape__freebsd (Inkscape): configure_variables = (Inkscape.configure_variables + ' CFLAGS=-pthread' + ' CXXFLAGS="-fpermissive -pthread"') dependencies = Inkscape.dependencies + ['cross/gcc-runtime'] class Inkscape__freebsd__x86 (Inkscape__freebsd): patches = [ 'inkscape-isfinite.patch', 'inkscape-wstring.patch', #'inkscape-round.patch', 'inkscape-round-2.patch', ] def patch (self): Inkscape__freebsd.patch (self) self.file_sub ([ ('wchar_t', 'char'), ('WCHAR_T', 'CHAR'), ], '%(srcdir)s/src/util/ucompose.hpp') def configure (self): Inkscape__freebsd.configure (self) self.file_sub ([ ('(/[*] config.h. Generated)', r''' #ifndef C99_ROUND #define C99_ROUND #ifdef __cplusplus extern "C" { #endif double floor (double); int sscanf(const char *str, const char *format, ...); #ifdef __cplusplus } #endif static inline double round (double x) { return (floor (x - 0.5) + 1.0); } static inline long long atoll (char const *s) { long long _l = 0LL; sscanf(s, "%%lld", &_l); return _l; } #define fmin(x,y) (x<y? x : y) #define fmax(x,y) (x>y? x : y) #define INFINITY (__builtin_inff()) #endif /* C99_ROUND */ \1'''),], '%(builddir)s/config.h') class Inkscape__darwin (Inkscape): dependencies = [x for x in Inkscape.dependencies if x.replace ('-devel', '') not in [ 'libxml2', # Included in darwin-sdk, hmm? ]]