davemds pushed a commit to branch master.
commit 77dc3551fa67bdcf8aa53b485b651da014f90ec4
Author: davemds <[email protected]>
Date: Wed Mar 27 21:18:24 2013 +0100
Python-EFL: cleanup a little setup.py, INSTALL and TODO
---
INSTALL | 4 +++-
TODO | 15 +++------------
setup.py | 48 ++++++++++++++++++++++++++----------------------
3 files changed, 32 insertions(+), 35 deletions(-)
diff --git a/INSTALL b/INSTALL
index df9a404..c8cbcd8 100644
--- a/INSTALL
+++ b/INSTALL
@@ -68,12 +68,14 @@
videos you need the YouTube module from sphinx contrib repository.
packages: python-sphinx, graphviz
- Once installed run:
+ To build the docs just run:
python setup.py build_doc
You will find the generated html docs under the folder:
build/sphinx/html
+ Note: you must build the bindings before building the docs, or you will end
+ up with empty documentation.
5. TESTS and EXAMPLES:
diff --git a/TODO b/TODO
index 222d426..b1eed5e 100644
--- a/TODO
+++ b/TODO
@@ -3,8 +3,7 @@ BUGS:
* Evas: smart object doesn't work
* Elm: remove tooltips.pxi
-* Using the string conversion functions will leave dangling a pointer if
- reference to the python string object is lost.
+
TODO:
@@ -23,16 +22,8 @@ TODO:
* include python-e_dbus (or make edbus2 ??)
* elm.Notify align_set/get/prop
* cleanup elementary_object
-* Investigate the string reference problem.
-
- Possible solutions:
- - memcpy the string, can we reliably prevent it from leaking?
- - incref the string object, can we reliably decref after use?
- - use eina stringshare, some APIs actually seem to expect this instead of a
- normal char array and call eina_stringshare_del when freeing
- the object/struct.
* Review the internal functions and name them consistently
-* Find out the minimum Cython version required
+
STUFF LEFT OUT:
@@ -52,7 +43,7 @@ CHANGES FROM 1.7 to 1.8:
* added efl container package
* ecore.file.Download => efl.ecore.FileDownload
* Emotion(module_filename="xxx") => Emotion(module_name="xxx")
-* elementary.need_e_dbus => elementary.need_e_dbus
+* elementary.need_e_dbus => elementary.need_edbus
* elm.domain_translatable_text_part_set =>
elm.domain_translatable_part_text_set
* elm.Scroller.custom_widget_base_theme_set => elm.Layout.theme_set
TODO is this right?
* elm.notify.orient_set/get/prop removed => align_set (TODO)
diff --git a/setup.py b/setup.py
index db39829..7261676 100755
--- a/setup.py
+++ b/setup.py
@@ -5,6 +5,8 @@ import subprocess
from distutils.core import setup, Command
from distutils.extension import Extension
+
+# Cython
try:
from Cython.Distutils import build_ext
from Cython.Build import cythonize
@@ -14,6 +16,8 @@ try:
except ImportError:
raise SystemExit("Requires Cython (http://cython.org/)")
+
+# Sphinx
try:
from sphinx.setup_command import BuildDoc
except ImportError:
@@ -24,26 +28,27 @@ except ImportError:
def finalize_options(self): pass
def run(self): print("Error: sphinx not found")
-if len(sys.argv) is 2 and "build_doc" in sys.argv:
- modules = []
-else:
- def pkg_config(name, require, min_vers=None):
- try:
- sys.stdout.write("Checking for " + name + ": ")
- ver = subprocess.check_output(["pkg-config", "--modversion",
require]).decode("utf-8").strip()
- if min_vers is not None:
- assert 0 == subprocess.call(["pkg-config",
"--atleast-version", min_vers, require])
- cflags = subprocess.check_output(["pkg-config", "--cflags",
require]).decode("utf-8").split()
- libs = subprocess.check_output(["pkg-config", "--libs",
require]).decode("utf-8").split()
- sys.stdout.write("OK, found " + ver + "\n")
- return (cflags, libs)
- except (OSError, subprocess.CalledProcessError):
- raise SystemExit("Failed to find Evas with 'pkg-config'. Please
make sure that it is installed and available on your system path.")
- except (AssertionError):
- raise SystemExit("Failed to match version. Found: " + ver + "
Needed: " + min_vers)
+# pkg-config
+def pkg_config(name, require, min_vers=None):
+ try:
+ sys.stdout.write("Checking for " + name + ": ")
+ ver = subprocess.check_output(["pkg-config", "--modversion",
require]).decode("utf-8").strip()
+ if min_vers is not None:
+ assert 0 == subprocess.call(["pkg-config", "--atleast-version",
min_vers, require])
+ cflags = subprocess.check_output(["pkg-config", "--cflags",
require]).decode("utf-8").split()
+ libs = subprocess.check_output(["pkg-config", "--libs",
require]).decode("utf-8").split()
+ sys.stdout.write("OK, found " + ver + "\n")
+ return (cflags, libs)
+ except (OSError, subprocess.CalledProcessError):
+ raise SystemExit("Failed to find Evas with 'pkg-config'. Please make
sure that it is installed and available on your system path.")
+ except (AssertionError):
+ raise SystemExit("Failed to match version. Found: " + ver + " Needed:
" + min_vers)
+modules = []
+
+if not "build_doc" in sys.argv:
## This is usefull while working on the source, to force the rebuild of
modules.
# subprocess.call("rm -rfv efl/*/*.c", shell=True)
# subprocess.call("rm -rfv efl/eo/*.c", shell=True)
@@ -53,9 +58,6 @@ else:
# subprocess.call("rm -rfv efl/emotion/*.c", shell=True)
# subprocess.call("rm -rfv efl/elementary/*.c", shell=True)
-
- modules = []
-
# Eo
eo_cflags, eo_libs = pkg_config('Eo', 'eo', "1.7.99")
eina_cflags, eina_libs = pkg_config('Eina', 'eina', "1.7.99")
@@ -116,7 +118,6 @@ else:
#modules.append(edbus_ext)
# Elementary
- elm_cflags, elm_libs = pkg_config('Elementary', 'elementary', "1.7.99")
elm_exts = [
Extension("efl.elementary.actionslider",
["efl/elementary/actionslider.pyx"]),
Extension("efl.elementary.background",
["efl/elementary/background.pyx"]),
@@ -188,6 +189,7 @@ else:
Extension("efl.elementary.window", ["efl/elementary/window.pyx"]),
]
+ elm_cflags, elm_libs = pkg_config('Elementary', 'elementary', "1.7.99")
for e in elm_exts:
e.include_dirs = ['include/']
e.extra_compile_args = elm_cflags
@@ -215,5 +217,7 @@ if __name__ == "__main__":
#"builder": (None, "coverage"),
},
},
- ext_modules = cythonize(modules, include_path=["include",],
compiler_directives={"embedsignature": False}),
+ ext_modules = cythonize(modules,
+ include_path=["include",],
+ compiler_directives={"embedsignature": False}),
)
--
------------------------------------------------------------------------------
Own the Future-Intel® Level Up Game Demo Contest 2013
Rise to greatness in Intel's independent game demo contest.
Compete for recognition, cash, and the chance to get your game
on Steam. $5K grand prize plus 10 genre and skill prizes.
Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d