Compare commits

...
Author SHA1 Message Date
müde
1c2d6d2491 use stdenv.hostPlatform.system instead of deprecated system
Some checks failed
Rust / build (push) Failing after 27s
2026-08-01 01:59:19 +02:00
müde
b064659c11 cargo update 2026-08-01 01:53:23 +02:00
müde
aa352d9eec nix flake update 2026-08-01 01:49:55 +02:00
müde
71eb201efd remove references to removed darwin apple_sdk frameworks 2026-08-01 01:49:03 +02:00
müde
556f60637f fix mismatched lifetime syntaxes warning 2026-08-01 01:37:01 +02:00
müde
33188c98ff replace naersk with crane, drop nix-filter 2026-08-01 01:27:37 +02:00
müde
6a43030387 replace deprecated xorg package set aliases 2026-08-01 01:19:04 +02:00
müde
ddf354a2ed update to nixos 26.05 2026-08-01 01:17:56 +02:00
5 changed files with 761 additions and 792 deletions

1369
Cargo.lock generated

File diff suppressed because it is too large Load diff

87
flake.lock generated
View file

@ -1,102 +1,41 @@
{
"nodes": {
"fenix": {
"inputs": {
"nixpkgs": [
"naersk",
"nixpkgs"
],
"rust-analyzer-src": "rust-analyzer-src"
},
"crane": {
"locked": {
"lastModified": 1752475459,
"narHash": "sha256-z6QEu4ZFuHiqdOPbYss4/Q8B0BFhacR8ts6jO/F/aOU=",
"owner": "nix-community",
"repo": "fenix",
"rev": "bf0d6f70f4c9a9cf8845f992105652173f4b617f",
"lastModified": 1785541369,
"narHash": "sha256-6VCYI5xashcnAR1lambqt9FGh0F6kYhg1P2Z0VDlr48=",
"owner": "ipetkov",
"repo": "crane",
"rev": "508ff4829aefddee8ea62291e86b144b58365724",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "fenix",
"type": "github"
}
},
"naersk": {
"inputs": {
"fenix": "fenix",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1752689277,
"narHash": "sha256-uldUBFkZe/E7qbvxa3mH1ItrWZyT6w1dBKJQF/3ZSsc=",
"owner": "nix-community",
"repo": "naersk",
"rev": "0e72363d0938b0208d6c646d10649164c43f4d64",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "naersk",
"type": "github"
}
},
"nix-filter": {
"locked": {
"lastModified": 1731533336,
"narHash": "sha256-oRam5PS1vcrr5UPgALW0eo1m/5/pls27Z/pabHNy2Ms=",
"owner": "numtide",
"repo": "nix-filter",
"rev": "f7653272fd234696ae94229839a99b73c9ab7de0",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "nix-filter",
"owner": "ipetkov",
"repo": "crane",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1757545623,
"narHash": "sha256-mCxPABZ6jRjUQx3bPP4vjA68ETbPLNz9V2pk9tO7pRQ=",
"lastModified": 1785386831,
"narHash": "sha256-sPS3CaXH8RAT3FZRuy4VcV47iuYIWMMfa0GbyJKC3o4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "8cd5ce828d5d1d16feff37340171a98fc3bf6526",
"rev": "21ea275a7c46aef9d4d6ddc962e6d562e9d94183",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-25.05",
"ref": "nixos-26.05",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"naersk": "naersk",
"nix-filter": "nix-filter",
"crane": "crane",
"nixpkgs": "nixpkgs"
}
},
"rust-analyzer-src": {
"flake": false,
"locked": {
"lastModified": 1752428706,
"narHash": "sha256-EJcdxw3aXfP8Ex1Nm3s0awyH9egQvB2Gu+QEnJn2Sfg=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "591e3b7624be97e4443ea7b5542c191311aa141d",
"type": "github"
},
"original": {
"owner": "rust-lang",
"ref": "nightly",
"repo": "rust-analyzer",
"type": "github"
}
}
},
"root": "root",

View file

@ -2,20 +2,15 @@
description = "Flake for servicepoint-simulator";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
nix-filter.url = "github:numtide/nix-filter";
naersk = {
url = "github:nix-community/naersk";
inputs.nixpkgs.follows = "nixpkgs";
};
nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
crane.url = "github:ipetkov/crane";
};
outputs =
{
self,
nixpkgs,
naersk,
nix-filter,
crane,
}:
let
lib = nixpkgs.lib;
@ -40,8 +35,8 @@
{ pkgs, ... }:
rec {
servicepoint-simulator = import ./servicepoint-simulator.nix {
inherit nix-filter pkgs;
naersk' = pkgs.callPackage naersk { };
inherit pkgs;
craneLib = crane.mkLib pkgs;
};
default = servicepoint-simulator;
}
@ -52,7 +47,8 @@
};
overlays.default = final: prev: {
servicepoint-simulator = self.legacyPackages."${prev.system}".servicepoint-simulator;
servicepoint-simulator =
self.legacyPackages."${prev.stdenv.hostPlatform.system}".servicepoint-simulator;
};
legacyPackages = packages;

