kivy/.ci/build-wheels-linux.sh

56 lines
3.0 KiB
Bash
Raw Normal View History

#!/bin/bash
set -e -x
yum -y install autoconf automake cmake gcc gcc-c++ git make pkgconfig zlib-devel portmidi portmidi-devel Xorg-x11-server-deve mesa-libEGL-devel mtdev-devel mesa-libEGL freetype freetype-devel openjpeg openjpeg-devel libpng libpng-devel libtiff libtiff-devel libwebp libwebp-devel dbus-devel dbus ibus-devel ibus libsamplerate-devel libsamplerate libudev-devel libudev libmodplug-devel libmodplug libvorbis-devel libvorbis flac-devel flac libjpeg-turbo-devel libjpeg-turbo wget;
mkdir ~/kivy_sources;
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/kivy_build/lib;
cd ~/kivy_sources;
git clone --depth 1 https://github.com/spurious/SDL-mirror.git
cd SDL-mirror;
./configure --prefix="$HOME/kivy_build" --bindir="$HOME/kivy_build/bin" --enable-alsa-shared=no --enable-jack-shared=no --enable-pulseaudio-shared=no --enable-esd-shared=no --enable-arts-shared=no --enable-nas-shared=no --enable-sndio-shared=no --enable-fusionsound-shared=no --enable-libsamplerate-shared=no --enable-wayland-shared=no --enable-x11-shared=no --enable-directfb-shared=no --enable-kmsdrm-shared=no;
make;
make install;
make distclean;
cd ~/kivy_sources;
wget http://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.4.tar.gz;
tar xzf SDL2_mixer-2.0.4.tar.gz;
cd SDL2_mixer-2.0.4;
PATH="$HOME/kivy_build/bin:$PATH" PKG_CONFIG_PATH="$HOME/kivy_build/lib/pkgconfig" ./configure --prefix="$HOME/kivy_build" --bindir="$HOME/kivy_build/bin" --enable-music-mod-modplug-shared=no --enable-music-mod-mikmod-shared=no --enable-music-midi-fluidsynth-shared=no --enable-music-ogg-shared=no --enable-music-flac-shared=no --enable-music-mp3-mpg123-shared=no;
PATH="$HOME/kivy_build/bin:$PATH" make;
make install;
make distclean;
cd ~/kivy_sources;
wget http://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.4.tar.gz;
tar xzf SDL2_image-2.0.4.tar.gz;
cd SDL2_image-2.0.4;
PATH="$HOME/kivy_build/bin:$PATH" PKG_CONFIG_PATH="$HOME/kivy_build/lib/pkgconfig" ./configure --prefix="$HOME/kivy_build" --bindir="$HOME/kivy_build/bin" --enable-png-shared=no --enable-jpg-shared=no --enable-tif-shared=no --enable-webp-shared=no;
PATH="$HOME/kivy_build/bin:$PATH" make;
make install;
make distclean;
cd ~/kivy_sources;
wget http://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-2.0.15.tar.gz;
tar xzf SDL2_ttf-2.0.15.tar.gz;
cd SDL2_ttf-2.0.15;
PATH="$HOME/kivy_build/bin:$PATH" PKG_CONFIG_PATH="$HOME/kivy_build/lib/pkgconfig" ./configure --prefix="$HOME/kivy_build" --bindir="$HOME/kivy_build/bin";
PATH="$HOME/kivy_build/bin:$PATH" make;
make install;
make distclean;
cd /io;
for PYBIN in /opt/python/*3*/bin; do
if [[ $PYBIN != *"34"* ]]; then
"${PYBIN}/pip" install --upgrade setuptools pip;
"${PYBIN}/pip" install --upgrade cython nose pygments docutils;
KIVY_SPLIT_EXAMPLES=1 USE_X11=1 USE_SDL2=1 USE_PANGOFT2=0 USE_GSTREAMER=0 PKG_CONFIG_PATH="$HOME/kivy_build/lib/pkgconfig" "${PYBIN}/pip" wheel --no-deps . -w dist/;
fi
done
Switch from Travis/Appveyor to GitHub Actions (#6622) * Switch Linux CI to GitHub Actions. * gst is included in ubuntu. * Detect if wheels are generated. * libtiff5 is used on bionic. * Name test ubuntu, and x11 is lowercase. * Simply workflow name. * Cleanup how we list kivy deps. * Will newer pip fix the cython issues? * Use absolute path. * Cython can't handle when parent dir is same name as project. * Fail on the first error. * Display needs to be specified globally. * Move from appveyor to GitHub Action. * Try fixing syntax error.. * Fix syntax error.. * Fix uploads. [build wheel] * Escape multiline command. [build wheel] * Cython can't handle deep dirs named kivy. [build wheel] * cmd can't have forward slash.. [build wheel] * Find the io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Use full pytest path to prevent cov issues, .ssh may not exist, catch stderr. * Try prevening pyinstaller erro not finding kivy.deps. * Try prevening pyinstaller erro not finding kivy.deps. [build wheel] * Switch to msys using choco. * Pyinstaller cannot seem to import kivy.deps. [build wheel win] * Use ubuntu key as it doesn't check IP/ * Give more time for video test. [build wheel win] * Use ssh keys directly. * clock has been removed from time. [build wheel] * Use msys path directly because ps doesn't accept args otherwise. [build wheel win] * Switch unittests from travis to GitHub actions. * Use full path. * Use full path. * Use full path. * Use full path. * Add OSX wheels. * Add osx app support [build wheel osx] [build app osx] * Seperate gst cahces because it's too big. [build wheel osx] [build app osx] * Try multiple caches. [build app osx] [build wheel osx] * Restore from cache. [build app osx] [build wheel osx] * Use gstreamer that is less than 400MB. [build app osx] [build wheel osx] * Extract platypus compressed files. [build app osx] * Restore package from cache. [build app osx] * Remove travis. [build wheel] [build app osx] * Define ref variable to use to find the branch * Don't block app creation - it hangs on the yes. [build app osx] * Disable osx app building for now * Add publishing to PyPI and de-duplicate osx/ubuntu code. [build wheel] [build app osx] * Dump context. * Add release and PR upload fixes. * Typo. * Use v1 of release action. * We are using dist, not wheelhouse. [build wheel] * Type [build wheel] * Needs sudo to remove docker generated files. [build wheel] * If we don't create dist, we don't have permissions to write in it. [build wheel] * Use PEP 508 to specify dependencies [build wheel] * Use new require tags. [build wheel]
2019-11-29 15:00:31 +00:00
for name in /io/dist/*.whl; do
echo "Fixing $name";
Switch from Travis/Appveyor to GitHub Actions (#6622) * Switch Linux CI to GitHub Actions. * gst is included in ubuntu. * Detect if wheels are generated. * libtiff5 is used on bionic. * Name test ubuntu, and x11 is lowercase. * Simply workflow name. * Cleanup how we list kivy deps. * Will newer pip fix the cython issues? * Use absolute path. * Cython can't handle when parent dir is same name as project. * Fail on the first error. * Display needs to be specified globally. * Move from appveyor to GitHub Action. * Try fixing syntax error.. * Fix syntax error.. * Fix uploads. [build wheel] * Escape multiline command. [build wheel] * Cython can't handle deep dirs named kivy. [build wheel] * cmd can't have forward slash.. [build wheel] * Find the io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Define include to avoid not finding io.h. [build wheel] * Use full pytest path to prevent cov issues, .ssh may not exist, catch stderr. * Try prevening pyinstaller erro not finding kivy.deps. * Try prevening pyinstaller erro not finding kivy.deps. [build wheel] * Switch to msys using choco. * Pyinstaller cannot seem to import kivy.deps. [build wheel win] * Use ubuntu key as it doesn't check IP/ * Give more time for video test. [build wheel win] * Use ssh keys directly. * clock has been removed from time. [build wheel] * Use msys path directly because ps doesn't accept args otherwise. [build wheel win] * Switch unittests from travis to GitHub actions. * Use full path. * Use full path. * Use full path. * Use full path. * Add OSX wheels. * Add osx app support [build wheel osx] [build app osx] * Seperate gst cahces because it's too big. [build wheel osx] [build app osx] * Try multiple caches. [build app osx] [build wheel osx] * Restore from cache. [build app osx] [build wheel osx] * Use gstreamer that is less than 400MB. [build app osx] [build wheel osx] * Extract platypus compressed files. [build app osx] * Restore package from cache. [build app osx] * Remove travis. [build wheel] [build app osx] * Define ref variable to use to find the branch * Don't block app creation - it hangs on the yes. [build app osx] * Disable osx app building for now * Add publishing to PyPI and de-duplicate osx/ubuntu code. [build wheel] [build app osx] * Dump context. * Add release and PR upload fixes. * Typo. * Use v1 of release action. * We are using dist, not wheelhouse. [build wheel] * Type [build wheel] * Needs sudo to remove docker generated files. [build wheel] * If we don't create dist, we don't have permissions to write in it. [build wheel] * Use PEP 508 to specify dependencies [build wheel] * Use new require tags. [build wheel]
2019-11-29 15:00:31 +00:00
auditwheel repair --plat manylinux2010_x86_64 $name -w /io/dist/;
done