--- a/setup.py	2020-03-12 00:28:46.725956882 +0100
+++ b/setup.py	2020-03-12 00:38:55.557945979 +0100
@@ -876,6 +876,14 @@
         create_macos_bundle_gunk(ddir)
 # }}}
 
+def terminfo(args):
+    ddir = args.prefix
+    libdir = os.path.join(ddir, args.libdir_name.strip('/'), 'kitty')
+    build_terminfo = runpy.run_path('build-terminfo', run_name='import_build')
+    for x in (libdir, os.path.join(ddir, 'share')):
+        odir = os.path.join(x, 'terminfo')
+        safe_makedirs(odir)
+        build_terminfo['compile_terminfo'](odir)
 
 def clean():
 
@@ -889,7 +897,7 @@
 
     safe_remove(
         'build', 'compile_commands.json', 'link_commands.json',
-        'linux-package', 'kitty.app', 'asan-launcher',
+        'linux-package', 'linux-terminfo', 'kitty.app', 'asan-launcher',
         'kitty-profile', 'kitty/launcher')
     exclude = ('.git',)
     for root, dirs, files in os.walk('.', topdown=True):
@@ -910,7 +918,7 @@
         'action',
         nargs='?',
         default=Options.action,
-        choices='build test linux-package kitty.app linux-freeze macos-freeze clean'.split(),
+        choices='build test linux-package linux-terminfo kitty.app linux-freeze macos-freeze clean'.split(),
         help='Action to perform (default is build)'
     )
     p.add_argument(
@@ -1007,6 +1015,8 @@
         elif args.action == 'linux-package':
             build(args, native_optimizations=False)
             package(args, bundle_type='linux-package')
+        elif args.action == 'linux-terminfo':
+            terminfo(args)
         elif args.action == 'linux-freeze':
             build(args, native_optimizations=False)
             package(args, bundle_type='linux-freeze')
