Commit Graph

259 Commits (main)

Author SHA1 Message Date
Qwerasd 61b7dffcaa deps: update z2d
We need to use this version of z2d so that we can get reproducible PNG
exports in CI for testing, since previously the PNG export was affected
by the CPU arch / features because it depended on vector width.
2025-06-30 11:16:47 -06:00
Mitchell Hashimoto d0e12cc082
update libxev to workaround the io_uring regression in Linux 6.15.4
Fixes #7724

Background at the end of the commit message. The fix in libxev is
described in the PR and commit we pin to here, but basically we swap
read for poll for eventfd/timerfd.

From Jens Axboe on X:

> This will fix it: https://pastebin.com/n7JSZWpW which makes me suspicious
> that it's an S_IFREG check somewhere else, as anon inodes are now listed as
> regular files. Has potentially pretty broad implications...

> I think I can already answer why that breaks things - io_uring checks if
> this is a regular file, and if it is, it doesn't do short reads. Short
> reads on regular files (or a bdev) will cause application issues, as
> basically nobody expects them.

> Now we have what acts like a char dev, but where io_uring will retry IO
> because the application asked for more data than what was delivered. This
> will cause the weird slowdowns as data isn't delivered as soon as it's
> available.
2025-06-29 15:11:24 -07:00
mitchellh 2f978fbdcf deps: Update iTerm2 color schemes 2025-06-29 00:15:18 +00:00
mitchellh fece388f58 deps: Update iTerm2 color schemes 2025-06-22 00:15:04 +00:00
-k d6b2d0ef2a fix: update `libxev` 2025-06-21 14:11:50 -07:00
-k 4d7a667dd1 build(deps): bump charlesrocket/libxev to `e29fc0c`
Waiting for mitchellh/libxev#167
2025-06-21 14:11:50 -07:00
-k c1830b563d Import `libxev` fork
Temp
2025-06-21 14:11:50 -07:00
mitchellh 3b33813071 deps: Update iTerm2 color schemes 2025-06-08 00:14:39 +00:00
mitchellh b94d2da567 deps: Update iTerm2 color schemes 2025-05-25 00:15:05 +00:00
mitchellh 8a0ca1b573 deps: Update iTerm2 color schemes 2025-05-18 00:14:40 +00:00
mitchellh db1608ff16 deps: Update iTerm2 color schemes 2025-05-11 00:14:21 +00:00
mitchellh abf5f18598 deps: Update iTerm2 color schemes 2025-05-04 00:14:51 +00:00
Mitchell Hashimoto 17441de37f
Update iTerm2 colorschemes (#7210)
Upstream revision:
5233095e44
2025-04-27 06:53:06 -07:00
rhodes-b 0c8339d2da update z2d to 0.6.1 2025-04-26 23:39:02 -05:00
mitchellh 12f48419b6 deps: Update iTerm2 color schemes 2025-04-27 00:14:50 +00:00
mitchellh 48cba761b9 deps: Update iTerm2 color schemes 2025-04-20 00:14:26 +00:00
mitchellh f6ec39a5d8 deps: Update iTerm2 color schemes 2025-04-06 00:13:30 +00:00
Jeffrey C. Ollie 9f57a03926
core: update libvaxis and zf for transitive zigimg dependency 2025-03-28 14:31:57 -05:00
Jeffrey C. Ollie 27978ef4d0
version bump for development 2025-03-26 23:29:15 -05:00
mitchellh 8aab16b6e6 deps: Update iTerm2 color schemes 2025-03-23 00:13:47 +00:00
Jeffrey C. Ollie ee95a5f3e0
gtk: convert App to zig-gobject 2025-03-17 23:39:45 -05:00
mitchellh 291c2f541c deps: Update iTerm2 color schemes 2025-03-16 14:17:59 +00:00
Jeffrey C. Ollie ec4d110251
build: update libvaxis and zf
Fixes #6734
2025-03-15 22:06:18 -05:00
Mitchell Hashimoto cfea2ea12c
build: mark most dependencies as lazy
Lazy dependencies are only fetched if the build script would actually
reach a usage of that dependency at runtime (when the `lazyDependency`
function is called). This can save a lot of network traffic, disk uage,
and time because we don't have to fetch and build dependencies that we
don't actually need.

Prior to this commit, Ghostty fetched almost everything for all
platforms and configurations all the time. This commit reverses that to
fetching almost nothing until it's actually needed.

There are very little downsides to doing this[1]. One downside is `zig
build --fetch` doesn't fetch lazy dependencies, but we don't rely on
this command for packaging and suggest using our custom shell script
that downloads a cached list of URLs (`build.zig.zon.txt`).

This commit doesn't cover 100% of dependencies, since some provide no
benefit to make lazy while the complexity to make them lazy is higher
(in code style typically).

Conversely, some simple dependencies are marked lazy even if they're
almost always needed if they don't introduce any real complexity to the
code, because there is very little downside to do so.

[1]: https://ziggit.dev/t/lazy-dependencies-best-dependencies/5509/5
2025-03-14 13:32:19 -07:00
Mitchell Hashimoto 221f905a1c
pkg/glfw
Closes #6702

This removes our mach-glfw dependency and replaces it with an in-tree
pkg/glfw that includes both the source for compiling glfw as well as the
Zig bindings. This matches the pattern from our other packages.

This is based on the upstream mach-glfw work and therefore includes the
original license and copyright information.

The reasoning is stated in the issue but to summarize for the commit:

  - mach-glfw is no longer maintained, so we have to take ownership
  - mach-glfw depended on some large blobs of header files to enable
    cross-compilation but this isn't something we actually care about,
    so we can (and do) drop the blobs
  - mach-glfw blobs were hosted on mach hosts. given mach-glfw is
    unmaintained, we can't rely on this hosting
  - mach-glfw relied on a "glfw" package which was owned by another
    person to be Zig 0.14 compatible, but we no longer need to rely on
    this
  - mach-glfw builds were outdated based on latest Zig practices
2025-03-13 20:52:33 -07:00
Mitchell Hashimoto b96a5d702b
fix mach-glfw on windows 2025-03-12 16:29:17 -07:00
Mitchell Hashimoto b123b14686
update zig2nix 2025-03-12 15:56:24 -07:00
Mitchell Hashimoto 18084a3e61
update gobject, fix compiler errors 2025-03-12 12:32:50 -07:00
Mitchell Hashimoto 7e9be00924
working on macos 2025-03-12 10:15:14 -07:00
Mitchell Hashimoto bd848a27d2
update all packages to new hash for caching 2025-03-12 07:30:01 -07:00
Mitchell Hashimoto 2466de4556
pkg: update to new build.zig.zon format and hash values 2025-03-11 15:00:47 -07:00
Mitchell Hashimoto 251caeb22a
Zig 0.14 fixes 2025-03-11 14:53:30 -07:00
Mitchell Hashimoto 7e2286eb8c
Zig 0.14 2025-03-11 14:39:04 -07:00
Mitchell Hashimoto dd95f727ec
build: add libintl for macOS builds 2025-03-07 13:41:59 -08:00
Leah Amelia Chen cd442eb9e2
gtk: build gtk4-layer-shell ourselves
As of now `gtk4-layer-shell` is unavailable on recent, stable releases
of many distros (Debian 12, Ubuntu 24.04, openSUSE Leap & Tumbleweed, etc.)
and outdated on many others (Nixpkgs 24.11/unstable, Fedora 41, etc.)
This is inconvenient for our users and severely limits where the quick
terminal can be used. As a result we then build gtk4-layer-shell ourselves
by default unless `--system` or `-fsys=gtk4-layer-shell` are specified.
This also allows me to add an idiomatic Zig API on top of the library
and avoiding adding even more raw C code in the GTK apprt.

Since we now build gtk4-layer-shell it should be theoretically available
on all Linux systems we target. As such, the `-Dgtk-layer-shell` build
option has been removed. This is somewhat of an experimental change as
I don't know if gtk4-layer-shell works perfectly across all distros, and
we can always add the option back if need be.
2025-03-07 17:52:06 +01:00
mitchellh 29447b60b3 deps: Update iTerm2 color schemes 2025-03-02 00:13:13 +00:00
Mitchell Hashimoto d532a6e260
Update libxev to use dynamic backend, support Linux configurability
Related to #3224

Previously, Ghostty used a static API for async event handling: io_uring
on Linux, kqueue on macOS. This commit changes the backend to be dynamic
on Linux so that epoll will be used if io_uring isn't available, or if
the user explicitly chooses it.

This introduces a new config `async-backend` (default "auto") which can
be set by the user to change the async backend in use. This is a
best-effort setting: if the user requests io_uring but it isn't
available, Ghostty will fall back to something that is and that choice
is up to us.

Basic benchmarking both in libxev and Ghostty (vtebench) show no
noticeable performance differences introducing the dynamic API, nor
choosing epoll over io_uring.
2025-02-21 15:04:37 -08:00
mitchellh fe11efff63 deps: Update iTerm2 color schemes 2025-02-16 00:13:20 +00:00
Tim Culverhouse 9cb297202b cli: add +boo command
Add a `+boo` command to show the animation from the website. The data
for the frames is compressed during the build process. This build step
was added to the SharedDeps object because it is used in both
libghostty and in binaries.

The compression is done as follows:
- All files are concatenated together using \x01 as a combining byte
- The files are compressed to a cached build file
- A zig file is written to stdout which `@embedFile`s the compressed
  file and exposes it to the importer
- A new anonymous module "framedata" is added in the SharedDeps object

Any file can import framedata and access the compressed bytes via
`framedata.compressed`. In the `boo` command, we decompress the file and
split it into frames for use in the animation.

The overall addition to the binary size is 348k.
2025-02-14 14:46:18 -08:00
Mitchell Hashimoto 8231ebb770
build: mirror most of our direct dependencies
This adds a new script `update-mirror.sh` which generates the proper
blob format for R2 (or any blob storage) to mirror all of our
dependencies.

It doesn't automate updating build.zig.zon but on an ongoing basis this
should be easy to do manually, and we can strive to automate it in the
future.

I omitted iTerm2 color themes because we auto-update that via CI and
updating all of the machinery to send it to our mirror and so on is a
pain. Additionally, this doesn't mirror transitive dependencies because
Zig doesn't have a way to fetch those from a mirror instead (unless you
pre-generate a full cache like packagers but that's not practical for
day to day development).

