From 8556d88b9d760893c82d306a8e39cfe090174a89 Mon Sep 17 00:00:00 2001 From: Defelo Bot Date: Sun, 14 Apr 2024 01:07:25 +0000 Subject: [PATCH 1/2] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'fenix': 'github:nix-community/fenix/aaeaf4574767a0f5ed1787e990139aefcf4db103' (2024-03-30) → 'github:nix-community/fenix/c739f83545e625227f4d0af7fe2a71e69931fa4c' (2024-04-12) • Updated input 'fenix/nixpkgs': 'github:nixos/nixpkgs/d8fe5e6c92d0d190646fb9f1056741a229980089' (2024-03-29) → 'github:nixos/nixpkgs/1042fd8b148a9105f3c0aca3a6177fd1d9360ba5' (2024-04-10) • Updated input 'fenix/rust-analyzer-src': 'github:rust-lang/rust-analyzer/f5a9250147f6569d8d89334dc9cca79c0322729f' (2024-03-29) → 'github:rust-lang/rust-analyzer/657b33b0cb9bd49085202e91ad5b4676532c9140' (2024-04-11) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/ec835aa3dc8667e0c633d380d4b0ae609ffdb935' (2024-03-31) → 'github:NixOS/nixpkgs/c27f3b6d8e29346af16eecc0e9d54b1071eae27e' (2024-04-13) • Updated input 'nixpkgs-master': 'github:NixOS/nixpkgs/afcd1c5328406c6cc32dfdc7c826032156520300' (2024-03-31) → 'github:NixOS/nixpkgs/1b691969594504eabec53a11a366acf1c75387d1' (2024-04-13) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index c94d24f..91cd365 100644 --- a/flake.lock +++ b/flake.lock @@ -6,11 +6,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1711779695, - "narHash": "sha256-iGb6ptUaNBOCftKnNJiWT5z1ftngfNtwqJkD8Z9Vwfw=", + "lastModified": 1712903033, + "narHash": "sha256-KcvsEm0h1mIwBHFAzWFBjGihnbf2fxpAaXOdVbUfAI4=", "owner": "nix-community", "repo": "fenix", - "rev": "aaeaf4574767a0f5ed1787e990139aefcf4db103", + "rev": "c739f83545e625227f4d0af7fe2a71e69931fa4c", "type": "github" }, "original": { @@ -21,11 +21,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1711703276, - "narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=", + "lastModified": 1712791164, + "narHash": "sha256-3sbWO1mbpWsLepZGbWaMovSO7ndZeFqDSdX0hZ9nVyw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d8fe5e6c92d0d190646fb9f1056741a229980089", + "rev": "1042fd8b148a9105f3c0aca3a6177fd1d9360ba5", "type": "github" }, "original": { @@ -37,11 +37,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1711897671, - "narHash": "sha256-XU3kdkCp3goOD0QQKKH4FQ9p/7OdFDuIfmzUe8meTAg=", + "lastModified": 1713052613, + "narHash": "sha256-iw3O6mVc+Jx7UZMnIWyzuIc0x7xN5RY0oxZ4gbFY5wU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "afcd1c5328406c6cc32dfdc7c826032156520300", + "rev": "1b691969594504eabec53a11a366acf1c75387d1", "type": "github" }, "original": { @@ -68,11 +68,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1711898512, - "narHash": "sha256-l3D67S2ipurSfGZR6/h6c7gqFCIS+dn/YMI9Qswzbt8=", + "lastModified": 1713042715, + "narHash": "sha256-RifMwYuKu5v6x6O65msKDTqKkQ9crGwOB7yr20qMEuE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ec835aa3dc8667e0c633d380d4b0ae609ffdb935", + "rev": "c27f3b6d8e29346af16eecc0e9d54b1071eae27e", "type": "github" }, "original": { @@ -93,11 +93,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1711731711, - "narHash": "sha256-dyezzeSbWMpflma+E9USmvSxuLgGcNGcGw3cOnX36ko=", + "lastModified": 1712818880, + "narHash": "sha256-VDxsvgj/bNypHq48tQWtc3VRbWvzlFjzKf9ZZIVO10Y=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "f5a9250147f6569d8d89334dc9cca79c0322729f", + "rev": "657b33b0cb9bd49085202e91ad5b4676532c9140", "type": "github" }, "original": { From 0489868c6f570d6ead1c4e4153e0e486260945df Mon Sep 17 00:00:00 2001 From: Defelo Date: Thu, 18 Apr 2024 17:01:35 +0200 Subject: [PATCH 2/2] Fix uiua package --- nix/packages/default.nix | 2 +- nix/packages/{uiua.nix => uiua/default.nix} | 4 +- .../uiua/fix-reading-readonly-files.patch | 54 +++++++++++++++++++ 3 files changed, 58 insertions(+), 2 deletions(-) rename nix/packages/{uiua.nix => uiua/default.nix} (83%) create mode 100644 nix/packages/uiua/fix-reading-readonly-files.patch diff --git a/nix/packages/default.nix b/nix/packages/default.nix index b6eb2b7..d3a20ba 100644 --- a/nix/packages/default.nix +++ b/nix/packages/default.nix @@ -8,7 +8,7 @@ pkgs-master = import inputs.nixpkgs-master {inherit system;}; removeSuffix = pkgs.lib.removeSuffix ".nix"; - isPackage = name: name != "default.nix" && pkgs.lib.hasSuffix ".nix" name; + isPackage = name: name != "default.nix"; packageNames = builtins.filter isPackage (builtins.attrNames (builtins.readDir ./.)); packages = builtins.listToAttrs (map (name: { name = removeSuffix name; diff --git a/nix/packages/uiua.nix b/nix/packages/uiua/default.nix similarity index 83% rename from nix/packages/uiua.nix rename to nix/packages/uiua/default.nix index 4c975c5..736f318 100644 --- a/nix/packages/uiua.nix +++ b/nix/packages/uiua/default.nix @@ -1,5 +1,7 @@ {pkgs-master, ...}: let - uiua = pkgs-master.uiua; + uiua = pkgs-master.uiua.overrideAttrs ({patches ? [], ...}: { + patches = patches ++ [./fix-reading-readonly-files.patch]; + }); in { name = "Uiua"; version = uiua.version; diff --git a/nix/packages/uiua/fix-reading-readonly-files.patch b/nix/packages/uiua/fix-reading-readonly-files.patch new file mode 100644 index 0000000..a92ec57 --- /dev/null +++ b/nix/packages/uiua/fix-reading-readonly-files.patch @@ -0,0 +1,54 @@ +diff --git a/src/sys.rs b/src/sys.rs +index a5388a57..034198e2 100644 +--- a/src/sys.rs ++++ b/src/sys.rs +@@ -743,12 +743,12 @@ pub trait SysBackend: Any + Send + Sync + 'static { + Err("Creating files is not supported in this environment".into()) + } + /// Open a file +- fn open_file(&self, path: &Path) -> Result { ++ fn open_file(&self, path: &Path, write: bool) -> Result { + Err("Opening files is not supported in this environment".into()) + } + /// Read all bytes from a file + fn file_read_all(&self, path: &Path) -> Result, String> { +- let handle = self.open_file(path)?; ++ let handle = self.open_file(path, false)?; + let bytes = self.read(handle, usize::MAX)?; + self.close(handle)?; + Ok(bytes) +@@ -1020,7 +1020,7 @@ impl SysOp { + SysOp::FOpen => { + let path = env.pop(1)?.as_string(env, "Path must be a string")?; + let handle = (env.rt.backend) +- .open_file(path.as_ref()) ++ .open_file(path.as_ref(), true) + .map_err(|e| env.error(e))? + .value(HandleKind::File(path.into())); + env.push(handle); +diff --git a/src/sys_native.rs b/src/sys_native.rs +index bf598ec6..d192f286 100644 +--- a/src/sys_native.rs ++++ b/src/sys_native.rs +@@ -206,18 +206,18 @@ impl SysBackend for NativeSys { + } + Ok(paths) + } +- fn open_file(&self, path: &Path) -> Result { ++ fn open_file(&self, path: &Path, write: bool) -> Result { + let handle = NATIVE_SYS.new_handle(); + let file = OpenOptions::new() + .read(true) +- .write(true) ++ .write(write) + .open(path) + .map_err(|e| format!("{e} {}", path.display()))?; + NATIVE_SYS.files.insert(handle, Buffered::new_reader(file)); + Ok(handle) + } + fn file_read_all(&self, path: &Path) -> Result, String> { +- let handle = self.open_file(path)?; ++ let handle = self.open_file(path, false)?; + let bytes = self.read_all(handle)?; + self.close(handle)?; + Ok(bytes)