diff --git a/.gitignore b/.gitignore
index e449f22..6f4ac6e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -308,3 +308,4 @@
 /vim-8.2-1009.tar.bz2
 /vim-8.2-1052.tar.bz2
 /vim-8.2-1081.tar.bz2
+/vim-8.2-1199.tar.bz2
diff --git a/sources b/sources
index abeb9a2..ad242b8 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (vim-8.2-1081.tar.bz2) = 1e0f4fa6283d00166f85792205b17b2e7741dc63204ba3e3db8eed1729e20e3c8f1a49e8a31f471b65e17e16d9ea54b389749889fd52dabe738189f8520bad12
+SHA512 (vim-8.2-1199.tar.bz2) = 4a3d7c972c5406a928291457e21bb041bd532833c3f092ba058b8a9a3512beefd1a3271bb45259c0b3aec5afbfa88e357db40fe8ec90739b5919588d8c0ad59d
diff --git a/vim-lua-ftbfs.patch b/vim-lua-ftbfs.patch
new file mode 100644
index 0000000..b4bbb67
--- /dev/null
+++ b/vim-lua-ftbfs.patch
@@ -0,0 +1,13 @@
+diff --git a/src/if_lua.c b/src/if_lua.c
+index 9852c61..21141d8 100644
+--- a/src/if_lua.c
++++ b/src/if_lua.c
+@@ -457,7 +457,7 @@ lua_enabled(int verbose)
+ }
+ #endif
+ 
+-#if LUA_VERSION_NUM > 501
++#if LUA_VERSION_NUM > 501 && LUA_VERSION_NUM < 504
+     static int
+ luaL_typeerror(lua_State *L, int narg, const char *tname)
+ {
diff --git a/vim.spec b/vim.spec
index 604d431..63e34fc 100644
--- a/vim.spec
+++ b/vim.spec
@@ -1,4 +1,4 @@
-%define patchlevel 1081
+%define patchlevel 1199
 %if %{?WITH_SELINUX:0}%{!?WITH_SELINUX:1}
 %define WITH_SELINUX 1
 %endif
@@ -61,6 +61,7 @@ Patch3016: vim-8.0-copy-paste.patch
 Patch3017: vim-python3-tests.patch
 # fips warning
 Patch3018: vim-crypto-warning.patch
+Patch3019: vim-lua-ftbfs.patch
 
 # gcc is no longer in buildroot by default
 BuildRequires: gcc
@@ -248,6 +249,7 @@ perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk
 %patch3016 -p1 -b .copypaste
 %patch3017 -p1 -b .python-tests
 %patch3018 -p1
+%patch3019 -p1 -b .lua-ftbfs
 
 %build
 cd src
@@ -297,10 +299,19 @@ make clean
 mv -f os_unix.h.save os_unix.h
 mv -f ex_cmds.c.save ex_cmds.c
 
+# since Lua 5.4.0, we need to add lua linker flag
+export LDFLAGS="%{build_ldflags} -llua"
+# python introduced incompatible change in getting linker flags for compiling programs
+# which use C python API. Remove %%if after F31 going EOL and leave the single export here.
+# This LDFLAGS settings needs to be before vim+gvim configuration and after vi configuration
+# to prevent vi (doesn't have python embedded interpreter) be linked with python.
+# When assigning to LDFLAGS, we join the current LDFLAGS with python linker flags - it is
+# because we already defined LDFLAGS above when Lua linker flag was added. If the manual
+# Lua linker flag adding goes away, use %%{build_ldflags} in the concatenation instead of LDFLAGS
 %if 0%{?fedora} > 31 || 0%{?rhel} > 8
-export LDFLAGS="%{build_ldflags} $(python3-config --libs --embed)"
+export LDFLAGS="$LDFLAGS $(python3-config --libs --embed)"
 %else
-export LDFLAGS="%{build_ldflags} $(python3-config --libs)"
+export LDFLAGS="$LDFLAGS $(python3-config --libs)"
 %endif
 
 # More configure options:
@@ -780,6 +791,9 @@ touch %{buildroot}/%{_datadir}/%{name}/vimfiles/doc/tags
 %{_datadir}/icons/locolor/*/apps/*
 
 %changelog
+* Mon Jul 13 2020 Zdenek Dohnal <zdohnal@redhat.com> - 2:8.2.1199-1
+- patchlevel 1199
+
 * Mon Jun 29 2020 Zdenek Dohnal <zdohnal@redhat.com> - 2:8.2.1081-1
 - patchlevel 1081