It's hugely beneficial just to get most of our dependencies mirrored.
2025-02-14 10:06:15 -08:00
Jeffrey C. Ollie f32ad5216b build: generate a build.zig.zon.txt file for easy zig fetch scripting
This fixes a regression in 1.1.1/1.1.2 where our PACKAGING docs mention
using `fetch-zig-cache.sh` but it was removed. This commit adds it back,
generating its contents from the build.zig.zon file (via zon2nix which
we use for our Nix packaging).

For packagers, there are no dependency changes: you still need Zig and
POSIX sh. For release time, Ghostty has a new dependency on `jq` but
otherwise the release process is the same. The check-zig-cache.sh script
is updated to generate the new build.zig.zon.txt file.
2025-02-14 09:23:51 -08:00
Mitchell Hashimoto 52a5069dec
up versions for development 2025-02-13 15:31:14 -08:00
Mitchell Hashimoto 710ea1c8d9
up all the metadata to 1.1.2 2025-02-13 13:02:06 -08:00
Mitchell Hashimoto 5919c57527
build: replace codeberg dep with self-hosted mirror
The content hashes match so if users don't trust us they can grab from
upstream.
2025-02-13 09:18:50 -08:00
Leah Amelia Chen 843c714088
gtk: introduce Zig bindings for GTK/GObject
`zig-gobject` is a set of GObject bindings that allow us to write
GTK-facing code in Zig instead of getting hands dirty with C.
It's been tested and refined in real-life applications and several
GTK contributors agree that it is a marked improvement over using
the C API directly, such as allowing method call syntax and avoiding
many manual `@ptrCast`s.

