diff options
-rw-r--r-- | cerbero/build/filesprovider.py | 43 | ||||
-rw-r--r-- | cerbero/commands/gensdkshell.py | 3 | ||||
-rw-r--r-- | cerbero/config.py | 15 | ||||
-rw-r--r-- | cerbero/enums.py | 2 | ||||
-rw-r--r-- | packages/python3.package | 22 | ||||
-rw-r--r-- | recipes/glib.recipe | 3 | ||||
-rw-r--r-- | recipes/gobject-introspection.recipe | 10 | ||||
-rw-r--r-- | recipes/pango.recipe | 1 | ||||
-rw-r--r-- | recipes/pycairo.recipe | 26 | ||||
-rw-r--r-- | recipes/pygobject.recipe | 12 | ||||
-rw-r--r-- | recipes/python3.recipe | 802 | ||||
-rw-r--r-- | recipes/sqlite.recipe | 25 |
12 files changed, 953 insertions, 11 deletions
diff --git a/cerbero/build/filesprovider.py b/cerbero/build/filesprovider.py index 86c0a4da..832b8854 100644 --- a/cerbero/build/filesprovider.py +++ b/cerbero/build/filesprovider.py @@ -211,6 +211,36 @@ class FilesProvider(object): return shell.ls_files(libsmatch, self.config.prefix) + dlls + def _pyfile_get_name(self, f): + if os.path.exists(os.path.join(self.config.prefix, f)): + return f + else: + pydir = os.path.basename(os.path.normpath(self.config.py_prefix)) + pyversioname = re.sub("python|\.", '', pydir) + cpythonname = "cpython-" + pyversioname + + splitedext = os.path.splitext(f) + for ex in ['', 'm']: + f = splitedext[0] + '.' + cpythonname + ex + splitedext[1] + if os.path.exists(os.path.join(self.config.prefix, f)): + return f + return None + + def _pyfile_get_cached(self, f): + pyfiles = [] + pycachedir = os.path.join(os.path.dirname(f), "__pycache__") + for e in ['o', 'c']: + fe = self._pyfile_get_name(f + e) + if fe: + pyfiles.append(fe) + else: + cached = os.path.join(pycachedir, os.path.basename(f)) + fe = self._pyfile_get_name(os.path.join(self.config.prefix, cached)) + if fe: + pyfiles.append(fe) + + return pyfiles + def _search_pyfiles(self, files): ''' Search for python files in the prefix. This function doesn't do any @@ -221,12 +251,15 @@ class FilesProvider(object): for f in files: f = f % self.extensions f = '%s/%s' % (self.py_prefix, f) - pyfiles.append(f) + real_name = self._pyfile_get_name(f) + if real_name: + pyfiles.append(real_name) + else: + # Adding it so we notice there is a problem in the recipe + pyfiles.append(f) if f.endswith('.py'): - for e in ['o', 'c']: - fe = f + e - if os.path.exists(os.path.join(self.config.prefix, fe)): - pyfiles.append(fe) + cached_files = self._pyfile_get_cached(f) + pyfiles.extend(cached_files) return pyfiles def _search_langfiles(self, files): diff --git a/cerbero/commands/gensdkshell.py b/cerbero/commands/gensdkshell.py index bdb68c78..3bd3c7e8 100644 --- a/cerbero/commands/gensdkshell.py +++ b/cerbero/commands/gensdkshell.py @@ -98,6 +98,9 @@ class GenSdkShell(Command): self._putvar('LDFLAGS', '-L%s ${LDFLAGS}' % libdir, " ") self._putvar('GIO_EXTRA_MODULES', '%s/gio/modules' % libdir) self._putvar('GI_TYPELIB_PATH', '%s/girepository-1.0' % libdir) + if config.variants.python3: + self._putvar('PYTHONHOME', prefix_env) + self._putvar('PYTHON', "python3", None) if config.variants.gtk: self._putvar('GTK_PATH', '%s/gtk-3.0' % libdir, None) self._putvar('GTK_DATA_PREFIX', prefix_env, None) diff --git a/cerbero/config.py b/cerbero/config.py index 61b15125..a44c5efc 100644 --- a/cerbero/config.py +++ b/cerbero/config.py @@ -49,7 +49,7 @@ License = enums.License class Variants(object): __disabled_variants = ['x11', 'alsa', 'pulse', 'cdparanoia', 'v4l2', 'sdl', - 'gi'] + 'gi', 'python3'] __enabled_variants = ['debug', 'gtk', 'clutter', 'python', 'testspackage'] def __init__(self, variants): @@ -116,6 +116,12 @@ class Config (object): # from the main configuration file self._load_cmd_config(filename) + # We need to set py_prefix as soon as possible + if "python3" in self.variants: + # FIXME Find a smarter way to figure out what version of python3 + # is built. + self.py_prefix = 'lib/python3.3' + # Create a copy of the config for each architecture in case we are # building Universal binaries if self.target_arch == Architecture.UNIVERSAL: @@ -151,6 +157,7 @@ class Config (object): m.warning(_("gobject introspection is not supported " "cross-compiling, 'gi' variant will be removed")) self.variants.gi = False + for c in self.arch_config.values(): c.variants = self.variants @@ -266,6 +273,12 @@ class Config (object): 'MONO_GAC_PREFIX': prefix, 'GSTREAMER_ROOT': prefix } + + if self.variants.python3: + env['PYTHON'] = "python3" + elif self.variants.python: + env['PYTHON'] = "python2" + return env def load_defaults(self): diff --git a/cerbero/enums.py b/cerbero/enums.py index 5c26ef2d..33aac8b5 100644 --- a/cerbero/enums.py +++ b/cerbero/enums.py @@ -157,5 +157,7 @@ class License: 'LibPNG License') MIT = LicenseDescription('MIT', 'MIT License') + PUBLIC_DOMAIN = LicenseDescription('PublicDomain', + 'Public domain') Proprietary = LicenseDescription('Proprietary', 'Proprietary License') diff --git a/packages/python3.package b/packages/python3.package new file mode 100644 index 00000000..7c56ce0e --- /dev/null +++ b/packages/python3.package @@ -0,0 +1,22 @@ +# vi:si:et:sw=4:sts=4:ts=4:syntax=python +# -*- Mode: Python -*- + + +class Package(package.Package): + name = 'python3' + shortdesc = 'python3' + longdesc = 'Python 3' + url = "http://python.org/" + version = '3.3' + codename = 'Congo' + # Python Software Foundation License + licenses = [License.BSD_like] + vendor = 'Python Project' + org = 'python.org' + + files = ['Python', + 'gobject-introspection', + 'sqlite', + ] + + diff --git a/recipes/glib.recipe b/recipes/glib.recipe index 6e03ab5c..6bdd2282 100644 --- a/recipes/glib.recipe +++ b/recipes/glib.recipe @@ -92,6 +92,9 @@ class Recipe(recipe.Recipe): return flags def prepare(self): + if self.config.variants.python3 is True: + self.deps.append("Python") + if self.config.target_platform != Platform.WINDOWS: self.configure_options += ' --enable-static' if self.config.target_platform != Platform.LINUX: diff --git a/recipes/gobject-introspection.recipe b/recipes/gobject-introspection.recipe index d3445fc8..4e3a499b 100644 --- a/recipes/gobject-introspection.recipe +++ b/recipes/gobject-introspection.recipe @@ -1,4 +1,5 @@ # -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python +import sys class Recipe(recipe.Recipe): @@ -69,8 +70,14 @@ class Recipe(recipe.Recipe): 'share/gobject-introspection-1.0' ] - # TODO: catch the share/man stuff like man1/g-ir* ? + def prepare(self): + if self.config.variants.python3: + # cerbero is python2 only, same as gobject-introspection, + # make sure gobject-introspection is built against the same interpretter + # as we are + self.config_sh = "PYTHON=%s %s" %(sys.executable, self.config_sh) + # TODO: catch the share/man stuff like man1/g-ir* ? def configure(self): if self.config.target_platform in [Platform.IOS, Platform.DARWIN]: if Architecture.is_arm(self.config.target_arch): @@ -86,4 +93,3 @@ class Recipe(recipe.Recipe): self.configure_options += ' --with-typelib-dir=$CERBERO_PREFIX/lib/%s ' % arch self.configure_options += ' --with-gir-dir=$CERBERO_PREFIX/share/gir-1.0/%s ' % arch super(Recipe, self).configure() - diff --git a/recipes/pango.recipe b/recipes/pango.recipe index 8127f3db..93e67e81 100644 --- a/recipes/pango.recipe +++ b/recipes/pango.recipe @@ -19,7 +19,6 @@ class Recipe(recipe.Recipe): 'lib/pkgconfig/pangocairo.pc'] platform_files_libs = { Platform.WINDOWS: ['libpangowin32-1.0'], - Platform.LINUX: ['libpango-1.0'], } platform_files_devel = { Platform.WINDOWS: ['lib/pkgconfig/pangowin32.pc'], diff --git a/recipes/pycairo.recipe b/recipes/pycairo.recipe new file mode 100644 index 00000000..fb63c9b3 --- /dev/null +++ b/recipes/pycairo.recipe @@ -0,0 +1,26 @@ +# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python +from cerbero.build.build import MakefilesBase + +class Recipe(recipe.Recipe): + name = 'pycairo' + version = '1.10.0' + # either LGPLv2.1 or MPLv1.1 + licenses = [License.LGPLv2_1] + deps = ['cairo'] + + files_python = [ + 'site-packages/cairo/_cairo%(pext)s', + 'site-packages/cairo/__init__.py', + ] + files_devel = ['include/pycairo', 'lib/pkgconfig/pycairo.pc'] + + config_sh = './waf configure' + + make = './waf build' + make_install = './waf install' + + stype = SourceType.TARBALL + url = "http://cairographics.org/releases/pycairo-%(version)s.tar.bz2" + + def configure(self): + MakefilesBase.configure(self) diff --git a/recipes/pygobject.recipe b/recipes/pygobject.recipe index ba445eef..8f3d0092 100644 --- a/recipes/pygobject.recipe +++ b/recipes/pygobject.recipe @@ -7,9 +7,8 @@ class Recipe(recipe.Recipe): stype = SourceType.TARBALL url = 'http://ftp.gnome.org/pub/GNOME/sources/pygobject/3.12/pygobject-%(version)s.tar.xz' licenses = [License.LGPLv2_1Plus] - deps = ['glib', 'py2cairo'] + deps = ['glib'] make_check = None # disabled until we fix the checks - files_python = [ 'site-packages/gi/_gi%(pext)s', 'site-packages/gi/_gi_cairo%(pext)s', @@ -41,3 +40,12 @@ class Recipe(recipe.Recipe): files_devel = ['include/pygobject-3.0/pygobject.h', 'lib/pkgconfig/pygobject-3.0.pc', ] + + def prepare(self): + if self.config.variants.python3: + self.deps.append("Python") + self.deps.append('pycairo') + self.configure_options = '--with-python=python3' + else: + self.deps.append('py2cairo') + self.configure_options = '--with-python=python2' diff --git a/recipes/python3.recipe b/recipes/python3.recipe new file mode 100644 index 00000000..77c776da --- /dev/null +++ b/recipes/python3.recipe @@ -0,0 +1,802 @@ +# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python + + +class Recipe(recipe.Recipe): + name = 'Python' + version = '3.3.5' + stype = SourceType.TARBALL + url = 'https://www.python.org/ftp/python/%(version)s/Python-%(version)s.tar.xz' + # Python Software Foundation License + licenses = [License.BSD_like] + deps = ['libffi', 'sqlite'] + configure_options = '--enable-loadable-sqlite-extensions --enable-shared ' + + files_python = [ + 'plistlib.py', + 'functools.py', + 'nntplib.py', + '_dummy_thread.py', + 'glob.py', + 'ntpath.py', + '_markupbase.py', + '_compat_pickle.py', + 'sndhdr.py', + 'site.py', + 'numbers.py', + 'LICENSE.txt', + 'formatter.py', + 'mimetypes.py', + 'csv.py', + 'modulefinder.py', + 'getpass.py', + 'pkgutil.py', + 'optparse.py', + 'ipaddress.py', + 'struct.py', + 'pipes.py', + 'macurl2path.py', + 'quopri.py', + 'xdrlib.py', + 'dis.py', + 'crypt.py', + 'lzma.py', + 'telnetlib.py', + 'shelve.py', + 'reprlib.py', + 'cProfile.py', + 're.py', + 'cgitb.py', + 'socket.py', + 'gzip.py', + 'inspect.py', + 'codeop.py', + 'queue.py', + 'textwrap.py', + 'genericpath.py', + 'dummy_threading.py', + 'ast.py', + 'symtable.py', + 'threading.py', + 'weakref.py', + 'string.py', + 'fileinput.py', + 'keyword.py', + 'cmd.py', + 'asyncore.py', + 'smtplib.py', + 'os2emxpath.py', + 'py_compile.py', + 'zipfile.py', + 'getopt.py', + '__future__.py', + 'stat.py', + 'aifc.py', + 'locale.py', + 'contextlib.py', + 'os.py', + 'trace.py', + 'pickletools.py', + '_sysconfigdata.py', + 'shlex.py', + 'this.py', + 'pyclbr.py', + 'hmac.py', + 'fnmatch.py', + 'socketserver.py', + '_strptime.py', + 'sre_compile.py', + 'gettext.py', + 'code.py', + 'colorsys.py', + 'binhex.py', + 'mailcap.py', + 'compileall.py', + 'stringprep.py', + 'codecs.py', + 'subprocess.py', + 'bz2.py', + 'sysconfig.py', + '_weakrefset.py', + 'asynchat.py', + '_pyio.py', + 'pydoc.py', + 'fractions.py', + 'filecmp.py', + 'symbol.py', + 'tarfile.py', + 'copyreg.py', + 'wave.py', + 'uuid.py', + 'bisect.py', + 'io.py', + '_osx_support.py', + 'argparse.py', + 'sre_parse.py', + 'sunau.py', + 'cgi.py', + 'imaplib.py', + 'datetime.py', + 'pty.py', + 'timeit.py', + 'chunk.py', + 'doctest.py', + 'pprint.py', + 'runpy.py', + 'pickle.py', + 'tempfile.py', + 'calendar.py', + 'tty.py', + 'opcode.py', + 'traceback.py', + 'tabnanny.py', + 'poplib.py', + 'macpath.py', + 'mailbox.py', + 'tokenize.py', + 'decimal.py', + '_threading_local.py', + 'turtle.py', + 'copy.py', + 'sched.py', + 'antigravity.py', + 'heapq.py', + 'pdb.py', + 'platform.py', + 'random.py', + 'ssl.py', + 'ftplib.py', + 'imp.py', + 'base64.py', + 'netrc.py', + 'webbrowser.py', + 'sre_constants.py', + 'hashlib.py', + 'difflib.py', + 'linecache.py', + 'imghdr.py', + 'shutil.py', + 'configparser.py', + 'posixpath.py', + 'abc.py', + 'profile.py', + 'smtpd.py', + 'pstats.py', + 'types.py', + 'nturl2path.py', + '__phello__.foo.py', + 'rlcompleter.py', + 'uu.py', + 'warnings.py', + 'bdb.py', + 'token.py', + 'wsgiref/headers.py', + 'wsgiref/util.py', + 'wsgiref/__init__.py', + 'wsgiref/handlers.py', + 'wsgiref/simple_server.py', + 'wsgiref/validate.py', + 'dbm/dumb.py', + 'dbm/gnu.py', + 'dbm/__init__.py', + 'dbm/ndbm.py', + 'urllib/request.py', + 'urllib/__init__.py', + 'urllib/robotparser.py', + 'urllib/parse.py', + 'urllib/error.py', + 'urllib/response.py', + 'lib-dynload/_sha1%(pext)s', + 'lib-dynload/resource%(pext)s', + 'lib-dynload/_bz2%(pext)s', + 'lib-dynload/_lzma%(pext)s', + 'lib-dynload/zlib%(pext)s', + 'lib-dynload/_codecs_cn%(pext)s', + 'lib-dynload/array%(pext)s', + 'lib-dynload/_heapq%(pext)s', + 'lib-dynload/_pickle%(pext)s', + 'lib-dynload/_dbm%(pext)s', + 'lib-dynload/_sqlite3%(pext)s', + 'lib-dynload/cmath%(pext)s', + 'lib-dynload/_lsprof%(pext)s', + 'lib-dynload/_json%(pext)s', + 'lib-dynload/_codecs_jp%(pext)s', + 'lib-dynload/_sha512%(pext)s', + 'lib-dynload/atexit%(pext)s', + 'lib-dynload/xxlimited%(pext)s', + 'lib-dynload/_multibytecodec%(pext)s', + 'lib-dynload/parser%(pext)s', + 'lib-dynload/_md5%(pext)s', + 'lib-dynload/_csv%(pext)s', + 'lib-dynload/grp%(pext)s', + 'lib-dynload/select%(pext)s', + 'lib-dynload/_elementtree%(pext)s', + 'lib-dynload/_posixsubprocess%(pext)s', + 'lib-dynload/_codecs_kr%(pext)s', + 'lib-dynload/time%(pext)s', + 'lib-dynload/binascii%(pext)s', + 'lib-dynload/termios%(pext)s', + 'lib-dynload/_sha256%(pext)s', + 'lib-dynload/_ctypes%(pext)s', + 'lib-dynload/_multiprocessing%(pext)s', + 'lib-dynload/ossaudiodev%(pext)s', + 'lib-dynload/pyexpat%(pext)s', + 'lib-dynload/math%(pext)s', + 'lib-dynload/_ctypes_test%(pext)s', + 'lib-dynload/_crypt%(pext)s', + 'lib-dynload/_datetime%(pext)s', + 'lib-dynload/mmap%(pext)s', + 'lib-dynload/_codecs_hk%(pext)s', + 'lib-dynload/_gdbm%(pext)s', + 'lib-dynload/_bisect%(pext)s', + 'lib-dynload/spwd%(pext)s', + 'lib-dynload/_testbuffer%(pext)s', + 'lib-dynload/_testcapi%(pext)s', + 'lib-dynload/nis%(pext)s', + 'lib-dynload/audioop%(pext)s', + 'lib-dynload/_decimal%(pext)s', + 'lib-dynload/_socket%(pext)s', + 'lib-dynload/syslog%(pext)s', + 'lib-dynload/_codecs_iso2022%(pext)s', + 'lib-dynload/_random%(pext)s', + 'lib-dynload/_struct%(pext)s', + 'lib-dynload/_codecs_tw%(pext)s', + 'lib-dynload/unicodedata%(pext)s', + 'lib-dynload/fcntl%(pext)s', + 'multiprocessing/reduction.py', + 'multiprocessing/util.py', + 'multiprocessing/heap.py', + 'multiprocessing/managers.py', + 'multiprocessing/__init__.py', + 'multiprocessing/queues.py', + 'multiprocessing/synchronize.py', + 'multiprocessing/sharedctypes.py', + 'multiprocessing/process.py', + 'multiprocessing/pool.py', + 'multiprocessing/forking.py', + 'multiprocessing/connection.py', + 'multiprocessing/dummy/__init__.py', + 'multiprocessing/dummy/connection.py', + 'ctypes/wintypes.py', + 'ctypes/util.py', + 'ctypes/_endian.py', + 'ctypes/__init__.py', + 'ctypes/macholib/fetch_macholib.bat', + 'ctypes/macholib/README.ctypes', + 'ctypes/macholib/__init__.py', + 'ctypes/macholib/dylib.py', + 'ctypes/macholib/dyld.py', + 'ctypes/macholib/framework.py', + 'ctypes/macholib/fetch_macholib', + 'xml/__init__.py', + 'xml/etree/ElementInclude.py', + 'xml/etree/ElementPath.py', + 'xml/etree/__init__.py', + 'xml/etree/ElementTree.py', + 'xml/etree/cElementTree.py', + 'xml/dom/minidom.py', + 'xml/dom/__init__.py', + 'xml/dom/NodeFilter.py', + 'xml/dom/xmlbuilder.py', + 'xml/dom/pulldom.py', + 'xml/dom/minicompat.py', + 'xml/dom/expatbuilder.py', + 'xml/dom/domreg.py', + 'xml/sax/xmlreader.py', + 'xml/sax/saxutils.py', + 'xml/sax/handler.py', + 'xml/sax/__init__.py', + 'xml/sax/expatreader.py', + 'xml/sax/_exceptions.py', + 'xml/parsers/__init__.py', + 'xml/parsers/expat.py', + 'http/server.py', + 'http/__init__.py', + 'http/cookies.py', + 'http/client.py', + 'http/cookiejar.py', + 'idlelib/config-main.def', + 'idlelib/ToolTip.py', + 'idlelib/extend.txt', + 'idlelib/idle.pyw', + 'idlelib/help.txt', + 'idlelib/ObjectBrowser.py', + 'idlelib/configSectionNameDialog.py', + 'idlelib/MultiStatusBar.py', + 'idlelib/config-extensions.def', + 'idlelib/TODO.txt', + 'idlelib/dynOptionMenuWidget.py', + 'idlelib/AutoComplete.py', + 'idlelib/idlever.py', + 'idlelib/SearchEngine.py', + 'idlelib/AutoExpand.py', + 'idlelib/UndoDelegator.py', + 'idlelib/__main__.py', + 'idlelib/configHandler.py', + 'idlelib/AutoCompleteWindow.py', + 'idlelib/FormatParagraph.py', + 'idlelib/tabbedpages.py', + 'idlelib/CREDITS.txt', + 'idlelib/RstripExtension.py', + 'idlelib/WindowList.py', + 'idlelib/PyParse.py', + 'idlelib/aboutDialog.py', + 'idlelib/TreeWidget.py', + 'idlelib/PyShell.py', + 'idlelib/__init__.py', + 'idlelib/config-keys.def', + 'idlelib/EditorWindow.py', + 'idlelib/StackViewer.py', + 'idlelib/ReplaceDialog.py', + 'idlelib/run.py', + 'idlelib/CodeContext.py', + 'idlelib/idle.py', + 'idlelib/RemoteObjectBrowser.py', + 'idlelib/WidgetRedirector.py', + 'idlelib/OutputWindow.py', + 'idlelib/MultiCall.py', + 'idlelib/IOBinding.py', + 'idlelib/textView.py', + 'idlelib/ScrolledList.py', + 'idlelib/config-highlight.def', + 'idlelib/IdleHistory.py', + 'idlelib/ScriptBinding.py', + 'idlelib/Percolator.py', + 'idlelib/HISTORY.txt', + 'idlelib/Bindings.py', + 'idlelib/CallTips.py', + 'idlelib/keybindingDialog.py', + 'idlelib/HyperParser.py', + 'idlelib/ParenMatch.py', + 'idlelib/PathBrowser.py', + 'idlelib/Delegator.py', + 'idlelib/configHelpSourceEdit.py', + 'idlelib/NEWS.txt', + 'idlelib/ChangeLog', + 'idlelib/CallTipWindow.py', + 'idlelib/SearchDialog.py', + 'idlelib/README.txt', + 'idlelib/macosxSupport.py', + 'idlelib/FileList.py', + 'idlelib/rpc.py', + 'idlelib/GrepDialog.py', + 'idlelib/ClassBrowser.py', + 'idlelib/SearchDialogBase.py', + 'idlelib/ZoomHeight.py', + 'idlelib/ColorDelegator.py', + 'idlelib/idle.bat', + 'idlelib/Debugger.py', + 'idlelib/RemoteDebugger.py', + 'idlelib/configDialog.py', + 'idlelib/Icons/python.gif', + 'idlelib/Icons/idle.ico', + 'idlelib/Icons/idle_48.gif', + 'idlelib/Icons/idle.icns', + 'idlelib/Icons/idle_16.png', + 'idlelib/Icons/idle_32.png', + 'idlelib/Icons/idle_48.png', + 'idlelib/Icons/tk.gif', + 'idlelib/Icons/idle_16.gif', + 'idlelib/Icons/folder.gif', + 'idlelib/Icons/minusnode.gif', + 'idlelib/Icons/openfolder.gif', + 'idlelib/Icons/idle_32.gif', + 'idlelib/Icons/plusnode.gif', + 'idlelib/idle_test/mock_tk.py', + 'idlelib/idle_test/__init__.py', + 'idlelib/idle_test/mock_idle.py', + 'idlelib/idle_test/README.txt', + 'sqlite3/dbapi2.py', + 'sqlite3/__init__.py', + 'sqlite3/dump.py', + 'xmlrpc/server.py', + 'xmlrpc/__init__.py', + 'xmlrpc/client.py', + 'concurrent/__init__.py', + 'concurrent/futures/_base.py', + 'concurrent/futures/thread.py', + 'concurrent/futures/__init__.py', + 'concurrent/futures/process.py', + 'tkinter/dialog.py', + 'tkinter/constants.py', + 'tkinter/font.py', + 'tkinter/colorchooser.py', + 'tkinter/__main__.py', + 'tkinter/scrolledtext.py', + 'tkinter/__init__.py', + 'tkinter/_fix.py', + 'tkinter/simpledialog.py', + 'tkinter/tix.py', + 'tkinter/commondialog.py', + 'tkinter/messagebox.py', + 'tkinter/filedialog.py', + 'tkinter/dnd.py', + 'tkinter/ttk.py', + 'config-3.3m/Makefile', + 'config-3.3m/config.c', + 'config-3.3m/install-sh', + 'config-3.3m/Setup', + 'config-3.3m/Setup.config', + 'config-3.3m/config.c.in', + 'config-3.3m/Setup.local', + 'config-3.3m/makesetup', + 'json/encoder.py', + 'json/__init__.py', + 'json/decoder.py', + 'json/scanner.py', + 'json/tool.py', + 'importlib/util.py', + 'importlib/__init__.py', + 'importlib/_bootstrap.py', + 'importlib/machinery.py', + 'importlib/abc.py', + 'html/parser.py', + 'html/__init__.py', + 'html/entities.py', + 'distutils/text_file.py', + 'distutils/log.py', + 'distutils/README', + 'distutils/dist.py', + 'distutils/fancy_getopt.py', + 'distutils/util.py', + 'distutils/core.py', + 'distutils/cygwinccompiler.py', + 'distutils/emxccompiler.py', + 'distutils/cmd.py', + 'distutils/msvc9compiler.py', + 'distutils/spawn.py', + 'distutils/msvccompiler.py', + 'distutils/__init__.py', + 'distutils/archive_util.py', + 'distutils/extension.py', + 'distutils/dir_util.py', + 'distutils/versionpredicate.py', + 'distutils/sysconfig.py', + 'distutils/file_util.py', + 'distutils/version.py', + 'distutils/unixccompiler.py', + 'distutils/errors.py', + 'distutils/config.py', + 'distutils/debug.py', + 'distutils/ccompiler.py', + 'distutils/dep_util.py', + 'distutils/bcppcompiler.py', + 'distutils/filelist.py', + 'distutils/command/register.py', + 'distutils/command/install_headers.py', + 'distutils/command/build_clib.py', + 'distutils/command/install_scripts.py', + 'distutils/command/bdist_dumb.py', + 'distutils/command/wininst-9.0.exe', + 'distutils/command/wininst-7.1.exe', + 'distutils/command/bdist_rpm.py', + 'distutils/command/bdist.py', + 'distutils/command/wininst-6.0.exe', + 'distutils/command/build.py', + 'distutils/command/clean.py', + 'distutils/command/build_ext.py', + 'distutils/command/install_egg_info.py', + 'distutils/command/command_template', + 'distutils/command/wininst-9.0-amd64.exe', + 'distutils/command/__init__.py', + 'distutils/command/install.py', + 'distutils/command/wininst-8.0.exe', + 'distutils/command/wininst-10.0.exe', + 'distutils/command/sdist.py', + 'distutils/command/install_data.py', + 'distutils/command/wininst-10.0-amd64.exe', + 'distutils/command/config.py', + 'distutils/command/bdist_msi.py', + 'distutils/command/check.py', + 'distutils/command/upload.py', + 'distutils/command/build_py.py', + 'distutils/command/install_lib.py', + 'distutils/command/bdist_wininst.py', + 'distutils/command/build_scripts.py', + 'turtledemo/chaos.py', + 'turtledemo/fractalcurves.py', + 'turtledemo/colormixer.py', + 'turtledemo/round_dance.py', + 'turtledemo/__main__.py', + 'turtledemo/paint.py', + 'turtledemo/yinyang.py', + 'turtledemo/about_turtle.txt', + 'turtledemo/__init__.py', + 'turtledemo/tree.py', + 'turtledemo/wikipedia.py', + 'turtledemo/penrose.py', + 'turtledemo/bytedesign.py', + 'turtledemo/minimal_hanoi.py', + 'turtledemo/clock.py', + 'turtledemo/two_canvases.py', + 'turtledemo/demohelp.txt', + 'turtledemo/turtle.cfg', + 'turtledemo/lindenmayer.py', + 'turtledemo/planet_and_moon.py', + 'turtledemo/forest.py', + 'turtledemo/nim.py', + 'turtledemo/about_turtledemo.txt', + 'turtledemo/peace.py', + 'unittest/loader.py', + 'unittest/suite.py', + 'unittest/__main__.py', + 'unittest/result.py', + 'unittest/util.py', + 'unittest/main.py', + 'unittest/signals.py', + 'unittest/mock.py', + 'unittest/__init__.py', + 'unittest/case.py', + 'unittest/runner.py', + 'logging/__init__.py', + 'logging/handlers.py', + 'logging/config.py', + 'site-packages/README', + 'lib2to3/__main__.py', + 'lib2to3/btm_matcher.py', + 'lib2to3/main.py', + 'lib2to3/btm_utils.py', + 'lib2to3/fixer_base.py', + 'lib2to3/pygram.py', + 'lib2to3/__init__.py', + 'lib2to3/pytree.py', + 'lib2to3/fixer_util.py', + 'lib2to3/patcomp.py', + 'lib2to3/Grammar3.3.5.final.0.pickle', + 'lib2to3/PatternGrammar3.3.5.final.0.pickle', + 'lib2to3/PatternGrammar.txt', + 'lib2to3/Grammar.txt', + 'lib2to3/refactor.py', + 'lib2to3/fixes/fix_metaclass.py', + 'lib2to3/fixes/fix_throw.py', + 'lib2to3/fixes/fix_callable.py', + 'lib2to3/fixes/fix_urllib.py', + 'lib2to3/fixes/fix_execfile.py', + 'lib2to3/fixes/fix_exitfunc.py', + 'lib2to3/fixes/fix_map.py', + 'lib2to3/fixes/fix_xrange.py', + 'lib2to3/fixes/fix_renames.py', + 'lib2to3/fixes/fix_numliterals.py', + 'lib2to3/fixes/fix_input.py', + 'lib2to3/fixes/fix_print.py', + 'lib2to3/fixes/fix_operator.py', + 'lib2to3/fixes/fix_next.py', + 'lib2to3/fixes/fix_import.py', + 'lib2to3/fixes/fix_ne.py', + 'lib2to3/fixes/fix_long.py', + 'lib2to3/fixes/fix_paren.py', + 'lib2to3/fixes/fix_sys_exc.py', + 'lib2to3/fixes/fix_repr.py', + 'lib2to3/fixes/__init__.py', + 'lib2to3/fixes/fix_xreadlines.py', + 'lib2to3/fixes/fix_standarderror.py', + 'lib2to3/fixes/fix_itertools.py', + 'lib2to3/fixes/fix_types.py', + 'lib2to3/fixes/fix_raise.py', + 'lib2to3/fixes/fix_unicode.py', + 'lib2to3/fixes/fix_tuple_params.py', + 'lib2to3/fixes/fix_imports2.py', + 'lib2to3/fixes/fix_basestring.py', + 'lib2to3/fixes/fix_dict.py', + 'lib2to3/fixes/fix_nonzero.py', + 'lib2to3/fixes/fix_future.py', + 'lib2to3/fixes/fix_intern.py', + 'lib2to3/fixes/fix_idioms.py', + 'lib2to3/fixes/fix_raw_input.py', + 'lib2to3/fixes/fix_set_literal.py', + 'lib2to3/fixes/fix_filter.py', + 'lib2to3/fixes/fix_itertools_imports.py', + 'lib2to3/fixes/fix_zip.py', + 'lib2to3/fixes/fix_methodattrs.py', + 'lib2to3/fixes/fix_isinstance.py', + 'lib2to3/fixes/fix_ws_comma.py', + 'lib2to3/fixes/fix_getcwdu.py', + 'lib2to3/fixes/fix_imports.py', + 'lib2to3/fixes/fix_buffer.py', + 'lib2to3/fixes/fix_apply.py', + 'lib2to3/fixes/fix_except.py', + 'lib2to3/fixes/fix_exec.py', + 'lib2to3/fixes/fix_has_key.py', + 'lib2to3/fixes/fix_funcattrs.py', + 'lib2to3/fixes/fix_reduce.py', + 'lib2to3/pgen2/grammar.py', + 'lib2to3/pgen2/literals.py', + 'lib2to3/pgen2/__init__.py', + 'lib2to3/pgen2/conv.py', + 'lib2to3/pgen2/driver.py', + 'lib2to3/pgen2/tokenize.py', + 'lib2to3/pgen2/parse.py', + 'lib2to3/pgen2/pgen.py', + 'lib2to3/pgen2/token.py', + 'curses/textpad.py', + 'curses/__init__.py', + 'curses/panel.py', + 'curses/has_key.py', + 'curses/ascii.py', + 'venv/__main__.py', + 'venv/__init__.py', + 'venv/scripts/posix/activate', + 'encodings/johab.py', + 'encodings/base64_codec.py', + 'encodings/cp424.py', + 'encodings/iso2022_jp_2.py', + 'encodings/euc_kr.py', + 'encodings/bz2_codec.py', + 'encodings/cp855.py', + 'encodings/iso8859_13.py', + 'encodings/iso2022_jp_1.py', + 'encodings/mbcs.py', + 'encodings/cp858.py', + 'encodings/utf_7.py', + 'encodings/mac_arabic.py', + 'encodings/raw_unicode_escape.py', + 'encodings/unicode_internal.py', + 'encodings/iso8859_11.py', + 'encodings/cp863.py', + 'encodings/cp1006.py', + 'encodings/cp949.py', + 'encodings/cp1257.py', + 'encodings/cp500.py', + 'encodings/iso2022_jp_3.py', + 'encodings/iso8859_8.py', + 'encodings/zlib_codec.py', + 'encodings/cp950.py', + 'encodings/latin_1.py', + 'encodings/iso8859_1.py', + 'encodings/palmos.py', + 'encodings/iso8859_4.py', + 'encodings/cp852.py', + 'encodings/gbk.py', + 'encodings/mac_iceland.py', + 'encodings/cp720.py', + 'encodings/utf_8_sig.py', + 'encodings/iso8859_15.py', + 'encodings/hz.py', + 'encodings/charmap.py', + 'encodings/cp866.py', + 'encodings/iso8859_3.py', + 'encodings/mac_centeuro.py', + 'encodings/mac_turkish.py', + 'encodings/mac_farsi.py', + 'encodings/cp857.py', + 'encodings/utf_8.py', + 'encodings/iso2022_jp_ext.py', + 'encodings/uu_codec.py', + 'encodings/iso8859_2.py', + 'encodings/mac_greek.py', + 'encodings/cp1251.py', + 'encodings/__init__.py', + 'encodings/big5hkscs.py', + 'encodings/iso8859_7.py', + 'encodings/utf_16.py', + 'encodings/cp860.py', + 'encodings/hex_codec.py', + 'encodings/ptcp154.py', + 'encodings/big5.py', + 'encodings/iso8859_9.py', + 'encodings/shift_jis_2004.py', + 'encodings/cp874.py', + 'encodings/cp932.py', + 'encodings/hp_roman8.py', + 'encodings/cp862.py', + 'encodings/utf_16_be.py', + 'encodings/cp869.py', + 'encodings/unicode_escape.py', + 'encodings/cp1026.py', + 'encodings/cp1256.py', + 'encodings/cp856.py', + 'encodings/cp1252.py', + 'encodings/cp1253.py', + 'encodings/utf_32.py', + 'encodings/punycode.py', + 'encodings/tis_620.py', + 'encodings/cp737.py', + 'encodings/cp1254.py', + 'encodings/cp850.py', + 'encodings/cp861.py', + 'encodings/rot_13.py', + 'encodings/mac_roman.py', + 'encodings/cp1250.py', + 'encodings/euc_jisx0213.py', + 'encodings/aliases.py', + 'encodings/utf_16_le.py', + 'encodings/cp775.py', + 'encodings/utf_32_be.py', + 'encodings/euc_jp.py', + 'encodings/iso8859_6.py', + 'encodings/mac_croatian.py', + 'encodings/cp1258.py', + 'encodings/cp1140.py', + 'encodings/shift_jisx0213.py', + 'encodings/idna.py', + 'encodings/euc_jis_2004.py', + 'encodings/cp037.py', + 'encodings/ascii.py', + 'encodings/cp875.py', + 'encodings/cp65001.py', + 'encodings/quopri_codec.py', + 'encodings/utf_32_le.py', + 'encodings/cp1255.py', + 'encodings/cp865.py', + 'encodings/gb18030.py', + 'encodings/iso2022_jp_2004.py', + 'encodings/iso2022_jp.py', + 'encodings/shift_jis.py', + 'encodings/mac_cyrillic.py', + 'encodings/koi8_r.py', + 'encodings/undefined.py', + 'encodings/mac_latin2.py', + 'encodings/mac_romanian.py', + 'encodings/gb2312.py', + 'encodings/cp864.py', + 'encodings/iso2022_kr.py', + 'encodings/iso8859_14.py', + 'encodings/koi8_u.py', + 'encodings/iso8859_5.py', + 'encodings/iso8859_10.py', + 'encodings/iso8859_16.py', + 'encodings/cp437.py', + 'pydoc_data/_pydoc.css', + 'pydoc_data/__init__.py', + 'pydoc_data/topics.py', + 'collections/__main__.py', + 'collections/__init__.py', + 'collections/abc.py', + 'plat-linux/regen', + 'plat-linux/IN.py', + 'plat-linux/DLFCN.py', + 'plat-linux/TYPES.py', + 'plat-linux/CDROM.py', + 'email/_encoded_words.py', + 'email/_policybase.py', + 'email/header.py', + 'email/charset.py', + 'email/feedparser.py', + 'email/headerregistry.py', + 'email/architecture.rst', + 'email/message.py', + 'email/parser.py', + 'email/_parseaddr.py', + 'email/__init__.py', + 'email/encoders.py', + 'email/utils.py', + 'email/policy.py', + 'email/generator.py', + 'email/base64mime.py', + 'email/_header_value_parser.py', + 'email/errors.py', + 'email/iterators.py', + 'email/quoprimime.py', + 'email/mime/image.py', + 'email/mime/audio.py', + 'email/mime/application.py', + 'email/mime/base.py', + 'email/mime/message.py', + 'email/mime/__init__.py', + 'email/mime/multipart.py', + 'email/mime/nonmultipart.py', + 'email/mime/text.py', + ] + + + files_libs = ['libpython3.3m'] + + files_devel = [ + '*.h', 'lib/libpython3.3m.a', + 'lib/pkgconfig/python-3.3.pc', + ] + + files_bins = [ + '2to3', 'pyvenv-3.3', 'pydoc3', 'python3.3', 'python3.3m-config', + 'python3', '2to3-3.3', 'python3.3-config', 'idle3', 'pydoc3.3', 'idle3.3', + 'python3-config', 'python3.3m', 'pyvenv', 'python' + ] + + + + def post_install(self): + # Make sure it is the default python in our environment + try: + os.symlink(os.path.join(self.config.prefix, "bin", "python3"), + os.path.join(self.config.prefix, "bin", "python")) + except OSError: + pass diff --git a/recipes/sqlite.recipe b/recipes/sqlite.recipe new file mode 100644 index 00000000..b6395adb --- /dev/null +++ b/recipes/sqlite.recipe @@ -0,0 +1,25 @@ +# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python + + +class Recipe(recipe.Recipe): + name = 'sqlite' + version = '3080402' + stype = SourceType.TARBALL + srcdir = '../sqlite-autoconf-%s' % version + url = 'https://sqlite.org/2014/sqlite-autoconf-%(version)s.tar.gz' + # either LGPLv2.1 or MPLv1.1 + licenses = License.PUBLIC_DOMAIN + deps = [] + + files_devel = [ + 'lib/pkgconfig/sqlite3.pc', 'lib/libsqlite3.la', + 'lib/libsqlite3.a', 'include/*.h', + ] + + files_libs = [ + 'libsqlite3', + ] + + files_bins = [ + 'sqlite3', + ] |