···
9
+
rustPlatform.buildRustPackage (finalAttrs: {
13
+
src = fetchFromGitHub {
16
+
tag = "xee-v${finalAttrs.version}";
17
+
hash = "sha256-l5g2YZ4lNu+CLyya0FavDEqbJayaTXGrB8fYCr3fj0s=";
20
+
useFetchCargoVendor = true;
21
+
cargoHash = "sha256-Ora6VwYLDyFI4iA4FkygGsup8I4OvK0kkLvHs4F/YhY=";
28
+
nativeBuildInputs = [
29
+
# "${cargoDeps}/build-data-0.2.1/src/lib.rs" is pretty terrible
30
+
(writers.writePython3Bin "git" { } ''
33
+
sys.argv[0] = os.path.basename(sys.argv[0])
34
+
if sys.argv == ["git", "rev-parse", "HEAD"]:
35
+
print("${finalAttrs.src.rev}")
36
+
elif sys.argv == ["git", "rev-parse", "--abbrev-ref=loose", "HEAD"]:
37
+
print("${finalAttrs.src.rev}")
38
+
elif sys.argv == ["git", "status", "-s"]:
40
+
elif sys.argv == ["git", "log", "-1", "--pretty=%ct"]:
41
+
print(os.environ.get("SOURCE_DATE_EPOCH", "0"))
43
+
raise RuntimeError(sys.argv[1:])
47
+
doInstallCheck = true;
48
+
nativeInstallCheckInputs = [ versionCheckHook ];
49
+
versionCheckProgramArg = "--version";
52
+
description = "XML Execution Engine written in Rust.";
53
+
longDescription = ''
54
+
Load XML documents, issue XPath expressions against them, including in
55
+
a REPL, and pretty-print XML documents. A Swiss Army knife CLI for XML.
57
+
homepage = "https://github.com/Paligo/xee";
58
+
changelog = "https://github.com/Paligo/xee/releases/tag/xee-v${finalAttrs.version}";
59
+
license = lib.licenses.mit;
60
+
maintainers = with lib.maintainers; [ pbsds ];
61
+
mainProgram = "xee";