View file

@ -1,74 +1,63 @@
{
naersk',
craneLib,
pkgs,
nix-filter,
}:
naersk'.buildPackage rec {
src = nix-filter.lib.filter {
root = ./.;
include = [
./Cargo.toml
./Cargo.lock
./src
./Web437_IBM_BIOS.woff
./README.md
./LICENSE
let
commonArgs = {
src = craneLib.cleanCargoSource ./.;
nativeBuildInputs = with pkgs; [
pkg-config
makeWrapper
];
};
nativeBuildInputs = with pkgs; [
pkg-config
makeWrapper
];
strictDeps = true;
buildInputs =
with pkgs;
[
xe
xz
roboto
]
++ lib.optionals pkgs.stdenv.isLinux (
strictDeps = true;
buildInputs =
with pkgs;
[
# gpu
libGL
vulkan-headers
vulkan-loader
vulkan-tools
vulkan-tools-lunarg
vulkan-extension-layer
vulkan-validation-layers
xe
xz
# keyboard
libxkbcommon
# font loading
fontconfig
freetype
# WINIT_UNIX_BACKEND=wayland
wayland
# WINIT_UNIX_BACKEND=x11
xorg.libXcursor
xorg.libXrandr
xorg.libXi
xorg.libX11
xorg.libX11.dev
roboto
]
)
++ lib.optionals pkgs.stdenv.isDarwin (
with pkgs.darwin.apple_sdk.frameworks;
[
Carbon
QuartzCore
AppKit
]
);
++ lib.optionals pkgs.stdenv.isLinux (
with pkgs;
[
# gpu
libGL
vulkan-headers
vulkan-loader
vulkan-tools
vulkan-tools-lunarg
vulkan-extension-layer
vulkan-validation-layers
postInstall = ''
wrapProgram $out/bin/servicepoint-simulator \
--suffix LD_LIBRARY_PATH : ${pkgs.lib.makeLibraryPath buildInputs}
'';
}
# keyboard
libxkbcommon
# font loading
fontconfig
freetype
# WINIT_UNIX_BACKEND=wayland
wayland
# WINIT_UNIX_BACKEND=x11
libxcursor
libxrandr
libxi
libx11
libx11.dev
]
);
};
in
craneLib.buildPackage (
commonArgs
// {
cargoArtifacts = craneLib.buildDepsOnly commonArgs;
postInstall = ''
wrapProgram $out/bin/servicepoint-simulator \
--suffix LD_LIBRARY_PATH : ${pkgs.lib.makeLibraryPath commonArgs.buildInputs}
'';
}
)

View file

@ -37,7 +37,7 @@ impl GuiWindow {
}
}
pub fn get_buffer(&mut self) -> Buffer<Rc<Window>, Rc<Window>> {
pub fn get_buffer(&mut self) -> Buffer<'_, Rc<Window>, Rc<Window>> {
self.surface.buffer_mut().unwrap()
}
pub(crate) fn request_redraw(&self) {