Commit Graph

452 Commits

Author SHA1 Message Date
Luflosi
527ff0238a
Replace all instances of EnvironmentError with OSError
According to the text just above https://docs.python.org/3/library/exceptions.html#EnvironmentError, `EnvironmentError` has been an alias of `OSError` since Python 3.3. Replacing it makes the code more consistent since `OSError` is used in other places in the code too.
2020-01-11 16:47:36 +01:00
Luflosi
48728bdfdc
Use "with suppress()" to suppress a python exception 2020-01-09 16:21:56 +01:00
Kovid Goyal
e142083d53
Remove unused code
Strip out the GLFW timer code, since we use our own kitty based
monotonic clock.
2019-12-19 16:27:25 +05:30
Kovid Goyal
7bf0afa621
Fix #2187 2019-12-08 22:37:47 +05:30
Kovid Goyal
2cee3a8809
Better fix for getting clock_gettime() from time.h
Fixes #2169
2019-11-27 22:20:55 +05:30
Kovid Goyal
804f72b31a
Get monotonic.h to build on older linux distros 2019-11-27 09:55:00 +05:30
Kovid Goyal
e106dcc83b
Dont use -Wfloat-conversion on old compilers 2019-11-27 09:27:23 +05:30
Luflosi
6f6180c34a
Change URL to avoid redirect
Since `https://sw.kovidgoyal.net/kitty` redirects to `https://sw.kovidgoyal.net/kitty/`, it would be better to directly use the second URL.
2019-11-26 17:23:21 +01:00
Luflosi
4f7d12f3fd
Fix error when two linker processes fail
When a linker process fails, `failed` will be set to a value other than `None`. When a second linker process fails, the `else` case will be taken because `failed is None`, which executes `compile_cmd.on_success()`. This function tries to rename or move the file generated by the linker but since the linker process failed, the file will most likely not exist. This will throw an error, which will prevent printing the actual error message from the linker.
2019-10-27 21:50:22 +01:00
Kovid Goyal
8184ba246a
Load libcanberra dynamically at runtime, as needed
Fixes #2089
2019-10-24 09:03:52 +05:30
Kovid Goyal
0d68b7078c
Check for float conversion issues on build
Useful to catch any errors left over from the migration of times from
double to int64_t
2019-09-27 19:47:25 +05:30
Luflosi
5f855ce547
Use context managers to open files
Inspired by d50a6ddc1b.
2019-08-01 13:21:26 -05:00
Kovid Goyal
c30c21b250
Dont sort on mtime
Files are built in order by size anyway and mtime sort makes link order
mtime dependent which breaks reproducible builds on openSUSE as they
modify mtimes randomnly. See #1804
2019-07-16 20:10:14 +05:30
Kovid Goyal
b6fb087d7e
sub-sort by filename in find_c_files() 2019-07-16 16:46:48 +05:30
Kovid Goyal
97c2b7c1fe
Fix #1804 2019-07-16 07:22:31 +05:30
Kovid Goyal
3e0f4d36bc
DRYer 2019-07-11 21:48:45 +05:30
Luflosi
ca39634880
Use relative paths when compiling 2019-07-11 16:51:50 +02:00
Kovid Goyal
e00e6bd1c2
Dont print "done" when doing nothing 2019-07-08 07:36:30 +05:30
Kovid Goyal
d530dccb96
Move docs generation into create_linux_bundle_gunk 2019-07-08 07:26:07 +05:30
Kovid Goyal
37bf0e81d2
Fix #1786 2019-07-08 06:46:16 +05:30
Kovid Goyal
93af102bec
Clean link_commands.json 2019-07-07 04:52:24 +05:30
Kovid Goyal
67f23664c9
Generate Wayland protocol definitions in parallel as well 2019-07-05 20:57:56 +05:30
Kovid Goyal
edc8878632
Use relative paths for object files 2019-07-05 19:13:34 +05:30
Kovid Goyal
93b62c4dfd
Also redo linking if the link command changes 2019-07-05 19:09:10 +05:30
Kovid Goyal
c3e210c80f
Less output when building 2019-07-05 18:34:01 +05:30
Kovid Goyal
9a5cc8f650
Mark source names with glfw backend prefix 2019-07-05 18:27:13 +05:30
Kovid Goyal
5e7fbfefe9
Refactor the compilation code
Makes it a bit more efficient. All compiling is done in parallel,
followed by all linking.
2019-07-05 18:13:21 +05:30
Kovid Goyal
2cfd55f3ce
Linux: Use the system "bell" for the terminal bell
Adds libcanberra as a new dependency to play the system sound.
2019-07-03 22:06:47 +05:30
Luflosi
4be6e9009a
Move temporary location for shared objects into build directory 2019-07-02 01:49:35 +02:00
Luflosi
e4c0e9073e
Clean "kitty/launcher" 2019-07-01 01:15:33 +02:00
Kovid Goyal
6f8214c15c
Add the generated macOS icons to git
Removes the need for optipng/librsvg when building kitty.
2019-06-28 13:48:09 +05:30
Kovid Goyal
df5a73bb35
Dont change dirs when packaging 2019-06-28 12:00:12 +05:30
Kovid Goyal
a50bf59a2c
macOS: Use a minimal bundle for the in-source kitty launcher
This should allow the Cocoa UI integration to work when running
kitty as kitty/launcher/kitty

