Commit Graph

23 Commits (8bd3073cb77110c1dec429117a9a2749d371bf78)

Author SHA1 Message Date
Jeffrey C. Ollie 8bd3073cb7
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-03-23 14:41:55 -07:00
Jeffrey C. Ollie f63242f7fb
gtk: add support for using GTK Builder UI files and Blueprints
Adds buildtime and comptime checks to make sure that Blueprints/UI files
are availble and correctly formed. Will also compile Blueprints to UI
files so that they are available to GTK code.
2025-02-12 15:05:42 -06:00
Jeffrey C. Ollie 3a8c934b19 nix: use zig2nix to manage nix cache/deps
This brings the internal package more in line with how the nixpkgs
package is built. It also handles recursive dependencies better than the
current system.
2025-02-11 08:25:34 -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
Leah Amelia Chen 31439f311d build: add wayland 2025-01-05 12:27:11 -08:00
Anund c39b60709f nix: address warning to use toplevel adwaita-icon-theme 2024-12-17 14:37:20 +11:00
Mitchell Hashimoto 1ee7da174b
flake: update to Nix 24.11 2024-12-05 12:15:48 -08:00
Mitchell Hashimoto 1a12355dc9
ci: add signing and tarball generation to release-tip workflow 2024-10-24 16:32:43 -07:00
Mitchell Hashimoto 8bb8b01e54
build: use Zig system packaging options
This allows dynamically linking against system libraries, which is
particularly useful for packaging.
2024-10-24 14:46:37 -07: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
isabel 02be641358
refactor(nix): stdenv.isX -> stdenv.hostPlatform.isX
In preparation for the deprecation of `stdenv.isX`

e0464e4788
2024-10-14 16:39:28 +01:00
Jeffrey C. Ollie cadca8ca45
nix: remove tracy from the devshell 2024-09-27 23:18:42 -05:00
Mitchell Hashimoto a9deb37071
nix: remove ZLS
Fixes #2171

ZLS has caused us issues in our Nix shell before and I noted when we
first added it that we probably shouldn't. We now pin to release
versions of Zig so I think its reasonable to expect developers to have
ZLS installed themselves with the proper version or not use it at all.
2024-09-03 15:18:04 -07:00
Łukasz Niemier f9be02a20f chore: clean up typos 2024-08-05 13:56:57 +02:00
Mitchell Hashimoto c5496b89ee
nix: do not build ZLS on linux aarch64, see comment 2024-04-11 05:30:20 -07:00
RGBCube aa928b8d87
nix: use packages = instead of (native)buildInputs as that is recommended 2024-03-29 22:27:32 +03:00
Jeffrey C. Ollie 160f05395b
add hyperfine to the nix development environment 2024-02-07 12:55:37 -06:00
Mitchell Hashimoto 31d5785105
simd: basic ISA detection, boilerplate 2024-02-05 21:22:03 -08:00
Jeffrey C. Ollie ef09fa89b0
Generate documenation (manpages, etc.) from help strings. 2024-01-21 15:07:22 -06:00
Mitchell Hashimoto d796d1259b
nix: only add shellhook on linux 2023-12-16 14:14:53 -08:00
Denys Pavlov 212a95866a nix: fix GTK icons for debug builds
Set `XDG_DATA_DIRS` in `nix develop` shell to include default Gnome
icon sets and gsettings schemas.

Sourced from [nixos wiki](https://nixos.wiki/wiki/Development_environment_with_nix-shell#No_GSettings_schemas_are_installed_on_the_system).
2023-12-16 13:15:03 -05:00
Jeffrey C. Ollie c4ed1f1b80
Use Alejandra to format Nix modules. 2023-12-12 11:38:39 -06:00
RGBCube 5846d991e9
Add garnix cache and clean up all nix code 2023-12-08 16:52:58 +03:00