Compare commits
4 Commits
d1b4512e52
...
c8d7bddb47
Author | SHA1 | Date |
---|---|---|
|
c8d7bddb47 | |
|
4bb6d9fa9f | |
|
0b089a5623 | |
|
a7464e66e6 |
|
@ -1,3 +1,11 @@
|
||||||
|
===================
|
||||||
|
2023-10-08 v1.26.1
|
||||||
|
===================
|
||||||
|
|
||||||
|
Maintenance release:
|
||||||
|
* rebuilt using Cython 0.29.34 to fix install on python 3.11
|
||||||
|
|
||||||
|
|
||||||
===================
|
===================
|
||||||
2022-02-27 v1.26.0
|
2022-02-27 v1.26.0
|
||||||
===================
|
===================
|
||||||
|
|
18
README.md
18
README.md
|
@ -64,15 +64,15 @@ The HTML generated documentation will be available in the folder: `build/sphinx/
|
||||||
|
|
||||||
## Some of the projects using Python-EFL (in random order)
|
## Some of the projects using Python-EFL (in random order)
|
||||||
|
|
||||||
| **Project** | **Website** |
|
| **Project** | **Website** |
|
||||||
| -- | -- |
|
|-------------------------------------|------------------------------------------------------|
|
||||||
| **EpyMC** - Media Center | https://github.com/DaveMDS/epymc |
|
| **EpyMC** - Media Center | https://github.com/DaveMDS/epymc |
|
||||||
| **Espionage** - D-Bus inspector | https://phab.enlightenment.org/w/projects/espionage/ |
|
| **Espionage** - D-Bus inspector | https://phab.enlightenment.org/w/projects/espionage/ |
|
||||||
| **Epour** - BitTorrent Client | https://phab.enlightenment.org/w/projects/epour/ |
|
| **Epour** - BitTorrent Client | https://phab.enlightenment.org/w/projects/epour/ |
|
||||||
| **Eluminance** - Fast photo browser | https://github.com/DaveMDS/eluminance |
|
| **Eluminance** - Fast photo browser | https://github.com/DaveMDS/eluminance |
|
||||||
| **Egitu** - Git User Interface | https://github.com/DaveMDS/egitu |
|
| **Egitu** - Git User Interface | https://github.com/DaveMDS/egitu |
|
||||||
| **Edone** - GettingThingsDone | https://github.com/DaveMDS/edone |
|
| **Edone** - GettingThingsDone | https://github.com/DaveMDS/edone |
|
||||||
| **Epack** - Archive extractor | https://github.com/wfx/epack |
|
| **Epack** - Archive extractor | https://github.com/wfx/epack |
|
||||||
|
|
||||||
... and many more that cannot fit in this short list. If have some code and want it in this list just let us know.
|
... and many more that cannot fit in this short list. If have some code and want it in this list just let us know.
|
||||||
|
|
||||||
|
|
38
setup.py
38
setup.py
|
@ -15,7 +15,8 @@ script_path = os.path.dirname(os.path.abspath(__file__))
|
||||||
|
|
||||||
# dependencies
|
# dependencies
|
||||||
EFL_MIN_VER = '1.26.0'
|
EFL_MIN_VER = '1.26.0'
|
||||||
CYTHON_MIN_VERSION = '0.23.5'
|
CYTHON_MIN_VERSION = '0.29.34'
|
||||||
|
CYTHON_MAX_VERSION = '0.99.99'
|
||||||
CYTHON_BLACKLIST = ()
|
CYTHON_BLACKLIST = ()
|
||||||
|
|
||||||
|
|
||||||
|
@ -24,6 +25,7 @@ def read_file(rel_path):
|
||||||
with open(os.path.join(script_path, rel_path)) as fp:
|
with open(os.path.join(script_path, rel_path)) as fp:
|
||||||
return fp.read()
|
return fp.read()
|
||||||
|
|
||||||
|
|
||||||
def cmd_output(cmd):
|
def cmd_output(cmd):
|
||||||
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||||
p.wait()
|
p.wait()
|
||||||
|
@ -35,6 +37,7 @@ def cmd_output(cmd):
|
||||||
return ''
|
return ''
|
||||||
return p.stdout.read().decode('utf-8').strip()
|
return p.stdout.read().decode('utf-8').strip()
|
||||||
|
|
||||||
|
|
||||||
def get_version(rel_path):
|
def get_version(rel_path):
|
||||||
for line in read_file(rel_path).splitlines():
|
for line in read_file(rel_path).splitlines():
|
||||||
if line.startswith('__version__'):
|
if line.startswith('__version__'):
|
||||||
|
@ -90,6 +93,7 @@ elif os.path.exists(os.path.join(script_path, 'Makefile')):
|
||||||
|
|
||||||
# === pkg-config helper ===
|
# === pkg-config helper ===
|
||||||
def pkg_config(name, require, min_vers=None):
|
def pkg_config(name, require, min_vers=None):
|
||||||
|
ver = None
|
||||||
try:
|
try:
|
||||||
sys.stdout.write('Checking for %s: ' % name)
|
sys.stdout.write('Checking for %s: ' % name)
|
||||||
|
|
||||||
|
@ -103,7 +107,7 @@ def pkg_config(name, require, min_vers=None):
|
||||||
|
|
||||||
cflags = cmd_output('pkg-config --cflags %s' % require).split()
|
cflags = cmd_output('pkg-config --cflags %s' % require).split()
|
||||||
libs = cmd_output('pkg-config --libs %s' % require).split()
|
libs = cmd_output('pkg-config --libs %s' % require).split()
|
||||||
return (cflags, libs)
|
return cflags, libs
|
||||||
except (OSError, subprocess.CalledProcessError):
|
except (OSError, subprocess.CalledProcessError):
|
||||||
raise SystemExit('Did not find %s with pkg-config.' % name)
|
raise SystemExit('Did not find %s with pkg-config.' % name)
|
||||||
except AssertionError:
|
except AssertionError:
|
||||||
|
@ -130,7 +134,7 @@ if os.getenv('CFLAGS') is not None and '-fvisibility=' in os.environ['CFLAGS']:
|
||||||
os.environ['CFLAGS'] += ' -fvisibility=default'
|
os.environ['CFLAGS'] += ' -fvisibility=default'
|
||||||
|
|
||||||
|
|
||||||
if set(('build', 'build_ext', 'install', 'bdist', 'bdist_wheel', 'sdist')) & set(sys.argv):
|
if {'build', 'build_ext', 'install', 'bdist', 'bdist_wheel', 'sdist'} & set(sys.argv):
|
||||||
# === check cython version ===
|
# === check cython version ===
|
||||||
sys.stdout.write('Checking for Cython: ')
|
sys.stdout.write('Checking for Cython: ')
|
||||||
if USE_CYTHON:
|
if USE_CYTHON:
|
||||||
|
@ -139,13 +143,18 @@ if set(('build', 'build_ext', 'install', 'bdist', 'bdist_wheel', 'sdist')) & set
|
||||||
import Cython
|
import Cython
|
||||||
import Cython.Compiler.Options
|
import Cython.Compiler.Options
|
||||||
except ImportError:
|
except ImportError:
|
||||||
raise SystemExit('not found! Needed >= %s' % (CYTHON_MIN_VERSION))
|
raise SystemExit('not found! Needed >= %s' % CYTHON_MIN_VERSION)
|
||||||
|
|
||||||
# check min version
|
# check min version
|
||||||
if Version(Cython.__version__) < Version(CYTHON_MIN_VERSION):
|
if Version(Cython.__version__) < Version(CYTHON_MIN_VERSION):
|
||||||
raise SystemExit('too old! Found %s Needed %s' % (
|
raise SystemExit('too old! Found %s (need at least %s)' % (
|
||||||
Cython.__version__, CYTHON_MIN_VERSION))
|
Cython.__version__, CYTHON_MIN_VERSION))
|
||||||
|
|
||||||
|
# check max version
|
||||||
|
if Version(Cython.__version__) > Version(CYTHON_MAX_VERSION):
|
||||||
|
raise SystemExit('too new! Found %s (need at most %s)' % (
|
||||||
|
Cython.__version__, CYTHON_MAX_VERSION))
|
||||||
|
|
||||||
# check black-listed releases
|
# check black-listed releases
|
||||||
if Cython.__version__.startswith(CYTHON_BLACKLIST):
|
if Cython.__version__.startswith(CYTHON_BLACKLIST):
|
||||||
raise SystemExit('found %s, its broken! Need another release' %
|
raise SystemExit('found %s, its broken! Need another release' %
|
||||||
|
@ -304,8 +313,8 @@ if set(('build', 'build_ext', 'install', 'bdist', 'bdist_wheel', 'sdist')) & set
|
||||||
ext_modules,
|
ext_modules,
|
||||||
include_path=['include'],
|
include_path=['include'],
|
||||||
compiler_directives={
|
compiler_directives={
|
||||||
#'c_string_type': 'unicode',
|
# 'c_string_type': 'unicode',
|
||||||
#'c_string_encoding': 'utf-8',
|
# 'c_string_encoding': 'utf-8',
|
||||||
'embedsignature': True,
|
'embedsignature': True,
|
||||||
'binding': True,
|
'binding': True,
|
||||||
'language_level': 2,
|
'language_level': 2,
|
||||||
|
@ -377,13 +386,16 @@ class CleanGenerated(Command):
|
||||||
if fname.endswith(('.c', '.html')) and fname != 'e_dbus.c':
|
if fname.endswith(('.c', '.html')) and fname != 'e_dbus.c':
|
||||||
self.remove(os.path.join(root, fname))
|
self.remove(os.path.join(root, fname))
|
||||||
|
|
||||||
def remove(self, fullpath):
|
@staticmethod
|
||||||
|
def remove(fullpath):
|
||||||
print('removing %s' % fullpath.replace(script_path, '').lstrip('/'))
|
print('removing %s' % fullpath.replace(script_path, '').lstrip('/'))
|
||||||
os.remove(fullpath)
|
os.remove(fullpath)
|
||||||
|
|
||||||
|
|
||||||
# === setup.py uninstall command ===
|
# === setup.py uninstall command ===
|
||||||
RECORD_FILE = 'installed_files-%d.%d.txt' % sys.version_info[:2]
|
RECORD_FILE = 'installed_files-%d.%d.txt' % (sys.version_info[0], sys.version_info[1])
|
||||||
|
|
||||||
|
|
||||||
class Uninstall(Command):
|
class Uninstall(Command):
|
||||||
description = 'remove all the installed files recorded at installation time'
|
description = 'remove all the installed files recorded at installation time'
|
||||||
user_options = []
|
user_options = []
|
||||||
|
@ -394,7 +406,8 @@ class Uninstall(Command):
|
||||||
def finalize_options(self):
|
def finalize_options(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def remove_entry(self, entry):
|
@staticmethod
|
||||||
|
def remove_entry(entry):
|
||||||
if os.path.isfile(entry):
|
if os.path.isfile(entry):
|
||||||
try:
|
try:
|
||||||
print('removing file %s' % entry)
|
print('removing file %s' % entry)
|
||||||
|
@ -404,7 +417,7 @@ class Uninstall(Command):
|
||||||
return
|
return
|
||||||
|
|
||||||
directory = os.path.dirname(entry)
|
directory = os.path.dirname(entry)
|
||||||
while os.listdir(directory) == []:
|
while not os.listdir(directory):
|
||||||
try:
|
try:
|
||||||
print('removing empty directory %s' % directory)
|
print('removing empty directory %s' % directory)
|
||||||
os.rmdir(directory)
|
os.rmdir(directory)
|
||||||
|
@ -432,7 +445,7 @@ setup(
|
||||||
author_email='dave@gurumeditation.it, kai.huuhko@gmail.com',
|
author_email='dave@gurumeditation.it, kai.huuhko@gmail.com',
|
||||||
contact='Enlightenment developer mailing list',
|
contact='Enlightenment developer mailing list',
|
||||||
contact_email='enlightenment-devel@lists.sourceforge.net',
|
contact_email='enlightenment-devel@lists.sourceforge.net',
|
||||||
url='http://www.enlightenment.org',
|
url='https://www.enlightenment.org',
|
||||||
license='GNU Lesser General Public License (LGPL)',
|
license='GNU Lesser General Public License (LGPL)',
|
||||||
keywords='efl wrapper binding enlightenment eo evas ecore edje emotion elementary ethumb',
|
keywords='efl wrapper binding enlightenment eo evas ecore edje emotion elementary ethumb',
|
||||||
classifiers=[
|
classifiers=[
|
||||||
|
@ -444,7 +457,6 @@ setup(
|
||||||
'Operating System :: POSIX',
|
'Operating System :: POSIX',
|
||||||
'Programming Language :: C',
|
'Programming Language :: C',
|
||||||
'Programming Language :: Cython',
|
'Programming Language :: Cython',
|
||||||
'Programming Language :: Python :: 2',
|
|
||||||
'Programming Language :: Python :: 3',
|
'Programming Language :: Python :: 3',
|
||||||
'Topic :: Software Development :: Libraries :: Python Modules',
|
'Topic :: Software Development :: Libraries :: Python Modules',
|
||||||
'Topic :: Software Development :: User Interfaces',
|
'Topic :: Software Development :: User Interfaces',
|
||||||
|
|
Loading…
Reference in New Issue