diff --git a/community/rustup/APKBUILD b/community/rustup/APKBUILD
index 41671dbdf1dcbff61c20dd1fa6ce657d693b9b5c..45e7822d3c0fdf5b3316e5f87ba58893a7075381 100644
--- a/community/rustup/APKBUILD
+++ b/community/rustup/APKBUILD
@@ -1,8 +1,8 @@
 # Contributor: Rasmus Thomsen <oss@cogitri.dev>
 # Maintainer: Natanael Copa <ncopa@alpinelinux.org>
 pkgname=rustup
-pkgver=1.25.2
-pkgrel=5
+pkgver=1.27.1
+pkgrel=0
 pkgdesc="Rust toolchain installer"
 url="https://rustup.rs/"
 arch="aarch64 x86_64 loongarch64" # limited by upstream only supporting these arches
@@ -25,10 +25,8 @@ subpackages="
 source="
 	$pkgname-$pkgver.tar.gz::https://github.com/rust-lang/rustup.rs/archive/$pkgver.tar.gz
 	dont-copy-rustup-bin.patch
-	getrandom-0.2.10.patch
 	system.patch
 	cargo-update.patch
-	add-loongarch64-support.patch
 	"
 
 # It doesn't like our custom triplet
@@ -68,10 +66,8 @@ package() {
 }
 
 sha512sums="
-77268322224816c84c1a17f125cce10e0bfddae857f1e71885d9999f1415c567ee508f93367dd6adca62a92092c2869957206d4c707d20da461e2866fdc74e67  rustup-1.25.2.tar.gz
+e0494678b7117464665c2aa88165e13baf2dcfb2a33c57dc78f669533111f773724d227ee05967de427845f8633e56fdf8159c7a5b96638413710beacb115075  rustup-1.27.1.tar.gz
 1db6d3833327d8c6329bd8a0ed4704b0dd0c6e34e1b3753ab2d34506f5e318129571116612a2bcc58d12f553b466a91302966e40ed2e2b661d2b0ab6c8eaa51a  dont-copy-rustup-bin.patch
-d056c8ecb485bf5be6724a897bb47b0cb4b2c8d97d50ca3136edbaedba2e8da9fb8cea1f87bb8fa9e1f934d40097ec1ab17724f69aeb7ce3437ba2e41c49f2f6  getrandom-0.2.10.patch
-914fe463454fe5026569200823153b98b659cdfe1c169823af16fe5b01f8e68194804c16f7d2d2fa167daac5727572d0b14e2969ed0e0afbabf2d8a881bdac94  system.patch
-a69b492f68fb7a5c28aafa20fb33e6544c8ece087f18854604d498106ae4f9e557be48b4a54495163a3672fa05d40171e33829bd33efbec0131f17fdb608621e  cargo-update.patch
-b4235787e50de7f1bd3a74160d9c3a71e25946b0f4ad965ab89769ec260a4688a53e704c43bff1324890f3d47af7cb651b783ff63aa0d0ebe8b8dce4f686b68d  add-loongarch64-support.patch
+1186753c875f1915c21aa4e70cb7b28dc4c12b1187485accd8d8cdb1addae0686def2b0edd495604be43b2864b811e3125db70007cf268d65fb1c5160e240307  system.patch
+cf616d9bf2d5d8ff1fc78ac0d5e764592a8ee73879376f6f44a3a865ae7f7f22a7fcbff4c346dbe8f4d2fc618c98aff9813a988da48678a2239c87de389674ea  cargo-update.patch
 "