This commit doesn't actually contain any changes to our preexisting
GTK code — the migration process is intended to begin in chunks,
firstly in self-contained components (e.g. the header bar, overlays,
etc.), and then full-scale migration can begin when we remove non-Adwaita
GTK builds for 1.2. (After all, why port code that you'll remove later
either way?)
2025-02-10 18:34:08 +01:00
mitchellh 5100f4ff7d deps: Update iTerm2 color schemes 2025-02-02 00:10:42 +00:00
Mitchell Hashimoto c5508e7d19
update version for development 2025-01-30 14:23:24 -08:00
Mitchell Hashimoto a62b26cd2f
next version will be 1.1.0 2025-01-30 07:18:43 -08:00
Mitchell Hashimoto 9ab2e563bb
Update libxev to fix zombie processes on macOS
Fixes #4554

xev.Process.wait is documented as being equivalent to calling `waitpid`,
i.e. including reaping the process. On Linux, it does this automatically
by using pidfd and the `waitid` syscall. On macOS, it wasn't doing this.

This commit updates libxev to include a fix that explicitly calls
`waitpid` for kqueue.
2025-01-24 12:07:01 -08:00
Mitchell Hashimoto 0d6a1d3fdb
Prevent fd leaks to the running shell or command
Multiple fixes to prevent file descriptor leaks:

- libxev eventfd now uses CLOEXEC
- linux: cgroup clone now uses CLOEXEC for the cgroup fd
- termio pipe uses pipe2 with CLOEXEC
- pty master always sets CLOEXEC because the child doesn't need it
- termio exec now closes pty slave fd after fork

There still appear to be some fd leaks happening. They seem related to
GTK, they aren't things we're accessig directly. I still want to
investigate them but this at least cleans up the major sources of fd
leakage.
2025-01-23 22:12:58 -08:00
mitchellh 3f367857fc deps: Update iTerm2 color schemes 2025-01-19 00:58:22 +00:00
mitchellh 50e33a6665 deps: Update iTerm2 color schemes 2025-01-12 01:01:09 +00:00
Mitchell Hashimoto 6e411d60f2
Fix wayland-scanner/protocols packaging dependency
By updating zig-wayland:
https://codeberg.org/ifreund/zig-wayland/issues/67
2025-01-10 09:57:29 -08:00
Mitchell Hashimoto 622cc3f9c7
build: update zig-wayland to use new LazyPath API
This is a more idiomatic way to handle build paths in Zig 0.13 and
later.
2025-01-08 19:55:57 -08:00
Mitchell Hashimoto bade7be021
Use build.zig.zon for Wayland protocols 2025-01-07 20:26:26 -08:00
Leah Amelia Chen 31439f311d build: add wayland 2025-01-05 12:27:11 -08:00
mitchellh 6db39e827e deps: Update iTerm2 color schemes 2025-01-05 01:00:16 +00:00
Mitchell Hashimoto 1d71196de3
up version to 1.0.2 for development 2024-12-31 14:12:00 -08:00
mitchellh 12a333dfb4 deps: Update iTerm2 color schemes 2024-12-31 05:40:18 +00:00
mitchellh a671ca43f8 deps: Update iTerm2 color schemes 2024-12-29 01:00:43 +00:00
Mitchell Hashimoto 35b9ceee21
up the version to 1.0.1 everywhere for dev 2024-12-26 15:21:50 -08:00
Mitchell Hashimoto 68f09eb60d
set version metadata to 1.0.0 2024-12-26 11:49:31 -08:00
Qwerasd b920352c39 deps: update z2d to v0.4.0
Introduces static path methods and a reworked context API that makes
things generally cleaner.

This update incidentally fixed a bug we had before where the corner
triangle shade characters were drawn solid rather than medium shade.
2024-12-22 16:07:05 -05:00
mitchellh 7da6af85e1 deps: Update iTerm2 color schemes 2024-12-22 01:01:15 +00:00
Mitchell Hashimoto c74966e07e
build: change object story domain to ghostty.org 2024-12-20 08:58:46 -08:00
mitchellh 854ec586f9 deps: Update iTerm2 color schemes 2024-12-15 01:05:52 +00:00
mitchellh c4029015b9 deps: Update iTerm2 color schemes 2024-12-12 21:45:11 +00:00
Mitchell Hashimoto 313752dee2
update libxev
This fixes a possible deadlock. This has never happened in reports by
beta testers but good hygiene to get this fixed.
2024-12-08 16:49:50 -08:00
furtidev eb9b7681c7
dep: add latest libvaxis and zf 2024-11-16 19:38:22 +06:00
Mitchell Hashimoto 523e3a6ae3
deps: update iterm2 color themes 2024-11-12 19:49:53 -08:00
Mitchell Hashimoto b26ff0a41b
deps: update zf and nix hash 2024-11-12 19:07:07 -08:00
Tim Culverhouse e0755b0a74 deps: update libvaxis to v0.5.1
Update libvaxis to v0.5.1, which contains the new URL for the zg
dependency. The previous URL is now defunct, as zg has been transfered
to Sam Atman.
2024-11-12 09:43:30 -06:00
Mitchell Hashimoto 98c4c453ee
update iterm2 themes 2024-11-05 16:32:30 -08:00
Mitchell Hashimoto f8d2ac6c8c
update zig-objc
removes usingnamespace
2024-11-04 09:52:19 -08:00
Mitchell Hashimoto 038b3dec79
update zig-objc
This fixes a hack we had around apple paths since we do this now
upstream in zig-objc. This also adds in support for NSFastEnumeration
needed for #2586
2024-11-03 15:21:26 -08:00
Qwerasd d38d0f30c4 font/sprite: replace pixman with z2d, extend Box coverage
More complete coverage of the Symbols For Legacy Computing block,
including characters from Unicode 16.0.

