kivy-ios/kivy_ios/recipes/sdl2_ttf/__init__.py
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

34 lines
1.1 KiB
Python

from kivy_ios.toolchain import Recipe, shprint
from os.path import join
import sh
import shutil
import shlex
class LibSDL2TTFRecipe(Recipe):
version = "2.0.14"
url = "https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-{version}.tar.gz"
library = "libSDL2_ttf.a"
include_dir = "SDL_ttf.h"
depends = ["sdl2", "freetype"]
def build_arch(self, arch):
# XCode-iOS have shipped freetype that don't work with i386
# ./configure require too much things to setup it correcly.
# so build by hand.
build_env = arch.get_env()
cc = sh.Command(build_env["CC"])
output = join(self.build_dir, "SDL_ttf.o")
args = shlex.split(build_env["CFLAGS"])
args += ["-c", "-o", output, "SDL_ttf.c"]
shprint(cc, *args)
shprint(sh.ar, "-q", join(self.build_dir, "libSDL2_ttf.a"), output)
def install(self):
for arch in self.filtered_archs:
shutil.copy(
join(self.get_build_dir(arch.arch), "SDL_ttf.h"),
join(self.ctx.include_dir, "common", "SDL2"))
recipe = LibSDL2TTFRecipe()