mirror of
https://github.com/RoBaertschi/tt.git
synced 2025-04-15 21:43:30 +00:00
I used the rsp register instead of the rbp register for accessing the stack variables, rsp is the wrong base and changes constantly fuck
61 lines
1.7 KiB
Nix
61 lines
1.7 KiB
Nix
# ml2 ts=2 sts=2 sw=2
|
|
{
|
|
description = "A simple Go package";
|
|
|
|
# Nixpkgs / NixOS version to use.
|
|
inputs.nixpkgs.url = "nixpkgs/nixos-unstable";
|
|
|
|
outputs = {
|
|
self,
|
|
nixpkgs,
|
|
}: let
|
|
# to work with older version of flakes
|
|
lastModifiedDate = self.lastModifiedDate or self.lastModified or "19700101";
|
|
|
|
# Generate a user-friendly version number.
|
|
version = builtins.substring 0 8 lastModifiedDate;
|
|
|
|
# System types to support.
|
|
supportedSystems = ["x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"];
|
|
|
|
# Helper function to generate an attrset '{ x86_64-linux = f "x86_64-linux"; ... }'.
|
|
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
|
|
|
|
# Nixpkgs instantiated for supported system types.
|
|
nixpkgsFor = forAllSystems (system: import nixpkgs {inherit system;});
|
|
in {
|
|
# Provide some binary packages for selected system types.
|
|
packages = forAllSystems (system: let
|
|
pkgs = nixpkgsFor.${system};
|
|
in {
|
|
tt = pkgs.callPackage ./nix/package.nix {version = version;};
|
|
});
|
|
|
|
# Add dependencies that are only needed for development
|
|
devShells = forAllSystems (system: let
|
|
pkgs = nixpkgsFor.${system};
|
|
in {
|
|
default = pkgs.mkShell {
|
|
buildInputs = with pkgs; [
|
|
go
|
|
gopls
|
|
gotools
|
|
go-tools
|
|
qbe
|
|
(
|
|
if system == "x86_64-linux"
|
|
then [fasm gdb]
|
|
else []
|
|
)
|
|
lldb
|
|
];
|
|
};
|
|
});
|
|
|
|
# The default package for 'nix build'. This makes sense if the
|
|
# flake provides only one package or there is a clear "main"
|
|
# package.
|
|
defaultPackage = forAllSystems (system: self.packages.${system}.tt);
|
|
};
|
|
}
|