Pixman and the web canvas impl for Canvas have been removed in favor of
z2d for drawing, since it has a nicer API with more powerful methods,
and is in Zig with no specific platform optimizations so should compile
to wasm no problem.
2024-10-14 17:50:49 -04:00
Tim Culverhouse e502597e8d fix(list-keybinds): reset SGR after pretty printing
Update libvaxis which now resets SGR at the end of a pretty print.

Fixes: #2333
2024-09-30 20:16:27 -07:00
Jeffrey C. Ollie a969364f93 cli/list-themes: add ability to search theme names 2024-09-27 10:53:58 -07:00
Jeffrey C. Ollie 743e547235 cli: "fancy" theme preview
This adds a "fancy" theme preview to the `+list-themes` CLI action.
By default, if the command is connected to a TTY, it will display the
fancy preview. If it is not connected to a TTY, or the user specifies
`--plain` on the command line, a simple list of themes will be printed
to stdout.

While in the preview `F1` or `?` will show a help screen.
2024-09-27 10:53:58 -07:00
Mitchell Hashimoto c91c5164ff
update libxev
This fixes the issue where a write could be interrupted and not retried.
2024-09-23 09:30:57 -07:00
Jeffrey C. Ollie 6edeb45e7e kitty graphics: address review comments
- move wuffs code from src/ to pkg/
- eliminate stray debug logs
- make logs a warning instead of an error
- remove initialization of some structs to zero
2024-09-02 20:47:07 -07:00
Jeffrey C. Ollie 6dbb82c259 kitty graphics: performance enhancements
Improve the performance of Kitty graphics by switching to the WUFFS
library for decoding PNG images and for "swizzling" G, GA, and RGB data
to RGBA formats needed by the renderers.

WUFFS claims 2-3x performance benefits over other implementations, as
well as memory-safe operations.

Although not thorougly benchmarked, performance is on par with Kitty's
graphics decoding.