Fixes #1756
2019-06-28 11:20:59 +05:30
Kovid Goyal
241354ae52
Move generation of Info.plist into its own function 2019-06-28 10:47:00 +05:30
Luflosi
5cbd591a1e
.strip() only once
`ans.append('KITTY_VCS_REV="{}"'.format(rev.strip()))` strips the
whitespace again later.
2019-06-26 19:48:58 +02:00
Luflosi
4708b592e2
Unify compilation_database access
`file` and `arguments` are accessed using the square bracket syntax, while `output` is accessed using `.get()`. This commit uses square brackets for all three. This will throw a `KeyError` if `compilation_database` does not have the key, which is the correct behaviour IMO.
2019-06-26 15:16:14 +02:00
Luflosi
e178e7f6a5
Clean asan-launcher and kitty-profile 2019-06-25 20:22:23 +02:00
Kovid Goyal
d0bf21ab16
... 2019-06-25 20:00:58 +05:30
Kovid Goyal
c826965833
Use libdir_name when bundle gunking on linux 2019-06-25 18:47:09 +05:30
Kovid Goyal
a76db39c19
Use a symlink for the in src launcher in a package 2019-06-25 18:37:11 +05:30
Kovid Goyal
323a538bdd
Fix #1744 2019-06-25 18:16:00 +05:30
Kovid Goyal
2435feca3b
oops 2019-06-25 08:26:19 +05:30
Kovid Goyal
29d059680c
Merge branch 'fix_kitty.app_incremental_build' of https://github.com/Luflosi/kitty 2019-06-25 08:14:23 +05:30
Luflosi
aaaf7f9d8b
Fix incremental compilation
The macOS specific `package()` code changes the directory. This didn't cause any problems before 9135387cfa since `compile_commands.json` was written to the filesystem before `package()` was called. This is not the case anymore, which results in `compile_commands.json` being written into the `kitty.app` bundle. I fixed the problem by using a context manager to change the direcctory back after `kitty.app` was created.
2019-06-25 02:55:13 +02:00
Kovid Goyal
9135387cfa
Get rid of the various different launchers
Now there is only one launcher. Which means it can be used to start
kitty with profiling and ASAN in the natural way. The recommended
way to run kitty from source is now:

./kitty/launcher/kitty

The launcher also automatically re-execs to resolve symlinks on macOS.
2019-06-24 17:21:30 +05:30
Luflosi
f28383206a
Delete *.dSYM directories when cleaning 2019-06-24 10:48:33 +02:00
Luflosi
3ea3a85694
Never delete any files in the .git directory when cleaning manually
This is how results can be removed from os.walk(), according to https://docs.python.org/3/library/os.html#os.walk.
2019-06-23 21:08:46 +02:00
Luflosi
0e1a423889
Always clean files manually instead of using git
I see a couple problems with using git to determine the files to delete:
- git needs to be installed
- The manual cleaning code is supposed to function correctly, so why not always use it? That way bugs in the manual cleaning code are also more likely to get discovered
- If some files ignored by git should not be deleted, they need to be added to a sort of blacklist. If some files should be deleted by the manual cleanup code, they need to be added to a sort of whitelist. If someone forgets to add files to one of these lists, then not deleting files that should be deleted is better than deleting files that should not be deleted.
2019-06-23 21:08:16 +02:00
Kovid Goyal
ff89c1d8e4
oops 2019-06-23 07:36:21 +05:30
Kovid Goyal
96703c23c8
Deal with .git being a file when getting the VCS commit hash during building 2019-06-23 07:36:03 +05:30
Luflosi
7709cdb12b
Make default argument non-mutable
Calling `Env()` without the `ldpaths` parameter after a call with the `ldpaths` parameter, keeps the list from the first call because the argument is mutable. This is probably not what was intended. This commit fixes this issue and also reverts a change to two lines introduced in 091e74d618, which was probably a workaround for this issue.
2019-06-22 16:57:38 +02:00
Kovid Goyal
f6051f73f5
Use SPECIAL_SOURCES for KITTY_VCS_REV
Fixes #1734
2019-06-22 18:54:58 +05:30
Kovid Goyal
d12a4b0a1a
Test changing of update_check_interval on the CI server 2019-06-04 14:32:37 +05:30
Kovid Goyal
a75d075dd1
Add an option to control the default update_check_interval when building kitty packages
Fixes #1675
2019-06-04 14:27:28 +05:30
Luflosi
2b095f720e
Use "with suppress()" to suppress python exceptions
Using
```Python
with suppress(OSError):
    os.remove('somefile.tmp')
```
instead of
```Python
try:
    os.remove('somefile.tmp')
except OSError:
    pass
```
makes the code more compact and more readable IMO.

