4.9.0 make install from tarball fails with CFFI egg build using Python 3.8

make install fails when building CFFI using Python 3.8 (see below for error). I suspect this is due to the installer trying to install CFFI-1.11.5. However, I cannot force it to install the latest package 1.14.4. Anyone got an idea here?

"PYTHON_VER is python3.8."
"Python 3 module install via pip"
"SYS_PYTHON is /usr/bin/python3.8."
"ENV_PYTHON is /tmp/hue-4.9.0/build/env/bin/python3.8."
--- Installing core source structure...
--- Installing Desktop core...
INSTALL_DIR=/usr/share/hue make -C desktop install
make[1]: Entering directory '/tmp/hue-4.9.0/desktop'
"PYTHON_VER is python3.8."
"Python 3 module install via pip"
"SYS_PYTHON is /usr/bin/python3.8."
"ENV_PYTHON is /tmp/hue-4.9.0/build/env/bin/python3.8."
"----------------> ENV_INSTALL_TARGETS: .recursive-env-install/core .recursive-env-install/libs/aws .recursive-env-install/libs/azure .recursive-env-install/libs/hadoop .recursive-env-install/libs/indexer .recursive-env-install/libs/libanalyze .recursive-env-install/libs/liboauth .recursive-env-install/libs/liboozie .recursive-env-install/libs/librdbms .recursive-env-install/libs/libsaml .recursive-env-install/libs/libsentry .recursive-env-install/libs/libsolr .recursive-env-install/libs/libzookeeper .recursive-env-install/libs/metadata .recursive-env-install/libs/notebook .recursive-env-install/libs/dashboard .recursive-env-install/libs/kafka"
INSTALL_DIR=/usr/share/hue/desktop/core \
        INSTALL_CONF_DIR=/usr/share/hue/desktop/conf \
        make -C core install-bdist
make[2]: Entering directory '/tmp/hue-4.9.0/desktop/core'
"PYTHON_VER is python3.8."
"Python 3 module install via pip"
"SYS_PYTHON is /usr/bin/python3.8."
"ENV_PYTHON is /tmp/hue-4.9.0/build/env/bin/python3.8."
--- Building egg for cffi-1.11.5
running bdist_egg
running egg_info
writing cffi.egg-info/PKG-INFO
writing dependency_links to cffi.egg-info/dependency_links.txt
writing entry points to cffi.egg-info/entry_points.txt
writing requirements to cffi.egg-info/requires.txt
writing top-level names to cffi.egg-info/top_level.txt
reading manifest file 'cffi.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'cffi.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
running build_ext
building '_cffi_backend' extension
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/local/include -I/usr/include/python3.8 -I/tmp/hue-4.9.0/build/env/include/python3.8 -c c/_cffi_backend.c -o build/temp.linux-x86_64-3.8/c/_cffi_backend.o
c/_cffi_backend.c: In function ‘b_do_dlopen’:
c/_cffi_backend.c:4197:31: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         *p_printable_filename = PyText_AsUTF8(s);
                               ^
c/_cffi_backend.c: In function ‘b_callback’:
c/_cffi_backend.c:5911:5: warning: ‘ffi_prep_closure’ is deprecated: use ffi_prep_closure_loc instead [-Wdeprecated-declarations]
     if (ffi_prep_closure(closure, &cif_descr->cif,
     ^~
In file included from c/_cffi_backend.c:15:0:
/usr/local/include/ffi.h:334:1: note: declared here
 ffi_prep_closure (ffi_closure*,
 ^~~~~~~~~~~~~~~~
In file included from c/cffi1_module.c:20:0,
                 from c/_cffi_backend.c:7370:
c/call_python.c: In function ‘_get_interpstate_dict’:
c/call_python.c:20:30: error: dereferencing pointer to incomplete type ‘PyInterpreterState {aka struct _is}’
     builtins = tstate->interp->builtins;
                              ^~
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
/tmp/hue-4.9.0/Makefile.sdk:132: recipe for target '/tmp/hue-4.9.0/desktop/core/build/cffi-1.11.5/egg.stamp' failed
make[2]: *** [/tmp/hue-4.9.0/desktop/core/build/cffi-1.11.5/egg.stamp] Error 1
make[2]: Leaving directory '/tmp/hue-4.9.0/desktop/core'
Makefile:112: recipe for target '.recursive-install-bdist/core' failed
make[1]: *** [.recursive-install-bdist/core] Error 2
make[1]: Leaving directory '/tmp/hue-4.9.0/desktop'
Makefile:123: recipe for target 'install-desktop' failed
make: *** [install-desktop] Error 2

Fixed by downloading the source code of cffi-1.14.4 here and then extracted into /path/to/tarball/hue-4.9.0/desktop/core/ext-py/cffi-1.14.4

Thanks! So we should bump it very probably. Would you send a pull request to bump it in https://github.com/cloudera/hue/blob/master/desktop/core/requirements.txt ?
This will make it work with Python 3.