https://github.com/google/wuffs
2024-09-02 20:45:08 -07:00
Mitchell Hashimoto adbb394e44
initialize sentry on startup 2024-08-28 21:43:17 -07:00
hanna 785c08d36e
update iterm2-color-schemes to latest commit 2024-08-07 17:27:39 -07:00
Mitchell Hashimoto 64c267a8c7
Merge pull request #2052 from rockorager/pretty-print
cli/list-keybinds: add pretty printing
2024-08-06 14:53:15 -07:00
Tim Culverhouse 59e226154c cli/list-keybinds: add pretty printing
Add pretty printing to the +list-keybinds command. This is done by
bringing in a dependency on libvaxis to handle the styling. Pretty
printing happens automatically when printing to a tty, and can be
disabled either by redirecting output or using the flag `--plain`
2024-08-06 12:19:39 -05:00
Mitchell Hashimoto ffbd91be9a
update libxev to fix mach port leakage
Fixes #2005
2024-08-01 10:28:26 -07:00
Mitchell Hashimoto ee7200d5ff
update libxev 2024-08-01 10:13:18 -07:00
Mitchell Hashimoto ac0550e267
update libxev 2024-06-24 15:16:24 -07:00
Mitchell Hashimoto eadd2dc5b0
update deps 2024-06-24 15:16:24 -07:00
Mitchell Hashimoto a58821ea34
update mach 2024-06-24 15:16:24 -07:00
Mitchell Hashimoto c0e79e0585
update a couple more deps 2024-06-24 15:16:24 -07:00
Mitchell Hashimoto a3a90504d5
update ziglyph 2024-06-24 15:16:24 -07:00
Mitchell Hashimoto a30e791c85
begin 0.13 update process -- very broken 2024-06-24 15:16:22 -07:00
Mitchell Hashimoto f062d6e405
Update libxev
Fixes #1836, upstream: efde8a1708
2024-06-23 21:32:44 -07:00
Mitchell Hashimoto 4b277f1bca
update color themes to a34aeb1f505707a35102fe95984d4bea4a85eb3e 2024-06-03 19:24:56 -07:00
Mitchell Hashimoto 147238a7b9
update libxev
For #1794
2024-05-25 14:10:43 -07:00
Mitchell Hashimoto dbbaceec4a
fix windows build 2024-04-18 14:48:07 -07:00
Mitchell Hashimoto 0699d3720c
update deps 2024-04-18 14:32:57 -07:00
Mitchell Hashimoto 70c6ccf461
update mach-glfw to use b.path for relative includes 2024-04-18 14:22:05 -07:00
Mitchell Hashimoto 95fb76c1a7
update mach to avoid vulkan 2024-04-18 13:58:35 -07:00
Mitchell Hashimoto fc4284e406
input: Key.Side needs a specific backing int for use in packed 2024-04-17 20:50:50 -07:00
Mitchell Hashimoto c8dbbfee16
update mach-glfw dep to work with latest zig 2024-04-17 20:50:50 -07:00
Mitchell Hashimoto 7b70fcb550
update zig and zig-objc 2024-04-17 20:50:50 -07:00
Mitchell Hashimoto f8b04fae5c
update libxev 2024-04-17 20:50:50 -07:00
Mitchell Hashimoto 32c5e7a9d4
update libxev for windows stuff 2024-03-22 11:25:27 -07:00
Mitchell Hashimoto b7bf59d772
update zig 2024-03-22 11:15:26 -07:00
Mitchell Hashimoto c2c115a768
fix some issues 2024-03-13 13:40:07 -07:00
Mitchell Hashimoto b48d24a546
update zig 2024-03-13 09:14:12 -07:00
Mitchell Hashimoto 4ecb6307b7
update zig 2024-03-09 15:59:45 -08:00
Mitchell Hashimoto 120273aa1a
pkg/utfcpp 2024-02-05 21:22:27 -08:00
Mitchell Hashimoto 626d4170fe
move simdutf to a pkg 2024-02-05 21:22:27 -08:00
Mitchell Hashimoto 36b0db2a72
pkg/highway 2024-02-05 21:22:26 -08:00
Andrew Kelley 3a84f77782
make mach_glfw a lazy dependency
Prevents it from being fetched unless it is actually needed.
2024-02-05 19:01:36 -08:00
Krzysztof Wolicki 9f6e97d090
Update mach-glfw dependency 2024-02-04 18:41:14 -08:00
Mitchell Hashimoto d07506d285
update zig-objc so enum types work for msgSend on x86_64 2024-01-16 10:49:00 -08:00
Mitchell Hashimoto 3360a008cd
build: build produces a broken object file for iOS
This gets `zig build -Dtarget=aarch64-ios` working. By "working" I mean
it produces an object file without compiler errors. However, the object
file certainly isn't useful since it uses a number of features that will
not work in the iOS sandbox.

