about summary refs log tree commit diff
path: root/pkgs/by-name/ma
diff options
context:
space:
mode:
authorDalton Hubble <dghubble@gmail.com>2024-03-24 00:26:47 -0700
committerDalton Hubble <dghubble@gmail.com>2024-03-24 00:35:18 -0700
commit03344be9865efc998f6e7fa338bfe25687f584d3 (patch)
treea57f9d3a5547f03a8abf7de997ee1ef0c75cd7ea /pkgs/by-name/ma
parentdacf3de5aa5e5a9de6385d400db8bf89baa89b86 (diff)
matchbox-server: init at v0.11.0
Add a Nix `matchbox-server` package for the matchbox project
https://github.com/poseidon/matchbox. It provides a server for
PXE booting and provisioning machines into clusters and has been
maintained for many years

Note: A matchbox-window-manager is already using the Nix package name
matchbox, so name this new package matchbox-server
Diffstat (limited to 'pkgs/by-name/ma')
-rw-r--r--pkgs/by-name/ma/matchbox-server/package.nix43
1 files changed, 43 insertions, 0 deletions
diff --git a/pkgs/by-name/ma/matchbox-server/package.nix b/pkgs/by-name/ma/matchbox-server/package.nix
new file mode 100644
index 0000000000000..4f7ca8bdc9122
--- /dev/null
+++ b/pkgs/by-name/ma/matchbox-server/package.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "matchbox-server";
+  version = "v0.11.0";
+
+  src = fetchFromGitHub {
+    owner = "poseidon";
+    repo = "matchbox";
+    rev = "${version}";
+    hash = "sha256-u1VY+zEx2YToz+WxVFaUDzY7HM9OeokbR/FmzcR3UJ8=";
+  };
+
+  vendorHash = "sha256-sVC4xeQIcqAbKU4MOAtNicHcioYjdsleQwKWLstnjfk=";
+
+  subPackages = [
+    "cmd/matchbox"
+  ];
+
+  # Go linker flags (go tool link)
+  # Omit symbol tables and debug info
+  ldflags = [
+    "-w -s -X github.com/poseidon/matchbox/matchbox/version.Version=${version}"
+  ];
+
+  # Disable cgo to produce a static binary
+  CGO_ENABLED = 0;
+
+  # Don't run Go tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Server to network boot and provision Fedora CoreOS and Flatcar Linux clusters";
+    homepage = "https://matchbox.psdn.io/";
+    changelog = "https://github.com/poseidon/matchbox/blob/main/CHANGES.md";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ dghubble ];
+    mainProgram = "matchbox";
+  };
+}