This pattern was recommended by Raymond Hettinger, a Python Core
Developer in his talk "Transforming Code into Beautiful, Idiomatic Python" at https://www.youtube.com/watch?v=OSGv2VnC0go. The transcript is available at https://github.com/JeffPaine/beautiful_idiomatic_python
2019-06-03 12:27:43 +02:00
Kovid Goyal
639b18c7e8
Better fix for python include dirs
Ensure their order is stable
2019-05-19 09:17:52 +05:30
Kovid Goyal
701942f6ef
Fix #1619 2019-05-19 07:21:52 +05:30
Luflosi
581deb6073
Rename linux-launcher -> launcher
Since the launcher is also used on macOS, rename it to something more generic.
2019-05-18 19:13:56 +02:00
Kovid Goyal
4fff84b4b9
Add void to all function declarations for functions that take no arguments
Micro-optimization for some architectures. Enforced via
-Wstrict-prototypes
2019-05-13 11:04:21 +05:30
Kovid Goyal
af2c9a49b1
... 2019-05-11 12:04:07 +05:30
Kovid Goyal
bdeec61266
macOS: Add an entry point to use that works even if run via a symlink
Fixes #1539
2019-05-11 10:25:06 +05:30
Kovid Goyal
8b56f1ced6
Forgot to specify the default for --extra-logging 2019-04-24 16:19:30 +05:30
Kovid Goyal
0987a536b1
Add extra logging to debug the event loop
This should make tracking down the root cause of the
event loop pauses on X11 easier. And the infrastructure
should come in handy in the future as well.
2019-04-24 16:16:40 +05:30
Kovid Goyal
e5afc5297a
Dont use multiprocessing to get CPU counts 2019-04-22 08:49:22 +05:30
Kovid Goyal
465ed48e73
When generating python bytecode, do it for all optimization levels 2019-04-22 08:46:33 +05:30
Kovid Goyal
13254ac4d5
Fix #1435 2019-03-03 07:24:05 +05:30
Luflosi
8177cfac2a
macOS Finder Service to open a directory in a new kitty tab or window 2019-02-10 15:38:45 +01:00
Kovid Goyal
526c526bf3
Make compiler detection more robust 2019-01-30 09:05:42 +05:30
Kovid Goyal
c2f6450af3
Framework for displaying simple OS notifications 2019-01-29 18:11:48 +05:30
Kovid Goyal
71091e73a4
Merge branch 'osx_to_macos' of https://github.com/Luflosi/kitty 2019-01-29 09:01:24 +05:30
Luflosi
25d1b2328f
Missed one instance of "OS X" 2019-01-28 23:57:28 +01:00
Kovid Goyal
4085fe2e8e
Merge branch 'osx_to_macos' of https://github.com/Luflosi/kitty 2019-01-28 08:44:37 +05:30
Luflosi
c343bdd120
Rename OS X -> macOS 2019-01-28 01:25:02 +01:00
Kovid Goyal
19bce0c23c
Start work on a choose kitten for fuzzy selection 2019-01-23 19:38:08 +05:30
Kovid Goyal
ea37799fb0
Fix linking happening even when not needed 2019-01-06 10:25:37 +05:30
Kovid Goyal
89be7a031d
Fix #1278 2018-12-30 15:22:05 +05:30
Kovid Goyal
f098e6c973
Use -std=c11 when building
This is needed for harfbuzz 2.0 on macOS. -std=c11 was supported as of
gcc 4.7 released in 2014. So hopefully this wont break compilation on any
systems otherwise capable of running kitty. Fixes #1196
2018-12-17 08:41:06 +05:30
Kovid Goyal
9991dd6ce4
Generate hash based .pyc files when building
Fixes #1155
2018-11-20 08:42:08 +05:30
Luflosi
88aab20376
Loop through lines of tic output to correctly handle multiple lines 2018-10-18 12:25:19 +02:00
Luflosi
a045ac3bd7
Decode tic stderr using utf-8 2018-10-18 12:15:37 +02:00
Luflosi
f08f0f9dbd
Filter tic output to remove "older tic versions may treat the description field as an alias" 2018-10-15 17:17:12 +02:00
Kovid Goyal
2637018b53
Handle broken pipe errors during test compile 2018-10-03 12:46:08 +05:30
Kovid Goyal
98864091ff
Move memfd existence test to glfw.py 2018-10-03 11:02:51 +05:30
Kovid Goyal
7750a461aa
Fix compilation on systems that dont have the memfd_create syscall 2018-10-03 10:56:47 +05:30
Luflosi
1d91edfb00
dont -> don't 2018-08-29 03:18:25 +02:00
Luflosi
8e6b58b1db
Fix deprecation warning on macOS 2018-08-27 23:54:45 +02:00
Kovid Goyal
1fc666d82c
Add an Info.plist key to enable support for dark mode in Mojave
Mojave uses tis key to determine how to draw the titlebar.
See https://developer.apple.com/documentation/appkit/nsappearancecustomization/choosing_a_specific_appearance_for_your_app?language=objc
2018-08-01 03:53:17 +05:30
Kovid Goyal
1b2a1a1e77
Add a check that tic works as expected
Apparently on FreeBSD it exits with no errors but fails to write the
compiled terminfo file.
2018-07-31 09:01:23 +05:30
Kovid Goyal
c48fa0f078
Silence the OpenGL deprecation warnings on macOS 10.14 2018-07-29 19:35:43 +05:30
Kovid Goyal
31aa782362
Update URL to kitty home page in Info.plist 2018-07-29 19:03:41 +05:30
Kovid Goyal
1cf6f28fe8
When compiling python bytecode for the packages optimize it to level-2 and use relative paths in the pyc files 2018-07-29 13:20:21 +05:30
Kovid Goyal
02635d506e
Dont use _XOPEN_SOURCE when building
Apparently it has exactly opposite semantics for glibc and whatever libcs
are used on BSD. What a clusterfuck.
2018-07-28 22:56:18 +05:30
Kovid Goyal
0dd3334811
Implement getting cmdline of process on macOS as well 2018-07-24 11:07:53 +05:30
Kovid Goyal
3d0da77c80
Revert change to set PYTHONIOENCODING on macOS
It is not needed in python 3.7 as the POSIX locale is
now UTF-8 by default
2018-07-15 12:19:48 +05:30
Kovid Goyal
b3e2562c00
macOS bundle: Set the PYTHONIOENCODING env var to utf-8
There are apparently still some situations where python ends up with
ascii as its I/O encoding on macOS. See #724
2018-07-15 10:38:40 +05:30
Kovid Goyal
4313531432
macOS: Use a custom mouse cursor that shows up well on both light and dark backgrounds
Fixes #359. Also, update GLFW from upstream for retina cursor setting
support.
2018-07-07 10:43:30 +05:30
Kovid Goyal
561fe81d00
Use base instead of cwd when checking for docs 2018-06-12 09:24:36 +05:30
Kovid Goyal
2db83ecf1e
Run make docs for linux-package only if docs are not found 2018-06-12 09:20:18 +05:30
Kovid Goyal
1b8c6b23e1
Dont run make docs to build linux-package
The pre-built docs are now included in the official kitty source code
release. This means that building linux-package does not require
sphinx anymore.
2018-06-12 09:15:43 +05:30
Kovid Goyal
d79e943844
Dont build docs when freezing 2018-06-12 08:41:38 +05:30
Kovid Goyal
cde60b19e8
Automatically build docs when running linux-pacakge
Fixes #622
2018-06-11 09:57:56 +05:30
Kovid Goyal
68394cebe3
Linux: Include a man page and the HTML docs when building the linux-package 2018-06-08 11:06:41 +05:30
Kovid Goyal
2b0d8bfe46
Get rid of the default kitty.conf 2018-06-05 09:17:31 +05:30
Kovid Goyal
091e74d618
Run the linux bundle on Travis 2018-06-01 19:22:08 +05:30
Kovid Goyal
d89861f601
Code to support the linux bundle 2018-05-31 23:02:38 +05:30
Kovid Goyal
be9d876997
find common prefix and suffix of two strings 2018-05-03 20:15:28 +05:30
Kovid Goyal
bb1374f64e
Only define VCS_REV where it is needed 2018-04-29 18:47:14 +05:30
Kovid Goyal
ea9b431386
Allow changing the source used by test_compile 2018-04-20 21:02:05 +05:30
Kovid Goyal
23077fd6a6
DRYer 2018-04-20 20:56:29 +05:30
Kovid Goyal
5eee7ce338
Fix #475 2018-04-20 20:32:16 +05:30
Kovid Goyal
e3795eb07e
Dont add CPPFLAGS from the python build
They contain include paths specific to the python build such as -I. that
are not appropriate for building kitty. Also move cppflags in front of
cflags when invoking the compiler.
2018-04-19 10:33:10 +05:30
James McCoy
ddd4774169 setup.py: Support specifying CPPFLAGS distinctly from CFLAGS 2018-04-18 23:08:45 -04:00
Kovid Goyal
584b59c7a1
Shorter filtering code 2018-04-03 10:19:21 +05:30
Kovid Goyal
2e657f0020
Have safe_remove remove all instances 2018-04-03 10:15:58 +05:30
Kovid Goyal
ae112294c8
Fix compilation on Travis 2018-04-03 10:13:18 +05:30
Kovid Goyal
8b4c7ea23f
Pass CFLAGS to linker as well
Fixes #435
2018-04-03 10:03:03 +05:30
Kovid Goyal
2efa83bc4d
Use git rev-parse instead, more robust 2018-04-01 20:33:12 +05:30
Kovid Goyal
fa064bf9cf
When kitty is built from a git checkout show the current revision in --debug-config 2018-04-01 20:27:31 +05:30
Michael Vetter
1c2623e609 Have more detailed desktop file category
Let's use the 'TerminalEmulator' category according to the spec:
https://specifications.freedesktop.org/menu-spec/menu-spec-1.0.html
2018-03-21 11:28:57 +01:00
Kovid Goyal
5a905dfe7f
Add kitty.app to .gitignore
Also have make clean clean linux-package and kitty.app when running
manually.
2018-03-14 12:10:15 +05:30
Kovid Goyal
0333da991d
... 2018-03-12 08:11:43 +05:30
Kovid Goyal
2bf8e1b1a3
Allow the name of the lib directory in linux-package to be configurable. Fixes #372 2018-03-12 08:10:53 +05:30
Kovid Goyal
ffc717717c
Oops 2018-03-12 07:53:31 +05:30
Kovid Goyal
2c8414db5d
Be a bit more specific 2018-03-12 07:52:08 +05:30
Kovid Goyal
32473d7dc7
make clean fallsback to manual cleaning when not in a git checkout
Fixes #379
2018-03-12 07:50:54 +05:30
Kovid Goyal
0b1f5209d5
Use CFLAGS and LDFLAGS env vars when building the launcher as well
Fixes #374
2018-03-11 08:12:17 +05:30
Kovid Goyal
5ee1fbe07d
Copy the launcher script into linux-package
The launcher script is mostly useless on linux, but is needed
when using kitty.app built from source and might be useful on linux as
well, if running kitty without putting it on PATH.
2018-02-28 00:25:57 +05:30
Kovid Goyal
70125e0de5
Only build asan-launcher if --sanitize is given
Fixes #328
2018-02-16 08:56:30 +05:30
Kiyoshi '13k' Murata
bd741365cb Fix packaging trying to modify unrelated files
`package()` method in `setup.py` tries to compile and chmod all files
under the directory given by `--prefix PREFIX`.

