sys.exit(1) thumb_ext = Extension("kaa.beacon.libthumb", ["src/extensions/libthumb.c", "src/extensions/libpng.c" ], config='src/extensions/config.h') if not thumb_ext.check_library('imlib2', '1.1.1'): print 'Imlib2 >= 1.1.1 not found' print 'Download from http://enlightenment.freedesktop.org/' sys.exit(1) if not thumb_ext.check_library('libpng', '1.2.0'): print 'libpng >= 1.2.0 not found' sys.exit(1) if thumb_ext.check_cc([], '', '-ljpeg'): thumb_ext.files.append('src/extensions/epeg.c') thumb_ext.libraries.append('jpeg') thumb_ext.config('#define USE_EPEG') else: print 'libjpeg not installed, deactivating fast thumbnailer' try: from kaa.db import sqlite if sqlite.version_info < ( 2, 3 ): version = '.'.join([ str(x) for x in sqlite.version_info ]) print 'pysqlite2 >= 2.3.0 required, found %s' % version sys.exit(1) except ImportError: print 'pysqlite2 is not installed' sys.exit(1)
# shm not compatible with Python 3 (yet? maybe we should remove # this module) extensions.append(shm_ext) objectrow_ext = Extension('kaa.base._objectrow', ['src/extensions/objectrow.c']) if sys.hexversion > 0x03000000: print('- kaa.db not supported on Python 3 yet') elif objectrow_ext.check_library("glib-2.0", "2.4.0"): print('+ glib >= 2.4.0 found; building kaa.db') extensions.append(objectrow_ext) else: print('- glib >= 2.4.0 not found; kaa.db will be unavailable') utils_ext = Extension('kaa.base._utils', ['src/extensions/utils.c'], config='src/extensions/config.h') extensions.append(utils_ext) if utils_ext.check_cc(['<sys/prctl.h>'], 'prctl(PR_SET_NAME, "x");'): utils_ext.config('#define HAVE_PRCTL') if osname == 'linux': inotify_ext = Extension("kaa.base.inotify._inotify", ["src/extensions/inotify/inotify.c"], config='src/extensions/inotify/config.h') if not inotify_ext.check_cc(["<sys/inotify.h>"], "inotify_init();"): if not inotify_ext.check_cc(["<sys/syscall.h>"], "syscall(0);"): print('- inotify not enabled; are system headers not installed?') else: print('+ inotify not supported in glibc; no problem, using built-in support instead.') inotify_ext.config("#define USE_FALLBACK") extensions.append(inotify_ext)
files = [ 'src/imlib2.c', 'src/image.c', 'src/font.c', 'src/rawformats.c' ] libraries = [] if not os.uname()[0] in ('FreeBSD', 'Darwin'): libraries.append('rt') imlib2so = Extension('kaa.imlib2._Imlib2module', files, libraries = libraries, config='src/config.h') if not imlib2so.check_library('imlib2', '1.2.1'): print 'Imlib2 >= 1.2.1 not found' print 'Download from http://enlightenment.freedesktop.org/' sys.exit(1) if imlib2so.check_cc(['<fcntl.h>'], 'shm_open("foobar");', '-lrt'): imlib2so.config('#define HAVE_POSIX_SHMEM') print "POSIX shared memory enabled" else: print "POSIX shared memory disabled" if imlib2so.check_library("librsvg-2.0", "2.10.0"): imlib2so.config('#define HAVE_SVG') files.append('src/svg.c') print "+ svg support enabled" else: print "- svg support disabled" setup( module = MODULE, version = VERSION,
files = [ 'src/imlib2.c', 'src/image.c', 'src/font.c', 'src/rawformats.c' ] libraries = [] if not os.uname()[0] in ('FreeBSD', 'Darwin'): libraries.append('rt') imlib2so = Extension('kaa.imlib2._Imlib2module', files, libraries = libraries, config='src/config.h') if not imlib2so.check_library('imlib2', '1.2.1'): print 'Imlib2 >= 1.2.1 not found' print 'Download from http://enlightenment.freedesktop.org/' sys.exit(1) if imlib2so.check_cc(['<fcntl.h>'], 'shm_open("foobar");', '-lrt'): imlib2so.config('#define HAVE_POSIX_SHMEM') print "POSIX shared memory enabled" else: print "POSIX shared memory disabled" if imlib2so.check_library("librsvg-2.0", "2.10.0"): imlib2so.config('#define HAVE_SVG') files.append('src/svg.c') print "+ svg support enabled" else: print "- svg support disabled" setup( module = MODULE, version = VERSION,
try: # kaa base imports from kaa.distribution.core import Extension, setup except ImportError: print 'kaa.base not installed' sys.exit(1) # cdrom extension, FIXME: check if it will compile cdrom = Extension('kaa/metadata/disc/_cdrom', ['src/disc/cdrommodule.c']) # check for libdvdread ifoparser = Extension('kaa.metadata.disc._ifoparser', ['src/disc/ifomodule.c'], libraries=[ 'dvdread' ]) try: if not ifoparser.check_cc([], '', '-ldvdread'): print 'Warning: libdvdread is missing.' raise AttributeError() if not ifoparser.check_cc(['<dvdread/dvd_reader.h>'], '', '-ldvdread'): print 'Warning: libdvdread header file is missing.' raise AttributeError() ext_modules = [ cdrom, ifoparser ] except AttributeError: print 'The DVD parser will be disabled' ext_modules = [ cdrom ] if not cdrom.has_python_h(): print "---------------------------------------------------------------------" print "Python headers not found; please install python development package."
sys.exit(1) thumb_ext = Extension("kaa.beacon.libthumb", ["src/extensions/libthumb.c", "src/extensions/libpng.c"], config='src/extensions/config.h') if not thumb_ext.check_library('imlib2', '1.1.1'): print 'Imlib2 >= 1.1.1 not found' print 'Download from http://enlightenment.freedesktop.org/' sys.exit(1) if not thumb_ext.check_library('libpng', '1.2.0'): print 'libpng >= 1.2.0 not found' sys.exit(1) if thumb_ext.check_cc([], '', '-ljpeg'): thumb_ext.files.append('src/extensions/epeg.c') thumb_ext.libraries.append('jpeg') thumb_ext.config('#define USE_EPEG') else: print 'libjpeg not installed, deactivating fast thumbnailer' try: from kaa.db import sqlite if sqlite.version_info < (2, 3): version = '.'.join([str(x) for x in sqlite.version_info]) print 'pysqlite2 >= 2.3.0 required, found %s' % version sys.exit(1) except ImportError: print 'pysqlite2 is not installed' sys.exit(1)
# # ----------------------------------------------------------------------------- # python imports import sys try: # kaa base imports from kaa.distribution.core import Extension, setup except ImportError: print 'kaa.base not installed' sys.exit(1) ext_modules = [] mng = Extension("kaa.candy._mng", ['src/extensions/mng.c']) if mng.check_cc(["<libmng.h>"], "", "-lmng"): ext_modules.append(mng) mng.libraries.append("mng") print "+ mng support enabled" else: print "- mng support disabled" svg = Extension("kaa.candy._svg", ['src/extensions/svg.c']) if svg.check_library("librsvg-2.0", "2.10.0"): ext_modules.append(svg) print "+ svg support enabled" else: print "- svg support disabled" setup(module = 'candy', version = '0.5', ext_modules = ext_modules)
dvb = Extension('kaa.record._dvb', [ 'src/dvb_tuner.cc', 'src/dvb_device.cc' ]) # fdsplitter module fdsplitter = Extension('kaa.record._fdsplitter', [ 'src/fdsplitter.cc' ] ) # filter module files = [ 'src/fp_filewriter.cc', 'src/fp_remux.cc', 'src/fp_udpsend.cc', 'src/remux.cc', 'src/ringbuffer.cc', 'src/filter.cc'] filter = Extension('kaa.record._filter', files) # list of all modules ext_modules = [ dvb, filter, fdsplitter ] # vbi module vbi = Extension('kaa.record._vbi', ['src/vbi.cc']) if not vbi.check_cc(['"libzvbi.h"'], '', '-lzvbi'): print 'libzvbi not found, disable vbi support' else: vbi.libraries.append('zvbi') ext_modules.append(vbi) setup(module = 'record', version = '0.1.0', license = 'GPL', summary = 'Python library for recording from different types of tv cards to different outputs.', rpminfo = { 'requires': 'python-kaa-base >= 0.1.2', 'build_requires': 'python-kaa-base >= 0.1.2' }, ext_modules = ext_modules )