Commit graph

24 commits

Author SHA1 Message Date
Mirko
0998ea824a
Add custom_recipes (#417) 2020-05-24 10:01:24 +02:00
Richard Larkin
df56328c10
🐛 Fix wekzeug recipe. closes #468 (#501)
Co-authored-by: richard <richard@dotmodus>
2020-05-18 07:40:31 +02:00
Richard Larkin
da8998892b
Fix/pillow (#500)
* 🔨 Fix pillow recipe

* Add missing commit

Co-authored-by: richard <richard@dotmodus>
2020-05-18 07:39:58 +02:00
Richard Larkin
d63d43cf98
🔨 Fix pillow recipe (#498)
Co-authored-by: richard <richard@dotmodus>
2020-05-17 14:39:26 +02:00
Andre Miras
2a06bec1db Updates netifaces recipe, leverages python_depends
- Uses the `python_depends` feature introduced in #455
2020-05-13 18:03:11 +02:00
Andre Miras
4f1dffc754 🐛 fixes flake8 errors post update
The recent `flake8==3.8.1` update reported new errors:
```
kivy_ios/toolchain.py:292:31: E741 ambiguous variable name 'l'
...
```
Also note the entire `xcassets.py` file is being ignored as we can't
seem to use one ignore for the entire list anymore. I'm not sure if
this is a regression or a new feature from flake8.
2020-05-13 08:15:41 +02:00
Andre Miras
5c92b68bd5 Fixes (venv build) reference to SDL_main.h
Also tries the xcodebuild in the virtualenv.
2020-05-11 10:45:01 +02:00
Mirko Galimberti
85177f51ec Add python depends 2020-05-09 13:28:30 +02:00
Mirko Galimberti
eeeb06243c Adds initial_working_directory 2020-05-09 10:40:29 +02:00
Andre Miras
c35c94a0fa
Merge pull request #488 from AndreMiras/feature/netifaces_recipe
Adds netifaces recipe, closes #239
2020-05-07 18:13:24 +02:00
Andre Miras
d61008a94a Adds netifaces recipe, closes #239
Note this is an early version working on the `x86_64` simulator.
It wasn't tested on an arm device.
Requires setuptools to be installed:
```sh
python toolchain.py pip install setuptools
```
Tested with main.py:
```python
import netifaces
print("interfaces:", netifaces.interfaces())
```
And produced the following output in the `x86_64` simulator:
```
Available orientation: KIVY_ORIENTATION=LandscapeLeft LandscapeRight Portrait PortraitUpsideDown
Initializing python
Running main.py: /Users/vagrant/Library/Developer/CoreSimulator/Devices/.../Application/.../testnetifaces.app/YourApp/main.pyc
interfaces: ['lo0', 'gif0', 'stf0', 'en0', 'utun0', 'utun1']
Leaving
```
2020-05-07 16:40:54 +02:00
Andre Miras
f082919a90 Uses contextlib.suppress to ignore exceptions
Shorter, yet more meaningful way to ignore exceptions.
Also note it can prevent race conditions in the `if exists()` case.
2020-05-06 22:38:25 +02:00
Andre Miras
04b82d8c85 DRY via the find_xcodeproj() helper method
Also removes try/except on `pbxproj` imports. This is now part of
the `setup.py` dependencies and installed automatically.
Users bypassing the `setup.py` should know what they're doing, hence
they should be able to read an `ImportError` exception.
2020-05-06 20:28:54 +02:00
Andre Miras
b1bdfcd028 Uses cd context manager in Python3Recipe.reduce_python() 2020-05-06 20:06:06 +02:00
Andre Miras
2c0a79a817 Uses Python 3 syntax
This is a follow up for #482, uses Python 3 syntax:
- Simplifies `super()` calls
- Removes some unused `super()` (no parent class)
- Removes `object` inheritance
- Drops `IS_PY2` logic
- Drops Python 2 imports
2020-05-06 18:59:20 +02:00
Andre Miras
6fbf225fdb
Merge pull request #483 from AndreMiras/feature/lint_tools
Also lints the tools/ folder
2020-05-06 18:40:49 +02:00
Andre Miras
7e13a07f57 Also lints the tools/ folder
Thanks to #454 the `tools/` folder only holds code we own so we can lint it
2020-05-06 17:09:35 +02:00
Andre Miras
e29d6aa256 Removed Python 2 support
Drops system, host and target Python 2 support.
Note a lot of recipes were having hardcoded reference to
`lib/python2.7/site-packages/` directory. I suspect most
of theses were not working, but the reference has been updated
to `lib/python3.7/site-packages/` following the same hardcoding
pattern. In follow up work we would do a walkthrough each recipes
to fix at least compilation time issues.
Also note the `rebuild_updated_recipes.py` is expected to fail as
this is touching many recipes including recipes that were already
broken.
2020-05-06 15:46:34 +02:00
Andre Miras
8a4e5b43c9 Migrates libffi build to Python 3
Issue reported libffi upstream:
https://github.com/libffi/libffi/pull/563

Also updates `rebuild_updated_recipes.py` following up #472
2020-05-06 15:03:20 +02:00
Andre Miras
30cca1ed62 Takes ToolchainCL definition outside the main
I can't justify why it would need to be inside the main.
Let's take it out and see what breaks ;)
2020-05-05 23:53:22 +02:00
Andre Miras
66fd9fae2b Uses a couple of syntax shortcuts
- shutil.rmtree() with ignore_errors=True
- os.makedirs() with exist_ok=True
- str.endswith() using extension list

Also moves `sh` with other imports and removes unnecessary super() call
2020-05-05 23:22:33 +02:00
Andre Miras
e786a30b90 Fixes a regression introduced during the linting
https://github.com/kivy/kivy-ios/pull/451/files#diff-e34220312893036b30eb8d11b5cc12d7R1495
2020-05-05 16:34:22 +02:00
lerela
a47f946f9a Fixes to Numpy so that the binary is accepted by the App Store.
Explanation: Apple forbids some symbols that Numpy is linked against (ccopy, dcopy, scopy, zcopy and xerbla). Compilation and tests work fine but the App Store complains and prevents uploading such builds.
This patch aliases the culprits to the public, allowed method names, allowing the linking to proceed as before and the resulting binary to be accepted by the App Store.
2020-05-05 10:51:08 +02:00
Andre Miras
56431b6922 Moving to dedicated kivy_ios/ package directory
- updates all imports to prefix kivy_ios
- adds basic `setup.py` file
- adds a simple `toolchain.py` to the root folder for compat

Makes it possible to install kivy-ios from PyPI:
```
pip install kivy-ios
toolchain --help
```
Note the `rebuild_updated_recipes.py` is expected to fail as we
moved all the recipes.

This is a working, but unperfect iteration that come with limitations
we would address in subsequent pull requests, such as:
- the new usage is not yet documented
- CI is not testing the source distribution creation and install
- Continuous Delivery to PyPI is not in place
- `toolchain` binary is a bit too generic name
- we're still vendoring things under `tools/`
2020-05-03 23:29:41 +02:00