Skip to content

Latest commit

 

History

History

deps

Managing Embedded Dependencies

  • Generate patches with git diff --patch --minimal -b

Updating libev

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 )

Updating c-ares

  • 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.

Updating libuv

  • 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.