This is just an experiment more than anything to see how hard it would be to
get libghostty working within iOS to render a terminal. Note iOS doesn't
support ptys so this wouldn't be a true on-device terminal. The
challenge right now is to just get a terminal rendering (not usable).
2024-01-13 21:38:58 -08:00
Krzysztof Wolicki 5b5bfb259b
Update mach-glfw dependency 2024-01-13 19:43:51 -08:00
Mitchell Hashimoto 09bc49ae8e
build: remove non-existent tracy dep 2024-01-13 15:36:36 -08:00
Mitchell Hashimoto 674ed9bb96
build: do not depend on codeberg for dependencies
This makes our only network dependency GitHub. GitHub also has
availability problems periodically so I also want to remove this
requirement over time.
2024-01-11 21:04:48 -08:00
Krzysztof Wolicki df19a68dd6 Update mach-glfw dependency 2024-01-07 23:38:17 +01:00
Krzysztof Wolicki b4a08dd5f1 Update mach-glfw dependency 2024-01-07 22:45:59 +01:00
Krzysztof Wolicki 42eed75b64 Update mach-glfw dependency 2024-01-07 21:52:00 +01:00
Krzysztof Wolicki 54e866d16e Change source of mach_glfw to experimental branch in fork 2024-01-07 19:25:06 +01:00
Krzysztof Wolicki eb4ede8b6f Update sources for zig-objc and zig-js 2024-01-07 17:37:42 +01:00
Krzysztof Wolicki 5bb25536e1 Update source for libxev 2024-01-07 15:00:31 +01:00
Krzysztof Wolicki 1913243c35 WIP: Update to new build module API after Zig PR #18160
Temporarily change dependency sources to forks until they update
2024-01-03 21:50:32 +01:00
Mitchell Hashimoto 8f5f8fb0bd
update Zig version in Nix 2023-11-30 14:06:24 -08:00
Krzysztof Wolicki 9238bdb4da Fix src/Surface.zig
Change fastmem.copy to use memcpy builtin
2023-11-30 21:58:14 +01:00
Krzysztof Wolicki 0750698b62 Update to latest master,
update libxev dependency,
change mach_glfw to an updated fork until upstream updates
2023-11-30 21:41:33 +01:00
Mitchell Hashimoto b85174c7ac
build: add oniguruma 2023-11-29 15:29:43 -08:00
Mitchell Hashimoto dde2339e4d
move back to zig pm 2023-11-28 08:11:34 -08:00
Mitchell Hashimoto c7a1e074dd
don't use package manager for iterm2 themes yet 2023-11-22 22:08:27 -08:00
Mitchell Hashimoto 7a91a23e40
build: add iterm2 themes repository, install into resources dir 2023-11-22 21:08:26 -08:00
Mitchell Hashimoto 9cafd17e86
update ziglyph 2023-11-21 08:34:13 -08:00
Mitchell Hashimoto d7d6537574
update zig-objc 2023-11-20 19:32:07 -08:00
Mitchell Hashimoto b65518dd2b
update libxev 2023-11-20 19:27:22 -08:00
Mitchell Hashimoto 8576acb89e
renderer/opengl: move opengl API to pkg/opengl 2023-11-17 21:51:04 -08:00
Mitchell Hashimoto 291ca16c20
build: add spirv-cross 2023-11-17 21:50:35 -08:00
Mitchell Hashimoto 1678c3a038
build: add glslang 2023-11-17 21:50:35 -08:00
Mitchell Hashimoto 67dce5ce0e
update zig-objc 2023-11-17 21:50:34 -08:00
Mitchell Hashimoto 4781a83e4a
replace utf8proc with ziglyph 2023-11-07 13:17:56 -08:00
kcbanner 9a5322eaf4
- Update libxev dependency
- Fixup macos compile error
2023-11-05 23:15:52 +00:00
kcbanner 232df8de8f
windows: add support for the glfw backend on Windows
Changes:
- Add WindowsPty, which uses the ConPTY API to create a pseudo console
- Pty now selects between PosixPty and WindowsPty
- Windows support in Command, including the ability to launch a process with a pseudo console
- Enable Command tests on windows
- Add some environment variable abstractions to handle the missing libc APIs on Windows
- Windows version of ReadThread
2023-11-05 23:15:49 +00:00
xdBronch 205b27dc80
remove deps that were already provided by other packages (#797) 2023-11-03 14:04:00 -07:00
Mitchell Hashimoto 2275768383
font: if a codepoint is emoji presentation, prefer that for shaping
Fixes #787
2023-11-02 21:46:50 -07:00
Mitchell Hashimoto efddef9d1c
build: add cimgui to build 2023-10-24 15:27:13 -07:00
Mitchell Hashimoto 7a1c54ad05
update zig 2023-10-24 15:02:26 -07:00
Mitchell Hashimoto eda0e8ad04
pkg/apple-sdk: update to not have any broken symlinks 2023-10-17 13:11:27 -07:00
Mitchell Hashimoto 8f46d114c0
update zig 2023-10-17 12:45:35 -07:00