- Generate patches with
git diff --patch --minimal -b
Download and unpack the tarball into libev/. Remove these extra files:
rm -f libev/Makefile.am rm -f libev/Symbols.ev rm -f libev/Symbols.event rm -f libev/TODO rm -f libev/aclocal.m4 rm -f libev/autogen.sh rm -f libev/compile rm -f libev/configure.ac rm -f libev/libev.m4 rm -f libev/mkinstalldirs
Check if 'config.guess' and/or 'config.sub' went backwards in time (the 'timestamp' and 'copyright' dates). If so, revert it (or update from the latest source http://git.savannah.gnu.org/gitweb/?p=config.git;a=tree )
Download and clean up the c-ares Makefile.in[c] to empty out the MANPAGES variables so that we don't have to ship those in the sdist:
export CARES_VER=1.15.0 cd deps/ wget https://c-ares.haxx.se/download/c-ares-$CARES_VER.tar.gz tar -xf c-ares-$CARES_VER.tar.gz rm -rf c-ares c-ares-$CARES_VER.tar.gz mv c-ares-$CARES_VER c-ares cp c-ares/include/ares_build.h c-ares/include/ares_build.h.dist rm -rf c-ares/docs rm -rf c-ares/test rm -f c-ares/maketgz rm -f c-ares/CMakeLists.txt rm -f c-ares/RELEASE-PROCEDURE.md c-ares/CONTRIBUTING.md c-ares/SECURITY.md rm -f c-ares/*.cmake c-ares/*.cmake.in rm -f c-ares/buildconf.bat git apply cares-make.patch
At this point there might be new files in c-ares that need added to git, evaluate them and add them.
Follow the same 'config.guess' and 'config.sub' steps as libev.
Clean up the libuv tree, and apply the patches to libuv (this whole sequence is meant to be copied and pasted into the terminal):
export LIBUV_VER=v1.38.0 cd deps/ wget https://dist.libuv.org/dist/$LIBUV_VER/libuv-$LIBUV_VER.tar.gz tar -xf libuv-$LIBUV_VER.tar.gz rm libuv-$LIBUV_VER.tar.gz rm -rf libuv mv libuv-$LIBUV_VER libuv rm -rf libuv/.github rm -rf libuv/docs rm -rf libuv/samples rm -rf libuv/test/*.[ch] libuv/test/test.gyp # must leave the fixtures/ dir rm -rf libuv/tools rm -f libuv/android-configure* rm -f libuv/uv_win_longpath.manifest
At this point there might be new files in libuv that need added to git
and the build process. Evaluate those and add them to git and to
src/gevent/libuv/_corecffi_build.py
as needed. Then check if there
are changes to the build system (e.g., the .gyp files) that need to be
accounted for in our build file.
Caution!
Pay special attention to the m4 directory. New .m4 files that need to be added may not actually show up in git output. See libuv/libuv#2862
- Follow the same 'config.guess' and 'config.sub' steps as libev.