diff --git a/pkgs/applications/version-management/sit/aarch64-eexist.patch b/pkgs/applications/version-management/sit/aarch64-eexist.patch new file mode 100644 index 00000000000..8b45e77d040 --- /dev/null +++ b/pkgs/applications/version-management/sit/aarch64-eexist.patch @@ -0,0 +1,17 @@ +diff --git a/sit-core/src/repository.rs b/sit-core/src/repository.rs +index ebd357d..074dcc9 100644 +--- a/sit-core/src/repository.rs ++++ b/sit-core/src/repository.rs +@@ -305,6 +305,12 @@ impl Repository { + let id: String = name.into(); + let mut path = self.items_path.clone(); + path.push(&id); ++ #[cfg(all(debug_assertions, target_arch = "aarch64"))] { ++ use std::io; ++ if path.is_dir() { ++ return Err(io::Error::from_raw_os_error(17).into()); // 17 is EEXIST ++ } ++ } + fs::create_dir(path)?; + let id = OsString::from(id); + Ok(Item { diff --git a/pkgs/applications/version-management/sit/default.nix b/pkgs/applications/version-management/sit/default.nix index 0cc75f8bd5a..ae84add283e 100644 --- a/pkgs/applications/version-management/sit/default.nix +++ b/pkgs/applications/version-management/sit/default.nix @@ -15,6 +15,8 @@ rustPlatform.buildRustPackage rec { cargoSha256 = "102haqix13nwcncng1s8qkw68spn6fhh3vysk2nbahw6f78zczqg"; + patches = [ ./aarch64-eexist.patch ]; + meta = with stdenv.lib; { description = "Serverless Information Tracker"; homepage = https://sit.sh/;