diff --git a/community/rustup/add-loongarch64-support.patch b/community/rustup/add-loongarch64-support.patch
deleted file mode 100644
index 6abf12c9725fdc0d60bc10804d981ab04c5429ad..0000000000000000000000000000000000000000
--- a/community/rustup/add-loongarch64-support.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/rustup-init.sh b/rustup-init.sh
-index 1ebc814..a04cd25 100755
---- a/rustup-init.sh
-+++ b/rustup-init.sh
-@@ -366,6 +366,9 @@ get_architecture() {
-         riscv64)
-             _cputype=riscv64gc
-             ;;
-+        loongarch64)
-+            _cputype=loongarch64
-+            ;;
-         *)
-             err "unknown CPU type: $_cputype"
- 
-diff --git a/src/dist/triple.rs b/src/dist/triple.rs
-index 07496bc..2407b8d 100644
---- a/src/dist/triple.rs
-+++ b/src/dist/triple.rs
-@@ -22,6 +22,7 @@ static LIST_ARCHS: &[&str] = &[
-     "powerpc64le",
-     "riscv64gc",
-     "s390x",
-+    "loongarch64",
- ];
- static LIST_OSES: &[&str] = &[
-     "pc-windows",
-diff --git a/src/test.rs b/src/test.rs
-index ffba267..2ed797c 100644
---- a/src/test.rs
-+++ b/src/test.rs
-@@ -99,6 +99,8 @@ pub fn this_host_triple() -> String {
-         "riscv64gc"
-     } else if cfg!(target_arch = "aarch64") {
-         "aarch64"
-+    } else if cfg!(target_arch = "loongarch64") {
-+        "loongarch64"
-     } else {
-         unimplemented!()
-     };
diff --git a/community/rustup/cargo-update.patch b/community/rustup/cargo-update.patch
index f41e6bcf2236502b89697df7a4344c08618f4cab..4270984a10373167047e00463fd25da15340f1f6 100644
--- a/community/rustup/cargo-update.patch
+++ b/community/rustup/cargo-update.patch
@@ -1,16 +1,16 @@
 diff --git a/Cargo.lock b/Cargo.lock
-index 7c41b8a..502b2d7 100644
+index b6364123..f3d189d4 100644
 --- a/Cargo.lock
 +++ b/Cargo.lock
-@@ -1182,9 +1182,9 @@ dependencies = [
+@@ -1129,9 +1129,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
  
  [[package]]
  name = "libc"
--version = "0.2.149"
+-version = "0.2.153"
 +version = "0.2.155"
  source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
+-checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
  
  [[package]]
- name = "libm"
+ name = "libdbus-sys"
diff --git a/community/rustup/getrandom-0.2.10.patch b/community/rustup/getrandom-0.2.10.patch
deleted file mode 100644
index a1333c1c287494e525dd48227224a5ef02bfa5e4..0000000000000000000000000000000000000000
--- a/community/rustup/getrandom-0.2.10.patch
+++ /dev/null
@@ -1,72 +0,0 @@
---- a/Cargo.lock
-+++ b/Cargo.lock
-@@ -883,14 +883,14 @@
- 
- [[package]]
- name = "getrandom"
--version = "0.2.6"
-+version = "0.2.10"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad"
-+checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
- dependencies = [
-  "cfg-if 1.0.0",
-  "js-sys",
-  "libc",
-- "wasi 0.10.2+wasi-snapshot-preview1",
-+ "wasi 0.11.0+wasi-snapshot-preview1",
-  "wasm-bindgen",
- ]
- 
-@@ -1182,9 +1182,9 @@
- 
- [[package]]
- name = "libc"
--version = "0.2.126"
-+version = "0.2.149"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
-+checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
- 
- [[package]]
- name = "libm"
-@@ -1689,7 +1689,7 @@
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
- dependencies = [
-- "getrandom 0.2.6",
-+ "getrandom 0.2.10",
- ]
- 
- [[package]]
-@@ -1740,7 +1740,7 @@
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
- dependencies = [
-- "getrandom 0.2.6",
-+ "getrandom 0.2.10",
-  "redox_syscall",
-  "thiserror",
- ]
-@@ -2092,7 +2092,7 @@
-  "ecdsa",
-  "ed25519-dalek",
-  "generic-array",
-- "getrandom 0.2.6",
-+ "getrandom 0.2.10",
-  "idea",
-  "idna",
-  "lalrpop",
-@@ -2749,12 +2749,6 @@
- version = "0.9.0+wasi-snapshot-preview1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
--
--[[package]]
--name = "wasi"
--version = "0.10.2+wasi-snapshot-preview1"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
- 
- [[package]]
- name = "wasi"
diff --git a/community/rustup/system.patch b/community/rustup/system.patch
index a37503e1863f041388b49096101e91d289eef503..523f1660e6ef5887c79cd148e3b34090f3d785ff 100644
--- a/community/rustup/system.patch
+++ b/community/rustup/system.patch
@@ -1,23 +1,13 @@
-diff --git a/Cargo.lock b/Cargo.lock
-index e489448..19abe15 100644
---- a/Cargo.lock
-+++ b/Cargo.lock
-@@ -3029,4 +3029,5 @@ checksum = "9fd07cbbc53846d9145dbffdf6dd09a7a0aa52be46741825f5c97bdd4f73f12b"
- dependencies = [
-  "cc",
-  "libc",
-+ "pkg-config",
- ]
 diff --git a/Cargo.toml b/Cargo.toml
-index 09774ae..00b8555 100644
+index 5807cc17..7a8c4a0f 100644
 --- a/Cargo.toml
 +++ b/Cargo.toml
-@@ -65,7 +65,7 @@ toml = "0.5"
- url = "2.1"
+@@ -98,7 +98,7 @@ url.workspace = true
  wait-timeout = "0.2"
+ walkdir = { workspace = true, optional = true }
  xz2 = "0.1.3"
--zstd = "0.11"
-+zstd = { version = "0.11", features = ["pkg-config"] }
+-zstd = "0.13"
++zstd = { version = "0.13", features = ["pkg-config"] }
  
- [dependencies.retry]
- default-features = false
+ [target."cfg(windows)".dependencies]
+ cc = "1"