If PREFIX is a directory containing other distributions (like
`/usr/local` or `$HOME/.local`), then it would try to compile - using
possibly the wrong python version - and chmod all files within PREFIX.
2018-02-15 19:46:51 -02:00
Kovid Goyal
8c18486836
Module with all the data for unicode entry by character name 2018-02-09 19:56:25 +05:30
Kovid Goyal
b6ed3951bc
Add the kittens dir when building the package 2018-02-09 16:59:15 +05:30
Kovid Goyal
973bbf3f8a
Fix #316 2018-02-09 16:44:52 +05:30
Kovid Goyal
5faa649452
Drop the dependency on libunistring 2018-01-18 00:09:40 +05:30
Kovid Goyal
236c92b2b4
No longer use a shell script for the wrapper .app 2018-01-11 08:40:35 +05:30
Kovid Goyal
566e641be1
Allow easily building a kitty.app wrapper to run kitty from source 2018-01-10 07:44:16 +05:30
Kovid Goyal
08d5448523
Move creation of Info.plist and kitty.icns into osx-bundle 2018-01-10 06:58:57 +05:30
Kovid Goyal
4621ff41d9
Skip building the wayland backend on systems with missing wayland protocol definitions
Fixes #254
2017-12-27 06:22:36 +05:30
Kovid Goyal
56a30a014c
Fix compilation order reversed 2017-12-11 20:28:36 +05:30
Kovid Goyal
5407fa72b4
Start work on rendering with CoreText 2017-12-10 20:28:06 +05:30
Kovid Goyal
e630abfe7f
Revert change to use libpng16
Does not fix the OP's problem.
2017-12-06 21:10:48 +05:30
Kovid Goyal
11b17c09ce
Call pkg-config with libpng16 instead of libpng
Should fix compilation on linux systems that have libpng12 as their
default libpng. libpng16 was released over five years ago! Sigh...
Fixes #216
2017-12-06 20:54:46 +05:30
Kovid Goyal
b3de442116
pretty colors 2017-12-01 12:16:14 +05:30
Kovid Goyal
fb797d7735
... 2017-12-01 12:16:14 +05:30
Kovid Goyal
eb8f4e0b3c
isosx -> is_macos 2017-12-01 12:16:13 +05:30
Kovid Goyal
85fcd51ea3
Enable building of glfw-wayland backend 2017-12-01 12:16:13 +05:30
Kovid Goyal
9ec6cf721f
Update compilation database even after failed builds 2017-12-01 12:16:13 +05:30
Kovid Goyal
bcd4c64b8a
Key compilation database by output as well 2017-12-01 12:16:13 +05:30
Kovid Goyal
3b0d8ec500
Nicer error when pkg-config fails 2017-12-01 12:16:13 +05:30
Kovid Goyal
df56080303
Fix building on travis/macOS libunistring detection 2017-12-01 12:16:12 +05:30
Kovid Goyal
ec06dd7460
Add a --verbose build flag 2017-12-01 12:16:12 +05:30
Kovid Goyal
3773aaa8a1
Get it building on macOS 2017-12-01 12:16:11 +05:30
Kovid Goyal
dfd8a69cf2
Build kitty against bundled glfw 2017-12-01 12:15:36 +05:30
Kovid Goyal
9307486254
Initial import of glfw 2017-12-01 12:15:36 +05:30
Kovid Goyal
6a627cca9e
A spot of refactoring 2017-12-01 12:15:36 +05:30
Kovid Goyal
480f4bf44e
Build script should not fail on python without threading 2017-12-01 12:15:36 +05:30
Kovid Goyal
b5b2f11b18
Enable parallel builds 2017-12-01 12:15:36 +05:30
Kovid Goyal
b08f4ab593
Use startup notifications in single instance mode 2017-12-01 12:15:35 +05:30
Kovid Goyal
523c9ff0d1
Make incremental building the default 2017-11-14 09:47:08 +05:30
Kovid Goyal
a02fd8411a
Generate a compilation database, useful for llvm tooling 2017-11-14 09:31:23 +05:30
Kovid Goyal
541f389a06
Work on using FreeType to render on macOS as well 2017-11-10 15:39:53 +05:30
Kovid Goyal
9842a47f85
Install an up-to-date version of harfbuzz on travis 2017-11-09 16:55:44 +05:30
Kovid Goyal
0d92ea72e1
Add harfbuzz includes on macOS as well 2017-11-09 16:45:44 +05:30
Kovid Goyal
e8798b5bf2
Fix UBSan not available on OS X clang 2017-11-08 17:50:32 +05:30
Kovid Goyal
9bef53459f
Fix application icon not being placed in apps sub-directory in linux bundle 2017-11-08 17:38:34 +05:30
Kovid Goyal
c2f008672c
Use clang by default on macOS 2017-11-08 17:30:55 +05:30
Kovid Goyal
c1a1b06fe7
Use -Og when building in debug mode 2017-11-08 17:12:35 +05:30
Kovid Goyal
ea4edaaddd
Remove glew from build script 2017-11-08 16:02:35 +05:30
Kovid Goyal
6362499fc2
Switch to using glad instead of glew 2017-11-08 15:15:25 +05:30
Kovid Goyal
c0114d5e4e
DRYer 2017-11-05 09:22:15 +05:30
Kovid Goyal
d9ff3bce72
Cleanup compiler flags a little 2017-11-01 14:35:57 +05:30
Kovid Goyal
6370dccb1a
ASAN build fixes 2017-11-01 12:12:15 +05:30
Kovid Goyal
04a61d0e21
Convert test-launcher into a generic asan-launcher so that it can be used to run kitty as well 2017-11-01 12:03:59 +05:30
Kovid Goyal
89d5387a52
Link against harfbuzz 2017-10-27 11:19:57 +05:30
Kovid Goyal
25913f77e0
Add a clean action to setup.py 2017-10-17 13:35:54 +05:30
Kovid Goyal
1c9612bd55
Turn on LTO for release builds 2017-10-05 21:18:21 +05:30
Kovid Goyal
9601ed79f1
Travis build fixes 2017-09-30 13:51:48 +05:30
Kovid Goyal
01fb9436dd
Code to read compressed and PNG encoded image data 2017-09-30 13:51:48 +05:30
Kovid Goyal
c973a7326e
Dont link against rt on macOS 2017-09-30 13:51:48 +05:30
Kovid Goyal
66bce4b8cd
Code to read image data 2017-09-30 13:51:48 +05:30
Kovid Goyal
a783325464
Nicer parsing of dependencies file 2017-09-30 12:25:03 +05:30
Kovid Goyal
af99c172fe
Use dependency mapping when doing incremental builds 2017-09-30 12:18:08 +05:30
Kovid Goyal
9eea178890
Make --debug-gl have zero runtime cost when absent 2017-09-15 10:45:22 +05:30
Kovid Goyal
9bea1001f9
Speedup unicode character property lookup
Use libunistring instead of building predicates from the unicode
database
2017-09-15 10:45:19 +05:30
Kovid Goyal
7041616837
More semantic handling of profile arg when compiling 2017-08-26 10:36:04 +05:30
Kovid Goyal
a922b4c789
Add instrumentation to analyse kitty performance 2017-08-26 10:24:12 +05:30
Kovid Goyal
fe3e51a00d
Move the GLSL shaders into their own files 2017-08-21 16:39:34 +05:30
Ondřej Súkup
ae62d36a4a Remove unneeded try except block
os.makedirs has from python-3.2 option `exist_ok`
2017-06-08 20:25:34 +02:00
Kovid Goyal
76e3101d9b
Hide all symbols 2017-06-07 11:19:53 +05:30
Kovid Goyal
24a4fbd987
Add a function to hide the title bar on OS X 2017-06-03 08:45:27 +05:30
Kovid Goyal
a79bb3add2
Correct the DEBUG define 2017-05-24 07:47:11 +05:30
Kovid Goyal
01d0e7474f
Change reported version to >= 4000 so that vim autodetects SGR mouse support correctly 2017-05-19 14:23:11 +05:30
Kovid Goyal
14a66762a6
Fix incorrect response to request for device attributes 2017-05-17 10:33:33 +05:30
Kovid Goyal
788f09e855
Use a special test launcher that links the sanitize runtime library directly 2017-05-15 12:07:36 +05:30
Kovid Goyal
ba7a6e8106
Turn on the undefined behavior sanitizer on Travis 2017-05-15 12:06:06 +05:30
Kovid Goyal
3af501b715 Build with -march=native by default 2017-02-21 16:35:25 +05:30
Kovid Goyal
783717b8a4 pep8 2017-02-10 00:04:05 +05:30
Kovid Goyal
02ef3c6dc8 Linux: Use libfontconfig directly instead of calling fc-match
There are apparently some linux systems out there with versions of
fontconfig that do not understanf the :charset query when passed to
fc-match. See #46
2017-02-08 21:52:10 +05:30
Kovid Goyal
ebacb16f67 Compile the launcher with -fpie 2017-02-06 16:19:33 +05:30
Kovid Goyal
af1f3cc7c7 More robust in bundle launcher
Ignores environment, user settings. Should minimize the chances of
conflict with any other python installations on the system.
2017-02-02 14:26:26 +05:30
Kovid Goyal
543af0dd89 Implement building OS X bundle
In order for @executable_path resolution to work the launcher has
to link against the python dll rather than running the python
executable.
2017-02-02 12:04:52 +05:30
Kovid Goyal
9cfa3dd0ea Use tic when building linux-package instead of hard coding terminfo directory structure 2017-01-23 09:29:23 +05:30
Kovid Goyal
3cbb0b22dc Fix terminfo file not being used on OS X
On OS X tic has a different directory layout than on linux. Sigh.
2017-01-23 08:56:52 +05:30
Kovid Goyal
58b220abc6 Fix linking against python failing for brew based python installs on OS X 2017-01-20 22:38:58 +05:30
Kovid Goyal
df5c225b5a Set window icon on linux 2017-01-18 20:52:06 +05:30
Kovid Goyal
ed77692a87 Generate icon and .desktop file in linux-package 2017-01-18 20:26:39 +05:30
Kovid Goyal
fea0862a35 Do not use GLEW on OS X 2017-01-12 00:50:44 +05:30
Kovid Goyal
70719d37fd Implement optional incremental compilation 2017-01-11 04:45:27 +05:30
Kovid Goyal
54285a0f17 Compile the core_text module using Objective-C 2017-01-11 03:34:43 +05:30
Kovid Goyal
f15233b655 Start work on CoreText font rasterization 2017-01-11 03:34:43 +05:30
Kovid Goyal
45dcef4304 Give up on using brew on Travis 2017-01-10 13:06:48 +05:30
Kovid Goyal
6738724d4f ... 2017-01-10 12:53:23 +05:30
Kovid Goyal
df1ca0a342 ... 2017-01-10 12:53:11 +05:30
Kovid Goyal
7c580dca31 Try and figure out why linking against python is failing on OS X Travis 2017-01-10 12:45:33 +05:30
Kovid Goyal
7b792cbca3 DRYer 2017-01-10 09:55:44 +05:30
Kovid Goyal
c1a6272d0d oops 2017-01-10 09:49:53 +05:30
Kovid Goyal
3fb417f80a Forgot to add LIBDIR 2017-01-10 09:47:44 +05:30
Kovid Goyal
2622a849df Make the process for detecting python compile flags more robust
Now follows the implementation in python3-config
Also add OpenGL.framework when building on OS X
2017-01-10 09:45:33 +05:30
Kovid Goyal
192ce1dea8 Apparently glfw on OS X incorrectly puts the frameworks into Libs.private 2017-01-10 07:28:59 +05:30
Kovid Goyal
261cd576c1 Get rid of debug symbols from linux-launcher 2017-01-09 11:25:56 +05:30
Kovid Goyal
445579942c Make creating a linux package even easier 2017-01-09 10:37:10 +05:30
Kovid Goyal
f668d1480d ... 2017-01-09 07:16:21 +05:30
Kovid Goyal
c4bcceb440 Fix #24 2017-01-09 06:37:32 +05:30
Kovid Goyal
54c9f2015e Allow optimization level to be controlled via command line args 2017-01-08 13:05:32 +05:30
Kovid Goyal
50b0f44dff Add a linux-package command to help linux packagers create good kitty packages 2017-01-08 12:17:44 +05:30
Kovid Goyal
34c947ba35 Dont rely on --atleast-version 2017-01-08 11:06:35 +05:30
Kovid Goyal
0cd0a9f778 Use Python rather than Python.framework for linking 2017-01-08 10:30:01 +05:30
Kovid Goyal
b3fbb938b3 Handle build failing when running under pyenv 2017-01-08 08:48:31 +05:30
Kovid Goyal
a9856da2c3 Disable check for glew version on travis 2017-01-07 22:11:23 +05:30
Kovid Goyal
46169ace1c Show version of glew when version 2 not found 2017-01-07 22:09:12 +05:30
Kovid Goyal
e8bbf3fe4f Add a build time check for glew >= 2.0.0 2017-01-07 21:59:35 +05:30
Kovid Goyal
c3218356d4 Fix #2 2017-01-07 13:01:32 +05:30
Kovid Goyal
ca97b86d16 A more robust derivation of the python dll 2017-01-07 11:42:10 +05:30
Kovid Goyal
7559ff97e1 Turn on address sanitization when running on Travis 2016-12-18 15:03:23 +05:30
Kovid Goyal
ff83aa2730 Get rid of glfw_constants 2016-11-29 14:20:21 +05:30
Kovid Goyal
d34db436dd Get rid of the freetype ctypes based bindings 2016-11-28 20:06:42 +05:30
Kovid Goyal
3c8d2dce36 ... 2016-11-21 10:25:53 +05:30
Kovid Goyal
2cf0243974 Compile in mtime order 2016-11-13 10:27:24 +05:30
Kovid Goyal
939ffe191f Implement dual compilation with custom defines 2016-11-12 11:41:40 +05:30
Kovid Goyal
da02e494f3 Suppress missing braces warning on gcc < 5.2 2016-11-12 09:04:17 +05:30
Kovid Goyal
11cf9b0736 Only use the strong stack protector if gcc is new enough 2016-11-12 08:53:27 +05:30
Kovid Goyal
cf5341ad3c ... 2016-11-12 08:39:23 +05:30
Kovid Goyal
2b362108b8 ... 2016-11-12 08:27:12 +05:30
Kovid Goyal
d28c7fee68 ... 2016-11-11 22:11:40 +05:30
Kovid Goyal
a8616f8598 Start work on migrating tracker to native code 2016-11-11 21:56:39 +05:30
Kovid Goyal
44e8a6c3c7 Start work on sprite map 2016-11-10 17:22:00 +05:30
Kovid Goyal
32e4de1c79 Faster color table 2016-11-10 08:00:06 +05:30
Kovid Goyal
8c0b908222 Allow building with debug symbols
Also allow running individual tests
2016-11-07 13:23:03 +05:30
Kovid Goyal
3ecf3751ef Start work on OpenGL bindings 2016-11-02 21:27:20 +05:30
Kovid Goyal
f3944e6289 Implement a Line class 2016-11-01 18:18:12 +05:30
Kovid Goyal
3d13ad3411 The Cursor object 2016-10-31 22:48:36 +05:30