diff --git a/build.zig b/build.zig index 8d04b8e..e49ac35 100644 --- a/build.zig +++ b/build.zig @@ -19,11 +19,7 @@ pub fn build(b: *std.Build) void { const scanner = Scanner.create(b, .{}); - const wayland = b.createModule(.{ - .root_source_file = scanner.result, - .target = target, - .optimize = optimize, - }); + const wayland = b.createModule(.{ .root_source_file = scanner.result, .target = target, .optimize = optimize }); const wlr_protocols = b.dependency("wlr-protocols", .{}); diff --git a/build.zig.zon b/build.zig.zon index 91e85c3..8143475 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -37,12 +37,12 @@ // internet connectivity. .dependencies = .{ .wayland = .{ - .url = "https://codeberg.org/ifreund/zig-wayland/archive/v0.4.0.tar.gz", - .hash = "wayland-0.4.0-lQa1khbMAQAsLS2eBR7M5lofyEGPIbu2iFDmoz8lPC27", + .url = "https://codeberg.org/ifreund/zig-wayland/archive/v0.3.0.tar.gz", + .hash = "wayland-0.3.0-lQa1kjPIAQDmhGYpY-zxiRzQJFHQ2VqhJkQLbKKdt5wl", }, .@"wlr-protocols" = .{ - .url = "git+https://gitlab.freedesktop.org/wlroots/wlr-protocols.git#a741f0ac5d655338a5100fc34bc8cec87d237346", - .hash = "N-V-__8AAMm4AQANnGv8ZhQ9FX_ipu-oul8H7XP9WPD6r5KD", + .url = "git+https://gitlab.freedesktop.org/wlroots/wlr-protocols.git#2ec67ebd26b73bada12f3fa6afdd51563b656722", + .hash = "N-V-__8AAMm4AQBQdtoOaA3SHeMraj1_jhjp6KQJy4_dbQnz", }, }, .paths = .{ diff --git a/flake.lock b/flake.lock index 07af524..7c684b0 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1757745802, - "narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=", + "lastModified": 1747327360, + "narHash": "sha256-LSmTbiq/nqZR9B2t4MRnWG7cb0KVNU70dB7RT4+wYK4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1", + "rev": "e06158e58f3adee28b139e9c2bcfcc41f8625b46", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 86029f0..c9ba8a5 100644 --- a/flake.nix +++ b/flake.nix @@ -1,43 +1,34 @@ { - inputs.nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; + description = "A very basic flake"; - outputs = - { - self, - nixpkgs, - }@inputs: - let - inherit (inputs.nixpkgs) lib; - systems = [ - "x86_64-linux" - "aarch64-linux" - "x86_64-darwin" - "aarch64-darwin" - ]; - eachSystem = lib.genAttrs systems; - pkgsFor = inputs.nixpkgs.legacyPackages; - in - { - devShells = eachSystem ( - system: - let - pkgs = pkgsFor.${system}; - in - { - default = pkgs.mkShell { - packages = with pkgs; [ - pkg-config - wayland-scanner - zig - wayland - wayland-protocols - ]; + inputs = { + nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; + }; - shellHook = '' - export LD_LIBRARY_PATH=${pkgs.wayland}/lib:$LD_LIBRARY_PATH - ''; - }; - } - ); - }; + outputs = { + self, + nixpkgs, + } @ inputs: let + inherit (inputs.nixpkgs) lib; + eachSystem = lib.genAttrs (import inputs.systems); + pkgsFor = inputs.nixpkgs.legacyPackages; + in { + devShells = + lib.mapAttrs (system: pkgs: { + default = pkgs.mkShell { + packages = with pkgs; [ + pkg-config + wayland-scanner + zig + wayland + wayland-protocols + ]; + + shellHook = '' + export LD_LIBRARY_PATH=${pkgs.wayland}/lib:$LD_LIBRARY_PATH + ''; + }; + }) + pkgsFor; + }; } diff --git a/src/main.zig b/src/main.zig index 3fc1950..1b8728f 100644 --- a/src/main.zig +++ b/src/main.zig @@ -78,14 +78,15 @@ pub fn main() !void { moveBuffer(casted, &context); _ = display.flush(); if (display.dispatchPending() != .SUCCESS) return error.DispatchFailed; - // std.os.sleep(5000000); + std.time.sleep(5000000); } for (0..segment) |i| { + // const casted: i32 = @intCast(i); std.debug.print("smaller {}\n", .{(segment - i)}); moveBuffer(@intCast(segment - i), &context); _ = display.flush(); if (display.dispatchPending() != .SUCCESS) return error.DispatchFailed; - // std.os.sleep(5000000); + std.time.sleep(5000000); } } diff --git a/src/root.zig b/src/root.zig new file mode 100644 index 0000000..27d2be8 --- /dev/null +++ b/src/root.zig @@ -0,0 +1,13 @@ +//! By convention, root.zig is the root source file when making a library. If +//! you are making an executable, the convention is to delete this file and +//! start with main.zig instead. +const std = @import("std"); +const testing = std.testing; + +pub export fn add(a: i32, b: i32) i32 { + return a + b; +} + +test "basic add functionality" { + try testing.expect(add(3, 7) == 10); +}